Plane down the CPP builtins table a bit

Neil Booth neil@daikokuya.demon.co.uk
Tue May 21 00:49:00 GMT 2002


Zack Weinberg wrote:-

> Sure... well, almost.  __OBJC__ would be mandated by the relevant
> standard if there was one, so I left it in cppinit, and c-common
> doesn't have enough information to know when to define __ASSEMBLER__
> (as far as I can tell).  But apart from that, here's the patch.  I'll
> wait for your reactions before applying it.

There is a macro preprocessing_asm_p() I created a couple of days back
for the target-dependent code.  To avoid too many function calls we
might as well change it:

  enum c_lang lang;

  lang = cpp_get_options (pfile)->lang;
#define preprocessing_asm_p() (lang == CLK_ASM)

Would you move the assembler macro to c-common.c using this, and
put the flag_iso check on an "else" branch after it so there is
no way of getting __STRICT_ANSI__ defined when doing asm?

> I *think* we can uncomment the code setting CPP_OPTION (char_unsigned)
> from flag_unsigned_char at this point (and therefore ditch the
> -fsigned-char case in cpplib's parse_option), but I may be missing
> something, so I didn't.  (tradcpp should be unaffected.)

Yes, and the switches can be killed in cpplib.  Specs should probably
stay for the benefit of tradcpp.c for now.
 
> Should we be treating -std=cxx98 as __STRICT_ANSI__ ?  We currently
> don't.

Dunno.  If no-one chimes in, we might as well I guess.  I think
your patch does that since flag_iso is a common flag.

Neil.



More information about the Gcc-patches mailing list