*
* DO NOT EDIT THIS FILE (fixincl.x)
*
- * It has been AutoGen-ed November 7, 2011 at 01:16:39 PM by AutoGen 5.10
+ * It has been AutoGen-ed January 9, 2012 at 11:55:38 PM by AutoGen 5.12
* From the definitions inclhack.def
* and the template file fixincl
*/
-/* DO NOT SVN-MERGE THIS FILE, EITHER Mon Nov 7 13:16:39 EST 2011
+/* DO NOT SVN-MERGE THIS FILE, EITHER Mon Jan 9 23:55:38 CET 2012
*
* You must regenerate it. Use the ./genfixes script.
*
* certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search.
*
- * This file contains 222 fixup descriptions.
+ * This file contains 223 fixup descriptions.
*
* See README for more information.
*
int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
(char*)NULL };
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Cdef_Cplusplus fix
+ */
+tSCC zCdef_CplusplusName[] =
+ "cdef_cplusplus";
+
+/*
+ * File name selection pattern
+ */
+tSCC zCdef_CplusplusList[] =
+ "sys/cdefs.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzCdef_CplusplusMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zCdef_CplusplusSelect0[] =
+ "\\[\\[noreturn\\]\\]";
+
+#define CDEF_CPLUSPLUS_TEST_CT 1
+static tTestDesc aCdef_CplusplusTests[] = {
+ { TT_EGREP, zCdef_CplusplusSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Cdef_Cplusplus
+ */
+static const char* apzCdef_CplusplusPatch[] = {
+ "format",
+ "__attribute__((__noreturn__))",
+ (char*)NULL };
+
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Ctrl_Quotes_Def fix
*
* List of all fixes
*/
-#define REGEX_COUNT 264
+#define REGEX_COUNT 265
#define MACH_LIST_SIZE_LIMIT 181
-#define FIX_COUNT 222
+#define FIX_COUNT 223
/*
* Enumerate the fixes
BROKEN_CABS_FIXIDX,
BROKEN_NAN_FIXIDX,
BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
+ CDEF_CPLUSPLUS_FIXIDX,
CTRL_QUOTES_DEF_FIXIDX,
CTRL_QUOTES_USE_FIXIDX,
CXX_UNREADY_FIXIDX,
BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aBsd_Stdio_Attrs_ConflictTests, apzBsd_Stdio_Attrs_ConflictPatch, 0 },
+ { zCdef_CplusplusName, zCdef_CplusplusList,
+ apzCdef_CplusplusMachs,
+ CDEF_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aCdef_CplusplusTests, apzCdef_CplusplusPatch, 0 },
+
{ zCtrl_Quotes_DefName, zCtrl_Quotes_DefList,
apzCtrl_Quotes_DefMachs,
CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
test_text = '#define vfscanf __svfscanf';
};
+/*
+ * 'g++ -std=c++11' defines __cplusplus to 201103L, which suggests
+ * that it conforms to ISO/IEC 14882:2011. Until G++ fully conforms,
+ * it should not set __cplusplus to that value. It currently does
+ * not support the [[noreturn]] procedure attribute.
+ * When it does, this hack should be removed.
+ * SEE: gcc.gnu.org/bugzilla/show_bug.cgi?id=51776
+ */
+fix = {
+ hackname = cdef_cplusplus;
+ files = sys/cdefs.h;
+ select = '\[\[noreturn\]\]';
+ c_fix = format;
+ c_fix_arg = '__attribute__((__noreturn__))';
+ test_text = "#define _Noreturn [[noreturn]]";
+};
/*
* Fix various macros used to define ioctl numbers.