public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867
@ 2005-01-03 13:41 larsbj at gullik dot net
  2005-01-03 15:28 ` [Bug c++/19241] " pinskia at gcc dot gnu dot org
                   ` (35 more replies)
  0 siblings, 36 replies; 37+ messages in thread
From: larsbj at gullik dot net @ 2005-01-03 13:41 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2265 bytes --]

g++ -v
Using built-in specs.
Configured with: ../configure --prefix=/opt/gcc-head --enable-languages=c,c++
--disable-checking
Thread model: posix
gcc version 4.0.0 20050103 (experimental)


Compile command:
g++ -DHAVE_CONFIG_H -I. -I. -I../../../src -I../../../images -I../../../src
-I../../../src/frontends -I../../../src/frontends/controllers -I../../../boost
-Winvalid-pch --include=./pch.h -O -fno-exceptions -c FormExternal.C -o
FormExternal.o

Result:
/opt/gcc-head/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/debug/safe_base.h:
In member function ‘__gnu_debug::_Safe_iterator<typename __gnu_norm::map<_Key,
_Tp, _Compare, _Alloc>::iterator, __gnu_debug_def::map<_Key, _Tp, _Compare,
_Allocator> > __gnu_debug_def::map<_Key, _Tp, _Compare, _Allocator>::end() [with
_Key = std::string, _Tp = lyx::external::Template::Format, _Compare =
std::less<std::string>, _Allocator = std::allocator<std::pair<const std::string,
lyx::external::Template::Format> >]’:
/opt/gcc-head/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/debug/safe_base.h:88:
internal compiler error: in make_decl_rtl, at varasm.c:867

This error goes away if "--include=./pch.h" is removed.

Also there might be a separate bug here, if I try to run the failing command
with "-save-temps" I just get a bunch or errors:

../../../src/frontends/controllers/Kernel.h:48: error: ‘std’ has not been declared
../../../src/frontends/controllers/Kernel.h:48: error: ‘string’ has not been
declared
../../../src/frontends/controllers/Kernel.h:56: error: ‘std’ has not been declared
etc...

So it seems that "-save-temps" does not work with precompiled headers.

And because of this I do not have any precompiled sources to offer.

-- 
           Summary: ICE in make_decl_rtl, at varasm.c:867
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: larsbj at gullik dot net
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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


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

* [Bug c++/19241] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
@ 2005-01-03 15:28 ` pinskia at gcc dot gnu dot org
  2005-01-03 16:22 ` larsbj at gullik dot net
                   ` (34 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-03 15:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-03 15:28 -------
We need a testcase to reproduce this.
read http://gcc.gnu.org how to reproduce one, there are instructions on how get a testcase for PCH 
too.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |WAITING


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


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

* [Bug c++/19241] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
  2005-01-03 15:28 ` [Bug c++/19241] " pinskia at gcc dot gnu dot org
@ 2005-01-03 16:22 ` larsbj at gullik dot net
  2005-01-03 18:04 ` pinskia at gcc dot gnu dot org
                   ` (33 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: larsbj at gullik dot net @ 2005-01-03 16:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From larsbj at gullik dot net  2005-01-03 16:22 -------
Just a comment before I begin work to create a testcase that is abit smaller than
the whole lyx distribution. If I turn off concept checks the ICE goes away.


-- 


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


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

* [Bug c++/19241] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
  2005-01-03 15:28 ` [Bug c++/19241] " pinskia at gcc dot gnu dot org
  2005-01-03 16:22 ` larsbj at gullik dot net
@ 2005-01-03 18:04 ` pinskia at gcc dot gnu dot org
  2005-01-03 18:25 ` larsbj at gullik dot net
                   ` (32 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-03 18:04 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-03 18:04 -------
There are instructions on the page I referenced on how to generate the needed information when using 
PCH.

-- 


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


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

* [Bug c++/19241] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (2 preceding siblings ...)
  2005-01-03 18:04 ` pinskia at gcc dot gnu dot org
@ 2005-01-03 18:25 ` larsbj at gullik dot net
  2005-01-03 19:03 ` pinskia at gcc dot gnu dot org
                   ` (31 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: larsbj at gullik dot net @ 2005-01-03 18:25 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From larsbj at gullik dot net  2005-01-03 18:25 -------
Ok, do you want a tar file with the setup to reproduce or do you want me to
attach ~100 attachments to this case with all the files needed to reproduce?

And reading gcc.gnu.org does not make it easier to create a testcase for a bug
that only happens with PCH. Apart from making preprocessed sources for the pch.h
file itself...

-- 


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


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

* [Bug c++/19241] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (3 preceding siblings ...)
  2005-01-03 18:25 ` larsbj at gullik dot net
@ 2005-01-03 19:03 ` pinskia at gcc dot gnu dot org
  2005-01-03 19:21 ` larsbj at gullik dot net
                   ` (30 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-03 19:03 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-03 19:03 -------
(In reply to comment #4)
> Ok, do you want a tar file with the setup to reproduce or do you want me to
> attach ~100 attachments to this case with all the files needed to reproduce?
> 
> And reading gcc.gnu.org does not make it easier to create a testcase for a bug
> that only happens with PCH. Apart from making preprocessed sources for the pch.h
> file itself...

  -fpch-preprocess            Look for and use PCH files even when preprocessing

Use that option.



-- 


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


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

* [Bug c++/19241] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (4 preceding siblings ...)
  2005-01-03 19:03 ` pinskia at gcc dot gnu dot org
@ 2005-01-03 19:21 ` larsbj at gullik dot net
  2005-01-03 19:38 ` [Bug c++/19241] [4.0 Regression] " pinskia at gcc dot gnu dot org
                   ` (29 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: larsbj at gullik dot net @ 2005-01-03 19:21 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 763 bytes --]


------- Additional Comments From larsbj at gullik dot net  2005-01-03 19:21 -------
I get a bit further with that, but I am not able to reproduce the error with
the resulting .ii file together with the pch.h (and pch.h.gch) file.

Instead I get stuck with myriads or errors similar to these:
../../../src/frontends/controllers/Kernel.h:48: error: âstdâ has not been declared
../../../src/frontends/controllers/Kernel.h:48: error: âstringâ has not been
declared
../../../src/frontends/controllers/Kernel.h:56: error: âstdâ has not been declared
../../../src/frontends/controllers/Kernel.h:56: error: âstringâ has not been
declared

I'll attch the FormExternal.ii file and the pch.ii file anyway.


-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (5 preceding siblings ...)
  2005-01-03 19:21 ` larsbj at gullik dot net
@ 2005-01-03 19:38 ` pinskia at gcc dot gnu dot org
  2005-01-03 19:56 ` larsbj at gullik dot net
                   ` (28 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-03 19:38 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-03 19:38 -------
Hmm, this works for me on ppc-darwin with:
gcc version 4.0.0 20050102 (experimental)


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
            Summary|ICE in make_decl_rtl, at    |[4.0 Regression] ICE in
                   |varasm.c:867                |make_decl_rtl, at
                   |                            |varasm.c:867
   Target Milestone|---                         |4.0.0


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (6 preceding siblings ...)
  2005-01-03 19:38 ` [Bug c++/19241] [4.0 Regression] " pinskia at gcc dot gnu dot org
@ 2005-01-03 19:56 ` larsbj at gullik dot net
  2005-01-03 20:08 ` pinskia at gcc dot gnu dot org
                   ` (27 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: larsbj at gullik dot net @ 2005-01-03 19:56 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From larsbj at gullik dot net  2005-01-03 19:56 -------
Then I am at a loss. I am only able to reproduce with the full lyx tree, when
using the preprocessed files I get errors about 'std' not being defined. (etc)

How did you compile the preprocessed sources to end up with no errors at all?



-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (7 preceding siblings ...)
  2005-01-03 19:56 ` larsbj at gullik dot net
@ 2005-01-03 20:08 ` pinskia at gcc dot gnu dot org
  2005-01-03 20:19 ` larsbj at gullik dot net
                   ` (26 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-03 20:08 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-03 20:08 -------
(In reply to comment #10)
> Then I am at a loss. I am only able to reproduce with the full lyx tree, when
> using the preprocessed files I get errors about 'std' not being defined. (etc)
> 
> How did you compile the preprocessed sources to end up with no errors at all?

grep -v ^# FormExternal.ii> FormExternal.cc
gcc FormExternal.cc -include pch.ii

-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (8 preceding siblings ...)
  2005-01-03 20:08 ` pinskia at gcc dot gnu dot org
@ 2005-01-03 20:19 ` larsbj at gullik dot net
  2005-01-03 20:22 ` larsbj at gullik dot net
                   ` (25 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: larsbj at gullik dot net @ 2005-01-03 20:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From larsbj at gullik dot net  2005-01-03 20:19 -------
(In reply to comment #11)

> grep -v ^# FormExternal.ii> FormExternal.cc
> gcc FormExternal.cc -include pch.ii

ok, my mistake was using g++ instead. Using the above I to get a clean compile
(-c). So it is quite obvious that just using preprocessed sources will not 
show the ICE.

Note that not only PCH is turned on when compiling, but libstdc++ debug mode and
concept checking as well.

If I turn concept checking off then it compiles, I have not tried with turning
off debug mode yet.



-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (9 preceding siblings ...)
  2005-01-03 20:19 ` larsbj at gullik dot net
@ 2005-01-03 20:22 ` larsbj at gullik dot net
  2005-01-03 20:28 ` larsbj at gullik dot net
                   ` (24 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: larsbj at gullik dot net @ 2005-01-03 20:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From larsbj at gullik dot net  2005-01-03 20:22 -------
(In reply to comment #12)

> ok, my mistake was using g++ instead. 

Not having done the "grep" more likely, and trying to compile the .ii file directly.



-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (10 preceding siblings ...)
  2005-01-03 20:22 ` larsbj at gullik dot net
@ 2005-01-03 20:28 ` larsbj at gullik dot net
  2005-01-03 20:41 ` pinskia at gcc dot gnu dot org
                   ` (23 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: larsbj at gullik dot net @ 2005-01-03 20:28 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1178 bytes --]


------- Additional Comments From larsbj at gullik dot net  2005-01-03 20:28 -------
(In reply to comment #12)
> 
> > grep -v ^# FormExternal.ii> FormExternal.cc
> > gcc FormExternal.cc -include pch.ii
> 
> So it is quite obvious that just using preprocessed sources will not 
> show the ICE.

If I compile like this:

 gcc -c -O -fno-exceptions --include=pch.ii FormExternal.cc

(both -O and -fno-exceptions)

Then I get the usual error:

/opt/gcc-head/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/debug/safe_base.h:
In member function â__gnu_debug::_Safe_iterator<typename __gnu_norm::map<_Key,
_Tp, _Compare, _Alloc>::iterator, __gnu_debug_def::map<_Key, _Tp, _Compare,
_Allocator> > __gnu_debug_def::map<_Key, _Tp, _Compare, _Allocator>::end() [with
_Key = std::string, _Tp = lyx::external::Template::Format, _Compare =
std::less<std::string>, _Allocator = std::allocator<std::pair<const std::string,
lyx::external::Template::Format> >]â:
/opt/gcc-head/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/debug/safe_base.h:88:
internal compiler error: in make_decl_rtl, at varasm.c:867


-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (11 preceding siblings ...)
  2005-01-03 20:28 ` larsbj at gullik dot net
@ 2005-01-03 20:41 ` pinskia at gcc dot gnu dot org
  2005-01-03 20:46 ` larsbj at gullik dot net
                   ` (22 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-03 20:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-03 20:41 -------
(In reply to comment #14)
> (In reply to comment #12)
> If I compile like this:
> 
>  gcc -c -O -fno-exceptions --include=pch.ii FormExternal.cc

Thanks for trying, I still cannot reproduce it on ppc-darwin, maybe I need a newer compiler or it just 
works on ppc-darwin.

Hopefully someone on x86-linux can reduce this.

-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (12 preceding siblings ...)
  2005-01-03 20:41 ` pinskia at gcc dot gnu dot org
@ 2005-01-03 20:46 ` larsbj at gullik dot net
  2005-01-04 19:48 ` pinskia at gcc dot gnu dot org
                   ` (21 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: larsbj at gullik dot net @ 2005-01-03 20:46 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
     Ever Confirmed|                            |1


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (13 preceding siblings ...)
  2005-01-03 20:46 ` larsbj at gullik dot net
@ 2005-01-04 19:48 ` pinskia at gcc dot gnu dot org
  2005-01-05 17:31 ` arend dot bayer at web dot de
                   ` (20 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-04 19:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-04 19:48 -------
Hmm, I cannot reproduce it with a cross compiler from today.

-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (14 preceding siblings ...)
  2005-01-04 19:48 ` pinskia at gcc dot gnu dot org
@ 2005-01-05 17:31 ` arend dot bayer at web dot de
  2005-01-05 18:14 ` larsbj at gullik dot net
                   ` (19 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: arend dot bayer at web dot de @ 2005-01-05 17:31 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From arend dot bayer at web dot de  2005-01-05 17:31 -------
Lars, can you maybe describe how to reproduce this starting from the lyx  
tarball? (I.e. which tarball to download, how to configure so that it uses PCH  
etc.)  

-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (15 preceding siblings ...)
  2005-01-05 17:31 ` arend dot bayer at web dot de
@ 2005-01-05 18:14 ` larsbj at gullik dot net
  2005-01-05 18:53 ` arend dot bayer at web dot de
                   ` (18 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: larsbj at gullik dot net @ 2005-01-05 18:14 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From larsbj at gullik dot net  2005-01-05 18:14 -------
(In reply to comment #17)
> Lars, can you maybe describe how to reproduce this starting from the lyx  
> tarball? (I.e. which tarball to download, how to configure so that it uses PCH  
> etc.)  

As of today, it seems that I am unable to reproduce using the LyX sources. However
if I use the files in the attachments then I get the same error as before.
(as mentioned earlier, the slightest change to the sources made the ICE go away) 

There are no tarballs of this LyX dist. Only by CVS unfortunately.
I can create a tar.gz for you if you want it, but I am not sure that it will
help.

g++ (GCC) 4.0.0 20050105 (experimental)

-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (16 preceding siblings ...)
  2005-01-05 18:14 ` larsbj at gullik dot net
@ 2005-01-05 18:53 ` arend dot bayer at web dot de
  2005-01-05 18:58 ` arend dot bayer at web dot de
                   ` (17 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: arend dot bayer at web dot de @ 2005-01-05 18:53 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From arend dot bayer at web dot de  2005-01-05 18:52 -------
(In reply to comment #18)  
> (In reply to comment #17)  
> > Lars, can you maybe describe how to reproduce this starting from the lyx    
> > tarball? (I.e. which tarball to download, how to configure so that it uses  
PCH    
> > etc.)    
>   
> As of today, it seems that I am unable to reproduce using the LyX sources.  
However  
> if I use the files in the attachments then I get the same error as before.  
> (as mentioned earlier, the slightest change to the sources made the ICE go  
away)   
If I try this, I just get tons of syntax errors like this: 
In file included 
from /opt/gcc-head/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/cstdlib:49, 
                 from ../../../boost/boost/regex/config.hpp:43, 
                 from ../../../boost/boost/regex.hpp:28, 
                 from ./pch.h:10, 
                 from <command line>:6: 
/opt/gcc-head/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/i686-pc-linux-gnu/bits/c++config.h:79: 
error: syntax  
  error before `__attribute__' 
 
> There are no tarballs of this LyX dist. Only by CVS unfortunately.  
> I can create a tar.gz for you if you want it, but I am not sure that it will  
> help.  
If you could send me that tar-file via e-mail, I would try to reproduce it 
here. (I tried CVS, but my versions of auto* seem incompatible.) 
  

-- 


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


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

* [Bug c++/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (17 preceding siblings ...)
  2005-01-05 18:53 ` arend dot bayer at web dot de
@ 2005-01-05 18:58 ` arend dot bayer at web dot de
  2005-01-06 18:28 ` [Bug tree-optimization/19241] " pinskia at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: arend dot bayer at web dot de @ 2005-01-05 18:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From arend dot bayer at web dot de  2005-01-05 18:57 -------
Sorry, don't bother sending me the tar-ball, I can now reproduce it with your  
attachments. 

-- 


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (18 preceding siblings ...)
  2005-01-05 18:58 ` arend dot bayer at web dot de
@ 2005-01-06 18:28 ` pinskia at gcc dot gnu dot org
  2005-01-06 18:55 ` nathan at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-06 18:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-06 18:28 -------
Hmm, this looks like an inliner bug. (I have it down to about 300 lines).

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c++                         |tree-optimization


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl, at varasm.c:867
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (19 preceding siblings ...)
  2005-01-06 18:28 ` [Bug tree-optimization/19241] " pinskia at gcc dot gnu dot org
@ 2005-01-06 18:55 ` nathan at gcc dot gnu dot org
  2005-01-07 12:09 ` [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner nathan at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: nathan at gcc dot gnu dot org @ 2005-01-06 18:55 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |nathan at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|0000-00-00 00:00:00         |2005-01-06 18:55:07
               date|                            |


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (20 preceding siblings ...)
  2005-01-06 18:55 ` nathan at gcc dot gnu dot org
@ 2005-01-07 12:09 ` nathan at gcc dot gnu dot org
  2005-01-08 22:54 ` pinskia at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: nathan at gcc dot gnu dot org @ 2005-01-07 12:09 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From nathan at gcc dot gnu dot org  2005-01-07 12:08 -------
It is somekind of inliner funkiness.  make_decl_rtl is complaining
about making the rtl for a non-register auto var.  I'll leave it
for an inliner guy.

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


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (21 preceding siblings ...)
  2005-01-07 12:09 ` [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner nathan at gcc dot gnu dot org
@ 2005-01-08 22:54 ` pinskia at gcc dot gnu dot org
  2005-01-09  5:01 ` pinskia at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-08 22:54 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-08 22:54 -------
: Search converges between 2004-08-07-trunk (#507) and 2004-08-08-trunk (#508).


-- 


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (22 preceding siblings ...)
  2005-01-08 22:54 ` pinskia at gcc dot gnu dot org
@ 2005-01-09  5:01 ` pinskia at gcc dot gnu dot org
  2005-01-09  7:29 ` aj at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-09  5:01 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical
           Priority|P2                          |P1


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (23 preceding siblings ...)
  2005-01-09  5:01 ` pinskia at gcc dot gnu dot org
@ 2005-01-09  7:29 ` aj at gcc dot gnu dot org
  2005-01-09 16:06 ` hubicka at ucw dot cz
                   ` (10 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: aj at gcc dot gnu dot org @ 2005-01-09  7:29 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From aj at gcc dot gnu dot org  2005-01-09 07:29 -------
Honza, this is an inliner bug - could you look at it, please? 

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


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (24 preceding siblings ...)
  2005-01-09  7:29 ` aj at gcc dot gnu dot org
@ 2005-01-09 16:06 ` hubicka at ucw dot cz
  2005-01-09 16:08 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: hubicka at ucw dot cz @ 2005-01-09 16:06 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From hubicka at ucw dot cz  2005-01-09 16:06 -------
Subject: Re:  [4.0 Regression] ICE in make_decl_rtl with inliner

> 
> ------- Additional Comments From aj at gcc dot gnu dot org  2005-01-09 07:29 -------
> Honza, this is an inliner bug - could you look at it, please? 

I did already once, but it really seem to be template instanciation
problem.  I will try harder...
> 
> -- 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |aj at gcc dot gnu dot org
>          AssignedTo|unassigned at gcc dot gnu   |hubicka at gcc dot gnu dot
>                    |dot org                     |org
>              Status|NEW                         |ASSIGNED
> 
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19241
> 
> ------- You are receiving this mail because: -------
> You are the assignee for the bug, or are watching the assignee.


-- 


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (25 preceding siblings ...)
  2005-01-09 16:06 ` hubicka at ucw dot cz
@ 2005-01-09 16:08 ` pinskia at gcc dot gnu dot org
  2005-01-09 16:20 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-09 16:08 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-09 16:08 -------
(In reply to comment #29)
> Subject: Re:  [4.0 Regression] ICE in make_decl_rtl with inliner
> I did already once, but it really seem to be template instanciation
> problem.  I will try harder...

In the small test case, there is no templates ...

I think the return value does not get mapped correctly but I could be totally wrong.

-- 


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (26 preceding siblings ...)
  2005-01-09 16:08 ` pinskia at gcc dot gnu dot org
@ 2005-01-09 16:20 ` pinskia at gcc dot gnu dot org
  2005-01-11 15:29 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-09 16:20 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-09 16:20 -------
I think this was caused by:
2004-08-07  Jason Merrill  <jason@redhat.com>

        Make return in memory explicit.
        * function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
        (assign_parm_find_data_types): Remove code for old front end
        invisible reference handling.

which would confirm my theory about the return value not being mapped correctly.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at redhat dot com


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (27 preceding siblings ...)
  2005-01-09 16:20 ` pinskia at gcc dot gnu dot org
@ 2005-01-11 15:29 ` pinskia at gcc dot gnu dot org
  2005-01-12 11:45 ` steven at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-11 15:29 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-11 15:29 -------
*** Bug 19374 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |micis at gmx dot de


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (28 preceding siblings ...)
  2005-01-11 15:29 ` pinskia at gcc dot gnu dot org
@ 2005-01-12 11:45 ` steven at gcc dot gnu dot org
  2005-01-12 11:51 ` steven at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-01-12 11:45 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From steven at gcc dot gnu dot org  2005-01-12 11:45 -------
We choque on expanding this: 
 
inline void Iterator::IsEnd () const 
{ 
  compare (this, static_cast<const Map*>(0)->end()); 
} 
 
Which looks like this at -O: 
compare (&D.2008, &D.2013) 
 
(gdb) 
#11 0x00000000007008d1 in expand_call (exp=0x2a959f6820, target=0x0, ignore=1) 
at calls.c:2543 
2543          precompute_register_parameters (num_actuals, args, 
&reg_parm_seen); 
(gdb) p debug_tree(args[0]->tree_value) 
 <addr_expr 0x2a959f4ec0 
    type <pointer_type 0x2a959e0340 
        type <record_type 0x2a959d79c0 Iterator addressable needs-constructing 
type_1 type_5 BLK 
            size <integer_cst 0x2a95890690 constant invariant 8> 
            unit size <integer_cst 0x2a958906c0 constant invariant 1> 
            align 8 symtab 0 alias set -1 fields <type_decl 0x2a959e0000 
Iterator> 
           needs-constructor X() X(constX&) this=(X&) n_parents=0 
use_template=0 interface-unknown 
            pointer_to_this <pointer_type 0x2a959e0340> reference_to_this 
<reference_type 0x2a959e5680> chain <type_decl 0x2a959d7b60 Iterator>> 
        public unsigned DI 
        size <integer_cst 0x2a95890c30 constant invariant 64> 
        unit size <integer_cst 0x2a95890c60 constant invariant 8> 
        align 64 symtab 0 alias set -1> 
    invariant 
    arg 0 <var_decl 0x2a959f7680 type <record_type 0x2a959d79c0 Iterator> 
        addressable used ignored BLK file t.C line 22 size <integer_cst 
0x2a95890690 8> unit size <integer_cst 0x2a958906c0 1> 
        align 8 context <function_decl 0x2a959de410 end> abstract_origin 
<var_decl 0x2a959e3000> 
        (mem/s:BLK (plus:DI (reg/f:DI 54 virtual-stack-vars) 
        (const_int -1 [0xffffffffffffffff])) [0 D.2013+0 S1 A8])>> 
$18 = void 
(gdb) p debug_tree(args[1]->tree_value) 
 <addr_expr 0x2a959f8d40 
    type <pointer_type 0x2a959e0340 
        type <record_type 0x2a959d79c0 Iterator addressable needs-constructing 
type_1 type_5 BLK 
            size <integer_cst 0x2a95890690 constant invariant 8> 
            unit size <integer_cst 0x2a958906c0 constant invariant 1> 
            align 8 symtab 0 alias set -1 fields <type_decl 0x2a959e0000 
Iterator> 
           needs-constructor X() X(constX&) this=(X&) n_parents=0 
use_template=0 interface-unknown 
            pointer_to_this <pointer_type 0x2a959e0340> reference_to_this 
<reference_type 0x2a959e5680> chain <type_decl 0x2a959d7b60 Iterator>> 
        public unsigned DI 
        size <integer_cst 0x2a95890c30 constant invariant 64> 
        unit size <integer_cst 0x2a95890c60 constant invariant 8> 
        align 64 symtab 0 alias set -1> 
    invariant 
    arg 0 <var_decl 0x2a959f7270 type <record_type 0x2a959d79c0 Iterator> 
        addressable used ignored BLK file t.C line 22 size <integer_cst 
0x2a95890690 8> unit size <integer_cst 0x2a958906c0 1> 
        align 8 context <function_decl 0x2a959de410 end> abstract_origin 
<var_decl 0x2a959e3000>>> 
$19 = void 
(gdb) 
 
Note that the arg 1 does not have RTL yet.  We eventually die expanding that 
arg when we trigger an assert: 
 
#1  0x0000000000a4eceb in make_decl_rtl (decl=0x2a959f7270) at varasm.c:868 
868         abort (); 
(gdb) p debug_tree(decl) 
 <var_decl 0x2a959f7270 
    type <record_type 0x2a959d79c0 Iterator addressable needs-constructing 
type_1 type_5 BLK 
        size <integer_cst 0x2a95890690 constant invariant 8> 
        unit size <integer_cst 0x2a958906c0 constant invariant 1> 
        align 8 symtab 0 alias set -1 
        fields <type_decl 0x2a959e0000 Iterator type <record_type 0x2a959d79c0 
Iterator> 
            nonlocal decl_4 VOID file t.C line 12 
            align 1 context <record_type 0x2a959d79c0 Iterator> 
           > 
       needs-constructor X() X(constX&) this=(X&) n_parents=0 use_template=0 
interface-unknown 
        pointer_to_this <pointer_type 0x2a959e0340> reference_to_this 
<reference_type 0x2a959e5680> chain <type_decl 0x2a959d7b60 Iterator>> 
    addressable used ignored BLK file t.C line 22 size <integer_cst 
0x2a95890690 8> unit size <integer_cst 0x2a958906c0 1> 
    align 8 context <function_decl 0x2a959de410 end> abstract_origin <var_decl 
0x2a959e3000>> 
$31 = void 
(gdb) l 
863           || (TREE_CODE (decl) == VAR_DECL 
864               && !TREE_STATIC (decl) 
865               && !TREE_PUBLIC (decl) 
866               && !DECL_EXTERNAL (decl) 
867               && !DECL_REGISTER (decl))) 
868         abort (); 
869       /* And that we were not given a type or a label.  */ 
870       else if (TREE_CODE (decl) == TYPE_DECL 
871                || TREE_CODE (decl) == LABEL_DECL) 
872         abort (); 
(gdb) p debug_tree (decl) 
 <var_decl 0x2a959f7270 
    type <record_type 0x2a959d79c0 Iterator addressable needs-constructing 
type_1 type_5 BLK 
        size <integer_cst 0x2a95890690 constant invariant 8> 
        unit size <integer_cst 0x2a958906c0 constant invariant 1> 
        align 8 symtab 0 alias set -1 
        fields <type_decl 0x2a959e0000 Iterator type <record_type 0x2a959d79c0 
Iterator> 
            nonlocal decl_4 VOID file t.C line 12 
            align 1 context <record_type 0x2a959d79c0 Iterator> 
           > 
       needs-constructor X() X(constX&) this=(X&) n_parents=0 use_template=0 
interface-unknown 
        pointer_to_this <pointer_type 0x2a959e0340> reference_to_this 
<reference_type 0x2a959e5680> chain <type_decl 0x2a959d7b60 Iterator>> 
    addressable used ignored BLK file t.C line 22 size <integer_cst 
0x2a95890690 8> unit size <integer_cst 0x2a958906c0 1> 
    align 8 context <function_decl 0x2a959de410 end> abstract_origin <var_decl 
0x2a959e3000>> 
$36 = void 
 

-- 


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (29 preceding siblings ...)
  2005-01-12 11:45 ` steven at gcc dot gnu dot org
@ 2005-01-12 11:51 ` steven at gcc dot gnu dot org
  2005-01-12 23:47 ` hubicka at ucw dot cz
                   ` (4 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-01-12 11:51 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From steven at gcc dot gnu dot org  2005-01-12 11:51 -------
This is the .generic dump: 
 
void Iterator::IsEnd() const (this) 
{ 
  struct Iterator D.1926; 
 
  end (&D.1926, 0B) [return slot addr]; 
  compare (this, &D.1926); 
} 
 
 
Iterator::Iterator() (this) 
{ 
  IsEnd (this); 
} 
 
 
Iterator Map::end() const (this) 
{ 
  struct Iterator & D.1937; 
 
  D.1937 = <retval>; 
  __comp_ctor  (D.1937); 
  return <retval>; 
} 
 
 
void Foo() () 
{ 
  struct Iterator D.1941; 
 
  { 
    struct Map f; 
 
    end (&D.1941, &f) [return slot addr]; 
  } 
} 
 
 
 
In the gimple dump we suddenly have 9 compare calls, so that the .cfg dump 
looks like this: 
 
  # BLOCK 0 
  # PRED: ENTRY (fallthru) 
  D.1937 = <retval>; 
  this = D.1937; 
  this = this; 
  D.1951 = &D.1952; 
  this = D.1951; 
  this = this; 
  D.1959 = &D.1960; 
  this = D.1959; 
  this = this; 
  D.1967 = &D.1968; 
  this = D.1967; 
  this = this; 
  D.1975 = &D.1976; 
  this = D.1975; 
  this = this; 
  D.1983 = &D.1984; 
  this = D.1983; 
  this = this; 
  D.1991 = &D.1992; 
  this = D.1991; 
  this = this; 
  D.1999 = &D.2000; 
  this = D.1999; 
  this = this; 
  D.2007 = &D.2008; 
  this = D.2007; 
  this = this; 
  end (&D.2013, 0B) [return slot addr]; 
  compare (this, &D.2013); 
  compare (this, &D.2005); 
  compare (this, &D.1997); 
  compare (this, &D.1989); 
  compare (this, &D.1981); 
  compare (this, &D.1973); 
  compare (this, &D.1965); 
  compare (this, &D.1957); 
  compare (this, &D.1949); 
  return <retval>; 
  # SUCC: EXIT 
 
 
 

-- 


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (30 preceding siblings ...)
  2005-01-12 11:51 ` steven at gcc dot gnu dot org
@ 2005-01-12 23:47 ` hubicka at ucw dot cz
  2005-01-13  0:11 ` jason at redhat dot com
                   ` (3 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: hubicka at ucw dot cz @ 2005-01-12 23:47 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From hubicka at ucw dot cz  2005-01-12 23:47 -------
Subject: Re:  [4.0 Regression] ICE in make_decl_rtl with inliner

Hi,
the problem is retval being mapped to &temporary.  When copy_body_p
replaces retval by this expression, the addr_expr is walked recursively
and temporary is not in the decl map so it is remapped to newly
allocated decls that never gets placed in bind_expr.

I think we either can insert map temporary == temporary when creating
the expression or avoid recursing when remapping happens.  The seconds
sounds cheaper and I think it is valid, so I am testing the attached
fix.  I am not familiar with inliner implementation enought to say for
sure that we never recurse into the replacements for reason tought.

Index: tree-inline.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-inline.c,v
retrieving revision 1.162
diff -c -3 -p -r1.162 tree-inline.c
*** tree-inline.c	4 Jan 2005 01:54:25 -0000	1.162
--- tree-inline.c	12 Jan 2005 23:43:04 -0000
*************** copy_body_r (tree *tp, int *walk_subtree
*** 503,508 ****
--- 503,509 ----
        /* Replace this variable with the copy.  */
        STRIP_TYPE_NOPS (new_decl);
        *tp = new_decl;
+       *walk_subtrees = 0;
      }
    else if (TREE_CODE (*tp) == STATEMENT_LIST)
      copy_statement_list (tp);



-- 


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (31 preceding siblings ...)
  2005-01-12 23:47 ` hubicka at ucw dot cz
@ 2005-01-13  0:11 ` jason at redhat dot com
  2005-01-25 23:02 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: jason at redhat dot com @ 2005-01-13  0:11 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jason at redhat dot com  2005-01-13 00:10 -------
Subject: Re:  [4.0 Regression] ICE in
 make_decl_rtl with inliner

That makes sense to me.

Jason


-- 


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (32 preceding siblings ...)
  2005-01-13  0:11 ` jason at redhat dot com
@ 2005-01-25 23:02 ` pinskia at gcc dot gnu dot org
  2005-01-26  9:21 ` steven at gcc dot gnu dot org
  2005-02-24 13:56 ` cvs-commit at gcc dot gnu dot org
  35 siblings, 0 replies; 37+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-25 23:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-25 23:02 -------
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01843.html>, note the wrong PR 
number is on the patch.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (33 preceding siblings ...)
  2005-01-25 23:02 ` pinskia at gcc dot gnu dot org
@ 2005-01-26  9:21 ` steven at gcc dot gnu dot org
  2005-02-24 13:56 ` cvs-commit at gcc dot gnu dot org
  35 siblings, 0 replies; 37+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-01-26  9:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From steven at gcc dot gnu dot org  2005-01-26 09:21 -------
Fixed (including fixing the PR number in the ChangeLog ;-)) 

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


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


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

* [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner
  2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
                   ` (34 preceding siblings ...)
  2005-01-26  9:21 ` steven at gcc dot gnu dot org
@ 2005-02-24 13:56 ` cvs-commit at gcc dot gnu dot org
  35 siblings, 0 replies; 37+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-02-24 13:56 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-02-24 01:56 -------
Subject: Bug 19241

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	apple-ppc-branch
Changes by:	dalej@gcc.gnu.org	2005-02-24 01:56:22

Modified files:
	gcc            : tree-inline.c ChangeLog.apple-ppc 

Log message:
	2005-02-23  Dale Johannesen  <dalej@apple.com>
	
	Radar 4011924
	PR 19241 (patch from mainline)
	* tree-inline.c (copy_body_r):  Don't recurse when
	remapping variables.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.26.2.87.2.10&r2=1.26.2.87.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.apple-ppc.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.1.2.322&r2=1.1.2.323



-- 


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


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

end of thread, other threads:[~2005-02-24  1:56 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-03 13:41 [Bug c++/19241] New: ICE in make_decl_rtl, at varasm.c:867 larsbj at gullik dot net
2005-01-03 15:28 ` [Bug c++/19241] " pinskia at gcc dot gnu dot org
2005-01-03 16:22 ` larsbj at gullik dot net
2005-01-03 18:04 ` pinskia at gcc dot gnu dot org
2005-01-03 18:25 ` larsbj at gullik dot net
2005-01-03 19:03 ` pinskia at gcc dot gnu dot org
2005-01-03 19:21 ` larsbj at gullik dot net
2005-01-03 19:38 ` [Bug c++/19241] [4.0 Regression] " pinskia at gcc dot gnu dot org
2005-01-03 19:56 ` larsbj at gullik dot net
2005-01-03 20:08 ` pinskia at gcc dot gnu dot org
2005-01-03 20:19 ` larsbj at gullik dot net
2005-01-03 20:22 ` larsbj at gullik dot net
2005-01-03 20:28 ` larsbj at gullik dot net
2005-01-03 20:41 ` pinskia at gcc dot gnu dot org
2005-01-03 20:46 ` larsbj at gullik dot net
2005-01-04 19:48 ` pinskia at gcc dot gnu dot org
2005-01-05 17:31 ` arend dot bayer at web dot de
2005-01-05 18:14 ` larsbj at gullik dot net
2005-01-05 18:53 ` arend dot bayer at web dot de
2005-01-05 18:58 ` arend dot bayer at web dot de
2005-01-06 18:28 ` [Bug tree-optimization/19241] " pinskia at gcc dot gnu dot org
2005-01-06 18:55 ` nathan at gcc dot gnu dot org
2005-01-07 12:09 ` [Bug tree-optimization/19241] [4.0 Regression] ICE in make_decl_rtl with inliner nathan at gcc dot gnu dot org
2005-01-08 22:54 ` pinskia at gcc dot gnu dot org
2005-01-09  5:01 ` pinskia at gcc dot gnu dot org
2005-01-09  7:29 ` aj at gcc dot gnu dot org
2005-01-09 16:06 ` hubicka at ucw dot cz
2005-01-09 16:08 ` pinskia at gcc dot gnu dot org
2005-01-09 16:20 ` pinskia at gcc dot gnu dot org
2005-01-11 15:29 ` pinskia at gcc dot gnu dot org
2005-01-12 11:45 ` steven at gcc dot gnu dot org
2005-01-12 11:51 ` steven at gcc dot gnu dot org
2005-01-12 23:47 ` hubicka at ucw dot cz
2005-01-13  0:11 ` jason at redhat dot com
2005-01-25 23:02 ` pinskia at gcc dot gnu dot org
2005-01-26  9:21 ` steven at gcc dot gnu dot org
2005-02-24 13:56 ` cvs-commit at gcc dot gnu dot 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).