aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2009-11-11 23:44:24 -0500
committerJason Merrill <jason@gcc.gnu.org>2009-11-11 23:44:24 -0500
commitfae927d3bd1c1d5bcef31763547658d8ee5336d0 (patch)
tree6142e43c713c7611493800c103668e2bf190ced2
parentae761c4536548e9bfa0619430726b249d732279d (diff)
downloadgcc-fae927d3bd1c1d5bcef31763547658d8ee5336d0.zip
gcc-fae927d3bd1c1d5bcef31763547658d8ee5336d0.tar.gz
gcc-fae927d3bd1c1d5bcef31763547658d8ee5336d0.tar.bz2
re PR c++/39131 (decimal float point: ICE on typeid( 0.dd ))
PR c++/39131 * rtti.c (emit_support_tinfos): Add DFP types. * config/abi/pre/gnu.ver: Add DFP types. * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.4. From-SVN: r154113
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/rtti.c1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/dfp/typeid1.C8
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver12
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_abi.cc1
7 files changed, 38 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 80948b1..355cf99 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,10 @@
2009-11-11 Jason Merrill <jason@redhat.com>
+ PR c++/39131
+ * rtti.c (emit_support_tinfos): Add DFP types.
+
+2009-11-11 Jason Merrill <jason@redhat.com>
+
* call.c (build_op_delete_call): Downgrade error about
placement/non-placement confusion to permerror.
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index 3fb6d11..e96abcb 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -1448,6 +1448,7 @@ emit_support_tinfos (void)
&long_integer_type_node, &long_unsigned_type_node,
&long_long_integer_type_node, &long_long_unsigned_type_node,
&float_type_node, &double_type_node, &long_double_type_node,
+ &dfloat32_type_node, &dfloat64_type_node, &dfloat128_type_node,
0
};
int ix;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 95fa342..94f935d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-11-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/39131
+ * g++.dg/dfp/typeid1.C: New.
+
2009-11-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/41978
diff --git a/gcc/testsuite/g++.dg/dfp/typeid1.C b/gcc/testsuite/g++.dg/dfp/typeid1.C
new file mode 100644
index 0000000..cdc33a7
--- /dev/null
+++ b/gcc/testsuite/g++.dg/dfp/typeid1.C
@@ -0,0 +1,8 @@
+// PR c++/39131
+// { dg-do link }
+
+#include <typeinfo>
+
+const std::type_info &r = typeid(0.dd);
+
+int main() { }
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b34122c..c075117 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2009-11-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/39131
+ * config/abi/pre/gnu.ver: Add DFP types.
+ * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.4.
+
2009-11-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/basic_string.h (to_string(int), to_string(unsigned),
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 2337a5a..b0001ca 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1198,3 +1198,15 @@ CXXABI_1.3.3 {
_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
} CXXABI_1.3.2;
+
+CXXABI_1.3.4 {
+
+ # typeinfo for decimal floating point types
+ _ZTID[fde];
+ _ZTIPD[fde];
+ _ZTIPKD[fde];
+ _ZTID[fde];
+ _ZTIPD[fde];
+ _ZTIPKD[fde];
+
+} CXXABI_1.3.3;
diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc
index 562568a..2c9f930 100644
--- a/libstdc++-v3/testsuite/util/testsuite_abi.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc
@@ -193,6 +193,7 @@ check_version(symbol& test, bool added)
known_versions.push_back("CXXABI_1.3.1");
known_versions.push_back("CXXABI_1.3.2");
known_versions.push_back("CXXABI_1.3.3");
+ known_versions.push_back("CXXABI_1.3.4");
known_versions.push_back("CXXABI_LDBL_1.3");
}
compat_list::iterator begin = known_versions.begin();