On Thu, Jul 18, 2013 at 11:57:37AM -0700, bulk88 via RT wrote: > On Sun Jul 07 23:53:42 2013, tonyc wrote: > > > > Tony > > > > Patch remade, newSVpvn and %d replaced with %zu to hopefully (not using > GCC) stop type mismatch warning. I'm not sure if everything likes %zu. Particularly older SysV vendor compilers. Need to check. > With the copyright lines, use more CPP cating. This reduced the number of > instructions, and removes a couple alignment null in .rdata image section. I'm pretty sure that mixing #ifdef and pre-processor string concatenation has upset some compilers in the past. Whilst no particular system is going to have more than one macro defined: > #ifdef OEMVS > - PerlIO_printf(PIO_stdout, > - "MVS (OS390) port by Mortice Kern Systems, 1997-1999\n"); > + "MVS (OS390) port by Mortice Kern Systems, 1997-1999\n" > #endif > #ifdef __VOS__ > - PerlIO_printf(PIO_stdout, > - "Stratus OpenVOS port by Paul.Green@stratus.com, 1997-2013\n"); > + "Stratus OpenVOS port by Paul.Green@stratus.com, 1997-2013\n" > #endif > #ifdef POSIX_BC > - PerlIO_printf(PIO_stdout, > - "BS2000 (POSIX) port by Start Amadeus GmbH, 1998-1999\n"); > + "BS2000 (POSIX) port by Start Amadeus GmbH, 1998-1999\n" > +#endif the construction looks like it could cause compilers to choke (So we need to check before changing this) Also, what's the maximum length from concatenating string literals doing it this way? IIRC ANSI's minimum limit was something puny like 502 characters. I don't think that any compiler we encountered was that unforgiving, but something (IBM's compiler) maxed out at about 2000 characters, which we hit at times. Nicholas ClarkThread Previous | Thread Next