Commit 3ee353e9 by Jason Merrill Committed by Jason Merrill

re PR c++/46058 (gcc crashes with lvalue error on the following Code)

	PR c++/46058
	* tree.c (lvalue_kind) [SCOPE_REF]: Handle non-dependent case.

From-SVN: r167435
parent fac68065
2010-12-03 Jason Merrill <jason@redhat.com>
PR c++/46058
* tree.c (lvalue_kind) [SCOPE_REF]: Handle non-dependent case.
2010-12-03 Richard Guenther <rguenther@suse.de> 2010-12-03 Richard Guenther <rguenther@suse.de>
PR c/46745 PR c/46745
......
...@@ -146,9 +146,12 @@ lvalue_kind (const_tree ref) ...@@ -146,9 +146,12 @@ lvalue_kind (const_tree ref)
return clk_ordinary; return clk_ordinary;
break; break;
/* A currently unresolved scope ref. */ /* A scope ref in a template, left as SCOPE_REF to support later
access checking. */
case SCOPE_REF: case SCOPE_REF:
gcc_unreachable (); gcc_assert (!type_dependent_expression_p (CONST_CAST_TREE(ref)));
return lvalue_kind (TREE_OPERAND (ref, 1));
case MAX_EXPR: case MAX_EXPR:
case MIN_EXPR: case MIN_EXPR:
/* Disallow <? and >? as lvalues if either argument side-effects. */ /* Disallow <? and >? as lvalues if either argument side-effects. */
......
2010-12-03 Jason Merrill <jason@redhat.com>
PR c++/46058
* g++.dg/template/scope4.C: New.
2010-12-03 Nathan Froyd <froydnj@codesourcery.com> 2010-12-03 Nathan Froyd <froydnj@codesourcery.com>
* gcc.target/arm/neon-offset-1.c: New test. * gcc.target/arm/neon-offset-1.c: New test.
......
// PR c++/46058
class StringLiterals {
public:
static const char dec[];
};
template<class St, class Base, const char* name>
class NoValueCommand : public Base {
public:
};
template<class St, class Base>
class DecBasic : public NoValueCommand<St,Base,StringLiterals::dec> {
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment