From 031129464545c494cbd824345f227a33a4873a48 Mon Sep 17 00:00:00 2001 From: ro Date: Thu, 21 Mar 2002 01:11:48 +0000 Subject: * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64 UNIX assert.h. * fixinc/fixincl.x: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51106 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fixinc/fixincl.x | 47 ++++++++++++++++++++++++++++++++++++++++++++--- gcc/fixinc/inclhack.def | 14 ++++++++++++++ 2 files changed, 58 insertions(+), 3 deletions(-) (limited to 'gcc/fixinc') diff --git a/gcc/fixinc/fixincl.x b/gcc/fixinc/fixincl.x index e2a22221257..280948df558 100644 --- a/gcc/fixinc/fixincl.x +++ b/gcc/fixinc/fixincl.x @@ -5,7 +5,7 @@ * files which are fixed to work correctly with ANSI C and placed in a * directory that GNU C will search. * - * This file contains 138 fixup descriptions. + * This file contains 139 fixup descriptions. * * See README for more information. * @@ -742,6 +742,41 @@ static const char* apzAlpha___AssertPatch[] = { "__assert(const char *, const char *, int)", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Alpha_Assert fix + */ +tSCC zAlpha_AssertName[] = + "alpha_assert"; + +/* + * File name selection pattern + */ +tSCC zAlpha_AssertList[] = + "|assert.h|"; +/* + * Machine/OS name selection pattern + */ +#define apzAlpha_AssertMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zAlpha_AssertSelect0[] = + "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)"; + +#define ALPHA_ASSERT_TEST_CT 1 +static tTestDesc aAlpha_AssertTests[] = { + { TT_EGREP, zAlpha_AssertSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Alpha_Assert + */ +static const char* apzAlpha_AssertPatch[] = { + "format", + "%1(EX)", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Alpha_Getopt fix @@ -5435,9 +5470,9 @@ static const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 147 +#define REGEX_COUNT 148 #define MACH_LIST_SIZE_LIMIT 279 -#define FIX_COUNT 138 +#define FIX_COUNT 139 /* * Enumerate the fixes @@ -5458,6 +5493,7 @@ typedef enum { AIX_SYSWAIT_FIXIDX, AIX_VOLATILE_FIXIDX, ALPHA___ASSERT_FIXIDX, + ALPHA_ASSERT_FIXIDX, ALPHA_GETOPT_FIXIDX, ALPHA_PARENS_FIXIDX, ALPHA_SBRK_FIXIDX, @@ -5659,6 +5695,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aAlpha___AssertTests, apzAlpha___AssertPatch, 0 }, + { zAlpha_AssertName, zAlpha_AssertList, + apzAlpha_AssertMachs, + ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aAlpha_AssertTests, apzAlpha_AssertPatch, 0 }, + { zAlpha_GetoptName, zAlpha_GetoptList, apzAlpha_GetoptMachs, ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def index d322d2f1e55..874f58495d0 100644 --- a/gcc/fixinc/inclhack.def +++ b/gcc/fixinc/inclhack.def @@ -585,6 +585,20 @@ fix = { }; +/* + * Fix assert macro in assert.h on Alpha OSF/1. + * The superfluous int cast breaks C++. + */ +fix = { + hackname = alpha_assert; + files = "assert.h"; + select = '(#define assert\(EX\).*)\(\(int\) \(EX\)\)'; + c_fix = format; + c_fix_arg = "%1(EX)"; + test_text = '#define assert(EX) (((int) (EX)) ? (void)0 : __assert(#EX, __FILE__, __LINE__))'; +}; + + /* * Fix getopt declarations in stdio.h and stdlib.h on Alpha OSF/1 and AIX. */ -- cgit v1.2.1