aix: apply socket.h extern "C++" more narrowly.
Recent Technology Levels of AIX 7.2 have made sys/socket.h more C++-aware, which causes the fix to be applied in too many locations. This patch adds more context for the selection to apply the fix more narrowly. fixincludes/ChangeLog: 2020-09-17 David Edelsohn <dje.gcc@gmail.com> * inclhack.def (aix_externcpp1): Add more context to select. (aix_externcpp2): Same. * fixincl.x: Regenerate. * tests/base/sys/socket.h: Update expected results.
This commit is contained in:
parent
b28b621ac6
commit
21fdebc519
3 changed files with 24 additions and 14 deletions
|
@ -2,11 +2,11 @@
|
|||
*
|
||||
* DO NOT EDIT THIS FILE (fixincl.x)
|
||||
*
|
||||
* It has been AutoGen-ed January 25, 2020 at 12:15:43 PM by AutoGen 5.18.16
|
||||
* It has been AutoGen-ed September 16, 2020 at 06:34:57 PM by AutoGen 5.18
|
||||
* From the definitions inclhack.def
|
||||
* and the template file fixincl
|
||||
*/
|
||||
/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Jan 25 12:15:43 EST 2020
|
||||
/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Sep 16 18:34:57 UTC 2020
|
||||
*
|
||||
* You must regenerate it. Use the ./genfixes script.
|
||||
*
|
||||
|
@ -826,7 +826,8 @@ tSCC* apzAix_Externcpp1Machs[] = {
|
|||
* content selection pattern - do fix if pattern found
|
||||
*/
|
||||
tSCC zAix_Externcpp1Select0[] =
|
||||
"#ifdef __cplusplus";
|
||||
"#ifndef _KERNEL\n\
|
||||
#ifdef __cplusplus";
|
||||
|
||||
#define AIX_EXTERNCPP1_TEST_CT 1
|
||||
static tTestDesc aAix_Externcpp1Tests[] = {
|
||||
|
@ -837,7 +838,8 @@ static tTestDesc aAix_Externcpp1Tests[] = {
|
|||
*/
|
||||
static const char* apzAix_Externcpp1Patch[] = {
|
||||
"format",
|
||||
"#ifdef __cplusplus\n\
|
||||
"#ifndef _KERNEL\n\
|
||||
#ifdef __cplusplus\n\
|
||||
extern \"C++\" {",
|
||||
(char*)NULL };
|
||||
|
||||
|
@ -864,7 +866,8 @@ tSCC* apzAix_Externcpp2Machs[] = {
|
|||
* content selection pattern - do fix if pattern found
|
||||
*/
|
||||
tSCC zAix_Externcpp2Select0[] =
|
||||
"#else /\\* __cplusplus \\*/";
|
||||
"#endif /\\* COMPAT_43 \\*/\n\
|
||||
#else /\\* __cplusplus \\*/";
|
||||
|
||||
#define AIX_EXTERNCPP2_TEST_CT 1
|
||||
static tTestDesc aAix_Externcpp2Tests[] = {
|
||||
|
@ -875,7 +878,8 @@ static tTestDesc aAix_Externcpp2Tests[] = {
|
|||
*/
|
||||
static const char* apzAix_Externcpp2Patch[] = {
|
||||
"format",
|
||||
"} /* extern \"C++\" */\n\
|
||||
"#endif /* COMPAT_43 */\n\
|
||||
} /* extern \"C++\" */\n\
|
||||
#else /* __cplusplus */",
|
||||
(char*)NULL };
|
||||
|
||||
|
|
|
@ -553,24 +553,28 @@ fix = {
|
|||
hackname = aix_externcpp1;
|
||||
mach = "*-*-aix*";
|
||||
files = "sys/socket.h";
|
||||
select = "#ifdef __cplusplus";
|
||||
select = "#ifndef _KERNEL\n"
|
||||
"#ifdef __cplusplus";
|
||||
c_fix = format;
|
||||
c_fix_arg = "#ifdef __cplusplus\n"
|
||||
c_fix_arg = "#ifndef _KERNEL\n"
|
||||
"#ifdef __cplusplus\n"
|
||||
"extern \"C++\" {";
|
||||
test_text = "#ifdef __cplusplus";
|
||||
|
||||
test_text = "#ifndef _KERNEL\n"
|
||||
"#ifdef __cplusplus";
|
||||
};
|
||||
|
||||
fix = {
|
||||
hackname = aix_externcpp2;
|
||||
mach = "*-*-aix*";
|
||||
files = "sys/socket.h";
|
||||
select = "#else /\\* __cplusplus \\*/";
|
||||
select = "#endif /\\* COMPAT_43 \\*/\n"
|
||||
"#else /\\* __cplusplus \\*/";
|
||||
c_fix = format;
|
||||
c_fix_arg = "} /* extern \"C++\" */\n"
|
||||
c_fix_arg = "#endif /* COMPAT_43 */\n"
|
||||
"} /* extern \"C++\" */\n"
|
||||
"#else /* __cplusplus */";
|
||||
test_text = "#else /* __cplusplus */";
|
||||
|
||||
test_text = "#endif /* COMPAT_43 */\n"
|
||||
"#else /* __cplusplus */";
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -10,12 +10,14 @@
|
|||
|
||||
|
||||
#if defined( AIX_EXTERNCPP1_CHECK )
|
||||
#ifndef _KERNEL
|
||||
#ifdef __cplusplus
|
||||
extern "C++" {
|
||||
#endif /* AIX_EXTERNCPP1_CHECK */
|
||||
|
||||
|
||||
#if defined( AIX_EXTERNCPP2_CHECK )
|
||||
#endif /* COMPAT_43 */
|
||||
} /* extern "C++" */
|
||||
#else /* __cplusplus */
|
||||
#endif /* AIX_EXTERNCPP2_CHECK */
|
||||
|
|
Loading…
Add table
Reference in a new issue