re PR c++/46277 (Revision 166167 failed to build 252.eon in SPEC CPU 2000)

PR c++/46277
	* init.c (expand_default_init): Avoid ICE if we can't figure out
	which function is being called.

From-SVN: r166254
This commit is contained in:
Jason Merrill 2010-11-03 11:33:05 -04:00 committed by Jason Merrill
parent 836dda671a
commit a76c13bf23
3 changed files with 23 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2010-11-03 Jason Merrill <jason@redhat.com>
PR c++/46277
* init.c (expand_default_init): Avoid ICE if we can't figure out
which function is being called.
2010-11-02 Nathan Froyd <froydnj@codesourcery.com>
* class.c (build_base_path, add_vcall_offset): Use build_zero_cst

View file

@ -1443,7 +1443,7 @@ expand_default_init (tree binfo, tree true_exp, tree exp, tree init, int flags,
if (exp == true_exp && TREE_CODE (rval) == CALL_EXPR)
{
tree fn = get_callee_fndecl (rval);
if (DECL_DECLARED_CONSTEXPR_P (fn))
if (fn && DECL_DECLARED_CONSTEXPR_P (fn))
{
tree e = maybe_constant_value (rval);
if (TREE_CONSTANT (e))

View file

@ -0,0 +1,16 @@
// PR c++/46277
class ggRGBE {
public:
ggRGBE();
};
template <class T> class ggIO
{
void readbody(int);
ggRGBE *scanline;
};
template <class T> void
ggIO<T>::readbody(int width)
{
scanline = new ggRGBE[width];
}