]> git.ipfire.org Git - thirdparty/gcc.git/commit
sol2-c.c (solaris_register_pragmas): Use c_register_pragma_with_expansion.
authorDaniel Jacobowitz <dan@codesourcery.com>
Tue, 23 Nov 2004 23:25:40 +0000 (23:25 +0000)
committerJoseph Myers <jsm28@gcc.gnu.org>
Tue, 23 Nov 2004 23:25:40 +0000 (23:25 +0000)
commitb5b3e36a98b42afa15fe85a1e2296e9b1d4ac37f
treec218ffe339a9fcc74872e3e0827398246b77ded8
parenta996709e40e818bf3b3561f229514991e9d90fa9
sol2-c.c (solaris_register_pragmas): Use c_register_pragma_with_expansion.

gcc:
2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

* config/sol2-c.c (solaris_register_pragmas): Use
c_register_pragma_with_expansion.
* config/sol2.h (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Define.
* c-pragma.c (c_register_pragma): Update call to
cpp_register_pragma.
(c_register_pragma_with_expansion): New function.
(init_pragma): Honor HANDLE_PRAGMA_PACK_WITH_EXPANSION.
* c-pragma.h (c_register_pragma_with_expansion): New prototype.
* doc/extend.texi (Solaris Pragmas): Mention macro expansion for
#pragma align.
* doc/tm.texi (c_register_pragma_with_expansion,
HANDLE_PRAGMA_PACK_WITH_EXPANSION): Document.

gcc/testsuite:
2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>

* gcc.dg/pragma-align-2.c: Test macro expansion.
* gcc.dg/pragma-pack-2.c: New test.

libcpp:
2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

* internal.h (struct lexer_state): Add in_deferred_pragma.
* directives.c (struct pragma_entry): Add allow_expansion.
(insert_pragma_entry): Take allow_expansion flag.
(register_pragma): Likewise.
(cpp_register_pragma): Likewise.
(_cpp_init_internal_pragmas): Update calls to cpp_register_pragma.
(do_pragma): Honor allow_expansion.
(cpp_handle_deferred_pragma): Set in_deferred_pragma.
* include/cpplib.h (cpp_register_pragma): Update prototype.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r91117
14 files changed:
gcc/ChangeLog
gcc/c-pragma.c
gcc/c-pragma.h
gcc/config/sol2-c.c
gcc/config/sol2.h
gcc/doc/extend.texi
gcc/doc/tm.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pragma-align-2.c
gcc/testsuite/gcc.dg/pragma-pack-2.c [new file with mode: 0644]
libcpp/ChangeLog
libcpp/directives.c
libcpp/include/cpplib.h
libcpp/internal.h