diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2000-07-10 22:37:54 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2000-07-10 22:37:54 +0000 |
commit | 62a37b6f4d5414c26ff36ca46716ee33496fd9db (patch) | |
tree | 4d245946f489a5ad590f9f3a001f430f1835c1a9 /gcc/fixinc | |
parent | ad66df7aa0d0d71c20d634b92b1c0e4c04640351 (diff) | |
download | gcc-62a37b6f4d5414c26ff36ca46716ee33496fd9db.zip gcc-62a37b6f4d5414c26ff36ca46716ee33496fd9db.tar.gz gcc-62a37b6f4d5414c26ff36ca46716ee33496fd9db.tar.bz2 |
inclhack.def (libc1_ifdefd_memx): New fix.
* fixinc/inclhack.def (libc1_ifdefd_memx): New fix.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/testing.h: Add testcase.
Co-Authored-By: Bruce Korb <bkorb@gnu.org>
From-SVN: r34950
Diffstat (limited to 'gcc/fixinc')
-rw-r--r-- | gcc/fixinc/fixincl.x | 211 | ||||
-rw-r--r-- | gcc/fixinc/inclhack.def | 31 | ||||
-rw-r--r-- | gcc/fixinc/tests/base/testing.h | 9 |
3 files changed, 172 insertions, 79 deletions
diff --git a/gcc/fixinc/fixincl.x b/gcc/fixinc/fixincl.x index df7023d..2c2b216 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 130 fixup descriptions. + * This file contains 131 fixup descriptions. * * See README-fixinc for more information. * @@ -2257,9 +2257,57 @@ const char* apzKandr_ConcatPatch[] = { /* * * * * * * * * * * * * * * * * * * * * * * * * * * + * Description of Libc1_Ifdefd_Memx fix + */ +#define LIBC1_IFDEFD_MEMX_FIXIDX 54 +tSCC zLibc1_Ifdefd_MemxName[] = + "libc1_ifdefd_memx"; + +/* + * File name selection pattern + */ +tSCC zLibc1_Ifdefd_MemxList[] = + "|testing.h|string.h|"; +/* + * Machine/OS name selection pattern + */ +#define apzLibc1_Ifdefd_MemxMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zLibc1_Ifdefd_MemxSelect0[] = + "' is a built-in function for gcc 2\\.x\\. \\*/"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zLibc1_Ifdefd_MemxBypass0[] = + "__cplusplus"; + +#define LIBC1_IFDEFD_MEMX_TEST_CT 2 +tTestDesc aLibc1_Ifdefd_MemxTests[] = { + { TT_NEGREP, zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL }, + { TT_EGREP, zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Libc1_Ifdefd_Memx + */ +const char* apzLibc1_Ifdefd_MemxPatch[] = { + "format", + "%1 || defined(__cplusplus)\n\ +%2", + "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\ +(#if defined\\(__STDC__\\) && __GNUC__ < 2)\n\ +(/\\* .* \\*/\n\ +extern [a-z_]+ mem)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * * Description of Limits_Ifndefs fix */ -#define LIMITS_IFNDEFS_FIXIDX 54 +#define LIMITS_IFNDEFS_FIXIDX 55 tSCC zLimits_IfndefsName[] = "limits_ifndefs"; @@ -2298,7 +2346,7 @@ const char* apzLimits_IfndefsPatch[] = { * * Description of Lynx_Void_Int fix */ -#define LYNX_VOID_INT_FIXIDX 55 +#define LYNX_VOID_INT_FIXIDX 56 tSCC zLynx_Void_IntName[] = "lynx_void_int"; @@ -2334,7 +2382,7 @@ const char* apzLynx_Void_IntPatch[] = { * * Description of Lynxos_Fcntl_Proto fix */ -#define LYNXOS_FCNTL_PROTO_FIXIDX 56 +#define LYNXOS_FCNTL_PROTO_FIXIDX 57 tSCC zLynxos_Fcntl_ProtoName[] = "lynxos_fcntl_proto"; @@ -2371,7 +2419,7 @@ const char* apzLynxos_Fcntl_ProtoPatch[] = { * * Description of M88k_Bad_Hypot_Opt fix */ -#define M88K_BAD_HYPOT_OPT_FIXIDX 57 +#define M88K_BAD_HYPOT_OPT_FIXIDX 58 tSCC zM88k_Bad_Hypot_OptName[] = "m88k_bad_hypot_opt"; @@ -2420,7 +2468,7 @@ static __inline__ double fake_hypot (x, y)\n\ * * Description of M88k_Bad_S_If fix */ -#define M88K_BAD_S_IF_FIXIDX 58 +#define M88K_BAD_S_IF_FIXIDX 59 tSCC zM88k_Bad_S_IfName[] = "m88k_bad_s_if"; @@ -2459,7 +2507,7 @@ const char* apzM88k_Bad_S_IfPatch[] = { * * Description of M88k_Multi_Incl fix */ -#define M88K_MULTI_INCL_FIXIDX 59 +#define M88K_MULTI_INCL_FIXIDX 60 tSCC zM88k_Multi_InclName[] = "m88k_multi_incl"; @@ -2496,7 +2544,7 @@ const char* apzM88k_Multi_InclPatch[] = { * * Description of Machine_Ansi_H_Va_List fix */ -#define MACHINE_ANSI_H_VA_LIST_FIXIDX 60 +#define MACHINE_ANSI_H_VA_LIST_FIXIDX 61 tSCC zMachine_Ansi_H_Va_ListName[] = "machine_ansi_h_va_list"; @@ -2540,7 +2588,7 @@ const char* apzMachine_Ansi_H_Va_ListPatch[] = { * * Description of Machine_Name fix */ -#define MACHINE_NAME_FIXIDX 61 +#define MACHINE_NAME_FIXIDX 62 tSCC zMachine_NameName[] = "machine_name"; @@ -2573,7 +2621,7 @@ const char* apzMachine_NamePatch[] = { * * Description of Math_Exception fix */ -#define MATH_EXCEPTION_FIXIDX 62 +#define MATH_EXCEPTION_FIXIDX 63 tSCC zMath_ExceptionName[] = "math_exception"; @@ -2621,7 +2669,7 @@ const char* apzMath_ExceptionPatch[] = { * * Description of Math_Huge_Val_From_Dbl_Max fix */ -#define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 63 +#define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 64 tSCC zMath_Huge_Val_From_Dbl_MaxName[] = "math_huge_val_from_dbl_max"; @@ -2668,7 +2716,7 @@ const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c", * * Description of Math_Huge_Val_Ifndef fix */ -#define MATH_HUGE_VAL_IFNDEF_FIXIDX 64 +#define MATH_HUGE_VAL_IFNDEF_FIXIDX 65 tSCC zMath_Huge_Val_IfndefName[] = "math_huge_val_ifndef"; @@ -2707,7 +2755,7 @@ const char* apzMath_Huge_Val_IfndefPatch[] = { * * Description of Nested_Motorola fix */ -#define NESTED_MOTOROLA_FIXIDX 65 +#define NESTED_MOTOROLA_FIXIDX 66 tSCC zNested_MotorolaName[] = "nested_motorola"; @@ -2737,7 +2785,7 @@ const char* apzNested_MotorolaPatch[] = { "sed", * * Description of Nested_Sys_Limits fix */ -#define NESTED_SYS_LIMITS_FIXIDX 66 +#define NESTED_SYS_LIMITS_FIXIDX 67 tSCC zNested_Sys_LimitsName[] = "nested_sys_limits"; @@ -2773,7 +2821,7 @@ const char* apzNested_Sys_LimitsPatch[] = { "sed", * * Description of Nested_Auth_Des fix */ -#define NESTED_AUTH_DES_FIXIDX 67 +#define NESTED_AUTH_DES_FIXIDX 68 tSCC zNested_Auth_DesName[] = "nested_auth_des"; @@ -2809,7 +2857,7 @@ const char* apzNested_Auth_DesPatch[] = { * * Description of News_Os_Recursion fix */ -#define NEWS_OS_RECURSION_FIXIDX 68 +#define NEWS_OS_RECURSION_FIXIDX 69 tSCC zNews_Os_RecursionName[] = "news_os_recursion"; @@ -2847,7 +2895,7 @@ const char* apzNews_Os_RecursionPatch[] = { * * Description of Next_Math_Prefix fix */ -#define NEXT_MATH_PREFIX_FIXIDX 69 +#define NEXT_MATH_PREFIX_FIXIDX 70 tSCC zNext_Math_PrefixName[] = "next_math_prefix"; @@ -2884,7 +2932,7 @@ const char* apzNext_Math_PrefixPatch[] = { * * Description of Next_Template fix */ -#define NEXT_TEMPLATE_FIXIDX 70 +#define NEXT_TEMPLATE_FIXIDX 71 tSCC zNext_TemplateName[] = "next_template"; @@ -2921,7 +2969,7 @@ const char* apzNext_TemplatePatch[] = { * * Description of Next_Volitile fix */ -#define NEXT_VOLITILE_FIXIDX 71 +#define NEXT_VOLITILE_FIXIDX 72 tSCC zNext_VolitileName[] = "next_volitile"; @@ -2958,7 +3006,7 @@ const char* apzNext_VolitilePatch[] = { * * Description of Next_Wait_Union fix */ -#define NEXT_WAIT_UNION_FIXIDX 72 +#define NEXT_WAIT_UNION_FIXIDX 73 tSCC zNext_Wait_UnionName[] = "next_wait_union"; @@ -2994,7 +3042,7 @@ const char* apzNext_Wait_UnionPatch[] = { * * Description of Nodeent_Syntax fix */ -#define NODEENT_SYNTAX_FIXIDX 73 +#define NODEENT_SYNTAX_FIXIDX 74 tSCC zNodeent_SyntaxName[] = "nodeent_syntax"; @@ -3030,7 +3078,7 @@ const char* apzNodeent_SyntaxPatch[] = { * * Description of Osf_Namespace_A fix */ -#define OSF_NAMESPACE_A_FIXIDX 74 +#define OSF_NAMESPACE_A_FIXIDX 75 tSCC zOsf_Namespace_AName[] = "osf_namespace_a"; @@ -3076,7 +3124,7 @@ const char* apzOsf_Namespace_APatch[] = { * * Description of Osf_Namespace_C fix */ -#define OSF_NAMESPACE_C_FIXIDX 75 +#define OSF_NAMESPACE_C_FIXIDX 76 tSCC zOsf_Namespace_CName[] = "osf_namespace_c"; @@ -3131,7 +3179,7 @@ typedef __regmatch_t\tregmatch_t;", * * Description of Pthread_Page_Size fix */ -#define PTHREAD_PAGE_SIZE_FIXIDX 76 +#define PTHREAD_PAGE_SIZE_FIXIDX 77 tSCC zPthread_Page_SizeName[] = "pthread_page_size"; @@ -3167,7 +3215,7 @@ const char* apzPthread_Page_SizePatch[] = { * * Description of Read_Ret_Type fix */ -#define READ_RET_TYPE_FIXIDX 77 +#define READ_RET_TYPE_FIXIDX 78 tSCC zRead_Ret_TypeName[] = "read_ret_type"; @@ -3205,7 +3253,7 @@ const char* apzRead_Ret_TypePatch[] = { * * Description of Rs6000_Double fix */ -#define RS6000_DOUBLE_FIXIDX 78 +#define RS6000_DOUBLE_FIXIDX 79 tSCC zRs6000_DoubleName[] = "rs6000_double"; @@ -3244,7 +3292,7 @@ const char* apzRs6000_DoublePatch[] = { * * Description of Rs6000_Fchmod fix */ -#define RS6000_FCHMOD_FIXIDX 79 +#define RS6000_FCHMOD_FIXIDX 80 tSCC zRs6000_FchmodName[] = "rs6000_fchmod"; @@ -3280,7 +3328,7 @@ const char* apzRs6000_FchmodPatch[] = { * * Description of Rs6000_Param fix */ -#define RS6000_PARAM_FIXIDX 80 +#define RS6000_PARAM_FIXIDX 81 tSCC zRs6000_ParamName[] = "rs6000_param"; @@ -3316,7 +3364,7 @@ const char* apzRs6000_ParamPatch[] = { * * Description of Sco_Static_Func fix */ -#define SCO_STATIC_FUNC_FIXIDX 81 +#define SCO_STATIC_FUNC_FIXIDX 82 tSCC zSco_Static_FuncName[] = "sco_static_func"; @@ -3360,7 +3408,7 @@ extern \"C\" {\\\n\ * * Description of Sco_Strict_Ansi fix */ -#define SCO_STRICT_ANSI_FIXIDX 82 +#define SCO_STRICT_ANSI_FIXIDX 83 tSCC zSco_Strict_AnsiName[] = "sco_strict_ansi"; @@ -3398,7 +3446,7 @@ const char* apzSco_Strict_AnsiPatch[] = { * * Description of Sco_Utime fix */ -#define SCO_UTIME_FIXIDX 83 +#define SCO_UTIME_FIXIDX 84 tSCC zSco_UtimeName[] = "sco_utime"; @@ -3436,7 +3484,7 @@ const char* apzSco_UtimePatch[] = { * * Description of Sony_Include fix */ -#define SONY_INCLUDE_FIXIDX 84 +#define SONY_INCLUDE_FIXIDX 85 tSCC zSony_IncludeName[] = "sony_include"; @@ -3471,7 +3519,7 @@ const char* apzSony_IncludePatch[] = { "sed", * * Description of Statsswtch fix */ -#define STATSSWTCH_FIXIDX 85 +#define STATSSWTCH_FIXIDX 86 tSCC zStatsswtchName[] = "statsswtch"; @@ -3507,7 +3555,7 @@ const char* apzStatsswtchPatch[] = { * * Description of Stdio_Stdarg_H fix */ -#define STDIO_STDARG_H_FIXIDX 86 +#define STDIO_STDARG_H_FIXIDX 87 tSCC zStdio_Stdarg_HName[] = "stdio_stdarg_h"; @@ -3544,7 +3592,7 @@ const char* apzStdio_Stdarg_HPatch[] = { * * Description of Stdio_Va_List fix */ -#define STDIO_VA_LIST_FIXIDX 87 +#define STDIO_VA_LIST_FIXIDX 88 tSCC zStdio_Va_ListName[] = "stdio_va_list"; @@ -3589,7 +3637,7 @@ s@_Va_LIST@_VA_LIST@", * * Description of Struct_File fix */ -#define STRUCT_FILE_FIXIDX 88 +#define STRUCT_FILE_FIXIDX 89 tSCC zStruct_FileName[] = "struct_file"; @@ -3626,7 +3674,7 @@ const char* apzStruct_FilePatch[] = { * * Description of Struct_Sockaddr fix */ -#define STRUCT_SOCKADDR_FIXIDX 89 +#define STRUCT_SOCKADDR_FIXIDX 90 tSCC zStruct_SockaddrName[] = "struct_sockaddr"; @@ -3670,7 +3718,7 @@ const char* apzStruct_SockaddrPatch[] = { * * Description of Sun_Auth_Proto fix */ -#define SUN_AUTH_PROTO_FIXIDX 90 +#define SUN_AUTH_PROTO_FIXIDX 91 tSCC zSun_Auth_ProtoName[] = "sun_auth_proto"; @@ -3711,7 +3759,7 @@ const char* apzSun_Auth_ProtoPatch[] = { * * Description of Sun_Bogus_Ifdef fix */ -#define SUN_BOGUS_IFDEF_FIXIDX 91 +#define SUN_BOGUS_IFDEF_FIXIDX 92 tSCC zSun_Bogus_IfdefName[] = "sun_bogus_ifdef"; @@ -3747,7 +3795,7 @@ const char* apzSun_Bogus_IfdefPatch[] = { * * Description of Sun_Catmacro fix */ -#define SUN_CATMACRO_FIXIDX 92 +#define SUN_CATMACRO_FIXIDX 93 tSCC zSun_CatmacroName[] = "sun_catmacro"; @@ -3787,7 +3835,7 @@ const char* apzSun_CatmacroPatch[] = { * * Description of Sun_Malloc fix */ -#define SUN_MALLOC_FIXIDX 93 +#define SUN_MALLOC_FIXIDX 94 tSCC zSun_MallocName[] = "sun_malloc"; @@ -3818,7 +3866,7 @@ const char* apzSun_MallocPatch[] = { "sed", * * Description of Sun_Rusers_Semi fix */ -#define SUN_RUSERS_SEMI_FIXIDX 94 +#define SUN_RUSERS_SEMI_FIXIDX 95 tSCC zSun_Rusers_SemiName[] = "sun_rusers_semi"; @@ -3853,7 +3901,7 @@ const char* apzSun_Rusers_SemiPatch[] = { "sed", * * Description of Sun_Signal fix */ -#define SUN_SIGNAL_FIXIDX 95 +#define SUN_SIGNAL_FIXIDX 96 tSCC zSun_SignalName[] = "sun_signal"; @@ -3893,7 +3941,7 @@ void\t(*signal(...))(...);\n\ * * Description of Sunos_Matherr_Decl fix */ -#define SUNOS_MATHERR_DECL_FIXIDX 96 +#define SUNOS_MATHERR_DECL_FIXIDX 97 tSCC zSunos_Matherr_DeclName[] = "sunos_matherr_decl"; @@ -3936,7 +3984,7 @@ const char* apzSunos_Matherr_DeclPatch[] = { * * Description of Sunos_Strlen fix */ -#define SUNOS_STRLEN_FIXIDX 97 +#define SUNOS_STRLEN_FIXIDX 98 tSCC zSunos_StrlenName[] = "sunos_strlen"; @@ -3972,7 +4020,7 @@ const char* apzSunos_StrlenPatch[] = { * * Description of Svr4__P fix */ -#define SVR4__P_FIXIDX 98 +#define SVR4__P_FIXIDX 99 tSCC zSvr4__PName[] = "svr4__p"; @@ -4010,7 +4058,7 @@ const char* apzSvr4__PPatch[] = { * * Description of Svr4_Getcwd fix */ -#define SVR4_GETCWD_FIXIDX 99 +#define SVR4_GETCWD_FIXIDX 100 tSCC zSvr4_GetcwdName[] = "svr4_getcwd"; @@ -4046,7 +4094,7 @@ const char* apzSvr4_GetcwdPatch[] = { * * Description of Svr4_Profil fix */ -#define SVR4_PROFIL_FIXIDX 100 +#define SVR4_PROFIL_FIXIDX 101 tSCC zSvr4_ProfilName[] = "svr4_profil"; @@ -4082,7 +4130,7 @@ const char* apzSvr4_ProfilPatch[] = { * * Description of Systypes fix */ -#define SYSTYPES_FIXIDX 101 +#define SYSTYPES_FIXIDX 102 tSCC zSystypesName[] = "systypes"; @@ -4141,7 +4189,7 @@ typedef __SIZE_TYPE__ size_t;\\\n\ * * Description of Systypes_Stdlib_Size_T fix */ -#define SYSTYPES_STDLIB_SIZE_T_FIXIDX 102 +#define SYSTYPES_STDLIB_SIZE_T_FIXIDX 103 tSCC zSystypes_Stdlib_Size_TName[] = "systypes_stdlib_size_t"; @@ -4187,7 +4235,7 @@ const char* apzSystypes_Stdlib_Size_TPatch[] = { * * Description of Sysv68_String fix */ -#define SYSV68_STRING_FIXIDX 103 +#define SYSV68_STRING_FIXIDX 104 tSCC zSysv68_StringName[] = "sysv68_string"; @@ -4224,7 +4272,7 @@ extern unsigned int\\\n\ * * Description of Sysz_Stdlib_For_Sun fix */ -#define SYSZ_STDLIB_FOR_SUN_FIXIDX 104 +#define SYSZ_STDLIB_FOR_SUN_FIXIDX 105 tSCC zSysz_Stdlib_For_SunName[] = "sysz_stdlib_for_sun"; @@ -4260,7 +4308,7 @@ const char* apzSysz_Stdlib_For_SunPatch[] = { * * Description of Sysz_Stdtypes_For_Sun fix */ -#define SYSZ_STDTYPES_FOR_SUN_FIXIDX 105 +#define SYSZ_STDTYPES_FOR_SUN_FIXIDX 106 tSCC zSysz_Stdtypes_For_SunName[] = "sysz_stdtypes_for_sun"; @@ -4301,7 +4349,7 @@ const char* apzSysz_Stdtypes_For_SunPatch[] = { "sed", * * Description of Tinfo_Cplusplus fix */ -#define TINFO_CPLUSPLUS_FIXIDX 106 +#define TINFO_CPLUSPLUS_FIXIDX 107 tSCC zTinfo_CplusplusName[] = "tinfo_cplusplus"; @@ -4337,7 +4385,7 @@ const char* apzTinfo_CplusplusPatch[] = { * * Description of Ultrix_Atof_Param fix */ -#define ULTRIX_ATOF_PARAM_FIXIDX 107 +#define ULTRIX_ATOF_PARAM_FIXIDX 108 tSCC zUltrix_Atof_ParamName[] = "ultrix_atof_param"; @@ -4373,7 +4421,7 @@ const char* apzUltrix_Atof_ParamPatch[] = { * * Description of Ultrix_Const fix */ -#define ULTRIX_CONST_FIXIDX 108 +#define ULTRIX_CONST_FIXIDX 109 tSCC zUltrix_ConstName[] = "ultrix_const"; @@ -4410,7 +4458,7 @@ const char* apzUltrix_ConstPatch[] = { * * Description of Ultrix_Const2 fix */ -#define ULTRIX_CONST2_FIXIDX 109 +#define ULTRIX_CONST2_FIXIDX 110 tSCC zUltrix_Const2Name[] = "ultrix_const2"; @@ -4447,7 +4495,7 @@ const char* apzUltrix_Const2Patch[] = { * * Description of Ultrix_Fix_Fixproto fix */ -#define ULTRIX_FIX_FIXPROTO_FIXIDX 110 +#define ULTRIX_FIX_FIXPROTO_FIXIDX 111 tSCC zUltrix_Fix_FixprotoName[] = "ultrix_fix_fixproto"; @@ -4485,7 +4533,7 @@ const char* apzUltrix_Fix_FixprotoPatch[] = { * * Description of Ultrix_Ifdef fix */ -#define ULTRIX_IFDEF_FIXIDX 111 +#define ULTRIX_IFDEF_FIXIDX 112 tSCC zUltrix_IfdefName[] = "ultrix_ifdef"; @@ -4521,7 +4569,7 @@ const char* apzUltrix_IfdefPatch[] = { * * Description of Ultrix_Math_Ifdef fix */ -#define ULTRIX_MATH_IFDEF_FIXIDX 112 +#define ULTRIX_MATH_IFDEF_FIXIDX 113 tSCC zUltrix_Math_IfdefName[] = "ultrix_math_ifdef"; @@ -4557,7 +4605,7 @@ const char* apzUltrix_Math_IfdefPatch[] = { * * Description of Ultrix_Nested_Ioctl fix */ -#define ULTRIX_NESTED_IOCTL_FIXIDX 113 +#define ULTRIX_NESTED_IOCTL_FIXIDX 114 tSCC zUltrix_Nested_IoctlName[] = "ultrix_nested_ioctl"; @@ -4592,7 +4640,7 @@ const char* apzUltrix_Nested_IoctlPatch[] = { "sed", * * Description of Ultrix_Nested_Svc fix */ -#define ULTRIX_NESTED_SVC_FIXIDX 114 +#define ULTRIX_NESTED_SVC_FIXIDX 115 tSCC zUltrix_Nested_SvcName[] = "ultrix_nested_svc"; @@ -4627,7 +4675,7 @@ const char* apzUltrix_Nested_SvcPatch[] = { "sed", * * Description of Ultrix_Stat fix */ -#define ULTRIX_STAT_FIXIDX 115 +#define ULTRIX_STAT_FIXIDX 116 tSCC zUltrix_StatName[] = "ultrix_stat"; @@ -4668,7 +4716,7 @@ const char* apzUltrix_StatPatch[] = { "sed", * * Description of Ultrix_Static fix */ -#define ULTRIX_STATIC_FIXIDX 116 +#define ULTRIX_STATIC_FIXIDX 117 tSCC zUltrix_StaticName[] = "ultrix_static"; @@ -4705,7 +4753,7 @@ const char* apzUltrix_StaticPatch[] = { "sed", * * Description of Ultrix_Strings fix */ -#define ULTRIX_STRINGS_FIXIDX 117 +#define ULTRIX_STRINGS_FIXIDX 118 tSCC zUltrix_StringsName[] = "ultrix_strings"; @@ -4740,7 +4788,7 @@ const char* apzUltrix_StringsPatch[] = { * * Description of Undefine_Null fix */ -#define UNDEFINE_NULL_FIXIDX 118 +#define UNDEFINE_NULL_FIXIDX 119 tSCC zUndefine_NullName[] = "undefine_null"; @@ -4786,7 +4834,7 @@ const char* apzUndefine_NullPatch[] = { * * Description of Unixware7_Byteorder_Fix fix */ -#define UNIXWARE7_BYTEORDER_FIX_FIXIDX 119 +#define UNIXWARE7_BYTEORDER_FIX_FIXIDX 120 tSCC zUnixware7_Byteorder_FixName[] = "unixware7_byteorder_fix"; @@ -4829,7 +4877,7 @@ const char* apzUnixware7_Byteorder_FixPatch[] = { "sed", * * Description of Va_I960_Macro fix */ -#define VA_I960_MACRO_FIXIDX 120 +#define VA_I960_MACRO_FIXIDX 121 tSCC zVa_I960_MacroName[] = "va_i960_macro"; @@ -4865,7 +4913,7 @@ const char* apzVa_I960_MacroPatch[] = { * * Description of Void_Null fix */ -#define VOID_NULL_FIXIDX 121 +#define VOID_NULL_FIXIDX 122 tSCC zVoid_NullName[] = "void_null"; @@ -4901,7 +4949,7 @@ const char* apzVoid_NullPatch[] = { * * Description of Vxworks_Gcc_Problem fix */ -#define VXWORKS_GCC_PROBLEM_FIXIDX 122 +#define VXWORKS_GCC_PROBLEM_FIXIDX 123 tSCC zVxworks_Gcc_ProblemName[] = "vxworks_gcc_problem"; @@ -4951,7 +4999,7 @@ const char* apzVxworks_Gcc_ProblemPatch[] = { "sed", * * Description of Vxworks_Needs_Vxtypes fix */ -#define VXWORKS_NEEDS_VXTYPES_FIXIDX 123 +#define VXWORKS_NEEDS_VXTYPES_FIXIDX 124 tSCC zVxworks_Needs_VxtypesName[] = "vxworks_needs_vxtypes"; @@ -4987,7 +5035,7 @@ const char* apzVxworks_Needs_VxtypesPatch[] = { * * Description of Vxworks_Needs_Vxworks fix */ -#define VXWORKS_NEEDS_VXWORKS_FIXIDX 124 +#define VXWORKS_NEEDS_VXWORKS_FIXIDX 125 tSCC zVxworks_Needs_VxworksName[] = "vxworks_needs_vxworks"; @@ -5036,7 +5084,7 @@ const char* apzVxworks_Needs_VxworksPatch[] = { "sed", * * Description of Vxworks_Time fix */ -#define VXWORKS_TIME_FIXIDX 125 +#define VXWORKS_TIME_FIXIDX 126 tSCC zVxworks_TimeName[] = "vxworks_time"; @@ -5087,7 +5135,7 @@ typedef void (*__gcc_VOIDFUNCPTR) ();\n\ * * Description of X11_Class fix */ -#define X11_CLASS_FIXIDX 126 +#define X11_CLASS_FIXIDX 127 tSCC zX11_ClassName[] = "x11_class"; @@ -5134,7 +5182,7 @@ const char* apzX11_ClassPatch[] = { * * Description of X11_Class_Usage fix */ -#define X11_CLASS_USAGE_FIXIDX 127 +#define X11_CLASS_USAGE_FIXIDX 128 tSCC zX11_Class_UsageName[] = "x11_class_usage"; @@ -5177,7 +5225,7 @@ const char* apzX11_Class_UsagePatch[] = { * * Description of X11_New fix */ -#define X11_NEW_FIXIDX 128 +#define X11_NEW_FIXIDX 129 tSCC zX11_NewName[] = "x11_new"; @@ -5218,7 +5266,7 @@ const char* apzX11_NewPatch[] = { "sed", * * Description of X11_Sprintf fix */ -#define X11_SPRINTF_FIXIDX 129 +#define X11_SPRINTF_FIXIDX 130 tSCC zX11_SprintfName[] = "x11_sprintf"; @@ -5257,9 +5305,9 @@ const char* apzX11_SprintfPatch[] = { * * List of all fixes */ -#define REGEX_COUNT 130 +#define REGEX_COUNT 132 #define MACH_LIST_SIZE_LIMIT 279 -#define FIX_COUNT 130 +#define FIX_COUNT 131 tFixDesc fixDescList[ FIX_COUNT ] = { { zAaa_Ki_IfaceName, zAaa_Ki_IfaceList, @@ -5532,6 +5580,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aKandr_ConcatTests, apzKandr_ConcatPatch }, + { zLibc1_Ifdefd_MemxName, zLibc1_Ifdefd_MemxList, + apzLibc1_Ifdefd_MemxMachs, + LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aLibc1_Ifdefd_MemxTests, apzLibc1_Ifdefd_MemxPatch }, + { zLimits_IfndefsName, zLimits_IfndefsList, apzLimits_IfndefsMachs, LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def index 7ede690..53e3f88 100644 --- a/gcc/fixinc/inclhack.def +++ b/gcc/fixinc/inclhack.def @@ -1294,6 +1294,37 @@ fix = { }; +/* GNU libc1 string.h does not prototype memcpy and memcmp for gcc + versions > 1. That's a problem. This fix will expose the prototype + for C++. */ +fix = { + hackname = libc1_ifdefd_memx; + + /* The string.h result is overwritten by AAB_ultrix_string when doing + "make check" and will fail. Therefore, we add the following kludgery + to insert the test_text into the special testing header. :-} */ + files = testing.h; + files = string.h; + + c_fix = format; + select = "' is a built-in function for gcc 2\\.x\\. \\*/"; + bypass = __cplusplus; + c_fix_arg = "%1 || defined(__cplusplus)\n%2"; + c_fix_arg = "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n" + "(#if defined\\(__STDC__\\) && __GNUC__ < 2)\n" + "(/\\* .* \\*/\n" + "extern [a-z_]+ mem)"; + + test_text = + "/* \\`memcpy' is a built-in function for gcc 2.x. */\n" + "#if defined(__STDC__) && __GNUC__ < 2\n" + "/* Copy N bytes of SRC to DEST. */\n" + "extern __ptr_t memcpy __P ((__ptr_t __dest, __const __ptr_t __src,\n" + " size_t __n));\n" + "#endif"; +}; + + /* * In limits.h, put #ifndefs around things that are supposed to be defined * in float.h to avoid redefinition errors if float.h is included first. diff --git a/gcc/fixinc/tests/base/testing.h b/gcc/fixinc/tests/base/testing.h index 06dffa9..c979414 100644 --- a/gcc/fixinc/tests/base/testing.h +++ b/gcc/fixinc/tests/base/testing.h @@ -22,6 +22,15 @@ BSD43__IOWR('T', 1) /* Some are multi-line */ #endif /* IO_QUOTES_USE_CHECK */ +#if defined( LIBC1_IFDEFD_MEMX_CHECK ) +#if defined(__STDC__) && __GNUC__ < 2 || defined(__cplusplus) +/* Copy N bytes of SRC to DEST. */ +extern __ptr_t memcpy __P ((__ptr_t __dest, __const __ptr_t __src, + size_t __n)); +#endif +#endif /* LIBC1_IFDEFD_MEMX_CHECK */ + + #if defined( MACHINE_NAME_CHECK ) /* MACH_DIFF: */ #if defined( __i386__ ) || defined( sparc ) || defined( vax ) |