diff options
author | Hal Finkel <hfinkel@anl.gov> | 2012-03-02 20:54:36 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2012-03-02 20:54:36 +0000 |
commit | 178a9b8b22cb77b4291bf076c0cd8d6561c7e711 (patch) | |
tree | 05659558a3e8c00da02f9b89293cb024398a93c5 | |
parent | 7d613bf78325695b16aa82c139dcc1d598c0f7aa (diff) |
Fix an ABI problem with ptrdiff_t and intptr_t on PPC32
ptrdiff_t on PPC32 on Linux, etc. should be int not long.
This does not matter for C, but it does matter for C++ because of
name mangling.
The preprocessor test has been changed accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151935 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Basic/Targets.cpp | 2 | ||||
-rw-r--r-- | test/Preprocessor/init.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index ac8c355707..a7c4f225c3 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -865,6 +865,8 @@ public: case llvm::Triple::FreeBSD: case llvm::Triple::NetBSD: SizeType = UnsignedInt; + PtrDiffType = SignedInt; + IntPtrType = SignedInt; break; default: break; diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c index aff8c62092..a43d1765a7 100644 --- a/test/Preprocessor/init.c +++ b/test/Preprocessor/init.c @@ -852,7 +852,7 @@ // PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL // PPC-LINUX:#define __INTMAX_TYPE__ long long int // PPC-LINUX:#define __INTMAX_WIDTH__ 64 -// PPC-LINUX:#define __INTPTR_TYPE__ long int +// PPC-LINUX:#define __INTPTR_TYPE__ int // PPC-LINUX:#define __INTPTR_WIDTH__ 32 // PPC-LINUX:#define __INT_MAX__ 2147483647 // PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L @@ -875,7 +875,7 @@ // PPC-LINUX:#define __NO_INLINE__ 1 // PPC-LINUX:#define __POINTER_WIDTH__ 32 // PPC-LINUX:#define __POWERPC__ 1 -// PPC-LINUX:#define __PTRDIFF_TYPE__ long int +// PPC-LINUX:#define __PTRDIFF_TYPE__ int // PPC-LINUX:#define __PTRDIFF_WIDTH__ 32 // PPC-LINUX:#define __REGISTER_PREFIX__ // PPC-LINUX:#define __SCHAR_MAX__ 127 |