[Bug driver/54563] New: [4.7][C++11] MacOS 10.8, ICE in redirect_eh_edge_1, at tree-eh.c:2215

david.abdurachmanov at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Sep 13 08:58:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54563

             Bug #: 54563
           Summary: [4.7][C++11] MacOS 10.8, ICE in redirect_eh_edge_1, at
                    tree-eh.c:2215
    Classification: Unclassified
           Product: gcc
           Version: 4.7.1
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: driver
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: david.abdurachmanov@gmail.com


Created attachment 28184
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28184
Pre-processed testcase

Tested with 190338 (pre-4.7.2) and 188597 (4.7.1). It only happens with double
and float. If you switch to int and pow function instead of powf it works fine.
It crashes only on C++11. Compiled files with -ansi (no C++11), exit code 0.

Current workaround/fix is to use std::pow() in the code.

GCC compiled with LLVM/clang on Mac OS X 10.8, Xcode 4.4 (build: 4F250)

$ clang -v
Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.0.0
Thread model: posix

sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8
BuildVersion:   12A269

## Detailed information about GCC ##

c++: warning: -pipe ignored because -save-temps specified
Using built-in specs.
COLLECT_GCC=/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/c++
Target: x86_64-apple-darwin12.0.0
Configured with: ../configure
--prefix=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--disable-multilib --disable-nls --enable-languages=c,c++,fortran,objc,obj-c++
--with-gmp=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--with-mpfr=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--with-mpc=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--with-ppl=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--with-cloog=/Volumes/build1/davidlt/test-4.7.0/a/tmp/BUILDROOT/28dac03f73e4471589c20bae3c32fbc1/opt/cmssw/osx108_amd64_gcc470/external/gcc/4.7.0-cms
--enable-cloog-backend=isl --enable-shared CC='clang -fPIC' CXX='clang++ -fPIC'
CPP='clang -E' CXXCPP='clang++ -E'
Thread model: posix
gcc version 4.7.1 (GCC) 
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.8.0' '-v' '-save-temps' '-c' '-D'
'GNU_GCC' '-D' '_GNU_SOURCE' '-D' '__STDC_LIMIT_MACROS' '-D'
'__STDC_FORMAT_MACROS' '-O2' '-pedantic' '-ansi' '-pthread' '-pipe' '-Wno-vla'
'-m64' '-std=c++11' '-msse3' '-ftree-vectorize' '-Wno-strict-overflow'
'-Werror=array-bounds' '-Werror=format-contains-nul' '-Werror=type-limits'
'-fvisibility-inlines-hidden' '-fno-math-errno' '--param'
'vect-max-version-for-alias-checks=50' '-fipa-pta' '-felide-constructors'
'-fmessage-length=0' '-ftemplate-depth=300' '-Wall' '-Wno-non-template-friend'
'-Wno-long-long' '-Wreturn-type' '-Wunused' '-Wparentheses' '-Wno-deprecated'
'-Werror=return-type' '-Werror=missing-braces' '-Werror=unused-value'
'-Werror=address' '-Werror=format' '-Werror=sign-compare'
'-Werror=write-strings' '-fdiagnostics-show-option' '-fPIC' '-MMD' '-o'
'osx108-ice-testcase.o' '-shared-libgcc' '-mtune=core2'

/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../libexec/gcc/x86_64-apple-darwin12.0.0/4.7.1/cc1plus
-E -quiet -v -iprefix
/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/
-MMD osx108-ice-testcase.d -MQ osx108-ice-testcase.o -D__DYNAMIC__ -D_REENTRANT
-D GNU_GCC -D _GNU_SOURCE -D __STDC_LIMIT_MACROS -D __STDC_FORMAT_MACROS
./osx108-ice-testcase.cc -fPIC -mmacosx-version-min=10.8.0 -m64 -msse3
-mtune=core2 -ansi -std=c++11 -pedantic -Wno-vla -Wno-strict-overflow
-Werror=array-bounds -Werror=format-contains-nul -Werror=type-limits -Wall
-Wno-non-template-friend -Wno-long-long -Wreturn-type -Wunused -Wparentheses
-Wno-deprecated -Werror=return-type -Werror=missing-braces -Werror=unused-value
-Werror=address -Werror=format -Werror=sign-compare -Werror=write-strings
-ftree-vectorize -fvisibility-inlines-hidden -fno-math-errno -fipa-pta
-felide-constructors -fmessage-length=0 -ftemplate-depth=300
-fdiagnostics-show-option -fPIC -O2 -fpch-preprocess -o osx108-ice-testcase.ii
ignoring nonexistent directory
"/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/../../../../x86_64-apple-darwin12.0.0/include"
ignoring duplicate directory
"/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/../../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/../../../../include/c++/4.7.1"
ignoring duplicate directory
"/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/../../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/../../../../include/c++/4.7.1/x86_64-apple-darwin12.0.0"
ignoring duplicate directory
"/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/../../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/../../../../include/c++/4.7.1/backward"
ignoring duplicate directory
"/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/../../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/include"
ignoring nonexistent directory "/usr/local/include"
ignoring duplicate directory
"/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/../../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/include-fixed"
ignoring nonexistent directory
"/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/../../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/../../../../x86_64-apple-darwin12.0.0/include"
#include "..." search starts here:
#include <...> search starts here:

/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/../../../../include/c++/4.7.1

/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/../../../../include/c++/4.7.1/x86_64-apple-darwin12.0.0

/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/../../../../include/c++/4.7.1/backward

/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/include

/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/x86_64-apple-darwin12.0.0/4.7.1/include-fixed

/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../lib/gcc/../../include
 /usr/include
 /System/Library/Frameworks
 /Library/Frameworks
End of search list.
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.8.0' '-v' '-save-temps' '-c' '-D'
'GNU_GCC' '-D' '_GNU_SOURCE' '-D' '__STDC_LIMIT_MACROS' '-D'
'__STDC_FORMAT_MACROS' '-O2' '-pedantic' '-ansi' '-pthread' '-pipe' '-Wno-vla'
'-m64' '-std=c++11' '-msse3' '-ftree-vectorize' '-Wno-strict-overflow'
'-Werror=array-bounds' '-Werror=format-contains-nul' '-Werror=type-limits'
'-fvisibility-inlines-hidden' '-fno-math-errno' '--param'
'vect-max-version-for-alias-checks=50' '-fipa-pta' '-felide-constructors'
'-fmessage-length=0' '-ftemplate-depth=300' '-Wall' '-Wno-non-template-friend'
'-Wno-long-long' '-Wreturn-type' '-Wunused' '-Wparentheses' '-Wno-deprecated'
'-Werror=return-type' '-Werror=missing-braces' '-Werror=unused-value'
'-Werror=address' '-Werror=format' '-Werror=sign-compare'
'-Werror=write-strings' '-fdiagnostics-show-option' '-fPIC' '-MMD' '-o'
'osx108-ice-testcase.o' '-shared-libgcc' '-mtune=core2'

/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/../libexec/gcc/x86_64-apple-darwin12.0.0/4.7.1/cc1plus
-fpreprocessed osx108-ice-testcase.ii -fPIC -quiet -dumpbase
osx108-ice-testcase.cc -mmacosx-version-min=10.8.0 -m64 -msse3 -mtune=core2
-auxbase-strip osx108-ice-testcase.o -O2 -pedantic -Wno-vla
-Wno-strict-overflow -Werror=array-bounds -Werror=format-contains-nul
-Werror=type-limits -Wall -Wno-non-template-friend -Wno-long-long -Wreturn-type
-Wunused -Wparentheses -Wno-deprecated -Werror=return-type
-Werror=missing-braces -Werror=unused-value -Werror=address -Werror=format
-Werror=sign-compare -Werror=write-strings -ansi -std=c++11 -version
-ftree-vectorize -fvisibility-inlines-hidden -fno-math-errno -fipa-pta
-felide-constructors -fmessage-length=0 -ftemplate-depth=300
-fdiagnostics-show-option -fPIC --param vect-max-version-for-alias-checks=50 -o
osx108-ice-testcase.s
GNU C++ (GCC) version 4.7.1 (x86_64-apple-darwin12.0.0)
    compiled by GNU C version 4.7.1, GMP version 5.0.2, MPFR version 3.0.1, MPC
version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C++ (GCC) version 4.7.1 (x86_64-apple-darwin12.0.0)
    compiled by GNU C version 4.7.1, GMP version 5.0.2, MPFR version 3.0.1, MPC
version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: e0f77f95aed71d8a79831c62139ae76a
./osx108-ice-testcase.cc: In function 'void dummyFunction()':
./osx108-ice-testcase.cc:6:6: internal compiler error: in redirect_eh_edge_1,
at tree-eh.c:2215
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

## Failing code ##

#include <vector>
#include <cmath>

double getSomeDouble();

void dummyFunction()
{
    std::vector<double> vals;
    vals.push_back(powf(getSomeDouble(), 2.));
}

## Compilation ##

/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/c++
-c -DGNU_GCC -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -O2
-pedanti
c -ansi -pthread -pipe -Wno-vla -arch x86_64 -Wstrict-overflow -msse3
-ftree-vectorize -Wno-strict-overflow -Werror=array-bounds
-Werror=format-contains-nul -Werror=type-limits -fvi
sibility-inlines-hidden -fno-math-errno --param
vect-max-version-for-alias-checks=50 -fipa-pta -felide-constructors
-fmessage-length=0 -ftemplate-depth-300 -Wall -Wno-non-template-f
riend -Wno-long-long -Wreturn-type -Wunused -Wparentheses -Wno-deprecated
-Werror=return-type -Werror=missing-braces -Werror=unused-value -Werror=address
-Werror=format -Werror=sign
-compare -Werror=write-strings -fdiagnostics-show-option -fPIC -MMD
./osx108-ice-testcase.cc -o osx108-ice-testcase.o                               
macms05%
/Volumes/build1/davidlt/test-4.7.0/a/osx108_amd64_gcc470/external/gcc/4.7.0-cms/bin/c++
-c -DGNU_GCC -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -O2
-pedanti
c -ansi -pthread -pipe -Wno-vla -arch x86_64 -Wstrict-overflow -msse3
-ftree-vectorize -Wno-strict-overflow -Werror=array-bounds
-Werror=format-contains-nul -Werror=type-limits -fvi
sibility-inlines-hidden -fno-math-errno --param
vect-max-version-for-alias-checks=50 -fipa-pta -felide-constructors
-fmessage-length=0 -ftemplate-depth-300 -Wall -Wno-non-template-f
riend -Wno-long-long -Wreturn-type -Wunused -Wparentheses -Wno-deprecated
-Werror=return-type -Werror=missing-braces -Werror=unused-value -Werror=address
-Werror=format -Werror=sign
-compare -Werror=write-strings -fdiagnostics-show-option -fPIC -MMD -std=c++11
./osx108-ice-testcase.cc -o osx108-ice-testcase.o                               
./osx108-ice-testcase.cc: In function 'void dummyFunction()':
./osx108-ice-testcase.cc:6:6: internal compiler error: in redirect_eh_edge_1,
at tree-eh.c:2215
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.



More information about the Gcc-bugs mailing list