This is the mail archive of the
mailing list for the GCC project.
Re: HANDLE_PRAGMA overhaul
- To: Zack Weinberg <zack at wolery dot cumb dot org>
- Subject: Re: HANDLE_PRAGMA overhaul
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Thu, 07 Sep 2000 15:59:01 -0600
- cc: gcc-patches at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <20000907101246.L31801@wolery.cumb.org>you write:
> This patch replaces HANDLE_PRAGMA by a new mechanism that works with
> the integrated preprocessor. Most of it is modifications to
> machine-specific code for machines I do not have. I have built
> cross-compilers from i386-linux to each affected target to verify that
> the code all compiles, but I cannot test the changes properly. I've
> also run a complete bootstrap with a native i386-linux compiler, but
> that target does not use this mechanism.
> Affected targets are: arm c4x h8300 i370 i960 sh v850.
> In some cases I had to make unrelated modifications to get the cross
> compiler to build.
> * c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
> REGISTER_TARGET_PRAGMAS is defined. Duplicate some
> definitions from cpplib.h.
> * cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
> already done it.
> * tm.texi: Document HANDLE_PRAGMA as no longer supported. Add
> documentation for REGISTER_TARGET_PRAGMAS.
> * c-lex.c: Include cpplib.h before c-pragma.h. Define a
> default-pragma callback to implement -Wunknown-pragmas if
> * c-parse.in: Move all includes to top of file.
> * c-pragma.c: Include cpplib.h before c-pragma.h. Include
> (dispatch_pragma): Put the namespace in the -Wunknown-pragmas
> (init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.
> * arm.h, arm-protos.h, arm.c,
> c4x.h, c4x-protos.h, c4x.c,
> h8300.h, h8300-protos.h, h8300.c,
> i370.h, i370-protos.h, i370.c,
> i960.h, i960-protos.h, i960.c,
> sh.h, sh-protos.h, sh.c,
> v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
> pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.
> * d30v.h: Don't mention HANDLE_PRAGMA in comment. Add
> multiple include guard.
> * i370.md (untyped_call): Use GEN_CALL.
> (umodsi3): Remove unused variable.
> * sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
> * v850.c (output_move_single, output_move_double): Constify
> return value.
> (print_operand): Constify a char *.
> * v850.h (struct small_memory_info): Constify name member.