]> granicus.if.org Git - clang/commitdiff
[mips] Partially revert r223927: Removing __SIZEOF_INT128__ macro for MIPS64
authorVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>
Thu, 12 Feb 2015 11:36:56 +0000 (11:36 +0000)
committerVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>
Thu, 12 Feb 2015 11:36:56 +0000 (11:36 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@228918 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/InitPreprocessor.cpp
test/Preprocessor/init.c

index 896277aa545d763baecc200efbf478b84c90d8c5..bc6dcee37c18d9446dc6fd803257b7839de92e47 100644 (file)
@@ -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);
index 416e2c82c8e5789721a382d41cccf37451b461f2..41fe812ff326b99d615cb264f704bcd082941d41 100644 (file)
 // 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
 // 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