diff options
author | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-24 18:52:51 +0000 |
---|---|---|
committer | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-24 18:52:51 +0000 |
commit | 219cff1b57b34c789bf744ebed8eede062fee6f0 (patch) | |
tree | b75b02a1b40335aa83b4aaebc6fdb4ed8f808707 /gcc/fixinc | |
parent | 943886d66e25a2c910223c3e63d43b786b405387 (diff) | |
download | gcc-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.x | 43 | ||||
-rw-r--r-- | gcc/fixinc/inclhack.def | 16 |
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++. */ |