diff options
author | Eric Fiselier <eric@efcs.ca> | 2016-10-10 05:34:18 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2016-10-10 05:34:18 +0000 |
commit | ac473034fc771e5f1b4ef0ac405df70ed27412a1 (patch) | |
tree | 3c72903aff8bd88673908c72f65c0e677da64117 /libcxx/test | |
parent | 99b81a59fb7c9e7dfb7b68d86c4215835ff649b1 (diff) | |
download | bcm5719-llvm-ac473034fc771e5f1b4ef0ac405df70ed27412a1.tar.gz bcm5719-llvm-ac473034fc771e5f1b4ef0ac405df70ed27412a1.zip |
Provide a constexpr addressof with GCC 7.
__builtin_addressof was added to the GCC trunk in the past week. This patch
teaches libc++ about it so it can correctly provide constexpr addressof.
Unfortunately this patch will break users of earlier GCC 7 builds, since
we expect __builtin_addressof but one won't be provided. One option would be
to only use __builtin_addressof for GCC 7.1 and above, but that means
waiting for another release.
Instead I've specifically chosen to break older GCC 7 versions. Since GCC 7
has yet to be released, and the 7.0 release is a development release, I
believe that anybody currently using GCC 7.0 will have no issue upgrading.
llvm-svn: 283715
Diffstat (limited to 'libcxx/test')
-rw-r--r-- | libcxx/test/libcxx/test/config.py | 1 | ||||
-rw-r--r-- | libcxx/test/std/utilities/memory/specialized.algorithms/specialized.addressof/constexpr_addressof.pass.cpp | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/libcxx/test/libcxx/test/config.py b/libcxx/test/libcxx/test/config.py index 9812e358b65..b05029d969a 100644 --- a/libcxx/test/libcxx/test/config.py +++ b/libcxx/test/libcxx/test/config.py @@ -179,6 +179,7 @@ class Configuration(object): assert self.cxx.version is not None maj_v, min_v, _ = self.cxx.version self.config.available_features.add(cxx_type) + self.config.available_features.add('%s-%s' % (cxx_type, maj_v)) self.config.available_features.add('%s-%s.%s' % ( cxx_type, maj_v, min_v)) diff --git a/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.addressof/constexpr_addressof.pass.cpp b/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.addressof/constexpr_addressof.pass.cpp index a371f8eda1a..41f06c51960 100644 --- a/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.addressof/constexpr_addressof.pass.cpp +++ b/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.addressof/constexpr_addressof.pass.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // UNSUPPORTED: c++98, c++03, c++11, c++14 -// XFAIL: gcc +// XFAIL: gcc-4, gcc-5, gcc-6 // <memory> |