[Bug 1039401] Re: Illegal instruction (int main() returns nothing, only when -O2/-O3 used)
Victor Chong
1039401 at bugs.launchpad.net
Thu Jan 9 21:06:13 UTC 2014
Closing per above comments and end of support.
** Changed in: gcc-linaro
Status: Incomplete => Invalid
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-4.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1039401
Title:
Illegal instruction (int main() returns nothing, only when -O2/-O3
used)
Status in Linaro GCC:
Invalid
Status in “gcc-4.6” package in Ubuntu:
Invalid
Bug description:
$ gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gcc test.c
$ gcc -O2 test.c
test.c: In function 'main':
test.c:6:1: internal compiler error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
Preprocessed source stored into /tmp/ccYojEN6.out file, please attach this to
your bugreport.
$ cat test.c
int main (void)
{
volatile int a;
if (a == 42)
return 1;
}
--------------------------------
If I add "return 0;" to the end of function - problem is fixed. I understand,
that program is not correct, but, as I think, gcc should not fail on that. It
seems, it is optimizer bug.
The problem does not appear in upstream (look at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54340 )
To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc-linaro/+bug/1039401/+subscriptions
More information about the foundations-bugs
mailing list