public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
@ 2013-08-05 10:17 ` ktkachov at gcc dot gnu.org
  2013-08-05 10:18 ` ktkachov at gcc dot gnu.org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2013-08-05 10:17 UTC (permalink / raw)
  To: gcc-bugs

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

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |lto
                 CC|                            |jh at suse dot cz
   Target Milestone|---                         |4.9.0
      Known to fail|                            |4.9.0


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

* [Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
  2013-08-05 10:17 ` [Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error) ktkachov at gcc dot gnu.org
@ 2013-08-05 10:18 ` ktkachov at gcc dot gnu.org
  2013-08-06 20:00 ` pthaugen at gcc dot gnu.org
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2013-08-05 10:18 UTC (permalink / raw)
  To: gcc-bugs

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

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |arm-none-eabi

--- Comment #1 from ktkachov at gcc dot gnu.org ---
In case it's needed, compiler configured for arm-none-eabi:

--with-fpu=neon-vfpv4 --with-float=hard --with-arch=armv7-a


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

* [Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
  2013-08-05 10:17 ` [Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error) ktkachov at gcc dot gnu.org
  2013-08-05 10:18 ` ktkachov at gcc dot gnu.org
@ 2013-08-06 20:00 ` pthaugen at gcc dot gnu.org
  2013-08-08  9:38 ` ramana at gcc dot gnu.org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: pthaugen at gcc dot gnu.org @ 2013-08-06 20:00 UTC (permalink / raw)
  To: gcc-bugs

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

Pat Haugen <pthaugen at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|arm-none-eabi               |arm-none-eabi,
                   |                            |powerpc64-linux
                 CC|                            |pthaugen at gcc dot gnu.org

--- Comment #2 from Pat Haugen <pthaugen at gcc dot gnu.org> ---
Seeing the same thing on powerpc64-linux.


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

* [Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2013-08-06 20:00 ` pthaugen at gcc dot gnu.org
@ 2013-08-08  9:38 ` ramana at gcc dot gnu.org
  2013-08-09 12:40 ` ro at gcc dot gnu.org
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: ramana at gcc dot gnu.org @ 2013-08-08  9:38 UTC (permalink / raw)
  To: gcc-bugs

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

Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-08-08
                 CC|                            |ramana at gcc dot gnu.org
     Ever confirmed|0                           |1


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

* [Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2013-08-08  9:38 ` ramana at gcc dot gnu.org
@ 2013-08-09 12:40 ` ro at gcc dot gnu.org
  2013-08-12 12:28 ` hubicka at gcc dot gnu.org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: ro at gcc dot gnu.org @ 2013-08-09 12:40 UTC (permalink / raw)
  To: gcc-bugs

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

Rainer Orth <ro at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|arm-none-eabi,              |arm-none-eabi,
                   |powerpc64-linux             |powerpc64-linux,
                   |                            |i386-pc-solaris2.10
                 CC|                            |ro at gcc dot gnu.org

--- Comment #3 from Rainer Orth <ro at gcc dot gnu.org> ---
I'm also seeing this on Solaris 10/x86.

It may or may not be related to PR lto/58108, at least the coincidence is
noteworthy.

  Rainer


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

* [Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2013-08-09 12:40 ` ro at gcc dot gnu.org
@ 2013-08-12 12:28 ` hubicka at gcc dot gnu.org
  2013-08-12 12:50 ` hubicka at gcc dot gnu.org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-08-12 12:28 UTC (permalink / raw)
  To: gcc-bugs

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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |hubicka at gcc dot gnu.org
           Assignee|unassigned at gcc dot gnu.org      |hubicka at gcc dot gnu.org

--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Mine...


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

* [Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2013-08-12 12:28 ` hubicka at gcc dot gnu.org
@ 2013-08-12 12:50 ` hubicka at gcc dot gnu.org
  2013-08-19 22:28 ` [Bug lto/58084] [4.9 Regression] " hp at gcc dot gnu.org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-08-12 12:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
OK, the problem is that the return type of nested function is variable sized
type of the outer functions.  These types go to function sections and are not
merged.
We used to not ICE just by luck - RESTLT_DECL went to global section that
created yet another unmerged version of the type that got into RESULT_DECL.

This is not only problem of this kind and I am not quite sure what to do here:
either we need to invent way how to refer items in the other function section,
or we need to put all abstract origins into global stream completely.
The second would be very expensive...

In this partiuclar case we probably can just teach tree-inline to
VOID_CONVERT_EXPR when needed?


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

* [Bug lto/58084] [4.9 Regression] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2013-08-12 12:50 ` hubicka at gcc dot gnu.org
@ 2013-08-19 22:28 ` hp at gcc dot gnu.org
  2013-08-19 23:38 ` hp at gcc dot gnu.org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: hp at gcc dot gnu.org @ 2013-08-19 22:28 UTC (permalink / raw)
  To: gcc-bugs

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

Hans-Peter Nilsson <hp at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|arm-none-eabi,              |arm-none-eabi,
                   |powerpc64-linux,            |powerpc64-linux,
                   |i386-pc-solaris2.10         |i386-pc-solaris2.10,
                   |                            |cris-axis-elf
   Last reconfirmed|2013-08-08 00:00:00         |2013-08-20 0:00
                 CC|                            |hp at gcc dot gnu.org
          Component|regression                  |lto
            Summary|FAIL:                       |[4.9 Regression] FAIL:
                   |gcc.dg/torture/pr8081.c     |gcc.dg/torture/pr8081.c
                   |-O2 -flto                   |-O2 -flto
                   |-fno-use-linker-plugin      |-fno-use-linker-plugin
                   |-flto-partition=none        |-flto-partition=none
                   |(internal compiler error)   |(internal compiler error)

--- Comment #6 from Hans-Peter Nilsson <hp at gcc dot gnu.org> ---
Marking properly as regression, correcting component and adding target
cris-axis-elf.


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

* [Bug lto/58084] [4.9 Regression] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2013-08-19 22:28 ` [Bug lto/58084] [4.9 Regression] " hp at gcc dot gnu.org
@ 2013-08-19 23:38 ` hp at gcc dot gnu.org
  2013-08-29 13:17 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: hp at gcc dot gnu.org @ 2013-08-19 23:38 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Hans-Peter Nilsson <hp at gcc dot gnu.org> ---
For the record, I'm logging the following regression for cris-axis-elf in this
PR as well, because:
1: It's lto
2: The regression is observed introduced in the same interval locally:
(201466:201470]
3: While likely reproducible with a complete toolchain, last I looked
-save-temps didn't do much to help lto debuggability, nor was there equivalent
machinery, so not seeing it as helpful in a separate PR.

I'll make it a separate PR if I see separate changes in behavior (like
torture/pr8081.c fixed but torture/pr48661.C not).

Running /tmp/hpautotest-gcc0/gcc/gcc/testsuite/g++.dg/torture/dg-torture.exp
...
FAIL: g++.dg/torture/pr48661.C  -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (internal compiler error)
FAIL: g++.dg/torture/pr48661.C  -O2 -flto -fno-use-linker-plugin
-flto-partition=none  (test for excess errors)
FAIL: g++.dg/torture/pr48661.C  -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (internal compiler error)
FAIL: g++.dg/torture/pr48661.C  -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  (test for excess errors)
WARNING: g++.dg/torture/pr48661.C  -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  compilation failed to produce executable

In g++.log:
Executing on host:
/tmp/hpautotest-gcc1/cris-elf/gccobj/gcc/testsuite/g++/../../xg++
-B/tmp/hpautotest-gcc1/cris-elf/gccobj/gcc/testsuite/g++/../../
/tmp/hpautotest-gcc1/gcc/gcc/testsuite/g++.dg/torture/pr48661.C 
-fno-diagnostics-show-caret -fdiagnostics-color=never  -nostdinc++
-I/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libstdc++-v3/include/cris-elf
-I/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libstdc++-v3/include
-I/tmp/hpautotest-gcc1/gcc/libstdc++-v3/libsupc++
-I/tmp/hpautotest-gcc1/gcc/libstdc++-v3/include/backward
-I/tmp/hpautotest-gcc1/gcc/libstdc++-v3/testsuite/util -fmessage-length=0  -O2
-flto -fno-use-linker-plugin -flto-partition=none      -isystem
/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./newlib/targ-include -isystem
/tmp/hpautotest-gcc1/gcc/newlib/libc/include
-B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libgloss/cris/
-L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libgloss/cris
-L/tmp/hpautotest-gcc1/gcc/libgloss/cris 
-B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./newlib/
-L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./newlib -sim3  
-L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libstdc++-v3/src/.libs 
-B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libstdc++-v3/src/.libs  -lm  
-o ./pr48661.exe    (timeout = 300)
In member function '_ZTv0_n12_NK1D1mEv':
lto1: internal compiler error: Segmentation fault
0x7ea965 crash_signal
        /tmp/hpautotest-gcc1/gcc/gcc/toplev.c:335
0x524936 contains_struct_check
        /tmp/hpautotest-gcc1/gcc/gcc/tree.h:3803
0x524936 fold_build_pointer_plus_loc
        /tmp/hpautotest-gcc1/gcc/gcc/tree.h:5860
0x524936 thunk_adjust
        /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1297
0x5264c3 expand_thunk(cgraph_node*)
        /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1440
0x526d5b assemble_thunks_and_aliases
        /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1549
0x526daa assemble_thunks_and_aliases
        /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1565
0x526f42 expand_function
        /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1675
0x527cb0 expand_all_functions
        /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1717
0x527cb0 compile()
        /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:2054
0x4acbd6 lto_main()
        /tmp/hpautotest-gcc1/gcc/gcc/lto/lto.c:3843

$ c++filt _ZTv0_n12_NK1D1mEv
virtual thunk to D::m() const

(Shouldn't the "In member function" error message refer to the demangled name?)


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

* [Bug lto/58084] [4.9 Regression] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2013-08-19 23:38 ` hp at gcc dot gnu.org
@ 2013-08-29 13:17 ` rguenth at gcc dot gnu.org
  2013-09-04 16:59 ` hubicka at gcc dot gnu.org
  2013-09-17 15:22 ` hubicka at gcc dot gnu.org
  11 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-08-29 13:17 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
If a type is refered to by two functions it is by definition not local.  But
as it references a local entity it is local.

Note that you seem to have put the type local for RESULT_DECL but still
have the global type used for the function type that hangs off the
function decl.  That type also refers to the PARM_DECLs which are local, too
, now AFAIK.

So, you cannot really make PARM_DECLs or RESULT_DECL local.


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

* [Bug lto/58084] [4.9 Regression] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2013-08-29 13:17 ` rguenth at gcc dot gnu.org
@ 2013-09-04 16:59 ` hubicka at gcc dot gnu.org
  2013-09-17 15:22 ` hubicka at gcc dot gnu.org
  11 siblings, 0 replies; 12+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-04 16:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
The patch to "fix" this is issue is proposed at
http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00078.html


> If a type is refered to by two functions it is by definition not local.  But
> as it references a local entity it is local.

> Note that you seem to have put the type local for RESULT_DECL but still
> have the global type used for the function type that hangs off the
> function decl.  That type also refers to the PARM_DECLs which are local, too
> now AFAIK.
While it was discussed in more generality the thread of
http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00058.html , I will just add my
understanding to this particular problem here.

The type of RESULT_DECL was always local by tree_indexable predicate, since it
is variable sized and it reffers to local variable of the outer function in its
DECL_SIZE. The fact that RESULT_DECL was in global stream did not solve it.
The effect was that RESULT_DECL pushed another copy of the type into global
stream referring another copy of the local variable from global stream that
will never get unified with the real local variable in the local stream.  We do
not ICE because we compare types for equality between returned value and
returned type. Still the types are ill formed - we have three copies of the
type after streaming in (one global and one for each of the functions) and
three copies of the local variable (breaking one declaration rule).  We happen
to survive because we do not need the bad ones.

If we had another use of the type besides the returning we would get the same
problem even with global RESULT_DECL.  One can not write a testcase as for some
reason assignment of variable sized types is forbidden, while returning is
allowed.

The other ICE in thunks should be fixed by
http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00078.html


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

* [Bug lto/58084] [4.9 Regression] FAIL: gcc.dg/torture/pr8081.c  -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error)
       [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2013-09-04 16:59 ` hubicka at gcc dot gnu.org
@ 2013-09-17 15:22 ` hubicka at gcc dot gnu.org
  11 siblings, 0 replies; 12+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-17 15:22 UTC (permalink / raw)
  To: gcc-bugs

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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

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

--- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Fixed.


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

end of thread, other threads:[~2013-09-17 15:22 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-58084-4@http.gcc.gnu.org/bugzilla/>
2013-08-05 10:17 ` [Bug regression/58084] FAIL: gcc.dg/torture/pr8081.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error) ktkachov at gcc dot gnu.org
2013-08-05 10:18 ` ktkachov at gcc dot gnu.org
2013-08-06 20:00 ` pthaugen at gcc dot gnu.org
2013-08-08  9:38 ` ramana at gcc dot gnu.org
2013-08-09 12:40 ` ro at gcc dot gnu.org
2013-08-12 12:28 ` hubicka at gcc dot gnu.org
2013-08-12 12:50 ` hubicka at gcc dot gnu.org
2013-08-19 22:28 ` [Bug lto/58084] [4.9 Regression] " hp at gcc dot gnu.org
2013-08-19 23:38 ` hp at gcc dot gnu.org
2013-08-29 13:17 ` rguenth at gcc dot gnu.org
2013-09-04 16:59 ` hubicka at gcc dot gnu.org
2013-09-17 15:22 ` hubicka 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).