Bug 49067 - [4.5 Regression] Internal Compiler Error with -O3
Summary: [4.5 Regression] Internal Compiler Error with -O3
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.5.2
: P2 normal
Target Milestone: 4.6.0
Assignee: Richard Biener
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-19 16:25 UTC by asalina
Modified: 2012-07-02 10:43 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Known to work: 4.5.2
Known to fail: 4.5.3
Last reconfirmed: 2011-05-20 10:18:43


Attachments
Pre=processed .i file (132.05 KB, application/octet-stream)
2011-05-19 16:25 UTC, asalina
Details

Note You need to log in before you can comment on or make changes to this bug.
Description asalina 2011-05-19 16:25:42 UTC
Created attachment 24292 [details]
Pre=processed .i file

GCC aborts with internal compiler error when optimization is set to -O3. Setting optimization to -O2 prevents the problem.

Pre-processed .i file attached.

System type: Ubuntu 11.04

Entire command line (via Makefile) that triggers the error:

cd /home/fcf/blender-svn/cmake/source/blender/editors/space_view3d && /usr/bin/gcc  -D__SSE__ -D__MMX__ -D__SSE2__ -DWITH_GAMEENGINE -DGLEW_STATIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -fopenmp  -msse2  -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing  -Wall -Wcast-align -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=return-type -Wstrict-prototypes -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -O3 -DNDEBUG -DNDEBUG -I/home/fcf/blender-svn/blender/source/blender/editors/include -I/home/fcf/blender-svn/blender/source/blender/blenfont -I/home/fcf/blender-svn/blender/source/blender/blenkernel -I/home/fcf/blender-svn/blender/source/blender/blenloader -I/home/fcf/blender-svn/blender/source/blender/blenlib -I/home/fcf/blender-svn/blender/source/blender/gpu -I/home/fcf/blender-svn/blender/source/blender/imbuf -I/home/fcf/blender-svn/blender/source/blender/makesdna -I/home/fcf/blender-svn/blender/source/blender/makesrna -I/home/fcf/blender-svn/blender/source/blender/windowmanager -I/home/fcf/blender-svn/blender/source/blender/render/extern/include -I/home/fcf/blender-svn/blender/intern/guardedalloc -I/home/fcf/blender-svn/blender/intern/smoke/extern -I/home/fcf/blender-svn/blender/extern/glew/include -I/home/fcf/blender-svn/blender/source/gameengine/BlenderRoutines   -save-temps -o CMakeFiles/bf_editor_space_view3d.dir/view3d_select.c.o   -c /home/fcf/blender-svn/blender/source/blender/editors/space_view3d/view3d_select.c


Output of "gcc -v"

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)
Comment 1 Richard Biener 2011-05-20 09:56:39 UTC
I can confirm

> /space/rguenther/install/gcc-4.5.3/bin/gcc -O3 -fno-strict-aliasing -S t.i
/home/fcf/blender-svn/blender/source/blender/editors/space_view3d/view3d_select.c: In function 'view3d_circle_select_exec':
/home/fcf/blender-svn/blender/source/blender/editors/space_view3d/view3d_select.c:2235:12: internal compiler error: in get_constraint_for_component_ref, at tree-ssa-structalias.c:3035
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

which is a regression from 4.5.2.  So I suppose Ubuntu has backported
some patches.

Reducing.
Comment 2 Richard Biener 2011-05-20 10:18:43 UTC
static inline int
armature_circle_doSelectJoint(void *userData)
{
  struct {
      void *vc;
      short select;
      int mval[2];
      float radius;
  } *data = userData;
  return (0 <= data->radius && data->select);
}
int
armature_circle_select(void)
{
  struct {
      void *vc;
      short select, mval[2];
      float radius;
  } data;
  return armature_circle_doSelectJoint(&data);
}

it's caused by the mismatch of the local struct declarations (might be a bug
in your app as well).
Comment 3 asalina 2011-05-20 18:28:02 UTC
(In reply to comment #2)
 
> it's caused by the mismatch of the local struct declarations (might be a bug
> in your app as well).

Thanks. I'll consult with the app maintainers on this.
Comment 4 Richard Biener 2012-07-02 10:43:56 UTC
Fixed in 4.6.0, the 4.5 branch is being closed.