aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/alpha/osf.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2002-03-22 14:51:48 -0800
committerRichard Henderson <rth@gcc.gnu.org>2002-03-22 14:51:48 -0800
commit41c643948c237b94330e47ff9f860206ebb816c2 (patch)
treeef58fdf21cd2d5af8fcc1fdca3da41897a87502f /gcc/config/alpha/osf.h
parent661fff62a918df093c952e14a1656f0e151c137a (diff)
downloadgcc-41c643948c237b94330e47ff9f860206ebb816c2.zip
gcc-41c643948c237b94330e47ff9f860206ebb816c2.tar.gz
gcc-41c643948c237b94330e47ff9f860206ebb816c2.tar.bz2
c-pragma.c (maybe_apply_renaming_pragma): New.
* 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. From-SVN: r51200
Diffstat (limited to 'gcc/config/alpha/osf.h')
-rw-r--r--gcc/config/alpha/osf.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/config/alpha/osf.h b/gcc/config/alpha/osf.h
index 250974c..1123e06 100644
--- a/gcc/config/alpha/osf.h
+++ b/gcc/config/alpha/osf.h
@@ -47,7 +47,8 @@ Boston, MA 02111-1307, USA. */
#undef CPP_SUBTARGET_SPEC
#define CPP_SUBTARGET_SPEC \
-"%{pthread|threads:-D_REENTRANT} %{threads:-D_PTHREAD_USE_D4} %(cpp_xfloat)"
+"%{pthread|threads:-D_REENTRANT} %{threads:-D_PTHREAD_USE_D4} %(cpp_xfloat) \
+-D__EXTERN_PREFIX"
/* Under OSF4, -p and -pg require -lprof1, and -lprof1 requires -lpdf. */
@@ -209,3 +210,7 @@ __enable_execute_stack (addr) \
/* Handle #pragma weak and #pragma pack. */
#undef HANDLE_SYSV_PRAGMA
#define HANDLE_SYSV_PRAGMA 1
+
+/* Handle #pragma extern_prefix. Technically only needed for Tru64 5.x,
+ but easier to manipulate preprocessor bits from here. */
+#define HANDLE_PRAGMA_EXTERN_PREFIX 1