http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51992
Richard Guenther changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Keywords||lto
Last reconfirmed||2012-01-25
Component|lto |c++
CC||jason at gcc dot gnu.org,
||rguenth at gcc dot gnu.org
Ever Confirmed|0 |1
Summary|internal compiler error:|[4.7 Regression] internal
|tree code ‘target_expr’ is |compiler error: tree code
|not supported in LTO|‘target_expr’ is not
|streams |supported in LTO streams
Target Milestone|--- |4.7.0
--- Comment #1 from Richard Guenther 2012-01-25
10:27:01 UTC ---
Confirmed. Happens when we stream a function type:
unit size
align 8 symtab 0 alias set -1 canonical type 0x75ba1498
fields
external nonlocal suppress-debug decl_4 VOID file t.ii line 20 col
18
align 8 context result
>
full-name "KSharedConfig::Ptr"
X() X(constX&) this=(X&) n_parents=0 use_template=1 interface-unknown
pointer_to_this chain >
QI size unit size
align 8 symtab 0 alias set -1 canonical type 0x75ba1a80
arg-types
unsigned DI
size
unit size
align 64 symtab 0 alias set -1 canonical type 0x75ba1930>
chain
side-effects arg 0
arg 1
constant lngt 0>> value >>
pointer_to_this >
The 2nd argument type has TREE_PURPOSE set.
Jason, any idea where that comes from? Do we forget to clear it during
template instantiation somehow?
Works on the 4.6 branch.