[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