[m-dev.] for review: generating C layout structures

Fergus Henderson fjh at cs.mu.OZ.AU
Thu Jan 11 20:00:50 AEDT 2001


On 11-Jan-2001, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> On 11-Jan-2001, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> > lcc handles long array initializers fine.
> 
> I figured that, but I was hoping for a more direct solution. What requirement
> does the C standard impose on compilers wrt string lengths?

For C99, the minimum limit is 4095 characters (after concatentation).
 
 |        5.2.4.1  Translation limits
 ...
 |        [#1]  The  implementation  shall  be  able  to translate and
 |        execute at least one program  that  contains  at  least  one
 |        instance of every one of the following limits:13)
 ...
 |          -- 4095  characters  in a character string literal or wide
 | 	          string literal (after concatenation)

For C89, I think the limit was only 255 or 511 characters.
But that is from memory; I don't have a copy of the C89 standard.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
                                    |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list