Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!samsung!spool.mu.edu!mips!pacbell.com!ucsd!ucbvax!agate!darkstar!terra.ucsc.edu!daniel From: daniel@terra.ucsc.edu (Daniel Edelson) Newsgroups: comp.std.c Subject: translation limits Message-ID: <14287@darkstar.ucsc.edu> Date: 9 Apr 91 21:59:52 GMT Sender: usenet@darkstar.ucsc.edu Reply-To: daniel@terra.ucsc.edu (Daniel Edelson) Organization: University of California, Santa Cruz Lines: 44 (I tried to post this before, but our news server was having problems. I'm not sure if this made it out. Please disregard if this is a duplicate.) The section on translation limits is extremely weak. Perhaps finding stronger language that would still be correct was too difficult. The standard says that ``The implementation shall be able to translate and execute at least one program that contains at least one instance of each of the following limits:...'' For example, one of the limits is ``127 members in a single structure or union''. (That limit was chosen at random; any of the 2.2.4.1 limits would be appropriate for this question.) So, is it the intention that a strictly conforming implementation could fail to translate the following code? (note the diagnostic) /* Begin Example */ struct S { int a1; int a2; ... int a127; }; int main(void) { return 0; } /* Begin Error Diagnostic */ Error: too many structure members. (This is not the one program that may contain 127 members in one particular structure.) From reading this section, it does not appear that a strictly conforming implementation needs to be able to translate and execute any program whatsoever, except for ``the one.'' Daniel Edelson daniel@cis.ucsc.edu