aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-10-04 22:23:07 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-10-04 22:23:07 +0000
commitc339393067438596599b142a8950f0e8694e2f1a (patch)
tree3930fc49dd06456fe81bc93c1a896f27886cbec9
parentd1a55a6631b11b6c5364772023451c547eafedee (diff)
libstdc++-4.6 needs the same common_type fix as libstdc++-4.7. Other than that,
Clang can now cope with its eccentricities in C++11 mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165265 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--www/cxx_status.html3
-rw-r--r--www/libstdc++4.6-clang11.patch11
2 files changed, 13 insertions, 1 deletions
diff --git a/www/cxx_status.html b/www/cxx_status.html
index 8e143f6b00..dbf5797c05 100644
--- a/www/cxx_status.html
+++ b/www/cxx_status.html
@@ -40,7 +40,8 @@
<p>You can use Clang in C++11 mode either
with <a href="http://libcxx.llvm.org/">libc++</a> or with gcc's libstdc++.
-Patches are needed to make <a href="libstdc++4.4-clang0x.patch">libstdc++-4.4</a>
+Patches are needed to make <a href="libstdc++4.4-clang0x.patch">libstdc++-4.4</a>,
+<a href="libstdc++4.6-clang11.patch">libstdc++-4.6</a>,
and <a href="libstdc++4.7-clang11.patch">libstdc++-4.7</a> work with Clang in
C++11 mode.</p>
diff --git a/www/libstdc++4.6-clang11.patch b/www/libstdc++4.6-clang11.patch
new file mode 100644
index 0000000000..cc2cb1404d
--- /dev/null
+++ b/www/libstdc++4.6-clang11.patch
@@ -0,0 +1,11 @@
+--- type_traits.orig 2012-10-04 15:20:43.452992946 -0700
++++ type_traits 2012-10-04 15:21:32.423657167 -0700
+@@ -1110,7 +1110,7 @@
+
+ template<typename _Tp, typename _Up>
+ struct common_type<_Tp, _Up>
+- { typedef decltype(true ? declval<_Tp>() : declval<_Up>()) type; };
++ { typedef typename decay<decltype(true ? declval<_Tp>() : declval<_Up>())>::type type; };
+
+ template<typename _Tp, typename _Up, typename... _Vp>
+ struct common_type<_Tp, _Up, _Vp...>