diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-22 22:51:48 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-22 22:51:48 +0000 |
| commit | ea42c4de227309f4db936eae29f35e7b20a7353e (patch) | |
| tree | ef58fdf21cd2d5af8fcc1fdca3da41897a87502f /gcc/c-decl.c | |
| parent | 92ec37e132679f46e77d77ea490053326041ccc9 (diff) | |
| download | ppe42-gcc-ea42c4de227309f4db936eae29f35e7b20a7353e.tar.gz ppe42-gcc-ea42c4de227309f4db936eae29f35e7b20a7353e.zip | |
* c-pragma.c (maybe_apply_renaming_pragma): New.
(handle_pragma_redefine_extname, pending_redefine_extname): New.
(handle_pragma_extern_prefix, pragma_extern_prefix): New.
(init_pragma): Register them.
* c-pragma.h (maybe_apply_renaming_pragma): Declare.
* c-decl.c (finish_decl): Call it.
* cp/decl.c (cp_finish_decl): Likewise.
* doc/extend.texi: Document the new pragmas.
* config/alpha/osf.h (CPP_SUBTARGET_SPEC): Add __EXTERN_PREFIX.
(HANDLE_PRAGMA_EXTERN_PREFIX): New.
* config/i386/sol2.h (CPP_PREDEFINES): Add __PRAGMA_REDEFINE_EXTNAME.
(HANDLE_PRAGMA_REDEFINE_EXTNAME): New.
* config/sparc/sol2.h: Likewise.
* g++.dg/other/pragma-re-1.C: New.
* g++.dg/other/pragma-ep-1.C: New.
* gcc.dg/pragma-re-1.c, gcc.dg/pragma-re-2.c: New.
* gcc.dg/pragma-ep-1.c, gcc.dg/pragma-ep-2.c: New.
* gcc.dg/pragma-ep-3.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51200 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-decl.c')
| -rw-r--r-- | gcc/c-decl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 9242b03b3f9..4e0dccd4b0a 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -3453,6 +3453,8 @@ finish_decl (decl, init, asmspec_tree) const char *asmspec = 0; /* If a name was specified, get the string. */ + if (current_binding_level == global_binding_level) + asmspec_tree = maybe_apply_renaming_pragma (decl, asmspec_tree); if (asmspec_tree) asmspec = TREE_STRING_POINTER (asmspec_tree); |

