g++ failed to compile code "dVolume *= 1 + pow(10.0, -5.0);", it output such
error:
-----------------
E:\code\wxWidgets-2.8.8\build\msw>mingw32-make -f makefile.gcc
CC="e:\code\targe
t\bin\gcc.exe" CXX="e:\code\target\bin\g++.exe"
if not exist ..\..\lib\gcc_lib\mswd mkdir ..\..\lib\gcc_lib\mswd
e:\code\target\bin\g++.exe -c -o gcc_mswd\medialib_mediactrl_am.o -g -O0
-mthrea
ds  -DHAVE_W32API_H -D__WXMSW__  -D__WXDEBUG__       -I..\..\lib\gcc_lib\mswd
-I
..\..\include -W -Wall -I..\..\src\tiff -I..\..\src\jpeg -I..\..\src\png
-I..\..
\src\zlib -I..\..\src\regex -I..\..\src\expat\lib   -Wno-ctor-dtor-privacy  
-MT
gcc_mswd\medialib_mediactrl_am.o -MFgcc_mswd\medialib_mediactrl_am.o.d -MD
../..
/src/msw/mediactrl_am.cpp
../../src/msw/mediactrl_am.cpp: In member function 'virtual double
wxAMMediaBack
end::GetVolume()':
../../src/msw/mediactrl_am.cpp:1974: internal compiler error: Segmentation
fault

Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
mingw32-make: *** [gcc_mswd\medialib_mediactrl_am.o] Error 1
---------------------

The code cause error is :
        dVolume *= 1 - pow(10.0, -5.0);

If I change it to the following, it can be compiled ok :
        double tmp = 10.0;
        dVolume *= 1 - pow(tmp, -5.0);

the source code is from wxWidgets-2.8.8/src/msw/mediactrl_am.cpp

the gcc is from svn trunk 2008-08-14, build with mingw-w64.


-- 
           Summary: g++ failed to compile code "dVolume *= 1 + pow(10.0, -
                    5.0);"
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: drangon dot mail at gmail dot com
 GCC build triplet: x86_64-redhat-linux-gnu
  GCC host triplet: x86_64-pc-mingw32
GCC target triplet: x86_64-pc-mingw32


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

Reply via email to