From ea50312b840b12a27737cc6ee59c93ec5b3a69c6 Mon Sep 17 00:00:00 2001 From: Vasileios Kalintiris Date: Thu, 12 Feb 2015 11:36:56 +0000 Subject: [PATCH] [mips] Partially revert r223927: Removing __SIZEOF_INT128__ macro for MIPS64 Partially revert r223927 because LLVM gained support for 128-bit integers in r227089. Modify and keep the tests that verify the definition of the macro __SIZEOF_INT128__ for MIPS64 BE & LE in the preprocessor. llvm-svn: 228918 --- clang/lib/Frontend/InitPreprocessor.cpp | 7 +------ clang/test/Preprocessor/init.c | 4 ++-- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 896277aa545d..bc6dcee37c18 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -662,12 +662,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI, TI.getTypeWidth(TI.getWCharType()), TI, Builder); DefineTypeSizeof("__SIZEOF_WINT_T__", TI.getTypeWidth(TI.getWIntType()), TI, Builder); - // This is a temporary workaround while MIPS64 has not yet fully supported - // 128-bit integers. But declaration of int128 type is necessary even though - // __SIZEOF_INT128__ is undefined because c++ standard header files like - // limits throw error message if __int128 is not available. - if (TI.hasInt128Type() && !(TI.getTriple().getArch() == llvm::Triple::mips64el - || TI.getTriple().getArch() == llvm::Triple::mips64)) + if (TI.hasInt128Type()) DefineTypeSizeof("__SIZEOF_INT128__", 128, TI, Builder); DefineType("__INTMAX_TYPE__", TI.getIntMaxType(), Builder); diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c index 416e2c82c8e5..41fe812ff326 100644 --- a/clang/test/Preprocessor/init.c +++ b/clang/test/Preprocessor/init.c @@ -3958,7 +3958,7 @@ // MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32 // MIPS64BE:#define __SIZEOF_DOUBLE__ 8 // MIPS64BE:#define __SIZEOF_FLOAT__ 4 -// MIPS64BE-NOT:#define __SIZEOF_INT128__ 16 +// MIPS64BE:#define __SIZEOF_INT128__ 16 // MIPS64BE:#define __SIZEOF_INT__ 4 // MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16 // MIPS64BE:#define __SIZEOF_LONG_LONG__ 8 @@ -4167,7 +4167,7 @@ // MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32 // MIPS64EL:#define __SIZEOF_DOUBLE__ 8 // MIPS64EL:#define __SIZEOF_FLOAT__ 4 -// MIPS64EL-NOT:#define __SIZEOF_INT128__ 16 +// MIPS64EL:#define __SIZEOF_INT128__ 16 // MIPS64EL:#define __SIZEOF_INT__ 4 // MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16 // MIPS64EL:#define __SIZEOF_LONG_LONG__ 8