From: Misha Brukman Date: Tue, 26 Oct 2004 16:15:18 +0000 (+0000) Subject: * DataTypesFix.h moved to AIXDataTypesFix.h X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e757752e39a9584ee6fb4017db7bef58cfd7e8f1;p=oota-llvm.git * DataTypesFix.h moved to AIXDataTypesFix.h * Condition #inclusion of AIXDataTypes.h on the _AIX preprocessor symbol to prevent extra I/O on non-AIX systems. Thus, no #ifdef in AIXDataTypes.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17257 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Support/AIXDataTypesFix.h b/include/llvm/Support/AIXDataTypesFix.h new file mode 100644 index 00000000000..36b4488841e --- /dev/null +++ b/include/llvm/Support/AIXDataTypesFix.h @@ -0,0 +1,25 @@ +//===-- include/Support/AIXDataTypesFix.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 +// +//===----------------------------------------------------------------------===// + +// No include guards desired! + +#ifndef SUPPORT_DATATYPES_H +#error "AIXDataTypesFix.h must only be included via DataTypes.h!" +#endif + +// GCC is strict about defining large constants: they must have LL modifier. +// These will be defined properly at the end of DataTypes.h +#undef INT64_MAX +#undef INT64_MIN diff --git a/include/llvm/Support/DataTypes.h.in b/include/llvm/Support/DataTypes.h.in index f5467b2220f..4fc2d079ae4 100644 --- a/include/llvm/Support/DataTypes.h.in +++ b/include/llvm/Support/DataTypes.h.in @@ -49,8 +49,9 @@ #include #endif -// Fix AIX definitions of INT64_{MIN,MAX} -#include "llvm/Support/DataTypesFix.h" +#ifdef _AIX +#include "llvm/Support/AIXDataTypesFix.h" +#endif // Handle incorrect definition of uint64_t as u_int64_t #ifndef HAVE_UINT64_T diff --git a/include/llvm/Support/DataTypesFix.h b/include/llvm/Support/DataTypesFix.h deleted file mode 100644 index c73998d1d3f..00000000000 --- a/include/llvm/Support/DataTypesFix.h +++ /dev/null @@ -1,29 +0,0 @@ -//===-- 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 */