summaryrefslogtreecommitdiff
path: root/gcc/fixinc
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-24 18:52:51 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-24 18:52:51 +0000
commit219cff1b57b34c789bf744ebed8eede062fee6f0 (patch)
treeb75b02a1b40335aa83b4aaebc6fdb4ed8f808707 /gcc/fixinc
parent943886d66e25a2c910223c3e63d43b786b405387 (diff)
downloadgcc-219cff1b57b34c789bf744ebed8eede062fee6f0.tar.gz
* config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
__EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX. * doc/extend.texi (Tru64 Pragmas): Reflect this. * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma extern_prefix support for Tru64 UNIX V5 <sys/stat.h>. * fixinc/fixincl.x: Regenerate. * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New testcase. Fixes PR c/5059, c/6126, other/9671. testsuite: * g++.dg/other/pragma-ep-1.C: Test for __PRAGMA_EXTERN_PREFIX. * gcc.dg/pragma-ep-1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63370 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fixinc')
-rw-r--r--gcc/fixinc/fixincl.x43
-rw-r--r--gcc/fixinc/inclhack.def16
2 files changed, 59 insertions, 0 deletions
diff --git a/gcc/fixinc/fixincl.x b/gcc/fixinc/fixincl.x
index 017b748fc73..2f712c7ddd5 100644
--- a/gcc/fixinc/fixincl.x
+++ b/gcc/fixinc/fixincl.x
@@ -711,6 +711,43 @@ static const char* apzAlpha___AssertPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Alpha___Extern_Prefix fix
+ */
+tSCC zAlpha___Extern_PrefixName[] =
+ "alpha___extern_prefix";
+
+/*
+ * File name selection pattern
+ */
+tSCC zAlpha___Extern_PrefixList[] =
+ "|sys/stat.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzAlpha___Extern_PrefixMachs[] = {
+ "alpha*-dec-osf5*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zAlpha___Extern_PrefixSelect0[] =
+ "#[ \t]*if[ \t]*defined\\(__DECC\\)";
+
+#define ALPHA___EXTERN_PREFIX_TEST_CT 1
+static tTestDesc aAlpha___Extern_PrefixTests[] = {
+ { TT_EGREP, zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Alpha___Extern_Prefix
+ */
+static const char* apzAlpha___Extern_PrefixPatch[] = {
+ "format",
+ "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Alpha_Assert fix
*/
tSCC zAlpha_AssertName[] =
@@ -5788,6 +5825,7 @@ typedef enum {
AIX_SYSWAIT_FIXIDX,
AIX_VOLATILE_FIXIDX,
ALPHA___ASSERT_FIXIDX,
+ ALPHA___EXTERN_PREFIX_FIXIDX,
ALPHA_ASSERT_FIXIDX,
ALPHA_GETOPT_FIXIDX,
ALPHA_PARENS_FIXIDX,
@@ -5993,6 +6031,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAlpha___AssertTests, apzAlpha___AssertPatch, 0 },
+ { zAlpha___Extern_PrefixName, zAlpha___Extern_PrefixList,
+ apzAlpha___Extern_PrefixMachs,
+ ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aAlpha___Extern_PrefixTests, apzAlpha___Extern_PrefixPatch, 0 },
+
{ zAlpha_AssertName, zAlpha_AssertList,
apzAlpha_AssertMachs,
ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def
index 5ff0e9a42fb..619f6965809 100644
--- a/gcc/fixinc/inclhack.def
+++ b/gcc/fixinc/inclhack.def
@@ -523,6 +523,22 @@ fix = {
/*
+ * Obey __PRAGMA_EXTERN_PREFIX for Tru64 UNIX V5 <sys/stat.h>.
+ */
+fix = {
+ hackname = alpha___extern_prefix;
+ files = sys/stat.h;
+ select = "#[ \t]*if[ \t]*defined\\(__DECC\\)";
+
+ mach = "alpha*-dec-osf5*";
+ c_fix = format;
+ c_fix_arg = "%0 || defined(__PRAGMA_EXTERN_PREFIX)";
+
+ test_text = "# if defined(__DECC)";
+};
+
+
+/*
* Fix assert macro in assert.h on Alpha OSF/1.
* The superfluous int cast breaks C++.
*/