[PATCH] Tame a few enum size tests when using -fshort-enums on ARM.

Jon Roelofs jonathan at codesourcery.com
Tue Aug 12 09:54:36 PDT 2014


Hi mclow.lists,

http://reviews.llvm.org/D4869

Files:
  libcxx/test/utilities/meta/meta.trans/meta.trans.sign/make_signed.pass.cpp
  libcxx/test/utilities/meta/meta.trans/meta.trans.sign/make_unsigned.pass.cpp

Index: libcxx/test/utilities/meta/meta.trans/meta.trans.sign/make_signed.pass.cpp
===================================================================
--- libcxx/test/utilities/meta/meta.trans/meta.trans.sign/make_signed.pass.cpp
+++ libcxx/test/utilities/meta/meta.trans/meta.trans.sign/make_signed.pass.cpp
@@ -52,7 +52,11 @@
     test_make_signed< unsigned long long, signed long long >();
     test_make_signed< wchar_t, std::conditional<sizeof(wchar_t) == 4, int, short>::type >();
     test_make_signed< const wchar_t, std::conditional<sizeof(wchar_t) == 4, const int, const short>::type >();
+#if defined(__ARM_SIZEOF_MINIMAL_ENUM) && __ARM_SIZEOF_MINIMAL_ENUM == 1
+    test_make_signed< const Enum, const signed char >();
+#else
     test_make_signed< const Enum, const int >();
+#endif
     test_make_signed< BigEnum, std::conditional<sizeof(long) == 4, long long, long>::type >();
 #ifndef _LIBCPP_HAS_NO_INT128
     test_make_signed< __int128_t, __int128_t >();
Index: libcxx/test/utilities/meta/meta.trans/meta.trans.sign/make_unsigned.pass.cpp
===================================================================
--- libcxx/test/utilities/meta/meta.trans/meta.trans.sign/make_unsigned.pass.cpp
+++ libcxx/test/utilities/meta/meta.trans/meta.trans.sign/make_unsigned.pass.cpp
@@ -52,7 +52,11 @@
     test_make_unsigned<unsigned long long, unsigned long long> ();
     test_make_unsigned<wchar_t, std::conditional<sizeof(wchar_t) == 4, unsigned int, unsigned short>::type> ();
     test_make_unsigned<const wchar_t, std::conditional<sizeof(wchar_t) == 4, const unsigned int, const unsigned short>::type> ();
+#if defined(__ARM_SIZEOF_MINIMAL_ENUM) && __ARM_SIZEOF_MINIMAL_ENUM == 1
+    test_make_unsigned<const Enum, const unsigned char> ();
+#else
     test_make_unsigned<const Enum, const unsigned int> ();
+#endif
     test_make_unsigned<BigEnum,
                    std::conditional<sizeof(long) == 4, unsigned long long, unsigned long>::type> ();
 #ifndef _LIBCPP_HAS_NO_INT128
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4869.12402.patch
Type: text/x-patch
Size: 1994 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140812/388b45f8/attachment.bin>


More information about the cfe-commits mailing list