From 57d7d3f2d76d8d042faa95d82374b0c24cfce35f Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 11 Dec 2007 00:28:59 +0000 Subject: [PATCH] Move TargetData::hostIsLittleEndian out of line, which means we don't have to #include config.h in it. #including config.h breaks other projects that have their own autoconf stuff and try to #include the llvm headers. One obscure example is llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44825 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetData.h | 11 ++--------- lib/Target/TargetData.cpp | 9 +++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/include/llvm/Target/TargetData.h b/include/llvm/Target/TargetData.h index fd52ef380ab..fcc57a1b2a2 100644 --- a/include/llvm/Target/TargetData.h +++ b/include/llvm/Target/TargetData.h @@ -23,7 +23,6 @@ #include "llvm/Pass.h" #include "llvm/Support/DataTypes.h" #include "llvm/ADT/SmallVector.h" -#include "llvm/Config/config.h" #include namespace llvm { @@ -143,14 +142,8 @@ public: bool isLittleEndian() const { return LittleEndian; } bool isBigEndian() const { return !LittleEndian; } - /// Host endianness... - bool hostIsLittleEndian() const { -#ifdef LSB_FIRST - return true; -#else - return false; -#endif - } + /// Host endianness. + bool hostIsLittleEndian() const; bool hostIsBigEndian() const { return !hostIsLittleEndian(); } /// getStringRepresentation - Return the string representation of the diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp index 8c466543fac..49298054735 100644 --- a/lib/Target/TargetData.cpp +++ b/lib/Target/TargetData.cpp @@ -25,6 +25,7 @@ #include "llvm/Support/ManagedStatic.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/StringExtras.h" +#include "llvm/Config/config.h" #include #include #include @@ -132,6 +133,14 @@ const TargetAlignElem TargetData::InvalidAlignmentElem = // TargetData Class Implementation //===----------------------------------------------------------------------===// +bool TargetData::hostIsLittleEndian() const { +#ifdef LSB_FIRST + return true; +#else + return false; +#endif +} + /*! A TargetDescription string consists of a sequence of hyphen-delimited specifiers for target endianness, pointer size and alignments, and various