From: Bruce Korb Date: Sun, 27 May 2001 18:21:04 +0000 (+0000) Subject: reorganize inclhacks and apply fix to fixtests.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7b78a14a37cd517efee40901397dc272ecb55211;p=gcc.git reorganize inclhacks and apply fix to fixtests.c From-SVN: r42663 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2d49273cad9..73105b89a0a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,19 @@ +2001-05-27 Kaveh R. Ghazi + + * fixinc/fixtests.c: Declare entries in ENV_TABLE. + +2001-05-27 Bruce Korb + + * fixinc/check.tpl(HACK) add and use a Scheme variable + (has no test text): error out if no "test_text" is defined + * fixinc/fixincl.tpl: likewise + (FIXIDX): make it an enumeration so we minimize diffs + * fixinc/inclhack.def: re-alphabetize and add sort instructions + * fixinc/fixincl.x: regenerate + * fixinc/tests/base/stdio.h: test output got moved due to + the alphabetizing + * README-fixinc: rewrite (mostly) + 2001-05-27 Neil Booth * cpplib.c (run_directive): Set pfile->directive. diff --git a/gcc/README-fixinc b/gcc/README-fixinc index 4b303ddc63a..7086a7782d4 100644 --- a/gcc/README-fixinc +++ b/gcc/README-fixinc @@ -1,9 +1,14 @@ This README file is copied into the directory for GCC-only header files when fixincludes is run by the makefile for GCC. -Many of the files in this directory were made from the standard system -header files of this system by the shell script `fixincludes'. -They are system-specific, and will not work on any other kind of system. -They are also not part of GCC. The reason for making the files here -is to fix the places in the header files which use constructs -that are incompatible with ANSI C. +Many of the files in this directory were automatically edited from the +standard system header files by the fixincludes process. They are +system-specific, and will not work on any other kind of system. They +are also not part of GCC. The reason we have to do this is because +GCC requires ANSI C headers and many vendors supply ANSI-incompatible +headers. + +Because this is an automated process, sometimes headers get "fixed" +that do not, strictly speaking, need a fix. As long as nothing is broken +by the process, it is just an unfortunate collateral inconvenience. +We would like to rectify it, if it is not "too inconvenient". diff --git a/gcc/fixinc/check.tpl b/gcc/fixinc/check.tpl index c89b214d91b..fd03b3ea609 100644 --- a/gcc/fixinc/check.tpl +++ b/gcc/fixinc/check.tpl @@ -40,12 +40,13 @@ mkdir ${DESTDIR} ${SRCDIR} cd inc [= (define sfile "") +(define HACK "") (define dfile "") =][= FOR fix =][= IF (> (count "test_text") 1) =][= - + (set! HACK (string-upcase! (get "hackname"))) (set! sfile (if (exist? "files") (get "files[]") "testing.h")) (set! dfile (string-append (if (*==* sfile "/") @@ -58,9 +59,9 @@ FOR fix =][= cat >> [=(. sfile)=] <<_HACK_EOF_ -#if defined( [=(string-upcase! (get "hackname"))=]_CHECK_[=(for-index)=] ) +#if defined( [=(. HACK)=]_CHECK_[=(for-index)=] ) [=test_text=] -#endif /* [=(string-upcase! (get "hackname"))=]_CHECK_[=(for-index)=] */ +#endif /* [=(. HACK)=]_CHECK_[=(for-index)=] */ _HACK_EOF_ echo [=(. sfile)=] | ../../fixincl mv -f [=(. sfile)=] [=(. dfile)=]-[=(for-index)=].h @@ -75,17 +76,15 @@ ENDFOR fix =][= -FOR fix =][= +FOR fix =][= + (set! HACK (string-upcase! (get "hackname"))) =][= IF (not (exist? "test_text")) =][= - IF (not (exist? "replace")) =] -echo No test for [=hackname=] in inc/[= - IF (exist? "files") =][= - files[0] =][= - ELSE =]testing.h[= - ENDIF =][= - ENDIF =][= - ELSE =] + (if (not (exist? "replace")) + (error (sprintf "include fix '%s' has no test text" + (get "hackname") )) ) + =][= + ELSE =] cat >> [= IF (exist? "files") =][= files[0] =][= @@ -93,9 +92,9 @@ cat >> [= ENDIF =] <<_HACK_EOF_ -#if defined( [=(string-upcase! (get "hackname"))=]_CHECK ) +#if defined( [=(. HACK)=]_CHECK ) [=test_text=] -#endif /* [=(string-upcase! (get "hackname"))=]_CHECK */ +#endif /* [=(. HACK)=]_CHECK */ _HACK_EOF_ [=ENDIF =][= @@ -103,7 +102,7 @@ ENDFOR fix =] -find . -type f | sed 's;\./;;' | sort | ../../fixincl +find . -type f | sed 's;^\./;;' | sort | ../../fixincl cd ${DESTDIR} exitok=true diff --git a/gcc/fixinc/fixfixes.c b/gcc/fixinc/fixfixes.c index 56b9f5493c7..afdecfc9e08 100644 --- a/gcc/fixinc/fixfixes.c +++ b/gcc/fixinc/fixfixes.c @@ -30,14 +30,6 @@ Here are the rules: This may be useful, for example, if there are interesting strings or pre-compiled regular expressions stored there. - It is also possible to access fix descriptions by using the - index of a known fix, "my_fix_name" for example: - - tFixDesc* p_desc = fixDescList + MY_FIX_NAME_FIXIDX; - tTestDesc* p_tlist = p_desc->p_test_desc; - - regexec (p_tlist->p_test_regex, ...) - = = = = = = = = = = = = = = = = = = = = = = = = = This file is part of GNU CC. diff --git a/gcc/fixinc/fixincl.tpl b/gcc/fixinc/fixincl.tpl index 7aeb9cab6f1..e8aefd05dfe 100644 --- a/gcc/fixinc/fixincl.tpl +++ b/gcc/fixinc/fixincl.tpl @@ -26,6 +26,8 @@ FOR fix =] * Description of [= (set! Hack (string-capitalize! (get "hackname"))) (set! HACK (string-upcase! (get "hackname"))) + (if (and (not (exist? "test_text")) (not (exist? "replace"))) + (error (sprintf "include fix '%s' has no test text" Hack )) ) (. Hack)=] fix */[= @@ -33,7 +35,6 @@ FOR fix =] some C fix wishes to refer to the regexps it is paired with. See commentary at the top of fixfixes.c. =] -#define [=(sprintf "%-32s" (string-append HACK "_FIXIDX"))=] [=(for-index)=] tSCC z[=(. Hack)=]Name[] = "[=hackname=]"; @@ -181,6 +182,18 @@ static const char* apz[=(. Hack)=]Patch[] = {[= #define MACH_LIST_SIZE_LIMIT [= (+ 128 max-mach) =] #define FIX_COUNT [= (count "fix") =] +/* + * Enumerate the fixes[= # in a way that minimizes diffs :-) =] + */ +typedef enum {[= + +FOR fix "," =] + [=(string-upcase! (get "hackname"))=]_FIXIDX[= +ENDFOR + +=] +} t_fixinc_idx; + tFixDesc fixDescList[ FIX_COUNT ] = {[= diff --git a/gcc/fixinc/fixincl.x b/gcc/fixinc/fixincl.x index 526e599852e..da19e6c34e8 100644 --- a/gcc/fixinc/fixincl.x +++ b/gcc/fixinc/fixincl.x @@ -32,43 +32,33 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Aaa_Ki_Iface fix + * Description of Aaa_Bad_Fixes fix */ -#define AAA_KI_IFACE_FIXIDX 0 -tSCC zAaa_Ki_IfaceName[] = - "AAA_ki_iface"; +tSCC zAaa_Bad_FixesName[] = + "AAA_bad_fixes"; /* * File name selection pattern */ -tSCC zAaa_Ki_IfaceList[] = - "|sys/ki_iface.h|"; +tSCC zAaa_Bad_FixesList[] = + "|sundev/ipi_error.h|"; /* * Machine/OS name selection pattern */ -#define apzAaa_Ki_IfaceMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zAaa_Ki_IfaceSelect0[] = - "These definitions are for HP Internal developers"; - -#define AAA_KI_IFACE_TEST_CT 1 -static tTestDesc aAaa_Ki_IfaceTests[] = { - { TT_EGREP, zAaa_Ki_IfaceSelect0, (regex_t*)NULL }, }; +#define apzAaa_Bad_FixesMachs (const char**)NULL +#define AAA_BAD_FIXES_TEST_CT 0 +#define aAaa_Bad_FixesTests (tTestDesc*)NULL /* - * Fix Command Arguments for Aaa_Ki_Iface + * Fix Command Arguments for Aaa_Bad_Fixes */ -static const char* apzAaa_Ki_IfacePatch[] = { +static const char* apzAaa_Bad_FixesPatch[] = { (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Aaa_Ki fix */ -#define AAA_KI_FIXIDX 1 tSCC zAaa_KiName[] = "AAA_ki"; @@ -102,7 +92,6 @@ static const char* apzAaa_KiPatch[] = { * * Description of Aaa_Ki_Calls fix */ -#define AAA_KI_CALLS_FIXIDX 2 tSCC zAaa_Ki_CallsName[] = "AAA_ki_calls"; @@ -136,7 +125,6 @@ static const char* apzAaa_Ki_CallsPatch[] = { * * Description of Aaa_Ki_Defs fix */ -#define AAA_KI_DEFS_FIXIDX 3 tSCC zAaa_Ki_DefsName[] = "AAA_ki_defs"; @@ -168,69 +156,74 @@ static const char* apzAaa_Ki_DefsPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Aaa_Standards fix + * Description of Aaa_Ki_Iface fix */ -#define AAA_STANDARDS_FIXIDX 4 -tSCC zAaa_StandardsName[] = - "AAA_standards"; +tSCC zAaa_Ki_IfaceName[] = + "AAA_ki_iface"; /* * File name selection pattern */ -tSCC zAaa_StandardsList[] = - "|standards.h|"; +tSCC zAaa_Ki_IfaceList[] = + "|sys/ki_iface.h|"; /* * Machine/OS name selection pattern */ -#define apzAaa_StandardsMachs (const char**)NULL +#define apzAaa_Ki_IfaceMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zAaa_StandardsSelect0[] = - "GNU and MIPS C compilers define __STDC__ differently"; +tSCC zAaa_Ki_IfaceSelect0[] = + "These definitions are for HP Internal developers"; -#define AAA_STANDARDS_TEST_CT 1 -static tTestDesc aAaa_StandardsTests[] = { - { TT_EGREP, zAaa_StandardsSelect0, (regex_t*)NULL }, }; +#define AAA_KI_IFACE_TEST_CT 1 +static tTestDesc aAaa_Ki_IfaceTests[] = { + { TT_EGREP, zAaa_Ki_IfaceSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Aaa_Standards + * Fix Command Arguments for Aaa_Ki_Iface */ -static const char* apzAaa_StandardsPatch[] = { +static const char* apzAaa_Ki_IfacePatch[] = { (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Aaa_Bad_Fixes fix + * Description of Aaa_Standards fix */ -#define AAA_BAD_FIXES_FIXIDX 5 -tSCC zAaa_Bad_FixesName[] = - "AAA_bad_fixes"; +tSCC zAaa_StandardsName[] = + "AAA_standards"; /* * File name selection pattern */ -tSCC zAaa_Bad_FixesList[] = - "|sundev/ipi_error.h|"; +tSCC zAaa_StandardsList[] = + "|standards.h|"; /* * Machine/OS name selection pattern */ -#define apzAaa_Bad_FixesMachs (const char**)NULL -#define AAA_BAD_FIXES_TEST_CT 0 -#define aAaa_Bad_FixesTests (tTestDesc*)NULL +#define apzAaa_StandardsMachs (const char**)NULL /* - * Fix Command Arguments for Aaa_Bad_Fixes + * content selection pattern - do fix if pattern found */ -static const char* apzAaa_Bad_FixesPatch[] = { +tSCC zAaa_StandardsSelect0[] = + "GNU and MIPS C compilers define __STDC__ differently"; + +#define AAA_STANDARDS_TEST_CT 1 +static tTestDesc aAaa_StandardsTests[] = { + { TT_EGREP, zAaa_StandardsSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Aaa_Standards + */ +static const char* apzAaa_StandardsPatch[] = { (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Aaa_Time fix */ -#define AAA_TIME_FIXIDX 6 tSCC zAaa_TimeName[] = "AAA_time"; @@ -264,7 +257,6 @@ static const char* apzAaa_TimePatch[] = { * * Description of Aab_Dgux_Int_Varargs fix */ -#define AAB_DGUX_INT_VARARGS_FIXIDX 7 tSCC zAab_Dgux_Int_VarargsName[] = "AAB_dgux_int_varargs"; @@ -336,7 +328,6 @@ typedef char * va_list;\n\ * * Description of Aab_Fd_Zero_Asm_Posix_Types_H fix */ -#define AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX 8 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] = "AAB_fd_zero_asm_posix_types_h"; @@ -390,7 +381,6 @@ static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = { * * Description of Aab_Fd_Zero_Gnu_Types_H fix */ -#define AAB_FD_ZERO_GNU_TYPES_H_FIXIDX 9 tSCC zAab_Fd_Zero_Gnu_Types_HName[] = "AAB_fd_zero_gnu_types_h"; @@ -435,7 +425,6 @@ static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = { * * Description of Aab_Fd_Zero_Selectbits_H fix */ -#define AAB_FD_ZERO_SELECTBITS_H_FIXIDX 10 tSCC zAab_Fd_Zero_Selectbits_HName[] = "AAB_fd_zero_selectbits_h"; @@ -484,7 +473,6 @@ static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = { * * Description of Aab_Sun_Memcpy fix */ -#define AAB_SUN_MEMCPY_FIXIDX 11 tSCC zAab_Sun_MemcpyName[] = "AAB_sun_memcpy"; @@ -534,7 +522,6 @@ extern int memcmp();\n\n\ * * Description of Aab_Svr4_Replace_Byteorder fix */ -#define AAB_SVR4_REPLACE_BYTEORDER_FIXIDX 12 tSCC zAab_Svr4_Replace_ByteorderName[] = "AAB_svr4_replace_byteorder"; @@ -674,7 +661,6 @@ ntohs (unsigned int __arg)\n\ * * Description of Aab_Ultrix_Ansi_Compat fix */ -#define AAB_ULTRIX_ANSI_COMPAT_FIXIDX 13 tSCC zAab_Ultrix_Ansi_CompatName[] = "AAB_ultrix_ansi_compat"; @@ -709,7 +695,6 @@ static const char* apzAab_Ultrix_Ansi_CompatPatch[] = { * * Description of Aab_Ultrix_Limits fix */ -#define AAB_ULTRIX_LIMITS_FIXIDX 14 tSCC zAab_Ultrix_LimitsName[] = "AAB_ultrix_limits"; @@ -741,7 +726,6 @@ static const char* apzAab_Ultrix_LimitsPatch[] = { * * Description of Aab_Ultrix_Memory fix */ -#define AAB_ULTRIX_MEMORY_FIXIDX 15 tSCC zAab_Ultrix_MemoryName[] = "AAB_ultrix_memory"; @@ -773,7 +757,6 @@ static const char* apzAab_Ultrix_MemoryPatch[] = { * * Description of Aab_Ultrix_String fix */ -#define AAB_ULTRIX_STRING_FIXIDX 16 tSCC zAab_Ultrix_StringName[] = "AAB_ultrix_string"; @@ -805,7 +788,6 @@ static const char* apzAab_Ultrix_StringPatch[] = { * * Description of Aix_Pthread fix */ -#define AIX_PTHREAD_FIXIDX 17 tSCC zAix_PthreadName[] = "aix_pthread"; @@ -843,7 +825,6 @@ static const char* apzAix_PthreadPatch[] = { * * Description of Aix_Sysmachine fix */ -#define AIX_SYSMACHINE_FIXIDX 18 tSCC zAix_SysmachineName[] = "aix_sysmachine"; @@ -879,7 +860,6 @@ static const char* apzAix_SysmachinePatch[] = { * * Description of Aix_Syswait fix */ -#define AIX_SYSWAIT_FIXIDX 19 tSCC zAix_SyswaitName[] = "aix_syswait"; @@ -919,7 +899,6 @@ static const char* apzAix_SyswaitPatch[] = { * * Description of Aix_Volatile fix */ -#define AIX_VOLATILE_FIXIDX 20 tSCC zAix_VolatileName[] = "aix_volatile"; @@ -955,7 +934,6 @@ static const char* apzAix_VolatilePatch[] = { * * Description of Alpha___Assert fix */ -#define ALPHA___ASSERT_FIXIDX 21 tSCC zAlpha___AssertName[] = "alpha___assert"; @@ -991,7 +969,6 @@ static const char* apzAlpha___AssertPatch[] = { * * Description of Alpha_Getopt fix */ -#define ALPHA_GETOPT_FIXIDX 22 tSCC zAlpha_GetoptName[] = "alpha_getopt"; @@ -1027,7 +1004,6 @@ static const char* apzAlpha_GetoptPatch[] = { * * Description of Alpha_Parens fix */ -#define ALPHA_PARENS_FIXIDX 23 tSCC zAlpha_ParensName[] = "alpha_parens"; @@ -1063,7 +1039,6 @@ static const char* apzAlpha_ParensPatch[] = { * * Description of Alpha_Sbrk fix */ -#define ALPHA_SBRK_FIXIDX 24 tSCC zAlpha_SbrkName[] = "alpha_sbrk"; @@ -1099,7 +1074,6 @@ static const char* apzAlpha_SbrkPatch[] = { * * Description of Arm_Norcroft_Hint fix */ -#define ARM_NORCROFT_HINT_FIXIDX 25 tSCC zArm_Norcroft_HintName[] = "arm_norcroft_hint"; @@ -1135,7 +1109,6 @@ static const char* apzArm_Norcroft_HintPatch[] = { * * Description of Arm_Wchar fix */ -#define ARM_WCHAR_FIXIDX 26 tSCC zArm_WcharName[] = "arm_wchar"; @@ -1172,7 +1145,6 @@ static const char* apzArm_WcharPatch[] = { * * Description of Aux_Asm fix */ -#define AUX_ASM_FIXIDX 27 tSCC zAux_AsmName[] = "aux_asm"; @@ -1208,7 +1180,6 @@ static const char* apzAux_AsmPatch[] = { * * Description of Avoid_Bool_Define fix */ -#define AVOID_BOOL_DEFINE_FIXIDX 28 tSCC zAvoid_Bool_DefineName[] = "avoid_bool_define"; @@ -1254,7 +1225,6 @@ static const char* apzAvoid_Bool_DefinePatch[] = { * * Description of Avoid_Bool_Type fix */ -#define AVOID_BOOL_TYPE_FIXIDX 29 tSCC zAvoid_Bool_TypeName[] = "avoid_bool_type"; @@ -1299,7 +1269,6 @@ static const char* apzAvoid_Bool_TypePatch[] = { * * Description of Avoid_Wchar_T_Type fix */ -#define AVOID_WCHAR_T_TYPE_FIXIDX 30 tSCC zAvoid_Wchar_T_TypeName[] = "avoid_wchar_t_type"; @@ -1336,7 +1305,6 @@ static const char* apzAvoid_Wchar_T_TypePatch[] = { * * Description of Bad_Lval fix */ -#define BAD_LVAL_FIXIDX 31 tSCC zBad_LvalName[] = "bad_lval"; @@ -1371,7 +1339,6 @@ static const char* apzBad_LvalPatch[] = { "sed", * * Description of Bad_Struct_Term fix */ -#define BAD_STRUCT_TERM_FIXIDX 32 tSCC zBad_Struct_TermName[] = "bad_struct_term"; @@ -1407,7 +1374,6 @@ static const char* apzBad_Struct_TermPatch[] = { * * Description of Badquote fix */ -#define BADQUOTE_FIXIDX 33 tSCC zBadquoteName[] = "badquote"; @@ -1443,7 +1409,6 @@ static const char* apzBadquotePatch[] = { * * Description of Broken_Assert_Stdio fix */ -#define BROKEN_ASSERT_STDIO_FIXIDX 34 tSCC zBroken_Assert_StdioName[] = "broken_assert_stdio"; @@ -1486,7 +1451,6 @@ static const char* apzBroken_Assert_StdioPatch[] = { * * Description of Broken_Assert_Stdlib fix */ -#define BROKEN_ASSERT_STDLIB_FIXIDX 35 tSCC zBroken_Assert_StdlibName[] = "broken_assert_stdlib"; @@ -1531,7 +1495,6 @@ static const char* apzBroken_Assert_StdlibPatch[] = { * * Description of Broken_Cabs fix */ -#define BROKEN_CABS_FIXIDX 36 tSCC zBroken_CabsName[] = "broken_cabs"; @@ -1568,7 +1531,6 @@ static const char* apzBroken_CabsPatch[] = { * * Description of Ctrl_Quotes_Def fix */ -#define CTRL_QUOTES_DEF_FIXIDX 37 tSCC zCtrl_Quotes_DefName[] = "ctrl_quotes_def"; @@ -1603,7 +1565,6 @@ static const char* apzCtrl_Quotes_DefPatch[] = { * * Description of Ctrl_Quotes_Use fix */ -#define CTRL_QUOTES_USE_FIXIDX 38 tSCC zCtrl_Quotes_UseName[] = "ctrl_quotes_use"; @@ -1638,7 +1599,6 @@ static const char* apzCtrl_Quotes_UsePatch[] = { * * Description of Cxx_Unready fix */ -#define CXX_UNREADY_FIXIDX 39 tSCC zCxx_UnreadyName[] = "cxx_unready"; @@ -1686,7 +1646,6 @@ extern \"C\" {\n\ * * Description of Dec_Intern_Asm fix */ -#define DEC_INTERN_ASM_FIXIDX 40 tSCC zDec_Intern_AsmName[] = "dec_intern_asm"; @@ -1716,7 +1675,6 @@ static const char* apzDec_Intern_AsmPatch[] = { "sed", * * Description of Djgpp_Wchar_H fix */ -#define DJGPP_WCHAR_H_FIXIDX 41 tSCC zDjgpp_Wchar_HName[] = "djgpp_wchar_h"; @@ -1760,7 +1718,6 @@ static const char* apzDjgpp_Wchar_HPatch[] = { * * Description of Ecd_Cursor fix */ -#define ECD_CURSOR_FIXIDX 42 tSCC zEcd_CursorName[] = "ecd_cursor"; @@ -1796,7 +1753,6 @@ static const char* apzEcd_CursorPatch[] = { * * Description of Fix_Header_Breakage fix */ -#define FIX_HEADER_BREAKAGE_FIXIDX 43 tSCC zFix_Header_BreakageName[] = "fix_header_breakage"; @@ -1834,7 +1790,6 @@ static const char* apzFix_Header_BreakagePatch[] = { * * Description of Freebsd_Gcc3_Breakage fix */ -#define FREEBSD_GCC3_BREAKAGE_FIXIDX 44 tSCC zFreebsd_Gcc3_BreakageName[] = "freebsd_gcc3_breakage"; @@ -1875,11 +1830,51 @@ static const char* apzFreebsd_Gcc3_BreakagePatch[] = { "%0 || __GNUC__ >= 3", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Gnu_Types fix + */ +tSCC zGnu_TypesName[] = + "gnu_types"; + +/* + * File name selection pattern + */ +tSCC zGnu_TypesList[] = + "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|"; +/* + * Machine/OS name selection pattern + */ +#define apzGnu_TypesMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zGnu_TypesSelect0[] = + "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zGnu_TypesBypass0[] = + "_GCC_(PTRDIFF|SIZE|WCHAR)_T"; + +#define GNU_TYPES_TEST_CT 2 +static tTestDesc aGnu_TypesTests[] = { + { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL }, + { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Gnu_Types + */ +static const char* apzGnu_TypesPatch[] = { + "gnu_type", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Hp_Inline fix */ -#define HP_INLINE_FIXIDX 45 tSCC zHp_InlineName[] = "hp_inline"; @@ -1916,7 +1911,6 @@ static const char* apzHp_InlinePatch[] = { * * Description of Hp_Sysfile fix */ -#define HP_SYSFILE_FIXIDX 46 tSCC zHp_SysfileName[] = "hp_sysfile"; @@ -1953,7 +1947,6 @@ static const char* apzHp_SysfilePatch[] = { * * Description of Hpux11_Fabsf fix */ -#define HPUX11_FABSF_FIXIDX 47 tSCC zHpux11_FabsfName[] = "hpux11_fabsf"; @@ -1998,7 +1991,6 @@ static const char* apzHpux11_FabsfPatch[] = { * * Description of Hpux11_Uint32_C fix */ -#define HPUX11_UINT32_C_FIXIDX 48 tSCC zHpux11_Uint32_CName[] = "hpux11_uint32_c"; @@ -2034,7 +2026,6 @@ static const char* apzHpux11_Uint32_CPatch[] = { * * Description of Hpux8_Bogus_Inlines fix */ -#define HPUX8_BOGUS_INLINES_FIXIDX 49 tSCC zHpux8_Bogus_InlinesName[] = "hpux8_bogus_inlines"; @@ -2070,81 +2061,130 @@ static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed", /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Int_Abort_Free_And_Exit fix + * Description of Hpux_Maxint fix */ -#define INT_ABORT_FREE_AND_EXIT_FIXIDX 50 -tSCC zInt_Abort_Free_And_ExitName[] = - "int_abort_free_and_exit"; +tSCC zHpux_MaxintName[] = + "hpux_maxint"; /* * File name selection pattern */ -tSCC zInt_Abort_Free_And_ExitList[] = - "|stdlib.h|"; +tSCC zHpux_MaxintList[] = + "|sys/param.h|values.h|"; /* * Machine/OS name selection pattern */ -#define apzInt_Abort_Free_And_ExitMachs (const char**)NULL +#define apzHpux_MaxintMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zInt_Abort_Free_And_ExitSelect0[] = - "int[ \t]+(abort|free|exit)[ \t]*\\("; +tSCC zHpux_MaxintSelect0[] = + "^#[ \t]*define[ \t]+MAXINT[ \t]"; -#define INT_ABORT_FREE_AND_EXIT_TEST_CT 1 -static tTestDesc aInt_Abort_Free_And_ExitTests[] = { - { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, }; +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHpux_MaxintBypass0[] = + "^#[ \t]*ifndef[ \t]+MAXINT"; /* - * Fix Command Arguments for Int_Abort_Free_And_Exit + * perform the 'test' shell command - do fix on success */ -static const char* apzInt_Abort_Free_And_ExitPatch[] = { +tSCC zHpux_MaxintTest0[] = + "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\""; + +#define HPUX_MAXINT_TEST_CT 3 +static tTestDesc aHpux_MaxintTests[] = { + { TT_TEST, zHpux_MaxintTest0, 0 /* unused */ }, + { TT_NEGREP, zHpux_MaxintBypass0, (regex_t*)NULL }, + { TT_EGREP, zHpux_MaxintSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Maxint + */ +static const char* apzHpux_MaxintPatch[] = { "format", - "void\t%1(", + "#ifndef MAXINT\n\ +%0\n\ +#endif", + "^#[ \t]*define[ \t]+MAXINT[ \t].*", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Isc_Omits_With_Stdc fix + * Description of Hpux_Systime fix */ -#define ISC_OMITS_WITH_STDC_FIXIDX 51 -tSCC zIsc_Omits_With_StdcName[] = - "isc_omits_with_stdc"; +tSCC zHpux_SystimeName[] = + "hpux_systime"; /* * File name selection pattern */ -tSCC zIsc_Omits_With_StdcList[] = - "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|"; +tSCC zHpux_SystimeList[] = + "|sys/time.h|"; /* * Machine/OS name selection pattern */ -#define apzIsc_Omits_With_StdcMachs (const char**)NULL +#define apzHpux_SystimeMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zIsc_Omits_With_StdcSelect0[] = - "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)"; +tSCC zHpux_SystimeSelect0[] = + "^extern struct sigevent;"; -#define ISC_OMITS_WITH_STDC_TEST_CT 1 -static tTestDesc aIsc_Omits_With_StdcTests[] = { - { TT_EGREP, zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, }; +#define HPUX_SYSTIME_TEST_CT 1 +static tTestDesc aHpux_SystimeTests[] = { + { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Isc_Omits_With_Stdc + * Fix Command Arguments for Hpux_Systime */ -static const char* apzIsc_Omits_With_StdcPatch[] = { +static const char* apzHpux_SystimePatch[] = { "format", - "!defined(_POSIX_SOURCE)", + "struct sigevent;", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Int_Abort_Free_And_Exit fix + */ +tSCC zInt_Abort_Free_And_ExitName[] = + "int_abort_free_and_exit"; + +/* + * File name selection pattern + */ +tSCC zInt_Abort_Free_And_ExitList[] = + "|stdlib.h|"; +/* + * Machine/OS name selection pattern + */ +#define apzInt_Abort_Free_And_ExitMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zInt_Abort_Free_And_ExitSelect0[] = + "int[ \t]+(abort|free|exit)[ \t]*\\("; + +#define INT_ABORT_FREE_AND_EXIT_TEST_CT 1 +static tTestDesc aInt_Abort_Free_And_ExitTests[] = { + { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Int_Abort_Free_And_Exit + */ +static const char* apzInt_Abort_Free_And_ExitPatch[] = { + "format", + "void\t%1(", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Io_Quotes_Def fix */ -#define IO_QUOTES_DEF_FIXIDX 52 tSCC zIo_Quotes_DefName[] = "io_quotes_def"; @@ -2179,7 +2219,6 @@ static const char* apzIo_Quotes_DefPatch[] = { * * Description of Io_Quotes_Use fix */ -#define IO_QUOTES_USE_FIXIDX 53 tSCC zIo_Quotes_UseName[] = "io_quotes_use"; @@ -2212,170 +2251,113 @@ static const char* apzIo_Quotes_UsePatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Hpux_Maxint fix + * Description of Ip_Missing_Semi fix */ -#define HPUX_MAXINT_FIXIDX 54 -tSCC zHpux_MaxintName[] = - "hpux_maxint"; +tSCC zIp_Missing_SemiName[] = + "ip_missing_semi"; /* * File name selection pattern */ -tSCC zHpux_MaxintList[] = - "|sys/param.h|values.h|"; +tSCC zIp_Missing_SemiList[] = + "|netinet/ip.h|"; /* * Machine/OS name selection pattern */ -#define apzHpux_MaxintMachs (const char**)NULL +#define apzIp_Missing_SemiMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zHpux_MaxintSelect0[] = - "^#[ \t]*define[ \t]+MAXINT[ \t]"; +tSCC zIp_Missing_SemiSelect0[] = + "}$"; -/* - * content bypass pattern - skip fix if pattern found - */ -tSCC zHpux_MaxintBypass0[] = - "^#[ \t]*ifndef[ \t]+MAXINT"; +#define IP_MISSING_SEMI_TEST_CT 1 +static tTestDesc aIp_Missing_SemiTests[] = { + { TT_EGREP, zIp_Missing_SemiSelect0, (regex_t*)NULL }, }; /* - * perform the 'test' shell command - do fix on success - */ -tSCC zHpux_MaxintTest0[] = - "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\""; - -#define HPUX_MAXINT_TEST_CT 3 -static tTestDesc aHpux_MaxintTests[] = { - { TT_TEST, zHpux_MaxintTest0, 0 /* unused */ }, - { TT_NEGREP, zHpux_MaxintBypass0, (regex_t*)NULL }, - { TT_EGREP, zHpux_MaxintSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux_Maxint + * Fix Command Arguments for Ip_Missing_Semi */ -static const char* apzHpux_MaxintPatch[] = { - "format", - "#ifndef MAXINT\n\ -%0\n\ -#endif", - "^#[ \t]*define[ \t]+MAXINT[ \t].*", +static const char* apzIp_Missing_SemiPatch[] = { "sed", + "-e", "/^struct/,/^};/s/}$/};/", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Hpux_Systime fix + * Description of Irix_Asm_Apostrophe fix */ -#define HPUX_SYSTIME_FIXIDX 55 -tSCC zHpux_SystimeName[] = - "hpux_systime"; +tSCC zIrix_Asm_ApostropheName[] = + "irix_asm_apostrophe"; /* * File name selection pattern */ -tSCC zHpux_SystimeList[] = - "|sys/time.h|"; +tSCC zIrix_Asm_ApostropheList[] = + "|sys/asm.h|"; /* * Machine/OS name selection pattern */ -#define apzHpux_SystimeMachs (const char**)NULL +#define apzIrix_Asm_ApostropheMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zHpux_SystimeSelect0[] = - "^extern struct sigevent;"; +tSCC zIrix_Asm_ApostropheSelect0[] = + "^[ \t]*#.*[Ww]e're"; -#define HPUX_SYSTIME_TEST_CT 1 -static tTestDesc aHpux_SystimeTests[] = { - { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, }; +#define IRIX_ASM_APOSTROPHE_TEST_CT 1 +static tTestDesc aIrix_Asm_ApostropheTests[] = { + { TT_EGREP, zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Hpux_Systime + * Fix Command Arguments for Irix_Asm_Apostrophe */ -static const char* apzHpux_SystimePatch[] = { +static const char* apzIrix_Asm_ApostrophePatch[] = { "format", - "struct sigevent;", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Ip_Missing_Semi fix - */ -#define IP_MISSING_SEMI_FIXIDX 56 -tSCC zIp_Missing_SemiName[] = - "ip_missing_semi"; - -/* - * File name selection pattern - */ -tSCC zIp_Missing_SemiList[] = - "|netinet/ip.h|"; -/* - * Machine/OS name selection pattern - */ -#define apzIp_Missing_SemiMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zIp_Missing_SemiSelect0[] = - "}$"; - -#define IP_MISSING_SEMI_TEST_CT 1 -static tTestDesc aIp_Missing_SemiTests[] = { - { TT_EGREP, zIp_Missing_SemiSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Ip_Missing_Semi - */ -static const char* apzIp_Missing_SemiPatch[] = { "sed", - "-e", "/^struct/,/^};/s/}$/};/", + "%1 are", + "^([ \t]*#.*[Ww]e)'re", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Irix_Asm_Apostrophe fix + * Description of Irix_Limits_Const fix */ -#define IRIX_ASM_APOSTROPHE_FIXIDX 57 -tSCC zIrix_Asm_ApostropheName[] = - "irix_asm_apostrophe"; +tSCC zIrix_Limits_ConstName[] = + "irix_limits_const"; /* * File name selection pattern */ -tSCC zIrix_Asm_ApostropheList[] = - "|sys/asm.h|"; +tSCC zIrix_Limits_ConstList[] = + "|fixinc-test-limits.h|limits.h|"; /* * Machine/OS name selection pattern */ -#define apzIrix_Asm_ApostropheMachs (const char**)NULL +#define apzIrix_Limits_ConstMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zIrix_Asm_ApostropheSelect0[] = - "^[ \t]*#.*[Ww]e're"; +tSCC zIrix_Limits_ConstSelect0[] = + "^extern const "; -#define IRIX_ASM_APOSTROPHE_TEST_CT 1 -static tTestDesc aIrix_Asm_ApostropheTests[] = { - { TT_EGREP, zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, }; +#define IRIX_LIMITS_CONST_TEST_CT 1 +static tTestDesc aIrix_Limits_ConstTests[] = { + { TT_EGREP, zIrix_Limits_ConstSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Irix_Asm_Apostrophe + * Fix Command Arguments for Irix_Limits_Const */ -static const char* apzIrix_Asm_ApostrophePatch[] = { +static const char* apzIrix_Limits_ConstPatch[] = { "format", - "%1 are", - "^([ \t]*#.*[Ww]e)'re", + "extern __const ", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Irix_Stdio_Va_List fix */ -#define IRIX_STDIO_VA_LIST_FIXIDX 58 tSCC zIrix_Stdio_Va_ListName[] = "irix_stdio_va_list"; @@ -2409,81 +2391,78 @@ static const char* apzIrix_Stdio_Va_ListPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Irix_Limits_Const fix + * Description of Isc_Fmod fix */ -#define IRIX_LIMITS_CONST_FIXIDX 59 -tSCC zIrix_Limits_ConstName[] = - "irix_limits_const"; +tSCC zIsc_FmodName[] = + "isc_fmod"; /* * File name selection pattern */ -tSCC zIrix_Limits_ConstList[] = - "|fixinc-test-limits.h|limits.h|"; +tSCC zIsc_FmodList[] = + "|math.h|"; /* * Machine/OS name selection pattern */ -#define apzIrix_Limits_ConstMachs (const char**)NULL +#define apzIsc_FmodMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zIrix_Limits_ConstSelect0[] = - "^extern const "; +tSCC zIsc_FmodSelect0[] = + "fmod\\(double\\)"; -#define IRIX_LIMITS_CONST_TEST_CT 1 -static tTestDesc aIrix_Limits_ConstTests[] = { - { TT_EGREP, zIrix_Limits_ConstSelect0, (regex_t*)NULL }, }; +#define ISC_FMOD_TEST_CT 1 +static tTestDesc aIsc_FmodTests[] = { + { TT_EGREP, zIsc_FmodSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Irix_Limits_Const + * Fix Command Arguments for Isc_Fmod */ -static const char* apzIrix_Limits_ConstPatch[] = { +static const char* apzIsc_FmodPatch[] = { "format", - "extern __const ", + "fmod(double, double)", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Isc_Fmod fix + * Description of Isc_Omits_With_Stdc fix */ -#define ISC_FMOD_FIXIDX 60 -tSCC zIsc_FmodName[] = - "isc_fmod"; +tSCC zIsc_Omits_With_StdcName[] = + "isc_omits_with_stdc"; /* * File name selection pattern */ -tSCC zIsc_FmodList[] = - "|math.h|"; +tSCC zIsc_Omits_With_StdcList[] = + "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|"; /* * Machine/OS name selection pattern */ -#define apzIsc_FmodMachs (const char**)NULL +#define apzIsc_Omits_With_StdcMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zIsc_FmodSelect0[] = - "fmod\\(double\\)"; +tSCC zIsc_Omits_With_StdcSelect0[] = + "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)"; -#define ISC_FMOD_TEST_CT 1 -static tTestDesc aIsc_FmodTests[] = { - { TT_EGREP, zIsc_FmodSelect0, (regex_t*)NULL }, }; +#define ISC_OMITS_WITH_STDC_TEST_CT 1 +static tTestDesc aIsc_Omits_With_StdcTests[] = { + { TT_EGREP, zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Isc_Fmod + * Fix Command Arguments for Isc_Omits_With_Stdc */ -static const char* apzIsc_FmodPatch[] = { +static const char* apzIsc_Omits_With_StdcPatch[] = { "format", - "fmod(double, double)", + "!defined(_POSIX_SOURCE)", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Kandr_Concat fix */ -#define KANDR_CONCAT_FIXIDX 61 tSCC zKandr_ConcatName[] = "kandr_concat"; @@ -2519,7 +2498,6 @@ static const char* apzKandr_ConcatPatch[] = { * * Description of Libc1_Ifdefd_Memx fix */ -#define LIBC1_IFDEFD_MEMX_FIXIDX 62 tSCC zLibc1_Ifdefd_MemxName[] = "libc1_ifdefd_memx"; @@ -2568,7 +2546,6 @@ extern [a-z_]+ mem.*(\n\ * * Description of Limits_Ifndefs fix */ -#define LIMITS_IFNDEFS_FIXIDX 63 tSCC zLimits_IfndefsName[] = "limits_ifndefs"; @@ -2607,7 +2584,6 @@ static const char* apzLimits_IfndefsPatch[] = { * * Description of Lynx_Void_Int fix */ -#define LYNX_VOID_INT_FIXIDX 64 tSCC zLynx_Void_IntName[] = "lynx_void_int"; @@ -2643,7 +2619,6 @@ static const char* apzLynx_Void_IntPatch[] = { * * Description of Lynxos_Fcntl_Proto fix */ -#define LYNXOS_FCNTL_PROTO_FIXIDX 65 tSCC zLynxos_Fcntl_ProtoName[] = "lynxos_fcntl_proto"; @@ -2680,7 +2655,6 @@ static const char* apzLynxos_Fcntl_ProtoPatch[] = { * * Description of M88k_Bad_Hypot_Opt fix */ -#define M88K_BAD_HYPOT_OPT_FIXIDX 66 tSCC zM88k_Bad_Hypot_OptName[] = "m88k_bad_hypot_opt"; @@ -2729,7 +2703,6 @@ static __inline__ double fake_hypot (x, y)\n\ * * Description of M88k_Bad_S_If fix */ -#define M88K_BAD_S_IF_FIXIDX 67 tSCC zM88k_Bad_S_IfName[] = "m88k_bad_s_if"; @@ -2768,7 +2741,6 @@ static const char* apzM88k_Bad_S_IfPatch[] = { * * Description of M88k_Multi_Incl fix */ -#define M88K_MULTI_INCL_FIXIDX 68 tSCC zM88k_Multi_InclName[] = "m88k_multi_incl"; @@ -2805,7 +2777,6 @@ static const char* apzM88k_Multi_InclPatch[] = { * * Description of Machine_Ansi_H_Va_List fix */ -#define MACHINE_ANSI_H_VA_LIST_FIXIDX 69 tSCC zMachine_Ansi_H_Va_ListName[] = "machine_ansi_h_va_list"; @@ -2848,7 +2819,6 @@ static const char* apzMachine_Ansi_H_Va_ListPatch[] = { * * Description of Machine_Name fix */ -#define MACHINE_NAME_FIXIDX 70 tSCC zMachine_NameName[] = "machine_name"; @@ -2881,7 +2851,6 @@ static const char* apzMachine_NamePatch[] = { * * Description of Math_Exception fix */ -#define MATH_EXCEPTION_FIXIDX 71 tSCC zMath_ExceptionName[] = "math_exception"; @@ -2929,7 +2898,6 @@ static const char* apzMath_ExceptionPatch[] = { * * Description of Math_Huge_Val_From_Dbl_Max fix */ -#define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 72 tSCC zMath_Huge_Val_From_Dbl_MaxName[] = "math_huge_val_from_dbl_max"; @@ -2975,7 +2943,6 @@ static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c", * * Description of Math_Huge_Val_Ifndef fix */ -#define MATH_HUGE_VAL_IFNDEF_FIXIDX 73 tSCC zMath_Huge_Val_IfndefName[] = "math_huge_val_ifndef"; @@ -3010,11 +2977,45 @@ static const char* apzMath_Huge_Val_IfndefPatch[] = { "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Nested_Auth_Des fix + */ +tSCC zNested_Auth_DesName[] = + "nested_auth_des"; + +/* + * File name selection pattern + */ +tSCC zNested_Auth_DesList[] = + "|rpc/rpc.h|"; +/* + * Machine/OS name selection pattern + */ +#define apzNested_Auth_DesMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zNested_Auth_DesSelect0[] = + "(/\\*.*rpc/auth_des\\.h>.*)/\\*"; + +#define NESTED_AUTH_DES_TEST_CT 1 +static tTestDesc aNested_Auth_DesTests[] = { + { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Nested_Auth_Des + */ +static const char* apzNested_Auth_DesPatch[] = { + "format", + "%1*/ /*", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Nested_Motorola fix */ -#define NESTED_MOTOROLA_FIXIDX 74 tSCC zNested_MotorolaName[] = "nested_motorola"; @@ -3052,7 +3053,6 @@ static const char* apzNested_MotorolaPatch[] = { "sed", * * Description of Nested_Sys_Limits fix */ -#define NESTED_SYS_LIMITS_FIXIDX 75 tSCC zNested_Sys_LimitsName[] = "nested_sys_limits"; @@ -3084,47 +3084,10 @@ static const char* apzNested_Sys_LimitsPatch[] = { "sed", "-e", "/OPEN_MAX/s,/\\* Max, Max,", (char*)NULL }; -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Nested_Auth_Des fix - */ -#define NESTED_AUTH_DES_FIXIDX 76 -tSCC zNested_Auth_DesName[] = - "nested_auth_des"; - -/* - * File name selection pattern - */ -tSCC zNested_Auth_DesList[] = - "|rpc/rpc.h|"; -/* - * Machine/OS name selection pattern - */ -#define apzNested_Auth_DesMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zNested_Auth_DesSelect0[] = - "(/\\*.*rpc/auth_des\\.h>.*)/\\*"; - -#define NESTED_AUTH_DES_TEST_CT 1 -static tTestDesc aNested_Auth_DesTests[] = { - { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Nested_Auth_Des - */ -static const char* apzNested_Auth_DesPatch[] = { - "format", - "%1*/ /*", - (char*)NULL }; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of News_Os_Recursion fix */ -#define NEWS_OS_RECURSION_FIXIDX 77 tSCC zNews_Os_RecursionName[] = "news_os_recursion"; @@ -3162,7 +3125,6 @@ static const char* apzNews_Os_RecursionPatch[] = { * * Description of Next_Math_Prefix fix */ -#define NEXT_MATH_PREFIX_FIXIDX 78 tSCC zNext_Math_PrefixName[] = "next_math_prefix"; @@ -3199,7 +3161,6 @@ static const char* apzNext_Math_PrefixPatch[] = { * * Description of Next_Template fix */ -#define NEXT_TEMPLATE_FIXIDX 79 tSCC zNext_TemplateName[] = "next_template"; @@ -3236,7 +3197,6 @@ static const char* apzNext_TemplatePatch[] = { * * Description of Next_Volitile fix */ -#define NEXT_VOLITILE_FIXIDX 80 tSCC zNext_VolitileName[] = "next_volitile"; @@ -3273,7 +3233,6 @@ static const char* apzNext_VolitilePatch[] = { * * Description of Next_Wait_Union fix */ -#define NEXT_WAIT_UNION_FIXIDX 81 tSCC zNext_Wait_UnionName[] = "next_wait_union"; @@ -3309,7 +3268,6 @@ static const char* apzNext_Wait_UnionPatch[] = { * * Description of Nodeent_Syntax fix */ -#define NODEENT_SYNTAX_FIXIDX 82 tSCC zNodeent_SyntaxName[] = "nodeent_syntax"; @@ -3345,7 +3303,6 @@ static const char* apzNodeent_SyntaxPatch[] = { * * Description of Osf_Namespace_A fix */ -#define OSF_NAMESPACE_A_FIXIDX 83 tSCC zOsf_Namespace_AName[] = "osf_namespace_a"; @@ -3391,7 +3348,6 @@ static const char* apzOsf_Namespace_APatch[] = { * * Description of Osf_Namespace_C fix */ -#define OSF_NAMESPACE_C_FIXIDX 84 tSCC zOsf_Namespace_CName[] = "osf_namespace_c"; @@ -3446,7 +3402,6 @@ typedef __regmatch_t\tregmatch_t;", * * Description of Pthread_Page_Size fix */ -#define PTHREAD_PAGE_SIZE_FIXIDX 85 tSCC zPthread_Page_SizeName[] = "pthread_page_size"; @@ -3482,7 +3437,6 @@ static const char* apzPthread_Page_SizePatch[] = { * * Description of Read_Ret_Type fix */ -#define READ_RET_TYPE_FIXIDX 86 tSCC zRead_Ret_TypeName[] = "read_ret_type"; @@ -3520,7 +3474,6 @@ static const char* apzRead_Ret_TypePatch[] = { * * Description of Rs6000_Double fix */ -#define RS6000_DOUBLE_FIXIDX 87 tSCC zRs6000_DoubleName[] = "rs6000_double"; @@ -3559,7 +3512,6 @@ static const char* apzRs6000_DoublePatch[] = { * * Description of Rs6000_Fchmod fix */ -#define RS6000_FCHMOD_FIXIDX 88 tSCC zRs6000_FchmodName[] = "rs6000_fchmod"; @@ -3595,7 +3547,6 @@ static const char* apzRs6000_FchmodPatch[] = { * * Description of Rs6000_Param fix */ -#define RS6000_PARAM_FIXIDX 89 tSCC zRs6000_ParamName[] = "rs6000_param"; @@ -3631,7 +3582,6 @@ static const char* apzRs6000_ParamPatch[] = { * * Description of Sco_Static_Func fix */ -#define SCO_STATIC_FUNC_FIXIDX 90 tSCC zSco_Static_FuncName[] = "sco_static_func"; @@ -3673,326 +3623,317 @@ extern \"C\" {\\\n\ /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Strict_Ansi_Not fix + * Description of Sco_Utime fix */ -#define STRICT_ANSI_NOT_FIXIDX 91 -tSCC zStrict_Ansi_NotName[] = - "strict_ansi_not"; +tSCC zSco_UtimeName[] = + "sco_utime"; /* * File name selection pattern */ -#define zStrict_Ansi_NotList (char*)NULL +tSCC zSco_UtimeList[] = + "|sys/times.h|"; /* * Machine/OS name selection pattern */ -#define apzStrict_Ansi_NotMachs (const char**)NULL +tSCC* apzSco_UtimeMachs[] = { + "i?86-*-sco3.2v4*", + (const char*)NULL }; /* * content selection pattern - do fix if pattern found */ -tSCC zStrict_Ansi_NotSelect0[] = - "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)"; - -/* - * perform the C function call test - */ -tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers"; +tSCC zSco_UtimeSelect0[] = + "\\(const char \\*, struct utimbuf \\*\\);"; -#define STRICT_ANSI_NOT_TEST_CT 2 -static tTestDesc aStrict_Ansi_NotTests[] = { - { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ }, - { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, }; +#define SCO_UTIME_TEST_CT 1 +static tTestDesc aSco_UtimeTests[] = { + { TT_EGREP, zSco_UtimeSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Strict_Ansi_Not + * Fix Command Arguments for Sco_Utime */ -static const char* apzStrict_Ansi_NotPatch[] = { +static const char* apzSco_UtimePatch[] = { "format", - "%1 !defined(__STRICT_ANSI__)%3", + "(const char *, const struct utimbuf *);", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Strict_Ansi_Not_Ctd fix + * Description of Solaris27_Mutex_Init fix */ -#define STRICT_ANSI_NOT_CTD_FIXIDX 92 -tSCC zStrict_Ansi_Not_CtdName[] = - "strict_ansi_not_ctd"; +tSCC zSolaris27_Mutex_InitName[] = + "solaris27_mutex_init"; /* * File name selection pattern */ -tSCC zStrict_Ansi_Not_CtdList[] = - "|math.h|limits.h|stdio.h|signal.h|stdlib.h|time.h|"; +tSCC zSolaris27_Mutex_InitList[] = + "|pthread.h|"; /* * Machine/OS name selection pattern */ -#define apzStrict_Ansi_Not_CtdMachs (const char**)NULL +#define apzSolaris27_Mutex_InitMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zStrict_Ansi_Not_CtdSelect0[] = - "^([ \t]*[|&][|&][ \t(]*)(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)"; - -/* - * perform the C function call test - */ -tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers"; +tSCC zSolaris27_Mutex_InitSelect0[] = + "@\\(#\\)pthread.h[ \t]+1.26[ \t]+98/04/12 SMI"; -#define STRICT_ANSI_NOT_CTD_TEST_CT 2 -static tTestDesc aStrict_Ansi_Not_CtdTests[] = { - { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ }, - { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, }; +#define SOLARIS27_MUTEX_INIT_TEST_CT 1 +static tTestDesc aSolaris27_Mutex_InitTests[] = { + { TT_EGREP, zSolaris27_Mutex_InitSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Strict_Ansi_Not_Ctd + * Fix Command Arguments for Solaris27_Mutex_Init */ -static const char* apzStrict_Ansi_Not_CtdPatch[] = { +static const char* apzSolaris27_Mutex_InitPatch[] = { "format", - "%1 !defined(__STRICT_ANSI__)%3", + "%1, {0}}", + "(define[ \t]+PTHREAD_MUTEX_INITIALIZER.*),[ \t]*0}$", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Strict_Ansi_Only fix + * Description of Statsswtch fix */ -#define STRICT_ANSI_ONLY_FIXIDX 93 -tSCC zStrict_Ansi_OnlyName[] = - "strict_ansi_only"; +tSCC zStatsswtchName[] = + "statsswtch"; /* * File name selection pattern */ -#define zStrict_Ansi_OnlyList (char*)NULL +tSCC zStatsswtchList[] = + "|rpcsvc/rstat.h|"; /* * Machine/OS name selection pattern */ -#define apzStrict_Ansi_OnlyMachs (const char**)NULL +#define apzStatsswtchMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zStrict_Ansi_OnlySelect0[] = - "^([ \t]*#[ \t]*if.*)(__STDC__[ \t]*!=[ \t]*0|__STDC__[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0)(.*)"; - -/* - * perform the C function call test - */ -tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers"; +tSCC zStatsswtchSelect0[] = + "boottime$"; -#define STRICT_ANSI_ONLY_TEST_CT 2 -static tTestDesc aStrict_Ansi_OnlyTests[] = { - { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ }, - { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, }; +#define STATSSWTCH_TEST_CT 1 +static tTestDesc aStatsswtchTests[] = { + { TT_EGREP, zStatsswtchSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Strict_Ansi_Only + * Fix Command Arguments for Statsswtch */ -static const char* apzStrict_Ansi_OnlyPatch[] = { +static const char* apzStatsswtchPatch[] = { "format", - "%1 defined(__STRICT_ANSI__)%3", + "boottime;", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Sco_Utime fix + * Description of Stdio_Stdarg_H fix */ -#define SCO_UTIME_FIXIDX 94 -tSCC zSco_UtimeName[] = - "sco_utime"; +tSCC zStdio_Stdarg_HName[] = + "stdio_stdarg_h"; /* * File name selection pattern */ -tSCC zSco_UtimeList[] = - "|sys/times.h|"; +tSCC zStdio_Stdarg_HList[] = + "|stdio.h|"; /* * Machine/OS name selection pattern */ -tSCC* apzSco_UtimeMachs[] = { - "i?86-*-sco3.2v4*", - (const char*)NULL }; +#define apzStdio_Stdarg_HMachs (const char**)NULL /* - * content selection pattern - do fix if pattern found + * content bypass pattern - skip fix if pattern found */ -tSCC zSco_UtimeSelect0[] = - "\\(const char \\*, struct utimbuf \\*\\);"; +tSCC zStdio_Stdarg_HBypass0[] = + "include.*(stdarg.h|machine/ansi.h)"; -#define SCO_UTIME_TEST_CT 1 -static tTestDesc aSco_UtimeTests[] = { - { TT_EGREP, zSco_UtimeSelect0, (regex_t*)NULL }, }; +#define STDIO_STDARG_H_TEST_CT 1 +static tTestDesc aStdio_Stdarg_HTests[] = { + { TT_NEGREP, zStdio_Stdarg_HBypass0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Sco_Utime + * Fix Command Arguments for Stdio_Stdarg_H */ -static const char* apzSco_UtimePatch[] = { - "format", - "(const char *, const struct utimbuf *);", +static const char* apzStdio_Stdarg_HPatch[] = { + "wrap", + "#define __need___va_list\n\ +#include \n", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Solaris27_Mutex_Init fix + * Description of Stdio_Va_List fix */ -#define SOLARIS27_MUTEX_INIT_FIXIDX 95 -tSCC zSolaris27_Mutex_InitName[] = - "solaris27_mutex_init"; +tSCC zStdio_Va_ListName[] = + "stdio_va_list"; /* * File name selection pattern */ -tSCC zSolaris27_Mutex_InitList[] = - "|pthread.h|"; +tSCC zStdio_Va_ListList[] = + "|stdio.h|"; /* * Machine/OS name selection pattern */ -#define apzSolaris27_Mutex_InitMachs (const char**)NULL +#define apzStdio_Va_ListMachs (const char**)NULL /* - * content selection pattern - do fix if pattern found + * content bypass pattern - skip fix if pattern found */ -tSCC zSolaris27_Mutex_InitSelect0[] = - "@\\(#\\)pthread.h[ \t]+1.26[ \t]+98/04/12 SMI"; +tSCC zStdio_Va_ListBypass0[] = + "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list"; -#define SOLARIS27_MUTEX_INIT_TEST_CT 1 -static tTestDesc aSolaris27_Mutex_InitTests[] = { - { TT_EGREP, zSolaris27_Mutex_InitSelect0, (regex_t*)NULL }, }; +#define STDIO_VA_LIST_TEST_CT 1 +static tTestDesc aStdio_Va_ListTests[] = { + { TT_NEGREP, zStdio_Va_ListBypass0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Solaris27_Mutex_Init + * Fix Command Arguments for Stdio_Va_List */ -static const char* apzSolaris27_Mutex_InitPatch[] = { - "format", - "%1, {0}}", - "(define[ \t]+PTHREAD_MUTEX_INITIALIZER.*),[ \t]*0}$", +static const char* apzStdio_Va_ListPatch[] = { "sed", + "-e", "s@ va_list @ __gnuc_va_list @\n\ +s@ va_list)@ __gnuc_va_list)@\n\ +s@ _VA_LIST_));@ __gnuc_va_list));@\n\ +s@ va_list@ __not_va_list__@\n\ +s@\\*va_list@*__not_va_list__@\n\ +s@ __va_list)@ __gnuc_va_list)@\n\ +s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\ +s@GNUC_VA_LIST@GNUC_Va_LIST@\n\ +s@_NEED___VA_LIST@_NEED___Va_LIST@\n\ +s@VA_LIST@DUMMY_VA_LIST@\n\ +s@_Va_LIST@_VA_LIST@", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Statsswtch fix + * Description of Strict_Ansi_Not fix */ -#define STATSSWTCH_FIXIDX 96 -tSCC zStatsswtchName[] = - "statsswtch"; +tSCC zStrict_Ansi_NotName[] = + "strict_ansi_not"; /* * File name selection pattern */ -tSCC zStatsswtchList[] = - "|rpcsvc/rstat.h|"; +#define zStrict_Ansi_NotList (char*)NULL /* * Machine/OS name selection pattern */ -#define apzStatsswtchMachs (const char**)NULL +#define apzStrict_Ansi_NotMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zStrict_Ansi_NotSelect0[] = + "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)"; /* - * content selection pattern - do fix if pattern found + * perform the C function call test */ -tSCC zStatsswtchSelect0[] = - "boottime$"; +tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers"; -#define STATSSWTCH_TEST_CT 1 -static tTestDesc aStatsswtchTests[] = { - { TT_EGREP, zStatsswtchSelect0, (regex_t*)NULL }, }; +#define STRICT_ANSI_NOT_TEST_CT 2 +static tTestDesc aStrict_Ansi_NotTests[] = { + { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ }, + { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Statsswtch + * Fix Command Arguments for Strict_Ansi_Not */ -static const char* apzStatsswtchPatch[] = { +static const char* apzStrict_Ansi_NotPatch[] = { "format", - "boottime;", + "%1 !defined(__STRICT_ANSI__)%3", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Stdio_Stdarg_H fix + * Description of Strict_Ansi_Not_Ctd fix */ -#define STDIO_STDARG_H_FIXIDX 97 -tSCC zStdio_Stdarg_HName[] = - "stdio_stdarg_h"; +tSCC zStrict_Ansi_Not_CtdName[] = + "strict_ansi_not_ctd"; /* * File name selection pattern */ -tSCC zStdio_Stdarg_HList[] = - "|stdio.h|"; +tSCC zStrict_Ansi_Not_CtdList[] = + "|math.h|limits.h|stdio.h|signal.h|stdlib.h|time.h|"; /* * Machine/OS name selection pattern */ -#define apzStdio_Stdarg_HMachs (const char**)NULL +#define apzStrict_Ansi_Not_CtdMachs (const char**)NULL /* - * content bypass pattern - skip fix if pattern found + * content selection pattern - do fix if pattern found */ -tSCC zStdio_Stdarg_HBypass0[] = - "include.*(stdarg.h|machine/ansi.h)"; +tSCC zStrict_Ansi_Not_CtdSelect0[] = + "^([ \t]*[|&][|&][ \t(]*)(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)"; -#define STDIO_STDARG_H_TEST_CT 1 -static tTestDesc aStdio_Stdarg_HTests[] = { - { TT_NEGREP, zStdio_Stdarg_HBypass0, (regex_t*)NULL }, }; +/* + * perform the C function call test + */ +tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers"; + +#define STRICT_ANSI_NOT_CTD_TEST_CT 2 +static tTestDesc aStrict_Ansi_Not_CtdTests[] = { + { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ }, + { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Stdio_Stdarg_H + * Fix Command Arguments for Strict_Ansi_Not_Ctd */ -static const char* apzStdio_Stdarg_HPatch[] = { - "wrap", - "#define __need___va_list\n\ -#include \n", +static const char* apzStrict_Ansi_Not_CtdPatch[] = { + "format", + "%1 !defined(__STRICT_ANSI__)%3", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Stdio_Va_List fix + * Description of Strict_Ansi_Only fix */ -#define STDIO_VA_LIST_FIXIDX 98 -tSCC zStdio_Va_ListName[] = - "stdio_va_list"; +tSCC zStrict_Ansi_OnlyName[] = + "strict_ansi_only"; /* * File name selection pattern */ -tSCC zStdio_Va_ListList[] = - "|stdio.h|"; +#define zStrict_Ansi_OnlyList (char*)NULL /* * Machine/OS name selection pattern */ -#define apzStdio_Va_ListMachs (const char**)NULL +#define apzStrict_Ansi_OnlyMachs (const char**)NULL /* - * content bypass pattern - skip fix if pattern found + * content selection pattern - do fix if pattern found */ -tSCC zStdio_Va_ListBypass0[] = - "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list"; +tSCC zStrict_Ansi_OnlySelect0[] = + "^([ \t]*#[ \t]*if.*)(__STDC__[ \t]*!=[ \t]*0|__STDC__[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0)(.*)"; -#define STDIO_VA_LIST_TEST_CT 1 -static tTestDesc aStdio_Va_ListTests[] = { - { TT_NEGREP, zStdio_Va_ListBypass0, (regex_t*)NULL }, }; +/* + * perform the C function call test + */ +tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers"; + +#define STRICT_ANSI_ONLY_TEST_CT 2 +static tTestDesc aStrict_Ansi_OnlyTests[] = { + { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ }, + { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Stdio_Va_List + * Fix Command Arguments for Strict_Ansi_Only */ -static const char* apzStdio_Va_ListPatch[] = { "sed", - "-e", "s@ va_list @ __gnuc_va_list @\n\ -s@ va_list)@ __gnuc_va_list)@\n\ -s@ _VA_LIST_));@ __gnuc_va_list));@\n\ -s@ va_list@ __not_va_list__@\n\ -s@\\*va_list@*__not_va_list__@\n\ -s@ __va_list)@ __gnuc_va_list)@\n\ -s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\ -s@GNUC_VA_LIST@GNUC_Va_LIST@\n\ -s@_NEED___VA_LIST@_NEED___Va_LIST@\n\ -s@VA_LIST@DUMMY_VA_LIST@\n\ -s@_Va_LIST@_VA_LIST@", +static const char* apzStrict_Ansi_OnlyPatch[] = { + "format", + "%1 defined(__STRICT_ANSI__)%3", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Struct_File fix */ -#define STRUCT_FILE_FIXIDX 99 tSCC zStruct_FileName[] = "struct_file"; @@ -4029,7 +3970,6 @@ static const char* apzStruct_FilePatch[] = { * * Description of Struct_Sockaddr fix */ -#define STRUCT_SOCKADDR_FIXIDX 100 tSCC zStruct_SockaddrName[] = "struct_sockaddr"; @@ -4073,7 +4013,6 @@ static const char* apzStruct_SockaddrPatch[] = { * * Description of Sun_Auth_Proto fix */ -#define SUN_AUTH_PROTO_FIXIDX 101 tSCC zSun_Auth_ProtoName[] = "sun_auth_proto"; @@ -4114,7 +4053,6 @@ static const char* apzSun_Auth_ProtoPatch[] = { * * Description of Sun_Bogus_Ifdef fix */ -#define SUN_BOGUS_IFDEF_FIXIDX 102 tSCC zSun_Bogus_IfdefName[] = "sun_bogus_ifdef"; @@ -4150,7 +4088,6 @@ static const char* apzSun_Bogus_IfdefPatch[] = { * * Description of Sun_Catmacro fix */ -#define SUN_CATMACRO_FIXIDX 103 tSCC zSun_CatmacroName[] = "sun_catmacro"; @@ -4190,7 +4127,6 @@ static const char* apzSun_CatmacroPatch[] = { * * Description of Sun_Malloc fix */ -#define SUN_MALLOC_FIXIDX 104 tSCC zSun_MallocName[] = "sun_malloc"; @@ -4221,7 +4157,6 @@ static const char* apzSun_MallocPatch[] = { "sed", * * Description of Sun_Rusers_Semi fix */ -#define SUN_RUSERS_SEMI_FIXIDX 105 tSCC zSun_Rusers_SemiName[] = "sun_rusers_semi"; @@ -4256,7 +4191,6 @@ static const char* apzSun_Rusers_SemiPatch[] = { "sed", * * Description of Sun_Signal fix */ -#define SUN_SIGNAL_FIXIDX 106 tSCC zSun_SignalName[] = "sun_signal"; @@ -4296,7 +4230,6 @@ void\t(*signal(...))(...);\n\ * * Description of Sunos_Matherr_Decl fix */ -#define SUNOS_MATHERR_DECL_FIXIDX 107 tSCC zSunos_Matherr_DeclName[] = "sunos_matherr_decl"; @@ -4339,7 +4272,6 @@ static const char* apzSunos_Matherr_DeclPatch[] = { * * Description of Sunos_Strlen fix */ -#define SUNOS_STRLEN_FIXIDX 108 tSCC zSunos_StrlenName[] = "sunos_strlen"; @@ -4375,7 +4307,6 @@ static const char* apzSunos_StrlenPatch[] = { * * Description of Svr4__P fix */ -#define SVR4__P_FIXIDX 109 tSCC zSvr4__PName[] = "svr4__p"; @@ -4413,7 +4344,6 @@ static const char* apzSvr4__PPatch[] = { * * Description of Svr4_Getcwd fix */ -#define SVR4_GETCWD_FIXIDX 110 tSCC zSvr4_GetcwdName[] = "svr4_getcwd"; @@ -4449,7 +4379,6 @@ static const char* apzSvr4_GetcwdPatch[] = { * * Description of Svr4_Profil fix */ -#define SVR4_PROFIL_FIXIDX 111 tSCC zSvr4_ProfilName[] = "svr4_profil"; @@ -4481,53 +4410,10 @@ static const char* apzSvr4_ProfilPatch[] = { "profil(unsigned short *, size_t, int, unsigned int)", (char*)NULL }; -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Gnu_Types fix - */ -#define GNU_TYPES_FIXIDX 112 -tSCC zGnu_TypesName[] = - "gnu_types"; - -/* - * File name selection pattern - */ -tSCC zGnu_TypesList[] = - "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|"; -/* - * Machine/OS name selection pattern - */ -#define apzGnu_TypesMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zGnu_TypesSelect0[] = - "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;"; - -/* - * content bypass pattern - skip fix if pattern found - */ -tSCC zGnu_TypesBypass0[] = - "_GCC_(PTRDIFF|SIZE|WCHAR)_T"; - -#define GNU_TYPES_TEST_CT 2 -static tTestDesc aGnu_TypesTests[] = { - { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL }, - { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Gnu_Types - */ -static const char* apzGnu_TypesPatch[] = { - "gnu_type", - (char*)NULL }; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Sysv68_String fix */ -#define SYSV68_STRING_FIXIDX 113 tSCC zSysv68_StringName[] = "sysv68_string"; @@ -4564,7 +4450,6 @@ extern unsigned int\\\n\ * * Description of Sysz_Stdlib_For_Sun fix */ -#define SYSZ_STDLIB_FOR_SUN_FIXIDX 114 tSCC zSysz_Stdlib_For_SunName[] = "sysz_stdlib_for_sun"; @@ -4600,7 +4485,6 @@ static const char* apzSysz_Stdlib_For_SunPatch[] = { * * Description of Tinfo_Cplusplus fix */ -#define TINFO_CPLUSPLUS_FIXIDX 115 tSCC zTinfo_CplusplusName[] = "tinfo_cplusplus"; @@ -4636,7 +4520,6 @@ static const char* apzTinfo_CplusplusPatch[] = { * * Description of Ultrix_Atof_Param fix */ -#define ULTRIX_ATOF_PARAM_FIXIDX 116 tSCC zUltrix_Atof_ParamName[] = "ultrix_atof_param"; @@ -4672,7 +4555,6 @@ static const char* apzUltrix_Atof_ParamPatch[] = { * * Description of Ultrix_Const fix */ -#define ULTRIX_CONST_FIXIDX 117 tSCC zUltrix_ConstName[] = "ultrix_const"; @@ -4709,7 +4591,6 @@ static const char* apzUltrix_ConstPatch[] = { * * Description of Ultrix_Const2 fix */ -#define ULTRIX_CONST2_FIXIDX 118 tSCC zUltrix_Const2Name[] = "ultrix_const2"; @@ -4746,7 +4627,6 @@ static const char* apzUltrix_Const2Patch[] = { * * Description of Ultrix_Fix_Fixproto fix */ -#define ULTRIX_FIX_FIXPROTO_FIXIDX 119 tSCC zUltrix_Fix_FixprotoName[] = "ultrix_fix_fixproto"; @@ -4784,7 +4664,6 @@ static const char* apzUltrix_Fix_FixprotoPatch[] = { * * Description of Ultrix_Ifdef fix */ -#define ULTRIX_IFDEF_FIXIDX 120 tSCC zUltrix_IfdefName[] = "ultrix_ifdef"; @@ -4820,7 +4699,6 @@ static const char* apzUltrix_IfdefPatch[] = { * * Description of Ultrix_Math_Ifdef fix */ -#define ULTRIX_MATH_IFDEF_FIXIDX 121 tSCC zUltrix_Math_IfdefName[] = "ultrix_math_ifdef"; @@ -4856,7 +4734,6 @@ static const char* apzUltrix_Math_IfdefPatch[] = { * * Description of Ultrix_Nested_Ioctl fix */ -#define ULTRIX_NESTED_IOCTL_FIXIDX 122 tSCC zUltrix_Nested_IoctlName[] = "ultrix_nested_ioctl"; @@ -4891,7 +4768,6 @@ static const char* apzUltrix_Nested_IoctlPatch[] = { "sed", * * Description of Ultrix_Nested_Svc fix */ -#define ULTRIX_NESTED_SVC_FIXIDX 123 tSCC zUltrix_Nested_SvcName[] = "ultrix_nested_svc"; @@ -4926,7 +4802,6 @@ static const char* apzUltrix_Nested_SvcPatch[] = { "sed", * * Description of Ultrix_Stat fix */ -#define ULTRIX_STAT_FIXIDX 124 tSCC zUltrix_StatName[] = "ultrix_stat"; @@ -4966,7 +4841,6 @@ static const char* apzUltrix_StatPatch[] = { "sed", * * Description of Ultrix_Static fix */ -#define ULTRIX_STATIC_FIXIDX 125 tSCC zUltrix_StaticName[] = "ultrix_static"; @@ -5003,7 +4877,6 @@ static const char* apzUltrix_StaticPatch[] = { "sed", * * Description of Ultrix_Strings fix */ -#define ULTRIX_STRINGS_FIXIDX 126 tSCC zUltrix_StringsName[] = "ultrix_strings"; @@ -5038,7 +4911,6 @@ static const char* apzUltrix_StringsPatch[] = { * * Description of Undefine_Null fix */ -#define UNDEFINE_NULL_FIXIDX 127 tSCC zUndefine_NullName[] = "undefine_null"; @@ -5084,7 +4956,6 @@ static const char* apzUndefine_NullPatch[] = { * * Description of Uw7_Byteorder_Fix fix */ -#define UW7_BYTEORDER_FIX_FIXIDX 128 tSCC zUw7_Byteorder_FixName[] = "uw7_byteorder_fix"; @@ -5135,7 +5006,6 @@ static const char* apzUw7_Byteorder_FixPatch[] = { * * Description of Va_I960_Macro fix */ -#define VA_I960_MACRO_FIXIDX 129 tSCC zVa_I960_MacroName[] = "va_i960_macro"; @@ -5171,7 +5041,6 @@ static const char* apzVa_I960_MacroPatch[] = { * * Description of Void_Null fix */ -#define VOID_NULL_FIXIDX 130 tSCC zVoid_NullName[] = "void_null"; @@ -5207,7 +5076,6 @@ static const char* apzVoid_NullPatch[] = { * * Description of Vxworks_Gcc_Problem fix */ -#define VXWORKS_GCC_PROBLEM_FIXIDX 131 tSCC zVxworks_Gcc_ProblemName[] = "vxworks_gcc_problem"; @@ -5257,7 +5125,6 @@ static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed", * * Description of Vxworks_Needs_Vxtypes fix */ -#define VXWORKS_NEEDS_VXTYPES_FIXIDX 132 tSCC zVxworks_Needs_VxtypesName[] = "vxworks_needs_vxtypes"; @@ -5293,7 +5160,6 @@ static const char* apzVxworks_Needs_VxtypesPatch[] = { * * Description of Vxworks_Needs_Vxworks fix */ -#define VXWORKS_NEEDS_VXWORKS_FIXIDX 133 tSCC zVxworks_Needs_VxworksName[] = "vxworks_needs_vxworks"; @@ -5342,7 +5208,6 @@ static const char* apzVxworks_Needs_VxworksPatch[] = { "sed", * * Description of Vxworks_Time fix */ -#define VXWORKS_TIME_FIXIDX 134 tSCC zVxworks_TimeName[] = "vxworks_time"; @@ -5393,7 +5258,6 @@ typedef void (*__gcc_VOIDFUNCPTR) ();\n\ * * Description of X11_Class fix */ -#define X11_CLASS_FIXIDX 135 tSCC zX11_ClassName[] = "x11_class"; @@ -5440,7 +5304,6 @@ static const char* apzX11_ClassPatch[] = { * * Description of X11_Class_Usage fix */ -#define X11_CLASS_USAGE_FIXIDX 136 tSCC zX11_Class_UsageName[] = "x11_class_usage"; @@ -5483,7 +5346,6 @@ static const char* apzX11_Class_UsagePatch[] = { * * Description of X11_New fix */ -#define X11_NEW_FIXIDX 137 tSCC zX11_NewName[] = "x11_new"; @@ -5524,7 +5386,6 @@ static const char* apzX11_NewPatch[] = { "sed", * * Description of X11_Sprintf fix */ -#define X11_SPRINTF_FIXIDX 138 tSCC zX11_SprintfName[] = "x11_sprintf"; @@ -5567,11 +5428,156 @@ static const char* apzX11_SprintfPatch[] = { #define MACH_LIST_SIZE_LIMIT 279 #define FIX_COUNT 139 +/* + * Enumerate the fixes + */ +typedef enum { + AAA_BAD_FIXES_FIXIDX, + AAA_KI_FIXIDX, + AAA_KI_CALLS_FIXIDX, + AAA_KI_DEFS_FIXIDX, + AAA_KI_IFACE_FIXIDX, + AAA_STANDARDS_FIXIDX, + AAA_TIME_FIXIDX, + AAB_DGUX_INT_VARARGS_FIXIDX, + AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX, + AAB_FD_ZERO_GNU_TYPES_H_FIXIDX, + AAB_FD_ZERO_SELECTBITS_H_FIXIDX, + AAB_SUN_MEMCPY_FIXIDX, + AAB_SVR4_REPLACE_BYTEORDER_FIXIDX, + AAB_ULTRIX_ANSI_COMPAT_FIXIDX, + AAB_ULTRIX_LIMITS_FIXIDX, + AAB_ULTRIX_MEMORY_FIXIDX, + AAB_ULTRIX_STRING_FIXIDX, + AIX_PTHREAD_FIXIDX, + AIX_SYSMACHINE_FIXIDX, + AIX_SYSWAIT_FIXIDX, + AIX_VOLATILE_FIXIDX, + ALPHA___ASSERT_FIXIDX, + ALPHA_GETOPT_FIXIDX, + ALPHA_PARENS_FIXIDX, + ALPHA_SBRK_FIXIDX, + ARM_NORCROFT_HINT_FIXIDX, + ARM_WCHAR_FIXIDX, + AUX_ASM_FIXIDX, + AVOID_BOOL_DEFINE_FIXIDX, + AVOID_BOOL_TYPE_FIXIDX, + AVOID_WCHAR_T_TYPE_FIXIDX, + BAD_LVAL_FIXIDX, + BAD_STRUCT_TERM_FIXIDX, + BADQUOTE_FIXIDX, + BROKEN_ASSERT_STDIO_FIXIDX, + BROKEN_ASSERT_STDLIB_FIXIDX, + BROKEN_CABS_FIXIDX, + CTRL_QUOTES_DEF_FIXIDX, + CTRL_QUOTES_USE_FIXIDX, + CXX_UNREADY_FIXIDX, + DEC_INTERN_ASM_FIXIDX, + DJGPP_WCHAR_H_FIXIDX, + ECD_CURSOR_FIXIDX, + FIX_HEADER_BREAKAGE_FIXIDX, + FREEBSD_GCC3_BREAKAGE_FIXIDX, + GNU_TYPES_FIXIDX, + HP_INLINE_FIXIDX, + HP_SYSFILE_FIXIDX, + HPUX11_FABSF_FIXIDX, + HPUX11_UINT32_C_FIXIDX, + HPUX8_BOGUS_INLINES_FIXIDX, + HPUX_MAXINT_FIXIDX, + HPUX_SYSTIME_FIXIDX, + INT_ABORT_FREE_AND_EXIT_FIXIDX, + IO_QUOTES_DEF_FIXIDX, + IO_QUOTES_USE_FIXIDX, + IP_MISSING_SEMI_FIXIDX, + IRIX_ASM_APOSTROPHE_FIXIDX, + IRIX_LIMITS_CONST_FIXIDX, + IRIX_STDIO_VA_LIST_FIXIDX, + ISC_FMOD_FIXIDX, + ISC_OMITS_WITH_STDC_FIXIDX, + KANDR_CONCAT_FIXIDX, + LIBC1_IFDEFD_MEMX_FIXIDX, + LIMITS_IFNDEFS_FIXIDX, + LYNX_VOID_INT_FIXIDX, + LYNXOS_FCNTL_PROTO_FIXIDX, + M88K_BAD_HYPOT_OPT_FIXIDX, + M88K_BAD_S_IF_FIXIDX, + M88K_MULTI_INCL_FIXIDX, + MACHINE_ANSI_H_VA_LIST_FIXIDX, + MACHINE_NAME_FIXIDX, + MATH_EXCEPTION_FIXIDX, + MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX, + MATH_HUGE_VAL_IFNDEF_FIXIDX, + NESTED_AUTH_DES_FIXIDX, + NESTED_MOTOROLA_FIXIDX, + NESTED_SYS_LIMITS_FIXIDX, + NEWS_OS_RECURSION_FIXIDX, + NEXT_MATH_PREFIX_FIXIDX, + NEXT_TEMPLATE_FIXIDX, + NEXT_VOLITILE_FIXIDX, + NEXT_WAIT_UNION_FIXIDX, + NODEENT_SYNTAX_FIXIDX, + OSF_NAMESPACE_A_FIXIDX, + OSF_NAMESPACE_C_FIXIDX, + PTHREAD_PAGE_SIZE_FIXIDX, + READ_RET_TYPE_FIXIDX, + RS6000_DOUBLE_FIXIDX, + RS6000_FCHMOD_FIXIDX, + RS6000_PARAM_FIXIDX, + SCO_STATIC_FUNC_FIXIDX, + SCO_UTIME_FIXIDX, + SOLARIS27_MUTEX_INIT_FIXIDX, + STATSSWTCH_FIXIDX, + STDIO_STDARG_H_FIXIDX, + STDIO_VA_LIST_FIXIDX, + STRICT_ANSI_NOT_FIXIDX, + STRICT_ANSI_NOT_CTD_FIXIDX, + STRICT_ANSI_ONLY_FIXIDX, + STRUCT_FILE_FIXIDX, + STRUCT_SOCKADDR_FIXIDX, + SUN_AUTH_PROTO_FIXIDX, + SUN_BOGUS_IFDEF_FIXIDX, + SUN_CATMACRO_FIXIDX, + SUN_MALLOC_FIXIDX, + SUN_RUSERS_SEMI_FIXIDX, + SUN_SIGNAL_FIXIDX, + SUNOS_MATHERR_DECL_FIXIDX, + SUNOS_STRLEN_FIXIDX, + SVR4__P_FIXIDX, + SVR4_GETCWD_FIXIDX, + SVR4_PROFIL_FIXIDX, + SYSV68_STRING_FIXIDX, + SYSZ_STDLIB_FOR_SUN_FIXIDX, + TINFO_CPLUSPLUS_FIXIDX, + ULTRIX_ATOF_PARAM_FIXIDX, + ULTRIX_CONST_FIXIDX, + ULTRIX_CONST2_FIXIDX, + ULTRIX_FIX_FIXPROTO_FIXIDX, + ULTRIX_IFDEF_FIXIDX, + ULTRIX_MATH_IFDEF_FIXIDX, + ULTRIX_NESTED_IOCTL_FIXIDX, + ULTRIX_NESTED_SVC_FIXIDX, + ULTRIX_STAT_FIXIDX, + ULTRIX_STATIC_FIXIDX, + ULTRIX_STRINGS_FIXIDX, + UNDEFINE_NULL_FIXIDX, + UW7_BYTEORDER_FIX_FIXIDX, + VA_I960_MACRO_FIXIDX, + VOID_NULL_FIXIDX, + VXWORKS_GCC_PROBLEM_FIXIDX, + VXWORKS_NEEDS_VXTYPES_FIXIDX, + VXWORKS_NEEDS_VXWORKS_FIXIDX, + VXWORKS_TIME_FIXIDX, + X11_CLASS_FIXIDX, + X11_CLASS_USAGE_FIXIDX, + X11_NEW_FIXIDX, + X11_SPRINTF_FIXIDX +} t_fixinc_idx; + tFixDesc fixDescList[ FIX_COUNT ] = { - { zAaa_Ki_IfaceName, zAaa_Ki_IfaceList, - apzAaa_Ki_IfaceMachs, - AAA_KI_IFACE_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, - aAaa_Ki_IfaceTests, apzAaa_Ki_IfacePatch, 0 }, + { zAaa_Bad_FixesName, zAaa_Bad_FixesList, + apzAaa_Bad_FixesMachs, + AAA_BAD_FIXES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, + aAaa_Bad_FixesTests, apzAaa_Bad_FixesPatch, 0 }, { zAaa_KiName, zAaa_KiList, apzAaa_KiMachs, @@ -5588,16 +5594,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = { AAA_KI_DEFS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, aAaa_Ki_DefsTests, apzAaa_Ki_DefsPatch, 0 }, + { zAaa_Ki_IfaceName, zAaa_Ki_IfaceList, + apzAaa_Ki_IfaceMachs, + AAA_KI_IFACE_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, + aAaa_Ki_IfaceTests, apzAaa_Ki_IfacePatch, 0 }, + { zAaa_StandardsName, zAaa_StandardsList, apzAaa_StandardsMachs, AAA_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, aAaa_StandardsTests, apzAaa_StandardsPatch, 0 }, - { zAaa_Bad_FixesName, zAaa_Bad_FixesList, - apzAaa_Bad_FixesMachs, - AAA_BAD_FIXES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, - aAaa_Bad_FixesTests, apzAaa_Bad_FixesPatch, 0 }, - { zAaa_TimeName, zAaa_TimeList, apzAaa_TimeMachs, AAA_TIME_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT, @@ -5793,6 +5799,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aFreebsd_Gcc3_BreakageTests, apzFreebsd_Gcc3_BreakagePatch, 0 }, + { zGnu_TypesName, zGnu_TypesList, + apzGnu_TypesMachs, + GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aGnu_TypesTests, apzGnu_TypesPatch, 0 }, + { zHp_InlineName, zHp_InlineList, apzHp_InlineMachs, HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -5818,16 +5829,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = { HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY, aHpux8_Bogus_InlinesTests, apzHpux8_Bogus_InlinesPatch, 0 }, + { zHpux_MaxintName, zHpux_MaxintList, + apzHpux_MaxintMachs, + HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_MaxintTests, apzHpux_MaxintPatch, 0 }, + + { zHpux_SystimeName, zHpux_SystimeList, + apzHpux_SystimeMachs, + HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_SystimeTests, apzHpux_SystimePatch, 0 }, + { zInt_Abort_Free_And_ExitName, zInt_Abort_Free_And_ExitList, apzInt_Abort_Free_And_ExitMachs, INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aInt_Abort_Free_And_ExitTests, apzInt_Abort_Free_And_ExitPatch, 0 }, - { zIsc_Omits_With_StdcName, zIsc_Omits_With_StdcList, - apzIsc_Omits_With_StdcMachs, - ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aIsc_Omits_With_StdcTests, apzIsc_Omits_With_StdcPatch, 0 }, - { zIo_Quotes_DefName, zIo_Quotes_DefList, apzIo_Quotes_DefMachs, IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -5838,16 +5854,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = { IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aIo_Quotes_UseTests, apzIo_Quotes_UsePatch, 0 }, - { zHpux_MaxintName, zHpux_MaxintList, - apzHpux_MaxintMachs, - HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux_MaxintTests, apzHpux_MaxintPatch, 0 }, - - { zHpux_SystimeName, zHpux_SystimeList, - apzHpux_SystimeMachs, - HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux_SystimeTests, apzHpux_SystimePatch, 0 }, - { zIp_Missing_SemiName, zIp_Missing_SemiList, apzIp_Missing_SemiMachs, IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY, @@ -5858,21 +5864,26 @@ tFixDesc fixDescList[ FIX_COUNT ] = { IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aIrix_Asm_ApostropheTests, apzIrix_Asm_ApostrophePatch, 0 }, - { zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList, - apzIrix_Stdio_Va_ListMachs, - IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 }, - { zIrix_Limits_ConstName, zIrix_Limits_ConstList, apzIrix_Limits_ConstMachs, IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 }, + { zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList, + apzIrix_Stdio_Va_ListMachs, + IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 }, + { zIsc_FmodName, zIsc_FmodList, apzIsc_FmodMachs, ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aIsc_FmodTests, apzIsc_FmodPatch, 0 }, + { zIsc_Omits_With_StdcName, zIsc_Omits_With_StdcList, + apzIsc_Omits_With_StdcMachs, + ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aIsc_Omits_With_StdcTests, apzIsc_Omits_With_StdcPatch, 0 }, + { zKandr_ConcatName, zKandr_ConcatList, apzKandr_ConcatMachs, KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -5938,6 +5949,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aMath_Huge_Val_IfndefTests, apzMath_Huge_Val_IfndefPatch, 0 }, + { zNested_Auth_DesName, zNested_Auth_DesList, + apzNested_Auth_DesMachs, + NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aNested_Auth_DesTests, apzNested_Auth_DesPatch, 0 }, + { zNested_MotorolaName, zNested_MotorolaList, apzNested_MotorolaMachs, NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY, @@ -5948,11 +5964,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = { NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY, aNested_Sys_LimitsTests, apzNested_Sys_LimitsPatch, 0 }, - { zNested_Auth_DesName, zNested_Auth_DesList, - apzNested_Auth_DesMachs, - NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aNested_Auth_DesTests, apzNested_Auth_DesPatch, 0 }, - { zNews_Os_RecursionName, zNews_Os_RecursionList, apzNews_Os_RecursionMachs, NEWS_OS_RECURSION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -6023,21 +6034,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY, aSco_Static_FuncTests, apzSco_Static_FuncPatch, 0 }, - { zStrict_Ansi_NotName, zStrict_Ansi_NotList, - apzStrict_Ansi_NotMachs, - STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aStrict_Ansi_NotTests, apzStrict_Ansi_NotPatch, 0 }, - - { zStrict_Ansi_Not_CtdName, zStrict_Ansi_Not_CtdList, - apzStrict_Ansi_Not_CtdMachs, - STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aStrict_Ansi_Not_CtdTests, apzStrict_Ansi_Not_CtdPatch, 0 }, - - { zStrict_Ansi_OnlyName, zStrict_Ansi_OnlyList, - apzStrict_Ansi_OnlyMachs, - STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aStrict_Ansi_OnlyTests, apzStrict_Ansi_OnlyPatch, 0 }, - { zSco_UtimeName, zSco_UtimeList, apzSco_UtimeMachs, SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -6063,6 +6059,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = { STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY, aStdio_Va_ListTests, apzStdio_Va_ListPatch, 0 }, + { zStrict_Ansi_NotName, zStrict_Ansi_NotList, + apzStrict_Ansi_NotMachs, + STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aStrict_Ansi_NotTests, apzStrict_Ansi_NotPatch, 0 }, + + { zStrict_Ansi_Not_CtdName, zStrict_Ansi_Not_CtdList, + apzStrict_Ansi_Not_CtdMachs, + STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aStrict_Ansi_Not_CtdTests, apzStrict_Ansi_Not_CtdPatch, 0 }, + + { zStrict_Ansi_OnlyName, zStrict_Ansi_OnlyList, + apzStrict_Ansi_OnlyMachs, + STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aStrict_Ansi_OnlyTests, apzStrict_Ansi_OnlyPatch, 0 }, + { zStruct_FileName, zStruct_FileList, apzStruct_FileMachs, STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -6128,11 +6139,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSvr4_ProfilTests, apzSvr4_ProfilPatch, 0 }, - { zGnu_TypesName, zGnu_TypesList, - apzGnu_TypesMachs, - GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aGnu_TypesTests, apzGnu_TypesPatch, 0 }, - { zSysv68_StringName, zSysv68_StringList, apzSysv68_StringMachs, SYSV68_STRING_TEST_CT, FD_MACH_ONLY, diff --git a/gcc/fixinc/fixtests.c b/gcc/fixinc/fixtests.c index ce254d8854f..40687cfc755 100644 --- a/gcc/fixinc/fixtests.c +++ b/gcc/fixinc/fixtests.c @@ -47,6 +47,10 @@ Boston, MA 02111-1307, USA. */ #include "fixlib.h" +#define _ENV_(v,m,n,t) extern tCC* v; +ENV_TABLE +#undef _ENV_ + typedef apply_fix_p_t t_test_proc PARAMS(( tCC* file, tCC* text )); typedef struct { diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def index 03b99cf7c43..88018d9b3bf 100644 --- a/gcc/fixinc/inclhack.def +++ b/gcc/fixinc/inclhack.def @@ -6,6 +6,15 @@ autogen definitions fixincl; /* Define all the fixes we know about for repairing damaged headers. Please see the README before adding or changing entries in this file. + This is the sort command: + + blocksort output=XXX \ + pattern='^/\*$' \ + start='DO +NOT +DO +BROKEN +FIXES' \ + trailer='^/\*EOF\*[/]' \ + input=inclhack.def \ + key='hackname[ ]*=[ ]*(.*);' + Set up a debug test so we can make the templates emit special code while debugging these fixes: */ @@ -16,12 +25,15 @@ FIXINC_DEBUG = yes; /* DO NOT DO BROKEN FIXES (empty replacement fixes) */ /* - * Purge some HP-UX 11 files that are only broken after they are "fixed". + * This file on SunOS 4 has a very large macro. When the sed loop + * tries pull it in, it overflows the pattern space size of the SunOS + * sed (GNU sed does not have this problem). Since the file does not + * require fixing, we remove it from the fixed directory. */ fix = { - hackname = AAA_ki_iface; - files = sys/ki_iface.h; - select = 'These definitions are for HP Internal developers'; + hackname = AAA_bad_fixes; + files = sundev/ipi_error.h; + /* shouldn't there be a select expression here??? */ replace; /* empty replacement -> no fixing the file */ }; @@ -60,27 +72,24 @@ fix = { /* - * Tru64 UNIX V4.0F/V5.1 defines _NO_PROTO and _NONSTD_TYPES - * correctly for GCC, but strict_ansi_not breaks it. + * Purge some HP-UX 11 files that are only broken after they are "fixed". */ fix = { - hackname = AAA_standards; - files = standards.h; - select = 'GNU and MIPS C compilers define __STDC__ differently'; + hackname = AAA_ki_iface; + files = sys/ki_iface.h; + select = 'These definitions are for HP Internal developers'; replace; /* empty replacement -> no fixing the file */ }; /* - * This file on SunOS 4 has a very large macro. When the sed loop - * tries pull it in, it overflows the pattern space size of the SunOS - * sed (GNU sed does not have this problem). Since the file does not - * require fixing, we remove it from the fixed directory. + * Tru64 UNIX V4.0F/V5.1 defines _NO_PROTO and _NONSTD_TYPES + * correctly for GCC, but strict_ansi_not breaks it. */ fix = { - hackname = AAA_bad_fixes; - files = sundev/ipi_error.h; - /* shouldn't there be a select expression here??? */ + hackname = AAA_standards; + files = standards.h; + select = 'GNU and MIPS C compilers define __STDC__ differently'; replace; /* empty replacement -> no fixing the file */ }; @@ -332,6 +341,29 @@ extern int memcmp(); }; +/* + * Completely replace with a file that includes gcc's + * stdarg.h or varargs.h files as appropriate. + */ +#ifdef SVR4 +fix = { + hackname = AAB_svr4_no_varargs; + files = sys/varargs.h; + replace = "/* This file was generated by fixincludes. */\n" + "#ifndef _SYS_VARARGS_H\n" + "#define _SYS_VARARGS_H\n\n" + + "#ifdef __STDC__\n" + "#include \n" + "#else\n" + "#include \n" + "#endif\n\n" + + "#endif /* _SYS_VARARGS_H */\n"; +}; +#endif + + /* * Completely replace ; with a file that implements gcc's * optimized byteswapping. Restricted to "SVR4" machines until either @@ -495,29 +527,6 @@ ntohs (unsigned int __arg) }; -/* - * Completely replace with a file that includes gcc's - * stdarg.h or varargs.h files as appropriate. - */ -#ifdef SVR4 -fix = { - hackname = AAB_svr4_no_varargs; - files = sys/varargs.h; - replace = "/* This file was generated by fixincludes. */\n" - "#ifndef _SYS_VARARGS_H\n" - "#define _SYS_VARARGS_H\n\n" - - "#ifdef __STDC__\n" - "#include \n" - "#else\n" - "#include \n" - "#endif\n\n" - - "#endif /* _SYS_VARARGS_H */\n"; -}; -#endif - - /* * Cancel out ansi_compat.h on Ultrix. Replace it with an empty file. */ @@ -1082,6 +1091,27 @@ fix = { }; +/* + * Fix these files to use the same types that we think they should. + */ +fix = { + hackname = gnu_types; + files = "sys/types.h"; + files = "stdlib.h"; + files = "sys/stdtypes.h"; + files = "stddef.h"; + files = "memory.h"; + files = "unistd.h"; + bypass = '_GCC_(PTRDIFF|SIZE|WCHAR)_T'; + select = "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;"; + c_fix = gnu_type; + + test_text = "typedef long int ptrdiff_t; /* long int */\n" + "typedef uint_t size_t; /* uint_t */\n" + "typedef ushort_t wchar_t; /* ushort_t */"; +}; + + /* * Fix HP & Sony's use of "../machine/xxx.h" * to refer to: @@ -1139,7 +1169,7 @@ fix = { /* - * In inttypes.h on HPUX 11, the use of __CONCAT__ in the definition + * In inttypes.h on HPUX 11, the use of __CONCAT__ in the definition * of UINT32_C has undefined behavior according to ISO/ANSI: * the arguments to __CONCAT__ are not macro expanded before the * concatination happens so the trailing ')' in the first argument @@ -1147,7 +1177,7 @@ fix = { * invalid pp token. The behavior of invalid pp tokens is undefined. * GCC does not handle these invalid tokens the way the HP compiler does. * This problem will potentially occur anytime macros are used in the - * arguments to __CONCAT__. A general solution to this problem would be to + * arguments to __CONCAT__. A general solution to this problem would be to * insert another layer of macro between __CONCAT__ and its use * in UINT32_C. An example of this solution can be found in the C standard. * A more specific solution, the one used here, is to change the UINT32_C @@ -1184,43 +1214,54 @@ fix = { /* - * Fix return type of abort and free + * HPUX 10.x sys/param.h defines MAXINT which clashes with values.h */ fix = { - hackname = int_abort_free_and_exit; - files = stdlib.h; - select = "int[ \t]+(abort|free|exit)[ \t]*\\("; + hackname = hpux_maxint; + files = sys/param.h; + files = values.h; + select = "^#[ \t]*define[ \t]+MAXINT[ \t]"; + bypass = "^#[ \t]*ifndef[ \t]+MAXINT"; + test = + "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\""; c_fix = format; - c_fix_arg = "void\t%1("; + c_fix_arg = "#ifndef MAXINT\n%0\n#endif"; + c_fix_arg = "^#[ \t]*define[ \t]+MAXINT[ \t].*"; - test_text = "extern int abort(int);\n" - "extern int free(void*);\n" - "extern int exit(void*);"; + test_text = '#define MAXINT 0x7FFFFFFF'; }; /* - * On Interactive Unix 2.2, certain traditional Unix definitions - * (notably getc and putc in stdio.h) are omitted if __STDC__ is - * defined, not just if _POSIX_SOURCE is defined. This makes it - * impossible to compile any nontrivial program except with -posix. + * Fix hpux10.20 to avoid invalid forward decl */ fix = { - hackname = isc_omits_with_stdc; + hackname = hpux_systime; + files = sys/time.h; + select = "^extern struct sigevent;"; - files = "stdio.h"; - files = "math.h"; - files = "ctype.h"; - files = "sys/limits.h"; - files = "sys/fcntl.h"; - files = "sys/dirent.h"; + c_fix = format; + c_fix_arg = "struct sigevent;"; + + test_text = 'extern struct sigevent;'; +}; + + +/* + * Fix return type of abort and free + */ +fix = { + hackname = int_abort_free_and_exit; + files = stdlib.h; + select = "int[ \t]+(abort|free|exit)[ \t]*\\("; - select = '!defined\(__STDC__\) && !defined\(_POSIX_SOURCE\)'; c_fix = format; - c_fix_arg = '!defined(_POSIX_SOURCE)'; - test_text = "#if !defined(__STDC__) && !defined(_POSIX_SOURCE) /* ? ! */" - "\nint foo;\n#endif"; + c_fix_arg = "void\t%1("; + + test_text = "extern int abort(int);\n" + "extern int free(void*);\n" + "extern int exit(void*);"; }; @@ -1266,41 +1307,6 @@ fix = { }; -/* - * HPUX 10.x sys/param.h defines MAXINT which clashes with values.h - */ -fix = { - hackname = hpux_maxint; - files = sys/param.h; - files = values.h; - select = "^#[ \t]*define[ \t]+MAXINT[ \t]"; - bypass = "^#[ \t]*ifndef[ \t]+MAXINT"; - test = - "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\""; - - c_fix = format; - c_fix_arg = "#ifndef MAXINT\n%0\n#endif"; - c_fix_arg = "^#[ \t]*define[ \t]+MAXINT[ \t].*"; - - test_text = '#define MAXINT 0x7FFFFFFF'; -}; - - -/* - * Fix hpux10.20 to avoid invalid forward decl - */ -fix = { - hackname = hpux_systime; - files = sys/time.h; - select = "^extern struct sigevent;"; - - c_fix = format; - c_fix_arg = "struct sigevent;"; - - test_text = 'extern struct sigevent;'; -}; - - /* * Check for missing ';' in struct */ @@ -1335,9 +1341,22 @@ fix = { }; +/* + * Non-traditional "const" declaration in Irix's limits.h. + */ +fix = { + hackname = irix_limits_const; + files = fixinc-test-limits.h, limits.h; + select = "^extern const "; + c_fix = format; + c_fix_arg = "extern __const "; + test_text = "extern const char limit; /* test limits */"; +}; + + /* * IRIX 5.x's stdio.h declares some functions that take a va_list as - * taking char *. However, GCC uses void * for va_list, so + * taking char *. However, GCC uses void * for va_list, so * calling vfprintf with a va_list fails in C++. */ fix = { hackname = irix_stdio_va_list; @@ -1351,19 +1370,6 @@ fix = { }; -/* - * Non-traditional "const" declaration in Irix's limits.h. - */ -fix = { - hackname = irix_limits_const; - files = fixinc-test-limits.h, limits.h; - select = "^extern const "; - c_fix = format; - c_fix_arg = "extern __const "; - test_text = "extern const char limit; /* test limits */"; -}; - - /* * Fixing ISC fmod declaration */ @@ -1377,6 +1383,30 @@ fix = { }; +/* + * On Interactive Unix 2.2, certain traditional Unix definitions + * (notably getc and putc in stdio.h) are omitted if __STDC__ is + * defined, not just if _POSIX_SOURCE is defined. This makes it + * impossible to compile any nontrivial program except with -posix. + */ +fix = { + hackname = isc_omits_with_stdc; + + files = "stdio.h"; + files = "math.h"; + files = "ctype.h"; + files = "sys/limits.h"; + files = "sys/fcntl.h"; + files = "sys/dirent.h"; + + select = '!defined\(__STDC__\) && !defined\(_POSIX_SOURCE\)'; + c_fix = format; + c_fix_arg = '!defined(_POSIX_SOURCE)'; + test_text = "#if !defined(__STDC__) && !defined(_POSIX_SOURCE) /* ? ! */" + "\nint foo;\n#endif"; +}; + + /* * These files in Sun OS 4.x and ARM/RISCiX and BSD4.3 * use / * * / to concatenate tokens. @@ -1556,7 +1586,7 @@ fix = { /* * Fix BSD machine/ansi.h to use __builtin_va_list to define _BSD_VA_LIST_. - * + * * On NetBSD, machine is a symbolic link to an architecture specific * directory name, so we can't match a specific file name here. */ @@ -1670,6 +1700,19 @@ fix = { }; +/* + * nested comment + */ +fix = { + hackname = nested_auth_des; + files = rpc/rpc.h; + select = '(/\*.*rpc/auth_des\.h>.*)/\*'; + c_fix = format; + c_fix_arg = "%1*/ /*"; + test_text = "/*#include /* skip this */"; +}; + + /* * Fix nested comments in Motorola's and */ @@ -1705,19 +1748,6 @@ fix = { "#define OPEN_MAX 20 /* Max, Max, ... */\n"; }; -/* - * nested comment - */ -fix = { - hackname = nested_auth_des; - files = rpc/rpc.h; - select = '(/\*.*rpc/auth_des\.h>.*)/\*'; - c_fix = format; - c_fix_arg = "%1*/ /*"; - test_text = "/*#include /* skip this */"; -}; - - /* * fix bogus recursive stdlib.h in NEWS-OS 4.0C */ @@ -1888,7 +1918,7 @@ fix = { /* - * function class(double x) conflicts with C++ keyword on rs/6000 + * function class(double x) conflicts with C++ keyword on rs/6000 */ fix = { hackname = rs6000_double; @@ -1917,7 +1947,7 @@ fix = { /* - * parameters conflict with C++ new on rs/6000 + * parameters conflict with C++ new on rs/6000 */ fix = { hackname = rs6000_param; @@ -1933,7 +1963,7 @@ fix = { /* - * The static functions lstat() and fchmod() in + * The static functions lstat() and fchmod() in * cause G++ grief since they're not wrapped in "if __cplusplus". * * On SCO OpenServer 5.0.0 through (at least) 5.0.5 contains @@ -1971,71 +2001,6 @@ fix = { }; -/* - * "!__STDC__" or "__STDC__==0" or "__STDC__!=1" or "__STDC__-0==0" - * is "!defined( __STRICT_ANSI__ )" - */ -fix = { - hackname = strict_ansi_not; - select = "^([ \t]*#[ \t]*if.*)" - "(!__STDC__" - "|__STDC__[ \t]*==[ \t]*0" - "|__STDC__[ \t]*!=[ \t]*1" - "|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0" - ")(.*)"; - c_test = stdc_0_in_system_headers; - - c_fix = format; - c_fix_arg = "%1 !defined(__STRICT_ANSI__)%3"; - - test_text = "#if !__STDC__ \n" - "#if __STDC__ == 0\n" - "#if __STDC__ != 1\n" - "#if __STDC__ - 0 == 0" - "/* not std C */\nint foo;\n" - "\n#end-end-end-end-if :-)"; -}; - -/* - * "__STDC__-0==0" - * is "!defined( __STRICT_ANSI__ )" on continued #if-s - */ -fix = { - hackname = strict_ansi_not_ctd; - files = math.h, limits.h, stdio.h, signal.h, stdlib.h, time.h; - select = "^([ \t]*[|&][|&][ \t(]*)" - "(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0" - ")(.*)"; - c_test = stdc_0_in_system_headers; - - c_fix = format; - c_fix_arg = "%1 !defined(__STRICT_ANSI__)%3"; - - test_text = "#if 1\\\n" - "|| __STDC__ - 0 == 0 /* not std C */\nint foo;\n#endif"; -}; - -/* - * "__STDC__!=0" or "__STDC__==1" or "__STDC__-0==1" - * is "defined( __STRICT_ANSI__ )" - */ -fix = { - hackname = strict_ansi_only; - select = "^([ \t]*#[ \t]*if.*)" - "(__STDC__[ \t]*!=[ \t]*0" - "|__STDC__[ \t]*==[ \t]*1" - "|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1" - "|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0" - ")(.*)"; - c_test = stdc_0_in_system_headers; - - c_fix = format; - c_fix_arg = "%1 defined(__STRICT_ANSI__)%3"; - - test_text = "#if __STDC__ == 1 /* is std C\n */\nint foo;\n#endif"; -}; - - /* * Fix prototype declaration of utime in sys/times.h. * In 3.2v4.0 the const is missing. @@ -2187,6 +2152,71 @@ fix = { }; +/* + * "!__STDC__" or "__STDC__==0" or "__STDC__!=1" or "__STDC__-0==0" + * is "!defined( __STRICT_ANSI__ )" + */ +fix = { + hackname = strict_ansi_not; + select = "^([ \t]*#[ \t]*if.*)" + "(!__STDC__" + "|__STDC__[ \t]*==[ \t]*0" + "|__STDC__[ \t]*!=[ \t]*1" + "|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0" + ")(.*)"; + c_test = stdc_0_in_system_headers; + + c_fix = format; + c_fix_arg = "%1 !defined(__STRICT_ANSI__)%3"; + + test_text = "#if !__STDC__ \n" + "#if __STDC__ == 0\n" + "#if __STDC__ != 1\n" + "#if __STDC__ - 0 == 0" + "/* not std C */\nint foo;\n" + "\n#end-end-end-end-if :-)"; +}; + +/* + * "__STDC__-0==0" + * is "!defined( __STRICT_ANSI__ )" on continued #if-s + */ +fix = { + hackname = strict_ansi_not_ctd; + files = math.h, limits.h, stdio.h, signal.h, stdlib.h, time.h; + select = "^([ \t]*[|&][|&][ \t(]*)" + "(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0" + ")(.*)"; + c_test = stdc_0_in_system_headers; + + c_fix = format; + c_fix_arg = "%1 !defined(__STRICT_ANSI__)%3"; + + test_text = "#if 1\\\n" + "|| __STDC__ - 0 == 0 /* not std C */\nint foo;\n#endif"; +}; + +/* + * "__STDC__!=0" or "__STDC__==1" or "__STDC__-0==1" + * is "defined( __STRICT_ANSI__ )" + */ +fix = { + hackname = strict_ansi_only; + select = "^([ \t]*#[ \t]*if.*)" + "(__STDC__[ \t]*!=[ \t]*0" + "|__STDC__[ \t]*==[ \t]*1" + "|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1" + "|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0" + ")(.*)"; + c_test = stdc_0_in_system_headers; + + c_fix = format; + c_fix_arg = "%1 defined(__STRICT_ANSI__)%3"; + + test_text = "#if __STDC__ == 1 /* is std C\n */\nint foo;\n#endif"; +}; + + /* * IRIX 4.0.5 uses struct __file_s * in prototype without previous definition. @@ -2688,7 +2718,7 @@ fix = { #endif -/* +/* * Like svr4_mach_defines, but with newfangled syntax. * Source lines are of #define __i386 #machine(i386). Delete them. */ @@ -2702,27 +2732,6 @@ fix = { #endif /* SVR5 */ -/* - * Fix these files to use the same types that we think they should. - */ -fix = { - hackname = gnu_types; - files = "sys/types.h"; - files = "stdlib.h"; - files = "sys/stdtypes.h"; - files = "stddef.h"; - files = "memory.h"; - files = "unistd.h"; - bypass = '_GCC_(PTRDIFF|SIZE|WCHAR)_T'; - select = "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;"; - c_fix = gnu_type; - - test_text = "typedef long int ptrdiff_t; /* long int */\n" - "typedef uint_t size_t; /* uint_t */\n" - "typedef ushort_t wchar_t; /* ushort_t */"; -}; - - /* * Fix return value of mem{ccpy,chr,cpy,set} and str{len,spn,cspn} * in string.h on sysV68 diff --git a/gcc/fixinc/tests/base/stdio.h b/gcc/fixinc/tests/base/stdio.h index a7b455019d5..865f8395cdb 100644 --- a/gcc/fixinc/tests/base/stdio.h +++ b/gcc/fixinc/tests/base/stdio.h @@ -19,6 +19,11 @@ extern int getopt(int, char *const[], const char *); #endif /* ALPHA_GETOPT_CHECK */ +#if defined( IRIX_STDIO_DUMMY_VA_LIST_CHECK ) +extern int printf( const char *, __gnuc_va_list ); +#endif /* IRIX_STDIO_DUMMY_VA_LIST_CHECK */ + + #if defined( ISC_OMITS_WITH_STDC_CHECK ) #if !defined(_POSIX_SOURCE) /* ? ! */ int foo; @@ -26,11 +31,6 @@ int foo; #endif /* ISC_OMITS_WITH_STDC_CHECK */ -#if defined( IRIX_STDIO_DUMMY_VA_LIST_CHECK ) -extern int printf( const char *, __gnuc_va_list ); -#endif /* IRIX_STDIO_DUMMY_VA_LIST_CHECK */ - - #if defined( READ_RET_TYPE_CHECK ) extern unsigned int fread(), fwrite(); extern int fclose(), fflush(), foo();