aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2013-04-08 17:16:09 -0400
committerJason Merrill <jason@gcc.gnu.org>2013-04-08 17:16:09 -0400
commita0c06853a61384575e3af2415558363c33ffd808 (patch)
tree9fb48e594484c5c7c68e5223259f1cdcb3e62495 /gcc/cp
parent9fb6b620f09541d0f00e1e2f34de5401b716741f (diff)
downloadgcc-a0c06853a61384575e3af2415558363c33ffd808.zip
gcc-a0c06853a61384575e3af2415558363c33ffd808.tar.gz
gcc-a0c06853a61384575e3af2415558363c33ffd808.tar.bz2
re PR c++/56838 (GCC svn doesn't compile libreoffice 4.0.1.2)
PR c++/56838 PR c++/17232 * typeck2.c (abstract_virtuals_error_sfinae): Disable complete_type again. From-SVN: r197613
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/typeck2.c4
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 8b9bf35..0604b55 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2013-04-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/56838
+ PR c++/17232
+ * typeck2.c (abstract_virtuals_error_sfinae): Disable
+ complete_type again.
+
2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56871
diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c
index d9efafb..5c2b1b2 100644
--- a/gcc/cp/typeck2.c
+++ b/gcc/cp/typeck2.c
@@ -265,9 +265,13 @@ abstract_virtuals_error_sfinae (tree decl, tree type, abstract_class_use use,
return 0;
type = TYPE_MAIN_VARIANT (type);
+#if 0
+ /* Instantiation here seems to be required by the standard,
+ but breaks e.g. boost::bind. FIXME! */
/* In SFINAE, non-N3276 context, force instantiation. */
if (!(complain & (tf_error|tf_decltype)))
complete_type (type);
+#endif
/* If the type is incomplete, we register it within a hash table,
so that we can check again once it is completed. This makes sense