summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-31 13:31:29 +0000
committeriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-31 13:31:29 +0000
commit8f64a8ba257070e1835779dad234633bbce356d3 (patch)
tree4ae4b9b3b08a57e4797e46fcefba0a60a2cd7374
parentb33b6e584ed06ea5436027b00e2047fcf67e4780 (diff)
downloadgcc-8f64a8ba257070e1835779dad234633bbce356d3.tar.gz
fix a GTY(())-related ICE in Objective-c++ (add a testcase to try an excercise this more).
gcc/objcp: * config-lang.in (gtfiles): Update list. gcc/testsuite: * obj-c++.dg/standard-headers.mm New File. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219124 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/objcp/ChangeLog4
-rw-r--r--gcc/objcp/config-lang.in2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/obj-c++.dg/standard-headers.mm89
4 files changed, 98 insertions, 1 deletions
diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog
index 24711382084..89e49b350bf 100644
--- a/gcc/objcp/ChangeLog
+++ b/gcc/objcp/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-31 Iain Sandoe <iain@codesourcery.com>
+
+ * config-lang.in (gtfiles): Update list.
+
2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
* objcp-decl.h: Adjust.
diff --git a/gcc/objcp/config-lang.in b/gcc/objcp/config-lang.in
index bc040226491..e623521a23e 100644
--- a/gcc/objcp/config-lang.in
+++ b/gcc/objcp/config-lang.in
@@ -45,6 +45,6 @@ subdir_requires="objc cp"
# This list is separated in two parts: the first one is identical to
# the C++ one, the second one contains our ObjC++ additions.
-gtfiles="\$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.h \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-lex.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/cp/class.c \$(srcdir)/cp/cp-objcp-common.c \
+gtfiles="\$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.h \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-lex.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/cp/class.c \$(srcdir)/cp/cp-objcp-common.c \$(srcdir)/cp/except.c \$(srcdir)/cp/vtable-class-hierarchy.c \$(srcdir)/cp/constexpr.c \
\$(srcdir)/objc/objc-map.h \$(srcdir)/objc/objc-act.h \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-runtime-shared-support.c \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-02.c \$(srcdir)/c-family/c-cppbuiltin.c"
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f28736aeb8e..6e7a99e01d1 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-31 Iain Sandoe <iain@codesourcery.com>
+
+ * obj-c++.dg/standard-headers.mm New.
+
2014-12-30 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/vect/slp-9.c: Disable einline.
diff --git a/gcc/testsuite/obj-c++.dg/standard-headers.mm b/gcc/testsuite/obj-c++.dg/standard-headers.mm
new file mode 100644
index 00000000000..68af5d11427
--- /dev/null
+++ b/gcc/testsuite/obj-c++.dg/standard-headers.mm
@@ -0,0 +1,89 @@
+// Contributed by Iain Sandoe <iain@codesourcery.com>, December 2014. */
+// { dg-do compile }
+// { dg-options "-std=c++11 -Wno-deprecated" }
+
+// Try to catch any problems in standard headers.
+
+// n4296 Section 17.6.1.1 Table 14
+
+#include <algorithm>
+#include <array>
+#include <atomic>
+#include <bitset>
+#include <chrono>
+// NOT present at 5.0.0 #include <codecvt>
+#include <complex>
+#include <condition_variable>
+#include <deque>
+#include <exception>
+#include <forward_list>
+#include <fstream>
+#include <functional>
+// FIXME: CURRENTLY FAILS #include <future>
+#include <initializer_list>
+#include <iomanip>
+#include <ios>
+#include <iosfwd>
+#include <iostream>
+#include <istream>
+#include <iterator>
+#include <limits>
+#include <list>
+#include <regex>
+#include <locale>
+#include <scoped_allocator>
+#include <map>
+#include <set>
+#include <memory>
+#include <sstream>
+#include <mutex>
+#include <stack>
+#include <new>
+#include <stdexcept>
+#include <numeric>
+#include <streambuf>
+#include <ostream>
+#include <string>
+#include <queue>
+// LEGACY #include <strstream>
+#include <system_error>
+#include <ratio>
+#include <thread>
+#include <tuple>
+#include <type_traits>
+#include <typeindex>
+#include <typeinfo>
+#include <unordered_map>
+#include <unordered_set>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+// n4296 Section 17.6.1.1 Table 15
+
+#include <cassert>
+#include <ccomplex>
+#include <cctype>
+#include <cerrno>
+#include <cfenv>
+#include <cfloat>
+#include <cinttypes>
+#include <ciso646>
+#include <climits>
+#include <clocale>
+#include <cmath>
+#include <csetjmp>
+#include <csignal>
+#include <cstdalign>
+#include <cstdarg>
+#include <cstdbool>
+#include <cstddef>
+#include <cstdint>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctgmath>
+#include <ctime>
+// NOT present everywhere #include <cuchar>
+#include <cwchar>
+#include <cwctype>