* parse.y (parse_finish_call_expr): Check lookup_member result.
testsuite:
* g++.dg/lookup/scoped2.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57195
138bc75d-0d04-0410-961f-
82ee72b054a4
2002-09-16 Nathan Sidwell <nathan@codesourcery.com>
+ * parse.y (parse_finish_call_expr): Check lookup_member result.
+
PR c++/7015
* semantic.c (finish_asm_stmt): Fix operand/output_operands
thinko.
name = DECL_NAME (get_first_fn (name));
fn = lookup_member (scope, name, /*protect=*/1,
/*prefer_type=*/0);
+ if (!fn)
+ {
+ error ("'%D' has no member named '%E'", scope, name);
+ return error_mark_node;
+ }
+
if (BASELINK_P (fn) && template_id)
BASELINK_FUNCTIONS (fn)
= build_nt (TEMPLATE_ID_EXPR,
2002-09-16 Nathan Sidwell <nathan@codesourcery.com>
+ * g++.dg/lookup/scoped2.C: New test.
+
* g++.dg/ext/asm3.C: New test.
2002-09-16 Richard Earnshaw <rearnsha@arm.com>
--- /dev/null
+// { dg-do compile }
+
+// Copyright (C) 2002 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 16 Sep 2002 <nathan@codesourcery.com>
+
+// Seg faulted.
+
+struct Base
+{
+};
+
+struct Derived : Base
+{
+ void Foo ()
+ {
+ Base::Baz (); // { dg-error "has no member" "" }
+
+ };
+};