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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17135 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Misha Brukman 2004-10-18 22:14:48 +00:00
parent eaa13851a7
commit e42aeece6c
2 changed files with 31 additions and 10 deletions

View File

@ -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

View File

@ -0,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 */