[llvm-commits] CVS: llvm-gcc/gcc/fixinc/fixincl.x inclhack.def
John Criswell
criswell at cs.uiuc.edu
Wed Aug 4 14:07:05 PDT 2004
Changes in directory llvm-gcc/gcc/fixinc:
fixincl.x updated: 1.3 -> 1.4
inclhack.def updated: 1.3 -> 1.4
---
Log message:
Added the llvm_inline_asm_linux_htonl hack for Fedora Core 1.
Basically, the Linux header file for htonl() changed the #include guards
so that the __GNUC__ macro checks are now two distinct checks.
---
Diffs of the changes: (+65 -5)
Index: llvm-gcc/gcc/fixinc/fixincl.x
diff -u llvm-gcc/gcc/fixinc/fixincl.x:1.3 llvm-gcc/gcc/fixinc/fixincl.x:1.4
--- llvm-gcc/gcc/fixinc/fixincl.x:1.3 Thu Feb 5 10:05:47 2004
+++ llvm-gcc/gcc/fixinc/fixincl.x Wed Aug 4 16:06:55 2004
@@ -2,11 +2,11 @@
*
* DO NOT EDIT THIS FILE (fixincl.x)
*
- * It has been AutoGen-ed Friday August 29, 2003 at 01:36:38 PM EDT
+ * It has been AutoGen-ed Wednesday August 4, 2004 at 03:55:34 PM CDT
* From the definitions inclhack.def
* and the template file fixincl
*/
-/* DO NOT CVS-MERGE THIS FILE, EITHER Fri Aug 29 13:36:38 EDT 2003
+/* DO NOT CVS-MERGE THIS FILE, EITHER Wed Aug 4 15:55:34 CDT 2004
*
* You must regenerate it. Use the ./genfixes script.
*
@@ -15,7 +15,7 @@
* 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 159 fixup descriptions.
+ * This file contains 160 fixup descriptions.
*
* See README for more information.
*
@@ -80,6 +80,44 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Llvm_Inline_Asm_Linux_Htonl fix
+ */
+tSCC zLlvm_Inline_Asm_Linux_HtonlName[] =
+ "llvm_inline_asm_linux_htonl";
+
+/*
+ * File name selection pattern
+ */
+tSCC zLlvm_Inline_Asm_Linux_HtonlList[] =
+ "|bits/byteswap.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzLlvm_Inline_Asm_Linux_HtonlMachs[] = {
+ "i[34567]86-*-linux*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zLlvm_Inline_Asm_Linux_HtonlSelect0[] =
+ "^# if __GNUC__ >= 2";
+
+#define LLVM_INLINE_ASM_LINUX_HTONL_TEST_CT 1
+static tTestDesc aLlvm_Inline_Asm_Linux_HtonlTests[] = {
+ { TT_EGREP, zLlvm_Inline_Asm_Linux_HtonlSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Llvm_Inline_Asm_Linux_Htonl
+ */
+static const char* apzLlvm_Inline_Asm_Linux_HtonlPatch[] = {
+ "format",
+ "%0 && !defined __NO_MATH_INLINES",
+ "^# if __GNUC__ >= 2$",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
*/
tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
@@ -6307,15 +6345,16 @@
*
* List of all fixes
*/
-#define REGEX_COUNT 179
+#define REGEX_COUNT 180
#define MACH_LIST_SIZE_LIMIT 261
-#define FIX_COUNT 159
+#define FIX_COUNT 160
/*
* Enumerate the fixes
*/
typedef enum {
LLVM_INLINE_ASM_LINUX_FIXIDX,
+ LLVM_INLINE_ASM_LINUX_HTONL_FIXIDX,
AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
@@ -6482,6 +6521,11 @@
LLVM_INLINE_ASM_LINUX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aLlvm_Inline_Asm_LinuxTests, apzLlvm_Inline_Asm_LinuxPatch, 0 },
+ { zLlvm_Inline_Asm_Linux_HtonlName, zLlvm_Inline_Asm_Linux_HtonlList,
+ apzLlvm_Inline_Asm_Linux_HtonlMachs,
+ LLVM_INLINE_ASM_LINUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aLlvm_Inline_Asm_Linux_HtonlTests, apzLlvm_Inline_Asm_Linux_HtonlPatch, 0 },
+
{ zAab_Fd_Zero_Asm_Posix_Types_HName, zAab_Fd_Zero_Asm_Posix_Types_HList,
apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
Index: llvm-gcc/gcc/fixinc/inclhack.def
diff -u llvm-gcc/gcc/fixinc/inclhack.def:1.3 llvm-gcc/gcc/fixinc/inclhack.def:1.4
--- llvm-gcc/gcc/fixinc/inclhack.def:1.3 Thu Feb 5 10:05:47 2004
+++ llvm-gcc/gcc/fixinc/inclhack.def Wed Aug 4 16:06:55 2004
@@ -38,6 +38,22 @@
};
/*
+ * This fixes the Fedora Core 1 ntohl inline assembly on i386.
+ */
+fix = {
+ hackname = llvm_inline_asm_linux_htonl;
+ files = "bits/byteswap.h";
+ mach = 'i[34567]86-*-linux*';
+ select = "^# if __GNUC__ >= 2";
+
+ c_fix = format;
+ c_fix_arg = "%0 && !defined __NO_MATH_INLINES";
+ c_fix_arg = "^# if __GNUC__ >= 2$";
+
+ test_text = "# if __GNUC__ >= 2";
+};
+
+/*
* This fixes __FD_ZERO bug for linux 2.x.y (x <= 2 && y <= some n)
*/
fix = {
More information about the llvm-commits
mailing list