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:
parent
836dda671a
commit
a76c13bf23
3 changed files with 23 additions and 1 deletions
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
16
gcc/testsuite/g++.dg/template/new9.C
Normal file
16
gcc/testsuite/g++.dg/template/new9.C
Normal 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];
|
||||
}
|
Loading…
Add table
Reference in a new issue