aboutsummaryrefslogtreecommitdiff
path: root/gcc/fixinc
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2000-07-10 22:37:54 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2000-07-10 22:37:54 +0000
commit62a37b6f4d5414c26ff36ca46716ee33496fd9db (patch)
tree4d245946f489a5ad590f9f3a001f430f1835c1a9 /gcc/fixinc
parentad66df7aa0d0d71c20d634b92b1c0e4c04640351 (diff)
downloadgcc-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.x211
-rw-r--r--gcc/fixinc/inclhack.def31
-rw-r--r--gcc/fixinc/tests/base/testing.h9
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 )