summaryrefslogtreecommitdiff
path: root/gcc/cp/config-lang.in
diff options
context:
space:
mode:
authorgiovannibajo <giovannibajo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-12 10:07:30 +0000
committergiovannibajo <giovannibajo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-12 10:07:30 +0000
commitd97a7640850232ac82e66db14549c65a53a8ec20 (patch)
treeddb750a9ae79ad0985920a74ed9e30cdf7fa664a /gcc/cp/config-lang.in
parentdb281f5af7b3ebb3d943c5d0a2de0923d94c7e23 (diff)
downloadgcc-d97a7640850232ac82e66db14549c65a53a8ec20.tar.gz
PR c++/2204
* config-lang.in (gtfiles): Add typeck2.c. * Make-lang.in: Tweak typeck2.c dependencies, and add rule for gt-cp-typeck2.h. * cp-tree.h: Declare complete_type_check_abstract. * typeck2.c (pat_calc_hash, pat_compare, complete_type_check_abstract): New functions. (abstract_virtuals_error): If the type is abstract, register the declaration within abstract_pending_vars for further checks. Inspect also dependent types. Handle IDENTIFIER_NODEs as decl. * decl.c (cp_finish_decl): Do not strip array types. (create_array_type_for_decl): Check for abstractness of the element type. (complete_vars): Call complete_type_check_abstract. * class.c (finish_struct): Prepare a list of virtual functions for template types, and call complete_vars on it to check for abstractness. PR c++/2204 * g++.dg/other/abstract2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84552 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/config-lang.in')
-rw-r--r--gcc/cp/config-lang.in2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cp/config-lang.in b/gcc/cp/config-lang.in
index 0d0c38f0f42..563cfb4d1c0 100644
--- a/gcc/cp/config-lang.in
+++ b/gcc/cp/config-lang.in
@@ -34,4 +34,4 @@ stagestuff="g++\$(exeext) g++-cross\$(exeext) cc1plus\$(exeext)"
target_libs="target-libstdc++-v3 target-gperf"
-gtfiles="\$(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.c \$(srcdir)/cp/method.c \$(srcdir)/c-common.c \$(srcdir)/c-common.h \$(srcdir)/c-lex.c \$(srcdir)/c-pragma.c"
+gtfiles="\$(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.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-common.c \$(srcdir)/c-common.h \$(srcdir)/c-lex.c \$(srcdir)/c-pragma.c"