This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/77754] [5/6/7 Regression] internal compiler error : tree code 'call_expr' is not supported in LTO streams
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 27 Sep 2016 10:45:22 +0000
- Subject: [Bug c/77754] [5/6/7 Regression] internal compiler error : tree code 'call_expr' is not supported in LTO streams
- Auto-submitted: auto-generated
- References: <bug-77754-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77754
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |lto
CC| |jsm28 at gcc dot gnu.org
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note this isn't a nested function but a function declaration. Doesn't ICE with
a nested function:
int fn3();
void fn1() {
void fn2(int a[][fn3()])
{
}
int x[1][fn3()];
fn2(x);
}
but still has the bogus non-gimplified type:
fn1 ()
{
...
static void fn2 (int[0:(sizetype) ((long int) SAVE_EXPR <fn3 ()> + -1)] *);
and odd place of evaluating fn3():
fn2 (int[0:D.1798] * a)
{
int D.1797;
sizetype D.1798;
bitsizetype D.1799;
sizetype D.1800;
D.1797 = fn3 ();
_1 = (long int) D.1797;
...
I wonder what the standards say about side-effects in those "declarations".