[llvm-commits] CVS: llvm/include/llvm/Support/DataTypesFix.h DataTypes.h.in

Misha Brukman brukman at cs.uiuc.edu
Mon Oct 18 15:14:58 PDT 2004



Changes in directory llvm/include/llvm/Support:

DataTypesFix.h added (r1.1)
DataTypes.h.in updated: 1.12 -> 1.13
---
Log message:

Move code to redefine INT64_{MIN,MAX} on AIX/PowerPC to a separate header,
because #undef becomes commented out in DataTypes.h.in due to autoheader


---
Diffs of the changes:  (+31 -10)

Index: llvm/include/llvm/Support/DataTypesFix.h
diff -c /dev/null llvm/include/llvm/Support/DataTypesFix.h:1.1
*** /dev/null	Mon Oct 18 17:14:58 2004
--- llvm/include/llvm/Support/DataTypesFix.h	Mon Oct 18 17:14:48 2004
***************
*** 0 ****
--- 1,29 ----
+ //===-- include/Support/DataTypesFix.h - Fix datatype defs ------*- C++ -*-===//
+ // 
+ //                     The LLVM Compiler Infrastructure
+ //
+ // This file was developed by the LLVM research group and is distributed under
+ // the University of Illinois Open Source License. See LICENSE.TXT for details.
+ // 
+ //===----------------------------------------------------------------------===//
+ //
+ // This file overrides default system-defined types and limits which cannot be
+ // done in DataTypes.h.in because it is processed by autoheader first, which
+ // comments out any #undef statement
+ //
+ //===----------------------------------------------------------------------===//
+ 
+ #ifndef SUPPORT_DATATYPESFIX_H
+ #define SUPPORT_DATATYPESFIX_H
+ 
+ #include "llvm/Config/config.h"
+ 
+ #if defined(_POWER) && defined(_AIX)
+ // GCC is strict about defining large constants: they must have LL modifier.
+ #undef INT64_MAX
+ #define INT64_MAX 9223372036854775807LL
+ #undef INT64_MIN
+ #define INT64_MIN (-INT64_MAX-1) 
+ #endif
+ 
+ #endif  /* SUPPORT_DATATYPESFIX_H */


Index: llvm/include/llvm/Support/DataTypes.h.in
diff -u llvm/include/llvm/Support/DataTypes.h.in:1.12 llvm/include/llvm/Support/DataTypes.h.in:1.13
--- llvm/include/llvm/Support/DataTypes.h.in:1.12	Mon Oct 18 13:35:21 2004
+++ llvm/include/llvm/Support/DataTypes.h.in	Mon Oct 18 17:14:48 2004
@@ -49,16 +49,8 @@
 #include <stdint.h>
 #endif
 
-#if defined(_POWER) && defined(_AIX)
-// GCC is strict about defining large constants: they must have LL modifier.
-// We will catch INT64_MAX in the default case below.
-#undef INT64_MAX
-// AIX #defines INT64_MIN as (-INT64_MAX-1), or -9223372036854775808 which GCC
-// complains about as `integer constant is so large that it is unsigned', so
-// set INT64_MIN to be one above that:
-#undef INT64_MIN
-#define INT64_MIN -9223372036854775807LL
-#endif
+// Fix AIX definitions of INT64_{MIN,MAX}
+#include "llvm/Support/DataTypesFix.h"
 
 // Handle incorrect definition of uint64_t as u_int64_t
 #ifndef HAVE_UINT64_T






More information about the llvm-commits mailing list