public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/53602] New: Libre Office causes an internal compiler error
@ 2012-06-07 12:24 andy at benton dot eu.com
  2012-06-07 12:35 ` [Bug c++/53602] " jakub at gcc dot gnu.org
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: andy at benton dot eu.com @ 2012-06-07 12:24 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 53602
           Summary: Libre Office causes an internal compiler error
    Classification: Unclassified
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: andy@benton.eu.com


Libre Office 3.5.3 compiles fine for me with Gcc 4.7 on x86_64 but on
i686 the build dies with this error:

Making:    all_uno-skeletonmaker.dpobj
Compiling: unodevtools/source/skeletonmaker/skeletonmaker.cxx
Compiling: unodevtools/source/skeletonmaker/skeletoncommon.cxx
/home/andy/save/sources/extras/libreoffice-core-3.5.3.2/unodevtools/source/skeletonmaker/skeletoncommon.cxx:
In function 'void
skeletonmaker::checkDefaultInterfaces(boost::unordered::unordered_set<rtl::OString,
rtl::OStringHash>&, const boost::unordered::unordered_set<rtl::OString,
rtl::OStringHash>&, const rtl::OString&)':
/home/andy/save/sources/extras/libreoffice-core-3.5.3.2/unodevtools/source/skeletonmaker/skeletoncommon.cxx:317:1:
internal compiler error: in force_move_args_size_note, at
combine-stack-adj.c:419
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

The "internal compiler error" and the request for a bug report to be
sent to gcc makes it look like a bug in Gcc 4.7. The actual code that
causes the problem looks like this:

void checkDefaultInterfaces(
         boost::unordered_set< OString, OStringHash >& interfaces,
         const boost::unordered_set< OString, OStringHash >& services,
       const OString & propertyhelper)
{
    if ( services.empty() ) {
        if (interfaces.find("com.sun.star.lang.XServiceInfo") !=
interfaces.end())
            interfaces.erase("com.sun.star.lang.XServiceInfo");
    } else {
        if (interfaces.find("com.sun.star.lang.XServiceInfo") ==
interfaces.end())
            interfaces.insert("com.sun.star.lang.XServiceInfo");
    }

    if ( propertyhelper.equals("_") ) {
        if (interfaces.find("com.sun.star.beans.XPropertySet")
            != interfaces.end())
            interfaces.erase("com.sun.star.beans.XPropertySet");
        if (interfaces.find("com.sun.star.beans.XFastPropertySet")
            != interfaces.end())
            interfaces.erase("com.sun.star.beans.XFastPropertySet");
        if (interfaces.find("com.sun.star.beans.XPropertyAccess")
            != interfaces.end())
            interfaces.erase("com.sun.star.beans.XPropertyAccess");
    }
}

Googling on the error found this bug report at Ubunut:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.7/+bug/1007616
But sadly they have no solution.

I have previously built Libre Office 3.5.3 on i686 with Gcc 4.7, what was
different this time was that I used an svn pull of the Gcc 4.7 branch
(r188021). Ie, Gcc had changes that had been checked into the Gcc 4.7 branch
since gcc-4.7.0 was released.

Looking at http://gcc.gnu.org/bugs/#detailed it seems that I'm supposed to
provide the output of something like:

gcc -v -save-temps all-your-options source-file

Sadly I have no clue how gcc was called by the Libre Office dmake system (I am
completely unfamiliar with dmake). If someone could guide me on how to find out
how gcc was called I would appreciate it.

Another problem with debugging this is that I can only reproduce this on a 32
bit system and all my 32 bit computers are old and slow. Compiling Libre office
takes about 20 hours but fortunately the error occurs only about 4 hours into
the build


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
@ 2012-06-07 12:35 ` jakub at gcc dot gnu.org
  2012-06-07 15:26 ` andy at benton dot eu.com
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-07 12:35 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2012-06-07
                 CC|                            |jakub at gcc dot gnu.org
     Ever Confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-07 12:35:28 UTC ---
Yeah, preprocessed source plus g++ options are needed.
I don't know the libreoffice build system either, as last resort solution you
could try
mkdir ~/bin
cat > ~/bin/g++ <<\EOF
#!/bin/sh
mkdir -p /tmp/cmdlines/ 2>/dev/null
echo cwd is `pwd` cmdline "$@" >> /tmp/cmdlines/$$
exec /usr/bin/g++ "$@"

and run the build under PATH=~/bin:$PATH CXX=~/bin/g++ or so, then just
grep for the source file in question.  If you hit it already once, supposedly
another make invocation wouldn't recompile everything, just a few sources and
ICE again.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
  2012-06-07 12:35 ` [Bug c++/53602] " jakub at gcc dot gnu.org
@ 2012-06-07 15:26 ` andy at benton dot eu.com
  2012-06-07 15:45 ` paolo.carlini at oracle dot com
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: andy at benton dot eu.com @ 2012-06-07 15:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Andrew Benton <andy at benton dot eu.com> 2012-06-07 15:26:13 UTC ---
Genius idea! Unfortunately the preprocessor output skeletoncommon.ii is more
than 2MB and so I can't attach it to this bug. I've put it here
http://benton.eu.com/skeletoncommon.ii
The command that produced it was:

andy@router:~$ cd
/home/andy/libreoffice-core-3.5.4.2/unodevtools/source/skeletonmaker
andy@router:~/libreoffice-core-3.5.4.2/unodevtools/source/skeletonmaker$ g++ -v
-save-temps -fmessage-length=0 -c -Os -I.
-I../../unxlngi6.pro/inc/uno-skeletonmaker -I../inc -I../../inc -I../../unx/inc
-I../../unxlngi6.pro/inc -I.
-I/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/stl
-I/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/external
-I/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc
-I/home/andy/libreoffice-core-3.5.4.2/solenv/inc/unxlngi6
-I/home/andy/libreoffice-core-3.5.4.2/solenv/inc
-I/home/andy/libreoffice-core-3.5.4.2/res
-I/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/udkapi
-I/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/offapi
-I/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/oovbaapi -I.
-I../../res -I. -pipe -mtune=pentiumpro -fvisibility-inlines-hidden -std=c++0x
-Wno-deprecated-declarations -Wall -Wextra -Wendif-labels -Wshadow
-Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -DLINUX -DUNX -DVCL -DGCC -DINTEL
-DGLIBC=2 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1
-DHAVE_GCC_VISIBILITY_FEATURE -DX86 -D__DMAKE -DUNIX -DCPPU_ENV=gcc3
-DGXX_INCLUDE_PATH=/usr/include/c++/4.7.1 -DSUPD=350 -DPRODUCT -DNDEBUG
-DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DGSTREAMER -DHAVE_THREADSAFE_STATICS
-fexceptions -fno-enforce-eh-specs -DEXCEPTIONS_ON -o
../../unxlngi6.pro/obj/skeletoncommon.o
/home/andy/libreoffice-core-3.5.4.2/unodevtools/source/skeletonmaker/skeletoncommon.cxx
g++: warning: -pipe ignored because -save-temps specified
Using built-in specs.
COLLECT_GCC=g++
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.7-30-05-12/configure --prefix=/usr --enable-shared
--enable-languages=c,c++ --enable-threads=posix --enable-__cxa_atexit
--enable-cloog-backend=isl --enable-clocale=gnu --disable-multilib
--disable-bootstrap --disable-static --with-system-zlib
Thread model: posix
gcc version 4.7.1 20120530 (prerelease) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-fmessage-length=0' '-c' '-Os' '-I' '.'
'-I' '../../unxlngi6.pro/inc/uno-skeletonmaker' '-I' '../inc' '-I' '../../inc'
'-I' '../../unx/inc' '-I' '../../unxlngi6.pro/inc' '-I' '.' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/stl' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/external' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solenv/inc/unxlngi6' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solenv/inc' '-I'
'/home/andy/libreoffice-core-3.5.4.2/res' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/udkapi' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/offapi' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/oovbaapi' '-I' '.'
'-I' '../../res' '-I' '.' '-pipe' '-mtune=pentiumpro'
'-fvisibility-inlines-hidden' '-std=c++11' '-Wno-deprecated-declarations'
'-Wall' '-Wextra' '-Wendif-labels' '-Wshadow' '-Wno-ctor-dtor-privacy'
'-Wno-non-virtual-dtor' '-D' 'LINUX' '-D' 'UNX' '-D' 'VCL' '-D' 'GCC' '-D'
'INTEL' '-D' 'GLIBC=2' '-D' '_PTHREADS' '-D' '_REENTRANT' '-D' 'NEW_SOLAR' '-D'
'_USE_NAMESPACE=1' '-D' 'HAVE_GCC_VISIBILITY_FEATURE' '-D' 'X86' '-D' '__DMAKE'
'-D' 'UNIX' '-D' 'CPPU_ENV=gcc3' '-D' 'GXX_INCLUDE_PATH=/usr/include/c++/4.7.1'
'-D' 'SUPD=350' '-D' 'PRODUCT' '-D' 'NDEBUG' '-D' 'OSL_DEBUG_LEVEL=0' '-D'
'OPTIMIZE' '-D' 'GSTREAMER' '-D' 'HAVE_THREADSAFE_STATICS' '-fexceptions'
'-fno-enforce-eh-specs' '-D' 'EXCEPTIONS_ON' '-o'
'../../unxlngi6.pro/obj/skeletoncommon.o' '-shared-libgcc' '-march=pentiumpro'
 /usr/libexec/gcc/i686-pc-linux-gnu/4.7.1/cc1plus -E -quiet -v -I . -I
../../unxlngi6.pro/inc/uno-skeletonmaker -I ../inc -I ../../inc -I
../../unx/inc -I ../../unxlngi6.pro/inc -I . -I
/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/stl -I
/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/external -I
/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc -I
/home/andy/libreoffice-core-3.5.4.2/solenv/inc/unxlngi6 -I
/home/andy/libreoffice-core-3.5.4.2/solenv/inc -I
/home/andy/libreoffice-core-3.5.4.2/res -I
/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/udkapi -I
/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/offapi -I
/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/oovbaapi -I . -I
../../res -I . -D_GNU_SOURCE -D LINUX -D UNX -D VCL -D GCC -D INTEL -D GLIBC=2
-D _PTHREADS -D _REENTRANT -D NEW_SOLAR -D _USE_NAMESPACE=1 -D
HAVE_GCC_VISIBILITY_FEATURE -D X86 -D __DMAKE -D UNIX -D CPPU_ENV=gcc3 -D
GXX_INCLUDE_PATH=/usr/include/c++/4.7.1 -D SUPD=350 -D PRODUCT -D NDEBUG -D
OSL_DEBUG_LEVEL=0 -D OPTIMIZE -D GSTREAMER -D HAVE_THREADSAFE_STATICS -D
EXCEPTIONS_ON
/home/andy/libreoffice-core-3.5.4.2/unodevtools/source/skeletonmaker/skeletoncommon.cxx
-mtune=pentiumpro -march=pentiumpro -std=c++11 -Wno-deprecated-declarations
-Wall -Wextra -Wendif-labels -Wshadow -Wno-ctor-dtor-privacy
-Wno-non-virtual-dtor -fmessage-length=0 -fvisibility-inlines-hidden
-fexceptions -fno-enforce-eh-specs -Os -fpch-preprocess -o skeletoncommon.ii
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory
"/usr/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../i686-pc-linux-gnu/include"
ignoring nonexistent directory "../../unxlngi6.pro/inc/uno-skeletonmaker"
ignoring nonexistent directory "../inc"
ignoring nonexistent directory "../../unx/inc"
ignoring duplicate directory "."
ignoring nonexistent directory
"/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/stl"
ignoring nonexistent directory
"/home/andy/libreoffice-core-3.5.4.2/solenv/inc/unxlngi6"
ignoring nonexistent directory "/home/andy/libreoffice-core-3.5.4.2/res"
ignoring duplicate directory "."
ignoring nonexistent directory "../../res"
ignoring duplicate directory "."
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../inc
 ../../unxlngi6.pro/inc
 /home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/external
 /home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc
 /home/andy/libreoffice-core-3.5.4.2/solenv/inc
 /home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/udkapi
 /home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/offapi
 /home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/oovbaapi
 /usr/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../include/c++/4.7.1

/usr/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../include/c++/4.7.1/i686-pc-linux-gnu
 /usr/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../include/c++/4.7.1/backward
 /usr/lib/gcc/i686-pc-linux-gnu/4.7.1/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.7.1/include-fixed
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-fmessage-length=0' '-c' '-Os' '-I' '.'
'-I' '../../unxlngi6.pro/inc/uno-skeletonmaker' '-I' '../inc' '-I' '../../inc'
'-I' '../../unx/inc' '-I' '../../unxlngi6.pro/inc' '-I' '.' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/stl' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/external' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solenv/inc/unxlngi6' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solenv/inc' '-I'
'/home/andy/libreoffice-core-3.5.4.2/res' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/udkapi' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/offapi' '-I'
'/home/andy/libreoffice-core-3.5.4.2/solver/unxlngi6.pro/inc/oovbaapi' '-I' '.'
'-I' '../../res' '-I' '.' '-pipe' '-mtune=pentiumpro'
'-fvisibility-inlines-hidden' '-std=c++11' '-Wno-deprecated-declarations'
'-Wall' '-Wextra' '-Wendif-labels' '-Wshadow' '-Wno-ctor-dtor-privacy'
'-Wno-non-virtual-dtor' '-D' 'LINUX' '-D' 'UNX' '-D' 'VCL' '-D' 'GCC' '-D'
'INTEL' '-D' 'GLIBC=2' '-D' '_PTHREADS' '-D' '_REENTRANT' '-D' 'NEW_SOLAR' '-D'
'_USE_NAMESPACE=1' '-D' 'HAVE_GCC_VISIBILITY_FEATURE' '-D' 'X86' '-D' '__DMAKE'
'-D' 'UNIX' '-D' 'CPPU_ENV=gcc3' '-D' 'GXX_INCLUDE_PATH=/usr/include/c++/4.7.1'
'-D' 'SUPD=350' '-D' 'PRODUCT' '-D' 'NDEBUG' '-D' 'OSL_DEBUG_LEVEL=0' '-D'
'OPTIMIZE' '-D' 'GSTREAMER' '-D' 'HAVE_THREADSAFE_STATICS' '-fexceptions'
'-fno-enforce-eh-specs' '-D' 'EXCEPTIONS_ON' '-o'
'../../unxlngi6.pro/obj/skeletoncommon.o' '-shared-libgcc' '-march=pentiumpro'
 /usr/libexec/gcc/i686-pc-linux-gnu/4.7.1/cc1plus -fpreprocessed
skeletoncommon.ii -quiet -dumpbase skeletoncommon.cxx -mtune=pentiumpro
-march=pentiumpro -auxbase-strip ../../unxlngi6.pro/obj/skeletoncommon.o -Os
-Wno-deprecated-declarations -Wall -Wextra -Wendif-labels -Wshadow
-Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -std=c++11 -version
-fmessage-length=0 -fvisibility-inlines-hidden -fexceptions
-fno-enforce-eh-specs -o skeletoncommon.s
GNU C++ (GCC) version 4.7.1 20120530 (prerelease) (i686-pc-linux-gnu)
    compiled by GNU C version 4.7.1 20120530 (prerelease), GMP version 5.0.4,
MPFR version 3.1.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C++ (GCC) version 4.7.1 20120530 (prerelease) (i686-pc-linux-gnu)
    compiled by GNU C version 4.7.1 20120530 (prerelease), GMP version 5.0.4,
MPFR version 3.1.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: a3f5e158f4bae53c28ca78d37dcc6e13
/home/andy/libreoffice-core-3.5.4.2/unodevtools/source/skeletonmaker/skeletoncommon.cxx:
In function ‘void
skeletonmaker::checkDefaultInterfaces(boost::unordered::unordered_set<rtl::OString,
rtl::OStringHash>&, const boost::unordered::unordered_set<rtl::OString,
rtl::OStringHash>&, const rtl::OString&)’:
/home/andy/libreoffice-core-3.5.4.2/unodevtools/source/skeletonmaker/skeletoncommon.cxx:317:1:
internal compiler error: in force_move_args_size_note, at
combine-stack-adj.c:419
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

I hope that makes sense to someone...


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
  2012-06-07 12:35 ` [Bug c++/53602] " jakub at gcc dot gnu.org
  2012-06-07 15:26 ` andy at benton dot eu.com
@ 2012-06-07 15:45 ` paolo.carlini at oracle dot com
  2012-06-07 16:12 ` andy at benton dot eu.com
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-06-07 15:45 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-06-07 15:45:19 UTC ---
Remember that you can always compress it.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (2 preceding siblings ...)
  2012-06-07 15:45 ` paolo.carlini at oracle dot com
@ 2012-06-07 16:12 ` andy at benton dot eu.com
  2012-06-07 21:40 ` jakub at gcc dot gnu.org
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: andy at benton dot eu.com @ 2012-06-07 16:12 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Andrew Benton <andy at benton dot eu.com> 2012-06-07 16:12:00 UTC ---
Created attachment 27580
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27580
skeletoncommon.ii preprocessor output compressed

(In reply to comment #3)
> Remember that you can always compress it.

Doh!


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (3 preceding siblings ...)
  2012-06-07 16:12 ` andy at benton dot eu.com
@ 2012-06-07 21:40 ` jakub at gcc dot gnu.org
  2012-06-07 21:53 ` [Bug c++/53602] [4.7/4.8 Regression] " jakub at gcc dot gnu.org
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-07 21:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-07 21:40:25 UTC ---
Created attachment 27581
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27581
pr53602.ii

Slightly reduced testcase for -m32 -Os -std=c++11.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (4 preceding siblings ...)
  2012-06-07 21:40 ` jakub at gcc dot gnu.org
@ 2012-06-07 21:53 ` jakub at gcc dot gnu.org
  2012-06-08  7:51 ` jakub at gcc dot gnu.org
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-07 21:53 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
            Version|unknown                     |4.7.0
   Target Milestone|---                         |4.7.1
            Summary|Libre Office causes an      |[4.7/4.8 Regression] Libre
                   |internal compiler error     |Office causes an internal
                   |                            |compiler error

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-07 21:53:25 UTC ---
Started with http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186018


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (5 preceding siblings ...)
  2012-06-07 21:53 ` [Bug c++/53602] [4.7/4.8 Regression] " jakub at gcc dot gnu.org
@ 2012-06-08  7:51 ` jakub at gcc dot gnu.org
  2012-06-08  7:57 ` jakub at gcc dot gnu.org
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-08  7:51 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rth at gcc dot gnu.org

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-08 07:51:25 UTC ---
We end up with:
(insn 38 73 40 5 (parallel [
            (set (reg/f:SI 7 sp)
                (plus:SI (reg/f:SI 7 sp)
                    (const_int 12 [0xc])))
            (clobber (reg:CC 17 flags))   
        ]) pr53602.ii:359 251 {*addsi_1}  
     (expr_list:REG_UNUSED (reg:CC 17 flags)
        (expr_list:REG_ARGS_SIZE (const_int 0 [0])
            (nil))))

(insn 40 38 41 5 (parallel [
            (set (reg/f:SI 7 sp)
                (plus:SI (reg/f:SI 7 sp)
                    (const_int -12 [0xfffffffffffffff4])))
            (clobber (reg:CC 17 flags))
        ]) pr53602.ii:64 251 {*addsi_1}
     (expr_list:REG_UNUSED (reg:CC 17 flags)
        (expr_list:REG_ARGS_SIZE (const_int 12 [0xc])
            (nil))))

(insn 41 40 42 5 (set (mem/f:SI (pre_dec:SI (reg/f:SI 7 sp)) [0 S4 A32])
        (mem/f/c:SI (plus:SI (reg/f:SI 6 bp)
                (const_int -12 [0xfffffffffffffff4])) [3 D.3489.pData+0 S4
A32])) pr53602.ii:64 43 {*pushsi2}
     (expr_list:REG_ARGS_SIZE (const_int 16 [0x10])
        (nil)))

before csa and csa obviously merges the two into sp += 0 that it wants to
delete.
force_move_args_size is called with prev == NULL (as it is at the start of a
bb).  But apparently cleanup_cfg at the start of csa pass jump threaded the
call sequence starting at insn 41, so the two stack adjustments that cancel
each other end up the only insns in a bb.  So we trigger:
      /* ??? We *must* have a place, lest we ICE on the lost adjustment.
         Options are: dummy clobber insn, nop, or prevent the removal of
         the sp += 0 insn.  Defer that decision until we can prove this
         can actually happen.  */

I guess if we proved that all the predecessors of the bb have the same current
REG_ARGS_SIZE, or all the successor have the same current REG_ARGS_SIZE, we
could avoid the note altogether.  Or do one of the things the comment talks
about.  Richard, can you please handle this?


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (6 preceding siblings ...)
  2012-06-08  7:51 ` jakub at gcc dot gnu.org
@ 2012-06-08  7:57 ` jakub at gcc dot gnu.org
  2012-06-08 14:10 ` rth at gcc dot gnu.org
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-08  7:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-08 07:57:23 UTC ---
Or perhaps just handle this particular case for now, when there has been jump
threading right after the sp adjustment sequence that cancelled each other.
Thus, if we reach end of bb after the insn without seeing a CALL or or throwing
insn and the bb has a single fallthru successor only, keep looking in the
successor bb.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (7 preceding siblings ...)
  2012-06-08  7:57 ` jakub at gcc dot gnu.org
@ 2012-06-08 14:10 ` rth at gcc dot gnu.org
  2012-06-09  6:14 ` rth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rth at gcc dot gnu.org @ 2012-06-08 14:10 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Henderson <rth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |rth at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #9 from Richard Henderson <rth at gcc dot gnu.org> 2012-06-08 14:10:29 UTC ---
Mine.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (8 preceding siblings ...)
  2012-06-08 14:10 ` rth at gcc dot gnu.org
@ 2012-06-09  6:14 ` rth at gcc dot gnu.org
  2012-06-09  6:17 ` rth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rth at gcc dot gnu.org @ 2012-06-09  6:14 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Richard Henderson <rth at gcc dot gnu.org> 2012-06-09 06:14:34 UTC ---
Author: rth
Date: Sat Jun  9 06:14:27 2012
New Revision: 188356

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188356
Log:
PR c++/53602
        * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
        note to a clobber insn when no other insn is available.

Added:
    branches/gcc-4_7-branch/gcc/testsuite/g++.dg/torture/pr53602.C
Modified:
    branches/gcc-4_7-branch/gcc/ChangeLog
    branches/gcc-4_7-branch/gcc/combine-stack-adj.c


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (9 preceding siblings ...)
  2012-06-09  6:14 ` rth at gcc dot gnu.org
@ 2012-06-09  6:17 ` rth at gcc dot gnu.org
  2012-06-09  6:19 ` rth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rth at gcc dot gnu.org @ 2012-06-09  6:17 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Richard Henderson <rth at gcc dot gnu.org> 2012-06-09 06:17:27 UTC ---
Author: rth
Date: Sat Jun  9 06:17:12 2012
New Revision: 188357

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188357
Log:
PR c++/53602
        * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
        note to a clobber insn when no other insn is available.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/combine-stack-adj.c


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (10 preceding siblings ...)
  2012-06-09  6:17 ` rth at gcc dot gnu.org
@ 2012-06-09  6:19 ` rth at gcc dot gnu.org
  2012-06-09 16:28 ` rth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rth at gcc dot gnu.org @ 2012-06-09  6:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Richard Henderson <rth at gcc dot gnu.org> 2012-06-09 06:18:53 UTC ---
Author: rth
Date: Sat Jun  9 06:18:38 2012
New Revision: 188358

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188358
Log:
PR c++/53602

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr53602.C


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (11 preceding siblings ...)
  2012-06-09  6:19 ` rth at gcc dot gnu.org
@ 2012-06-09 16:28 ` rth at gcc dot gnu.org
  2012-06-11 15:01 ` andy at benton dot eu.com
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rth at gcc dot gnu.org @ 2012-06-09 16:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Richard Henderson <rth at gcc dot gnu.org> 2012-06-09 16:27:59 UTC ---
Author: rth
Date: Sat Jun  9 16:27:52 2012
New Revision: 188360

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188360
Log:
PR c++/53602
        * cfgcleanup.c (execute_jump): Rename from rest_of_handle_jump2.
        (pass_jump): Rename from pass_jump2.
        (execute_jump2, pass_jump2): New.
        * combine-stack-adj.c (rest_of_handle_stack_adjustments): Don't
        perform cfg cleanup here.  Move the test of PUSH_ROUNDING
        and ACCUMULATE_OUTGOING_ARGS test...
        (gate_handle_stack_adjustments): ... here.
        * passes.c (init_optimization_passes): Update for pass_jump2 rename.
        Place new pass_jump2 after pass_stack_adjustments.
        * tree-pass.h (pass_jump): Declare.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cfgcleanup.c
    trunk/gcc/combine-stack-adj.c
    trunk/gcc/passes.c
    trunk/gcc/tree-pass.h


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7/4.8 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (12 preceding siblings ...)
  2012-06-09 16:28 ` rth at gcc dot gnu.org
@ 2012-06-11 15:01 ` andy at benton dot eu.com
  2012-06-11 15:15 ` [Bug c++/53602] [4.7 " jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: andy at benton dot eu.com @ 2012-06-11 15:01 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from Andrew Benton <andy at benton dot eu.com> 2012-06-11 15:00:41 UTC ---
Many thanks, Libre Office now compiles as expected. Should this bug be marked
as fixed?


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (13 preceding siblings ...)
  2012-06-11 15:01 ` andy at benton dot eu.com
@ 2012-06-11 15:15 ` jakub at gcc dot gnu.org
  2012-06-11 15:18 ` rth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-11 15:15 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.7/4.8 Regression] Libre  |[4.7 Regression] Libre
                   |Office causes an internal   |Office causes an internal
                   |compiler error              |compiler error

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-11 15:14:54 UTC ---
Not yet, because it hasn't been fixed on the 4.7 branch yet.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (14 preceding siblings ...)
  2012-06-11 15:15 ` [Bug c++/53602] [4.7 " jakub at gcc dot gnu.org
@ 2012-06-11 15:18 ` rth at gcc dot gnu.org
  2012-06-11 15:22 ` jakub at gcc dot gnu.org
  2012-06-12 13:42 ` doko at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: rth at gcc dot gnu.org @ 2012-06-11 15:18 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Henderson <rth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #16 from Richard Henderson <rth at gcc dot gnu.org> 2012-06-11 15:18:37 UTC ---
Yes it is fixed on the 4.7 branch.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (15 preceding siblings ...)
  2012-06-11 15:18 ` rth at gcc dot gnu.org
@ 2012-06-11 15:22 ` jakub at gcc dot gnu.org
  2012-06-12 13:42 ` doko at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-11 15:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-11 15:22:10 UTC ---
Oops, right you are.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug c++/53602] [4.7 Regression] Libre Office causes an internal compiler error
  2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
                   ` (16 preceding siblings ...)
  2012-06-11 15:22 ` jakub at gcc dot gnu.org
@ 2012-06-12 13:42 ` doko at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: doko at gcc dot gnu.org @ 2012-06-12 13:42 UTC (permalink / raw)
  To: gcc-bugs

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

Matthias Klose <doko at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |doko at gcc dot gnu.org

--- Comment #18 from Matthias Klose <doko at gcc dot gnu.org> 2012-06-12 13:40:52 UTC ---
*** Bug 53644 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2012-06-12 13:42 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-07 12:24 [Bug c++/53602] New: Libre Office causes an internal compiler error andy at benton dot eu.com
2012-06-07 12:35 ` [Bug c++/53602] " jakub at gcc dot gnu.org
2012-06-07 15:26 ` andy at benton dot eu.com
2012-06-07 15:45 ` paolo.carlini at oracle dot com
2012-06-07 16:12 ` andy at benton dot eu.com
2012-06-07 21:40 ` jakub at gcc dot gnu.org
2012-06-07 21:53 ` [Bug c++/53602] [4.7/4.8 Regression] " jakub at gcc dot gnu.org
2012-06-08  7:51 ` jakub at gcc dot gnu.org
2012-06-08  7:57 ` jakub at gcc dot gnu.org
2012-06-08 14:10 ` rth at gcc dot gnu.org
2012-06-09  6:14 ` rth at gcc dot gnu.org
2012-06-09  6:17 ` rth at gcc dot gnu.org
2012-06-09  6:19 ` rth at gcc dot gnu.org
2012-06-09 16:28 ` rth at gcc dot gnu.org
2012-06-11 15:01 ` andy at benton dot eu.com
2012-06-11 15:15 ` [Bug c++/53602] [4.7 " jakub at gcc dot gnu.org
2012-06-11 15:18 ` rth at gcc dot gnu.org
2012-06-11 15:22 ` jakub at gcc dot gnu.org
2012-06-12 13:42 ` doko at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).