[Bug c++/22138] Better error message for rejecting local template declaration.

2010-07-05 Thread pzhao at gcc dot gnu dot org


--- Comment #3 from pzhao at gcc dot gnu dot org  2010-07-05 06:13 ---
Fixed for trunk.


-- 

pzhao at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug lto/44818] New: [WINE] registrar.c:468:1: internal compiler error: in insert_save, at caller-save.c:1303

2010-07-05 Thread mathieu dot pogeant at rdf dot renesas dot com
Hi all,

when I try to compile wine-1.2 on a RedHat Enterprise 5 server, i've got this
message:
registrar.c: In function âresource_registerâ:
registrar.c:468:1: internal compiler error: in insert_save, at
caller-save.c:1303
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make[1]: *** [registrar.o] Error 1
make[1]: Leaving directory `/tmp/wine-1.2-rc6/dlls/atl'
make: *** [dlls/atl] Error 2

Information for GCC:
Using built-in specs.
COLLECT_GCC=/usr/local/gcc-4.5.0/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.5.0/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/usr/local/gcc-4.5.0
--with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
--with-mpc=/usr/local/mpc-0.8.1
Thread model: posix
gcc version 4.5.0 (GCC)


-- 
   Summary: [WINE] registrar.c:468:1: internal compiler error: in
insert_save, at caller-save.c:1303
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: lto
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mathieu dot pogeant at rdf dot renesas dot com
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug bootstrap/44820] New: [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon

2010-07-05 Thread mikpe at it dot uu dot se
gcc-4.6-20100703 fails during stage 2 of bootstrap on ARM:

/home/mikpe/gcc-4.6-20100703/gcc/config/arm/arm.c: In function
'arm_attr_length_move_neon':
/home/mikpe/gcc-4.6-20100703/gcc/config/arm/arm.c:12868:7: error: variable
'regno' set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors

make[3]: *** [arm.o] Error 1
make[3]: Leaving directory `/home/mikpe/objdir46/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/home/mikpe/objdir46'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/mikpe/objdir46'
make: *** [bootstrap] Error 2

Given the location of the error the cause is obviously Jie Zhang's recent patch
which added arm_attr_length_move_neon, namely r161776.

I'll attach a preliminary patch momentarily.


-- 
   Summary: [4.6 regression] ARM bootstrap failure: regno set but
unused in arm_attr_length_move_neon
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mikpe at it dot uu dot se
 GCC build triplet: armv5tel-unknown-linux-gnueabi
  GCC host triplet: armv5tel-unknown-linux-gnueabi
GCC target triplet: armv5tel-unknown-linux-gnueabi


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



[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon

2010-07-05 Thread mikpe at it dot uu dot se


--- Comment #1 from mikpe at it dot uu dot se  2010-07-05 08:57 ---
Created an attachment (id=21089)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21089action=view)
delete unused ut set variable regno

This obvious patch gets me past this point in the bootstrap.


-- 


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



[Bug middle-end/44813] ipa-split causes ice in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:173

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-07-05 09:09 ---
Created an attachment (id=21090)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21090action=view)
reduced testcase


-- 


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



[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon

2010-07-05 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug lto/44818] [WINE] registrar.c:468:1: internal compiler error: in insert_save, at caller-save.c:1303

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-07-05 09:11 ---
Please provide preprocessed source for registrar.c and the output of invoking
the compile when appending -v to the command-line.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon

2010-07-05 Thread jiez at gcc dot gnu dot org


--- Comment #2 from jiez at gcc dot gnu dot org  2010-07-05 09:11 ---
Subject: Bug 44820

Author: jiez
Date: Mon Jul  5 09:11:39 2010
New Revision: 161822

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161822
Log:
2010-07-05  Mikael Pettersson  mi...@it.uu.se

PR bootstrap/44820
* config/arm/arm.c (arm_attr_length_move_neon): Delete regno.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c


-- 


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



[Bug target/44816] [4.5/4.6 Regression] ice in subst_reloads, at reload.c:6328

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-07-05 09:13 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  Known to fail||4.5.0
  Known to work||4.4.3
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 09:13:20
   date||
Summary|ice in subst_reloads, at|[4.5/4.6 Regression] ice in
   |reload.c:6328   |subst_reloads, at
   ||reload.c:6328
   Target Milestone|--- |4.5.1
Version|unknown |4.5.1


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



[Bug middle-end/44813] [4.6 Regression] ipa-split causes ice in ptr_deref_may_alias_decl_p, at tree-ssa-alias.c:173

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-07-05 09:14 ---
Confirmed btw.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 09:14:56
   date||
Summary|ipa-split causes ice in |[4.6 Regression] ipa-split
   |ptr_deref_may_alias_decl_p, |causes ice in
   |at tree-ssa-alias.c:173 |ptr_deref_may_alias_decl_p,
   ||at tree-ssa-alias.c:173
   Target Milestone|--- |4.6.0


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



[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon

2010-07-05 Thread jiez at gcc dot gnu dot org


--- Comment #3 from jiez at gcc dot gnu dot org  2010-07-05 09:15 ---
Sorry for causing this. Thanks for your fix. I have committed it for you.


-- 

jiez at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c++/22138] Better error message for rejecting local template declaration.

2010-07-05 Thread paolo dot carlini at oracle dot com


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon

2010-07-05 Thread mikpe at it dot uu dot se


--- Comment #4 from mikpe at it dot uu dot se  2010-07-05 10:00 ---
Thank you Jie for the swift action.


-- 


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



[Bug c++/44808] [4.6 Regression] ICE: tree check: expected var_decl, have result_decl in gimplify_modify_expr

2010-07-05 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2010-07-05 10:55 ---
I don't see anything odd on the value-expr (the variable res has been NRVed in
the FE to the RESULT_DECL) nor on the assignments from RESULT_DECL.

So, I think either we should guard this hunk in gimplify.c with TREE_CODE
(*from_p) == VAR_DECL instead of DECL_P (*from_p), or change the check in
tree.h in {,SET_}DECL_DEBUG_EXPR from VAR_DECL_CHECK to DECL_COMMON_CHECK.
There is nothing VAR_DECL specific on the lookups (all it needs is DECL_UID,
which RESULT_DECL and PARM_DECLs etc. have too).  var-tracking will unlikely
use it though.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-07-04 14:38:16 |2010-07-05 10:55:02
   date||


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



[Bug c++/43120] Virtual inheritence with covariant return type confuses GCC

2010-07-05 Thread nathan at codesourcery dot com


--- Comment #6 from nathan at codesourcery dot com  2010-07-05 10:56 ---
Subject: Re:  Virtual inheritence with covariant return type
 confuses GCC

Jason,
 Reverting that patch fixes the problem and doesn't break any of the existing
 covariant tests.  Nathan, I couldn't figure out what the comment you added was
 talking about; I don't suppose you have any idea after all these years?

the patch email is at http://gcc.gnu.org/ml/gcc-patches/2003-01/msg02157.html 
and I see you and I discussed the patch then too, and it seems you took some 
convincing then too :)

Does that email thread help, or would you like me to dig deeper?

nathan


-- 


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



[Bug middle-end/37951] -ftree-parallelize-loops=2 fails

2010-07-05 Thread dennis dot wassel at googlemail dot com


--- Comment #13 from dennis dot wassel at googlemail dot com  2010-07-05 
11:02 ---
Works with 4.5.0


-- 

dennis dot wassel at googlemail dot com changed:

   What|Removed |Added

  Known to work||4.5.0


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



[Bug c++/44625] [4.3/4.4/4.5/4.6 Regression] ICE after error: anonymous struct not inside named type

2010-07-05 Thread paolo dot carlini at oracle dot com


--- Comment #4 from paolo dot carlini at oracle dot com  2010-07-05 11:04 
---
On it.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |paolo dot carlini at oracle
   |dot org |dot com
 Status|NEW |ASSIGNED


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



[Bug c++/44808] [4.6 Regression] ICE: tree check: expected var_decl, have result_decl in gimplify_modify_expr

2010-07-05 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2010-07-05 11:04 ---
Created an attachment (id=21091)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21091action=view)
gcc46-pr44808.patch

Untested fix.


-- 


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



[Bug target/44816] [4.5/4.6 Regression] ice in subst_reloads, at reload.c:6328

2010-07-05 Thread ubizjak at gmail dot com


--- Comment #2 from ubizjak at gmail dot com  2010-07-05 11:43 ---
The problem is with:

Breakpoint 1, fancy_abort (file=0xcd1f88 ../../gcc-svn/trunk/gcc/reload.c, 
line=6327, function=0xcd2722 subst_reloads)
at ../../gcc-svn/trunk/gcc/diagnostic.c:878
878 {
(gdb) up
#1  0x0075b3e2 in subst_reloads (insn=0x2b0b822718b8)
at ../../gcc-svn/trunk/gcc/reload.c:6327
6327gcc_assert (rld[r-what].optional);
(gdb) p debug_rtx (insn)
(insn 14 13 15 2 pr44816.c:32 (parallel [
(set (reg:CCC 17 flags)
(compare:CCC (plus:SI (subreg:SI (reg/v:DI 6 bp [orig:68 p_50 ]
[68]) 0)
(reg:SI 3 bx [orig:66 D.2792 ] [66]))
(subreg:SI (reg/v:DI 6 bp [orig:68 p_50 ] [68]) 0)))
(clobber (scratch:SI))
]) 316 {*addsi3_cconly_overflow} (expr_list:REG_DEAD (reg/v:DI 6 bp
[orig:68 p_50 ] [68])
(expr_list:REG_DEAD (reg:SI 3 bx [orig:66 D.2792 ] [66])
(nil

I see nothing wrong with this RTX.


-- 


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



[Bug c++/44780] [4.6 regression] Bogus set-but-not-used variable warning

2010-07-05 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2010-07-05 12:18 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/44784] [4.6 regression] Failed to build 403.gcc in SPEC CPU 2006

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2010-07-05 12:20 ---
Subject: Bug 44784

Author: rguenth
Date: Mon Jul  5 12:20:00 2010
New Revision: 161829

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161829
Log:
2010-07-05  Richard Guenther  rguent...@suse.de

PR tree-optimization/44784
* tree-ssa-pre.c (bitmap_find_leader): Fix dominance check
for inserted stmts.
(find_or_generate_expression): Fix SCCVN insertion check.

* gcc.c-torture/compile/pr44784.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr44784.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-pre.c


-- 


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



[Bug middle-end/44784] [4.6 regression] Failed to build 403.gcc in SPEC CPU 2006

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2010-07-05 12:21 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/44695] [4.6 Regression] ice in simplify_subreg, at simplify-rtx.c:5117

2010-07-05 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2010-07-05 12:21 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug target/43703] Unexpected floating point precision loss due to ARM NEON autovectorization

2010-07-05 Thread ramana at gcc dot gnu dot org


--- Comment #8 from ramana at gcc dot gnu dot org  2010-07-05 12:22 ---
Are you planning to backport this to all release branches since this affects
all of them ?

cheers
Ramana


-- 


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



[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2010-07-05 12:32 
---
field_type = build_pointer_type (field_type);

+  /* vtype fields can point to different types to the base type.  */
+  if (c-ts.type == BT_DERIVED  c-ts.u.derived-attr.vtype)
+   TYPE_REF_CAN_ALIAS_ALL (field_type) = true;
+

this is wrong.  You shouldn't change bits in (shared) types.  Instead do

field_type = build_pointer_type_for_mode
(field_type, ptr_mode,
 c-ts.type == BT_DERIVED  c-ts.u.derived-attr.vtype);


-- 


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



[Bug bootstrap/44820] [4.6 regression] ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon

2010-07-05 Thread jiez at gcc dot gnu dot org


--- Comment #5 from jiez at gcc dot gnu dot org  2010-07-05 12:45 ---
Subject: Bug 44820

Author: jiez
Date: Mon Jul  5 12:45:19 2010
New Revision: 161833

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161833
Log:
2010-07-05  Mikael Pettersson  mi...@it.uu.se

PR bootstrap/44820
* config/arm/arm.c (arm_attr_length_move_neon): Delete regno.

2010-07-05  Jie Zhang  j...@codesourcery.com

* config/arm/arm.c (arm_attr_length_move_neon): New.
* config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
* config/arm/neon.md (define_mode_attr V_slen): Remove.
(neon_movmode for VSTRUCT): Use arm_attr_length_move_neon
to compute length attribute.

Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/config/arm/arm-protos.h
branches/gcc-4_5-branch/gcc/config/arm/arm.c
branches/gcc-4_5-branch/gcc/config/arm/neon.md


-- 


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



[Bug c++/44822] New: Recusive functions optimize in unpredictable ways

2010-07-05 Thread marco at technoboredom dot net
$ uname -a
Linux oblomow 2.6.31.12-0.2-desktop #1 SMP PREEMPT 2010-03-16 21:25:39 +0100
x86_64 x86_64 x86_64 GNU/Linux
$ g++-4.5 -v
Using built-in specs.
COLLECT_GCC=g++-4.5
COLLECT_LTO_WRAPPER=/opt/gcc-4.5.0/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.5.0/configure --with-mpc=/opt/gcc-4.5.0
--enable-languages=c,c++ --prefix=/opt/gcc-4.5.0 --program-suffix=-4.5
Thread model: posix
gcc version 4.5.0 (GCC)

The following program computes fib(n) with NN identical, mutually recursive
functions.

#include stdio.h

templateint k,int N
struct F
{
static int f(int n) 
{
if (n2) return n; 
return F(k+1)%N,N::f(n-2)+F(k+1)%N,N::f(n-1);
}
};

int main()
{
printf(NN=%d, res=%d\n,NN,F0,NN::f(44));
}

For NN=1 only one function is used, for NN=2 F0,2:f(int) calls F1,2:f(int)
and vice versa, etc.pp. The running time variance under different values for NN
is **suprising**:

 for x in {1..15} ; do g++-4.5 -O3 -DNN=$x f.cc -o f$x ; time ./f$x ; echo 
 ---; done
NN=1, res=701408733 

real0m4.617s
user0m4.606s
sys 0m0.003s
--- 
NN=2, res=701408733

real0m2.361s
user0m2.358s
sys 0m0.002s
--- 
NN=3, res=701408733

real0m3.267s
user0m3.264s
sys 0m0.001s
--- 
NN=4, res=701408733

real0m1.191s
user0m1.183s
sys 0m0.001s
--- 
NN=5, res=701408733

real0m0.949s
user0m0.946s
sys 0m0.002s
--- 
NN=6, res=701408733

real0m1.541s
user0m1.540s
sys 0m0.000s
--- 
NN=7, res=701408733

real0m1.475s
user0m1.459s
sys 0m0.002s
---
NN=8, res=701408733

real0m0.509s
user0m0.499s
sys 0m0.001s
---
NN=9, res=701408733

real0m0.723s
user0m0.720s
sys 0m0.002s
---
NN=10, res=701408733

real0m1.566s
user0m1.558s
sys 0m0.001s
---
NN=11, res=701408733

real0m1.871s
user0m1.868s
sys 0m0.002s
---
NN=12, res=701408733

real0m0.806s
user0m0.803s
sys 0m0.001s
---
NN=13, res=701408733

real0m1.735s
user0m1.735s
sys 0m0.000s
---
NN=14, res=701408733

real0m1.282s
user0m1.281s
sys 0m0.000s
---
NN=15, res=701408733

real0m1.916s
user0m1.906s
sys 0m0.002s
---

The NN=1 case is 9x slower than NN=8, which is again 3x faster than NN=7 and
NN=10, even though it is the same computation in all cases. Great news is, that
the figures themselves are much better than with gcc-4.4, but the variance
bothers me a bit.


-- 
   Summary: Recusive functions optimize in unpredictable ways
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: marco at technoboredom dot net
  GCC host triplet: x86_64-suse-linux
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types

2010-07-05 Thread burnus at gcc dot gnu dot org


--- Comment #13 from burnus at gcc dot gnu dot org  2010-07-05 13:14 ---
(In reply to comment #12)
 You shouldn't change bits in (shared) types.  Instead do
 
 field_type = build_pointer_type_for_mode
 (field_type, ptr_mode,
  c-ts.type == BT_DERIVED  c-ts.u.derived-attr.vtype);

Thanks for checking, Richard!


For those wondering, like me, where ptr_mode is defined: gcc/machmode.h has:
  extern enum machine_mode ptr_mode;

The the function itself is (tree.c):

/* Construct, lay out and return the type of pointers to TO_TYPE with
   mode MODE.  If CAN_ALIAS_ALL is TRUE, indicate this type can
   reference all of memory. If such a type has already been
   constructed, reuse it.  */

tree
build_pointer_type_for_mode (tree to_type, enum machine_mode mode,
 bool can_alias_all)


-- 


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



[Bug tree-optimization/44328] switch/case optimization produces an invalid lookup table index

2010-07-05 Thread ramana at gcc dot gnu dot org


--- Comment #22 from ramana at gcc dot gnu dot org  2010-07-05 13:43 ---
With trunk as of a couple of days back - the testcase when compiled with
-mcpu=cortex-a9 -mfpu=neon -mfloat-abi=softfp for EABI generates the following
code for C++ but not for C.

Notice the removal of the check of the condition for being out of range 

Z9open_filePKc8OpenMode:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
stmfd   sp!, {r3, lr}
ldr r3, .L2
ldr r1, [r3, r1, asl #2]
bl  open
ldmfd   sp!, {r3, lr}
bx  lr
.L3:
.align  2
.L2:
.word   .LANCHOR0
.size   _Z9open_filePKc8OpenMode, .-_Z9open_filePKc8OpenMode
.section.rodata
.align  2
.set.LANCHOR0,. + 0
.type   CSWTCH.1, %object
.size   CSWTCH.1, 16
CSWTCH.1:
.word   1
.word   74
.word   3
.word   75
.ident  GCC: (GNU) 4.6.0 20100702 (experimental)



Same file compiled in C.


open_file:
@ Function supports interworking.
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
cmp r1, #3
stmfd   sp!, {r3, lr}
ldrls   r3, .L4
movhi   r1, #0
ldrls   r1, [r3, r1, asl #2]
bl  open
ldmfd   sp!, {r3, lr}
bx  lr
.L5:
.align  2
.L4:
.word   .LANCHOR0
.size   open_file, .-open_file
.section.rodata
.align  2
.set.LANCHOR0,. + 0
.type   CSWTCH.1, %object
.size   CSWTCH.1, 16
CSWTCH.1:
.word   1
.word   74
.word   3
.word   75
.ident  GCC: (GNU) 4.6.0 20100702 (experimental)


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c++ |tree-optimization
 Ever Confirmed|0   |1
  Known to fail||4.6.0
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 13:43:01
   date||


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



[Bug tree-optimization/44822] Recusive functions optimize in unpredictable ways

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2010-07-05 13:46 ---
recursive inlining is limited to a depth of 8.

While the testcase may be interesting, does it have any practical
relevance?  Certainly nobody looked to optimize for these funny
callgraphs.

But yes, confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org, hubicka at gcc dot gnu
   ||dot org
 Status|UNCONFIRMED |NEW
  Component|c++ |tree-optimization
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 13:46:47
   date||


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



[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types

2010-07-05 Thread paul dot richard dot thomas at gmail dot com


--- Comment #14 from paul dot richard dot thomas at gmail dot com  
2010-07-05 13:52 ---
Subject: Re:  [OOP] Dynamic dispatch uses broken types

On Mon, Jul 5, 2010 at 3:14 PM, burnus at gcc dot gnu dot org
gcc-bugzi...@gcc.gnu.org wrote:

 Thanks for checking, Richard!

Indeed, seconded by me.

Is there anywhere that these rather more subtle aspects of gcc are
documented in a structured way?  I am afraid that I just do not have
the time to do the archeology that seems to be necessary.

I'll do the necessary asap.

Thanks

Paul


-- 


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



[Bug lto/44804] lto1 ICE in trunk

2010-07-05 Thread moonshine at kapsi dot fi


--- Comment #2 from moonshine at kapsi dot fi  2010-07-05 14:01 ---
This issue seems to be fixed in latest trunk, although issue #44802 still
prevents xz build with -flto -fuse-linker-plugin. Reduced testcase compiles
fine however.


-- 

moonshine at kapsi dot fi changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types

2010-07-05 Thread rguenther at suse dot de


--- Comment #15 from rguenther at suse dot de  2010-07-05 14:06 ---
Subject: Re:  [OOP] Dynamic dispatch uses broken types

On Mon, 5 Jul 2010, paul dot richard dot thomas at gmail dot com wrote:

 --- Comment #14 from paul dot richard dot thomas at gmail dot com  
 2010-07-05 13:52 ---
 Subject: Re:  [OOP] Dynamic dispatch uses broken types
 
 On Mon, Jul 5, 2010 at 3:14 PM, burnus at gcc dot gnu dot org
 gcc-bugzi...@gcc.gnu.org wrote:
 
  Thanks for checking, Richard!
 
 Indeed, seconded by me.
 
 Is there anywhere that these rather more subtle aspects of gcc are
 documented in a structured way?  I am afraid that I just do not have
 the time to do the archeology that seems to be necessary.

Well, it's the general invariant that all TYPEs and DECLs are
shared, likewise some constants (notably INTEGER_CSTs).
You should never modify them directly (unless you know
exactly what you are doing), but use construction functions from tree.c

 I'll do the necessary asap.

Thanks.


-- 


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



[Bug middle-end/44817] Stage2/stage3 genautomata has invalid memory access

2010-07-05 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2010-07-05 14:09 ---
So, what is the problem here?


-- 


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



[Bug c/44823] New: internal compiler error: verify_ssa failed

2010-07-05 Thread regehr at cs dot utah dot edu
Testcase is reduced from ssa-ccp.c from gcc from specCPU2006.

reg...@john-home:~/volatile/bugs/tmp323$ current-gcc -v
Using built-in specs.
COLLECT_GCC=current-gcc
COLLECT_LTO_WRAPPER=/home/regehr/z/compiler-install/gcc-r161813-install/libexec/gcc/i686-pc-linux-gnu/4.6.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../configure --with-libelf=/usr/local --enable-lto
--prefix=/home/regehr/z/compiler-install/gcc-r161813-install
--program-prefix=r161813- --enable-languages=c,c++
Thread model: posix
gcc version 4.6.0 20100704 (experimental) (GCC) 

reg...@john-home:~/volatile/bugs/tmp323$ current-gcc -O3 small.c

small.c: In function ‘defs_to_undefined.isra.0’:
small.c:83:1: error: definition in block 7 follows the use
for SSA_NAME: pretmp.26_24 in statement:
pretmp.28_4 = (struct rtx_def *) pretmp.26_24;
small.c:83:1: internal compiler error: verify_ssa failed
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: internal compiler error: verify_ssa failed
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: regehr at cs dot utah dot edu
 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=44823



[Bug c/44823] internal compiler error: verify_ssa failed

2010-07-05 Thread regehr at cs dot utah dot edu


--- Comment #1 from regehr at cs dot utah dot edu  2010-07-05 14:40 ---
Created an attachment (id=21092)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21092action=view)
failure-inducing C


-- 


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



[Bug c++/44808] [4.6 Regression] ICE: tree check: expected var_decl, have result_decl in gimplify_modify_expr

2010-07-05 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2010-07-05 14:42 ---
Subject: Bug 44808

Author: jakub
Date: Mon Jul  5 14:42:20 2010
New Revision: 161838

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161838
Log:
PR c++/44808
* gimplify.c (gimplify_modify_expr): Only SET_DECL_DEBUG_EXPR if
*from_p is VAR_DECL.

* g++.dg/opt/nrv16.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/opt/nrv16.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/44822] Recusive functions optimize in unpredictable ways

2010-07-05 Thread marco at technoboredom dot net


--- Comment #2 from marco at technoboredom dot net  2010-07-05 14:46 ---
(In reply to comment #1)
 recursive inlining is limited to a depth of 8.
 
 While the testcase may be interesting, does it have any practical
 relevance?  

Probably. The test case shows that the compiler fails to recognize that f() can
be optimzed a *magnitude* better, unless we explicitly expand the call graph
(NN1). The stock version (NN==1) of f() is the slowest. 

 Certainly nobody looked to optimize for these funny
 callgraphs.

It's still the call graph of f() only that f changes it's name in each call --
F0,3::f calls F1,3::f calls F2,3::f calls F0,3::f etc.


-- 

marco at technoboredom dot net changed:

   What|Removed |Added

  Component|tree-optimization   |c++


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



[Bug tree-optimization/44822] Recusive functions optimize in unpredictable ways

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2010-07-05 14:54 ---
It's quite different as tail-recursion optimization doesn't apply if the
functions are named differently.  And the callgraph has an exponential
number of edges which we usually do not flatten down to the point where
tail-recursion will apply.

What is indeed odd is that we optimize better with an expanded callgraph
which we shouldn't.


-- 


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



[Bug middle-end/44784] [4.6 regression] Failed to build 403.gcc in SPEC CPU 2006

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2010-07-05 15:26 ---
*** Bug 44823 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||regehr at cs dot utah dot
   ||edu


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



[Bug c/44823] internal compiler error: verify_ssa failed

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-07-05 15:26 ---
Mine is smaller ;)

*** This bug has been marked as a duplicate of 44784 ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug target/36861] [4.5/4.6 Regression] boost's compressed avl confuses GCC

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #32 from rguenth at gcc dot gnu dot org  2010-07-05 15:40 
---
Re-confirmed for current 4.5 branch and trunk.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2008-10-22 03:02:05 |2010-07-05 15:40:28
   date||


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



[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types

2010-07-05 Thread paul dot richard dot thomas at gmail dot com


--- Comment #16 from paul dot richard dot thomas at gmail dot com  
2010-07-05 15:47 ---
Subject: Re:  [OOP] Dynamic dispatch uses broken types

 --- Comment #15 from rguenther at suse dot de  2010-07-05 14:06 ---

Now I take a look at build_pointer_type_for_mode and it's uses in
gfortran, it seems rather obvious.  Thanks for the helping hand.

Paul


-- 


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



[Bug middle-end/44817] Stage2/stage3 genautomata has invalid memory access

2010-07-05 Thread hjl dot tools at gmail dot com


--- Comment #4 from hjl dot tools at gmail dot com  2010-07-05 15:57 ---
This may be a valgrind bug. I will investigate.


-- 


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



[Bug target/36861] [4.5/4.6 Regression] boost's compressed avl confuses GCC

2010-07-05 Thread rguenth at gcc dot gnu dot org


--- Comment #33 from rguenth at gcc dot gnu dot org  2010-07-05 16:03 
---
Using valgrind there are randomly reported errors, so this is likely either
an invalid testcase or a miscompile that manifests itself as runtime
regression.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords|missed-optimization |wrong-code


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



[Bug regression/44824] New: [4.6 regression] internal compiler error: verify_stmts failed

2010-07-05 Thread jojelino at gmail dot com
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-cygwin/4.6.0/lto-wrapper.exe
Target: i686-pc-cygwin
Configured with: ./configure --prefix=/usr --disable-win32-registry
--enable-threads=posix --enable-languages=c,c++ --with-win32-nlsapi=unicode
--enable-tls --disable-bootstrap --enable-shared --disable-sjlj-exceptions
Thread model: posix
gcc version 4.6.0 20100705 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-O2' '-I.' '-I.' '-I./common' '-I./config'
'-DLOCALEDIR=/usr/share/locale' '-DHAVE_CONFIG_H' '-I./../include/opcode'
'-I./../opcodes/..' '-I./../readline/..' '-I../bfd-I./../bfd' '-I./../include'
'-I../libdecnumber' '-I./../libdecnumber' '-I./gnulib' '-Ignulib' '-DMI_OUT=1'
'-DTUI=1' '-I/usr/include' '-I/usr/include' '-Wall'
'-Wdeclaration-after-statement' '-Wpointer-arith' '-Wformat-nonliteral'
'-Wno-pointer-sign' '-Wno-unused' '-Wunused-value' '-Wunused-function'
'-Wno-switch' '-Wno-char-subscripts' '-c' '-o' 'py-inferior.o' '-MT'
'py-inferior.o' '-MMD' '-MP' '-MF' '.deps/py-inferior.Tpo'
'-fno-strict-aliasing' '-DNDEBUG' '-fwrapv' '-save-temps' '-v' '-mtune=generic'
'-march=pentiumpro'
 /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe -E -quiet -v -I. -I. -I./common
-I./config -I./../include/opcode -I./../opcodes/.. -I./../readline/..
-I../bfd-I./../bfd -I./../include -I../libdecnumber -I./../libdecnumber
-I./gnulib -Ignulib -I/usr/include -I/usr/include -MMD py-inferior.d -MF
.deps/py-inferior.Tpo -MP -MT py-inferior.o -D__CYGWIN32__ -D__CYGWIN__ -Dunix
-D__unix__ -D__unix -idirafter
/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api
-idirafter
/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api
-DLOCALEDIR=/usr/share/locale -DHAVE_CONFIG_H -DMI_OUT=1 -DTUI=1 -DNDEBUG
./python/py-inferior.c -mtune=generic -march=pentiumpro -Wall
-Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral
-Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch
-Wno-char-subscripts -fno-strict-aliasing -fwrapv -O2 -fpch-preprocess -o
py-inferior.i
ignoring duplicate directory /usr/include
ignoring duplicate directory
/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../../include/w32api
ignoring duplicate directory .
ignoring duplicate directory ./../readline/..
ignoring duplicate directory ./../libdecnumber
ignoring duplicate directory gnulib
ignoring duplicate directory /usr/include
  as it is a non-system directory that duplicates a system directory
ignoring duplicate directory /usr/include
  as it is a non-system directory that duplicates a system directory
#include ... search starts here:
#include ... search starts here:
 .
 ./common
 ./config
 ./../include/opcode
 ./../opcodes/..
 ../bfd-I./../bfd
 ./../include
 ../libdecnumber
 ./gnulib
 /usr/local/include
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/include
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/include-fixed
 /usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/include

/usr/lib/gcc/i686-pc-cygwin/4.6.0/../../../../i686-pc-cygwin/lib/../include/w32api
End of search list.
COLLECT_GCC_OPTIONS='-O2' '-I.' '-I.' '-I./common' '-I./config'
'-DLOCALEDIR=/usr/share/locale' '-DHAVE_CONFIG_H' '-I./../include/opcode'
'-I./../opcodes/..' '-I./../readline/..' '-I../bfd-I./../bfd' '-I./../include'
'-I../libdecnumber' '-I./../libdecnumber' '-I./gnulib' '-Ignulib' '-DMI_OUT=1'
'-DTUI=1' '-I/usr/include' '-I/usr/include' '-Wall'
'-Wdeclaration-after-statement' '-Wpointer-arith' '-Wformat-nonliteral'
'-Wno-pointer-sign' '-Wno-unused' '-Wunused-value' '-Wunused-function'
'-Wno-switch' '-Wno-char-subscripts' '-c' '-o' 'py-inferior.o' '-MT'
'py-inferior.o' '-MMD' '-MP' '-MF' '.deps/py-inferior.Tpo'
'-fno-strict-aliasing' '-DNDEBUG' '-fwrapv' '-save-temps' '-v' '-mtune=generic'
'-march=pentiumpro'
 /usr/libexec/gcc/i686-pc-cygwin/4.6.0/cc1.exe -fpreprocessed py-inferior.i
-quiet -dumpbase py-inferior.c -mtune=generic -march=pentiumpro -auxbase-strip
py-inferior.o -O2 -Wall -Wdeclaration-after-statement -Wpointer-arith
-Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value
-Wunused-function -Wno-switch -Wno-char-subscripts -version
-fno-strict-aliasing -fwrapv -o py-inferior.s
GNU C (GCC) version 4.6.0 20100705 (experimental) (i686-pc-cygwin)
compiled by GNU C version 4.6.0 20100704 (experimental), GMP version
5.0.0, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C (GCC) version 4.6.0 20100705 (experimental) (i686-pc-cygwin)
compiled by GNU C version 4.6.0 20100704 (experimental), GMP version
5.0.0, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: eef17e2885340d50b76b2d9d39ad2cf9
./python/py-inferior.c: In function ‘infpy_get_was_attached’:
./python/py-inferior.c:728:1: error: Invalid address operand in MEM_REF.
MEM[(struct PyObject *)_Py_TrueStruct];

# VUSE .MEM_18(D)
D

[Bug regression/44824] [4.6 regression] internal compiler error: verify_stmts failed

2010-07-05 Thread jojelino at gmail dot com


--- Comment #1 from jojelino at gmail dot com  2010-07-05 16:07 ---
Created an attachment (id=21093)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21093action=view)
preprocessed source


-- 


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



[Bug bootstrap/44825] New: [4.6 regression] Failed to bootstrap

2010-07-05 Thread hjl dot tools at gmail dot com
On Linux/ia32, revision 161840 gave:

../../src-trunk/gcc/java/class.c: In function 'make_class_data':
../../src-trunk/gcc/java/class.c:1923:3: error: comparison between signed and
unsigned integer expressions [-Werror=sign-compare]
../../src-trunk/gcc/java/class.c:1925:3: error: comparison between signed and
unsigned integer expressions [-Werror=sign-compare]


-- 
   Summary: [4.6 regression] Failed to bootstrap
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com


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



[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap

2010-07-05 Thread hjl dot tools at gmail dot com


--- Comment #1 from hjl dot tools at gmail dot com  2010-07-05 16:13 ---
It may be caused by revision 161839:

http://gcc.gnu.org/ml/gcc-cvs/2010-07/msg00193.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||froydnj at gcc dot gnu dot
   ||org


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



[Bug middle-end/44826] New: Mozilla build ICE at Invalid first operand of MEM_REF.

2010-07-05 Thread hubicka at gcc dot gnu dot org
j...@evans:/abuild/jh/mozilla-central/build2/storage/src
/abuild/jh/trunk-install/bin/g++ mozStorageRow.ii -O2 
../../../storage/src/mozStorageRow.cpp: In constructor
‘mozilla::storage::VariantDataType::Variant(typename
mozilla::storage::variant_storage_traitsDataType::ConstructorType) [with
DataType = nsString, typename
mozilla::storage::variant_storage_traitsDataType::ConstructorType = const
nsAString_internal]’:
../../../storage/src/mozStorageRow.cpp:271:1: error: Invalid first operand of
MEM_REF.
this_1(D)-mData
../../../storage/src/Variant.h:210:29: note: in statement
D.21496_9 = this_1(D)-mData;

../../../storage/src/mozStorageRow.cpp:271:1: error: Invalid address operand in
MEM_REF.
this_1(D)-mData;

D.21496_9 = this_1(D)-mData;

../../../storage/src/mozStorageRow.cpp:271:1: internal compiler error:
verify_stmts failed
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: Mozilla build ICE at Invalid first operand of MEM_REF.
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hubicka at gcc dot gnu dot org
 GCC build triplet: x86_64-linux
  GCC host triplet: x86_64-linux
GCC target triplet: x86_64-linux


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



[Bug middle-end/44826] Mozilla build ICE at Invalid first operand of MEM_REF.

2010-07-05 Thread hubicka at gcc dot gnu dot org


--- Comment #1 from hubicka at gcc dot gnu dot org  2010-07-05 16:31 ---
Created an attachment (id=21094)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21094action=view)
testcase


-- 


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



[Bug middle-end/44826] Mozilla build ICE at Invalid first operand of MEM_REF.

2010-07-05 Thread hubicka at gcc dot gnu dot org


--- Comment #2 from hubicka at gcc dot gnu dot org  2010-07-05 16:45 ---
Actually it seems to be fallout of my local DECL_BY_REFERENCE change (so it
does not reproduce on clean mainline).
Apprently the result_slot_addr is something that is not allowed in mem_ref.
It goes away with:
@@ -902,6 +903,8 @@ remap_gimple_op_r (tree *tp, int *walk_s
 then regimplification is probably needed.  */
  if (invariant  !is_gimple_min_invariant (*tp))
id-regimplify = true;
+ if (!is_gimple_mem_ref_addr (TREE_OPERAND (*tp, 0)))
+   id-regimplify = true;

  *walk_subtrees = 0;


Does it seem to make sense?


-- 


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



[Bug middle-end/42505] [4.4/4.5/4.6 Regression] loop canonicalization causes a lot of unnecessary temporary variables

2010-07-05 Thread sandra at gcc dot gnu dot org


--- Comment #11 from sandra at gcc dot gnu dot org  2010-07-05 17:41 ---
Subject: Bug 42505

Author: sandra
Date: Mon Jul  5 17:40:57 2010
New Revision: 161844

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161844
Log:
2010-07-05  Sandra Loosemore  san...@codesourcery.com

PR middle-end/42505

gcc/
* tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
comments about cost model.
(try_add_cand_for):  Add second strategy for choosing initial set
based on original IVs, controlled by ORIGINALP argument.
(get_initial_solution): Add ORIGINALP argument.
(find_optimal_iv_set_1): New function, split from find_optimal_iv_set.
(find_optimal_iv_set): Try two different strategies for choosing
the IV set, and return the one with lower cost.

gcc/testsuite/
* gcc.target/arm/pr42505.c: New test case.

Added:
trunk/gcc/testsuite/gcc.target/arm/pr42505.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-loop-ivopts.c


-- 


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



[Bug fortran/44742] ICE in gfc_conv_array_initializer

2010-07-05 Thread reuter at physik dot uni-freiburg dot de


--- Comment #5 from reuter at physik dot uni-freiburg dot de  2010-07-05 
17:41 ---
Created an attachment (id=21095)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21095action=view)
Code triggering the ICE.


-- 


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



[Bug fortran/44742] ICE in gfc_conv_array_initializer

2010-07-05 Thread reuter at physik dot uni-freiburg dot de


--- Comment #6 from reuter at physik dot uni-freiburg dot de  2010-07-05 
17:44 ---
I isolated the bug further and prepared a roughly 1 MB sniplet which triggers
the ICE. It seems that the definition of the more than 500 logical array and
packing them in one big array constructor is not well swallowed by gfortran.
The bug appears in 4.5.0 (release) as well as 4.6.0 trunk revision 161046.
4.4.5 I didn't test but as you have the code now its trivial for you to verify.


-- 


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



[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap

2010-07-05 Thread froydnj at codesourcery dot com


--- Comment #2 from froydnj at codesourcery dot com  2010-07-05 17:45 
---
Subject: Re:  [4.6 regression] Failed to bootstrap

I do not see this compilation failure on my x86-64 linux machine.


-- 


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



[Bug fortran/44742] ICE in gfc_conv_array_initializer

2010-07-05 Thread janus at gcc dot gnu dot org


--- Comment #7 from janus at gcc dot gnu dot org  2010-07-05 17:49 ---
(In reply to comment #6)
 The bug appears in 4.5.0 (release) as well as 4.6.0 trunk revision 161046.
 4.4.5 I didn't test but as you have the code now its trivial for you to 
 verify.

I get the same ICE also with 4.3 and 4.4 (with slightly differing line numbers,
of course).


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 17:49:53
   date||


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



[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap

2010-07-05 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2010-07-05 18:00 ---
You need 32-bit HWI host to reproduce.


-- 


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



[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap

2010-07-05 Thread hjl dot tools at gmail dot com


--- Comment #4 from hjl dot tools at gmail dot com  2010-07-05 18:01 ---
(In reply to comment #2)
 Subject: Re:  [4.6 regression] Failed to bootstrap
 
 I do not see this compilation failure on my x86-64 linux machine.
 

It is Linux/ia32 only. You can use

# CC=gcc -m32 CXX=g++ -m32 ../src-trunk/configure i686-linux

to buid Linux/ia32 gcc on Linux/x86-64.


-- 


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



[Bug tree-optimization/41355] Type of ADDR_EXPR in CALL_EXPR not rebuilt when function is cloned

2010-07-05 Thread baldrick at gcc dot gnu dot org


--- Comment #1 from baldrick at gcc dot gnu dot org  2010-07-05 18:43 
---
It turns out that the problem is that when build_function_type_skip_args
creates
the new type, TYPE_POINTER_TO for the new type is still pointing to the old
type.
When gimple_call_set_fndecl is used to change the fndecl to one with less
arguments, an ADDR_EXPR is built.  The type of the ADDR_EXPR is obtained from
the
TYPE_POINTER_TO field of the new type, and thus has type pointer-to-old-type
rather than pointer-to-new-type.  I'm testing the following patch.  The idea
here is that calling copy_node has no advantage.  In spite of the comment,
build_distinct_type_copy preserves attributes etc too, so it might as well
be used always.  [I think the comment refers to some earlier logic, since
the change introducing build_distinct_type_copy post-dates it].

Index: gcc-4.5/gcc/tree.c
===
--- gcc-4.5.orig/gcc/tree.c 2010-07-05 20:26:21.349376337 +0200
+++ gcc-4.5/gcc/tree.c  2010-07-05 20:29:11.582730610 +0200
@@ -7208,24 +7208,10 @@
new_reversed = void_list_node;
 }

-  /* Use copy_node to preserve as much as possible from original type
- (debug info, attribute lists etc.)
- Exception is METHOD_TYPEs must have THIS argument.
- When we are asked to remove it, we need to build new FUNCTION_TYPE
- instead.  */
-  if (TREE_CODE (orig_type) != METHOD_TYPE
-  || !bitmap_bit_p (args_to_skip, 0))
-{
-  new_type = copy_node (orig_type);
-  TYPE_ARG_TYPES (new_type) = new_reversed;
-}
-  else
-{
-  new_type
-= build_distinct_type_copy (build_function_type (TREE_TYPE
(orig_type),
-new_reversed));
-  TYPE_CONTEXT (new_type) = TYPE_CONTEXT (orig_type);
-}
+  new_type
+= build_distinct_type_copy (build_function_type (TREE_TYPE (orig_type),
+ new_reversed));
+  TYPE_CONTEXT (new_type) = TYPE_CONTEXT (orig_type);

   /* This is a new type, not a copy of an old type.  Need to reassociate
  variants.  We can handle everything except the main variant lazily.  */


-- 

baldrick at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 18:43:39
   date||


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



[Bug fortran/44742] ICE in gfc_conv_array_initializer

2010-07-05 Thread janus at gcc dot gnu dot org


--- Comment #8 from janus at gcc dot gnu dot org  2010-07-05 18:49 ---
(In reply to comment #6)
 I isolated the bug further and prepared a roughly 1 MB sniplet which triggers
 the ICE.

Here is a reduced test case:

module proc8
  implicit none
  private

  integer, parameter :: n_cflow = 128
  integer, parameter :: n_flv = 512

  logical, dimension(n_flv), parameter, private :: a0001 = .false.

  logical, dimension(n_flv, n_cflow), parameter :: flv_col_is_allowed = 
reshape ( (/ a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, 
a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001, a0001 /), 
(/ n_flv, n_cflow /) )

end module proc8


It works when using numbers smaller than 128*512=2^16.


-- 


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



[Bug tree-optimization/41355] Type of ADDR_EXPR in CALL_EXPR not rebuilt when function is cloned

2010-07-05 Thread hubicka at ucw dot cz


--- Comment #2 from hubicka at ucw dot cz  2010-07-05 19:02 ---
Subject: Re:  Type of ADDR_EXPR in CALL_EXPR
not rebuilt when function is cloned

 It turns out that the problem is that when build_function_type_skip_args
 creates
 the new type, TYPE_POINTER_TO for the new type is still pointing to the old
 type.
 When gimple_call_set_fndecl is used to change the fndecl to one with less
 arguments, an ADDR_EXPR is built.  The type of the ADDR_EXPR is obtained from
 the
 TYPE_POINTER_TO field of the new type, and thus has type pointer-to-old-type
 rather than pointer-to-new-type.  I'm testing the following patch.  The idea
 here is that calling copy_node has no advantage.  In spite of the comment,

The conditional you removed is about case where METHOD_TYPE is passed and
this pointer
is not removed.  In this case we still want to produce METHOD_TYPE just with
args
adjusted.  I think this functionality should be preserved.

Are attributes attached to decl (not type) also copied?

Honza


-- 


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



[Bug tree-optimization/41355] Type of ADDR_EXPR in CALL_EXPR not rebuilt when function is cloned

2010-07-05 Thread baldrick at gcc dot gnu dot org


--- Comment #3 from baldrick at gcc dot gnu dot org  2010-07-05 19:14 
---
Hi Honza, my original patch was silly, I'm trying this instead:

@@ -7216,7 +7216,7 @@
   if (TREE_CODE (orig_type) != METHOD_TYPE
   || !bitmap_bit_p (args_to_skip, 0))
 {
-  new_type = copy_node (orig_type);
+  new_type = build_distinct_type_copy (orig_type);
   TYPE_ARG_TYPES (new_type) = new_reversed;
 }
   else


-- 


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



[Bug tree-optimization/41355] Type of ADDR_EXPR in CALL_EXPR not rebuilt when function is cloned

2010-07-05 Thread hubicka at ucw dot cz


--- Comment #4 from hubicka at ucw dot cz  2010-07-05 19:18 ---
Subject: Re:  Type of ADDR_EXPR in CALL_EXPR
not rebuilt when function is cloned

 Hi Honza, my original patch was silly, I'm trying this instead:
This seems fine, thanks!  
Honza


-- 


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



[Bug fortran/44596] [OOP] Dynamic dispatch uses broken types

2010-07-05 Thread pault at gcc dot gnu dot org


--- Comment #17 from pault at gcc dot gnu dot org  2010-07-05 19:26 ---
Subject: Bug 44596

Author: pault
Date: Mon Jul  5 19:26:12 2010
New Revision: 161848

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161848
Log:
2010-07-05  Paul Thomas  pa...@gcc.gnu.org

PR fortran/44596
* trans-types.c (gfc_get_derived_type): Derived type fields
with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set
but build_pointer_type_for_mode must be used for this.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-types.c


-- 


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



[Bug target/44749] mep-elf fails to build

2010-07-05 Thread amylaar at gcc dot gnu dot org


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 19:54:13
   date||


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



[Bug target/44750] pdp-11 fails to build

2010-07-05 Thread amylaar at gcc dot gnu dot org


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 19:57:14
   date||


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



[Bug target/44759] mn10300.md signed/unsigned comparisons

2010-07-05 Thread amylaar at gcc dot gnu dot org


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 20:00:37
   date||


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



[Bug target/44757] lm32.md: In function �gen_ashlsi3�:unused variable �one�

2010-07-05 Thread amylaar at gcc dot gnu dot org


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 20:01:34
   date||


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



[Bug rtl-optimization/44752] insn-automata.c: empty translation unit

2010-07-05 Thread amylaar at gcc dot gnu dot org


--- Comment #6 from amylaar at gcc dot gnu dot org  2010-07-05 20:14 ---
(In reply to comment #5)
 Created an attachment (id=21088)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21088action=view) [edit]
 patch which needs testing
 
 I have not tested this fix but it should work and should remove the
 warning/error for these targets.

No, the translation unit is still considered empty.

You have to put something syntactic into it, although it could be an
extern declaration, an static inline function, or a struct declaration, e.g.:
struct rtx_def;


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2010-07-05 01:33:44 |2010-07-05 20:14:57
   date||


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



[Bug bootstrap/44512] --enable-build-with-cxx bootstrap fails in revision 160669

2010-07-05 Thread amylaar at gcc dot gnu dot org


--- Comment #9 from amylaar at gcc dot gnu dot org  2010-07-05 20:18 ---
Subject: Bug 44512

Author: amylaar
Date: Mon Jul  5 20:18:07 2010
New Revision: 161853

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161853
Log:
PR bootstrap/44512
* genenums.c (main): Output include of insn-constants.h
* Makefile.in (insn-enums.o): Depend on insn-constants.h.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/genenums.c


-- 


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



[Bug testsuite/44797] INQUIRE EXIST variable must be default LOGICAL

2010-07-05 Thread kargl at gcc dot gnu dot org


--- Comment #4 from kargl at gcc dot gnu dot org  2010-07-05 20:24 ---
Closing as fix.  The default behavior of gfortran is
to accept any logical kind supported by gfortran.  If
either -std=f95 or -std=f2003 is given on the command
line, gfortran will issue an error.

Vittorio thanks for the bug report.


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/44742] ICE in gfc_conv_array_initializer

2010-07-05 Thread janus at gcc dot gnu dot org


--- Comment #9 from janus at gcc dot gnu dot org  2010-07-05 21:02 ---
Even shorter:

module proc8
  implicit none
  integer, parameter :: N = 256
  logical, dimension(N**2), parameter :: A = .false.
  logical, dimension(N,N), parameter :: B = reshape ( (/ A /), (/ N, N /) )
end module


Note: N=256 is the smallest number for which it fails.


-- 


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



[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap

2010-07-05 Thread froydnj at gcc dot gnu dot org


--- Comment #5 from froydnj at gcc dot gnu dot org  2010-07-05 22:19 ---
Subject: Bug 44825

Author: froydnj
Date: Mon Jul  5 22:19:22 2010
New Revision: 161856

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161856
Log:
PR bootstrap/44825
* class.c (make_class_data): Cast result of VEC_length calls to int.

Modified:
trunk/gcc/java/ChangeLog
trunk/gcc/java/class.c


-- 


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



[Bug c++/44827] New: g++4.3.4 segfaults when using boost::intrusive::list

2010-07-05 Thread chtz at informatik dot uni-bremen dot de
Hi, I get internal compiler error: Segmentation fault when compiling the
attached program. It compiles fine with version 3.4.4


-- 
   Summary: g++4.3.4 segfaults when using boost::intrusive::list
   Product: gcc
   Version: 4.3.4
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: chtz at informatik dot uni-bremen dot de
GCC target triplet: i686-pc-cygwin


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



[Bug c++/44827] g++4.3.4 segfaults when using boost::intrusive::list

2010-07-05 Thread chtz at informatik dot uni-bremen dot de


--- Comment #1 from chtz at informatik dot uni-bremen dot de  2010-07-05 
22:28 ---
Created an attachment (id=21096)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21096action=view)
generated by g++ -v -save-temps -c minimal.cc


-- 


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



[Bug target/44531] [4.5/4.6 Regression] [SH] Multilib configuration does not work as expected on darwin

2010-07-05 Thread kkojima at gcc dot gnu dot org


--- Comment #7 from kkojima at gcc dot gnu dot org  2010-07-05 22:34 ---
Subject: Bug 44531

Author: kkojima
Date: Mon Jul  5 22:33:58 2010
New Revision: 161857

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161857
Log:
Backport from mainline:
PR target/44531
* config.gcc (sh*-*-*): Use regular expressions instead of
the 'i' modifier for sed substitutions.


Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/config.gcc


-- 


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



[Bug target/44531] [4.5/4.6 Regression] [SH] Multilib configuration does not work as expected on darwin

2010-07-05 Thread kkojima at gcc dot gnu dot org


--- Comment #8 from kkojima at gcc dot gnu dot org  2010-07-05 22:39 ---
Fixed.


-- 

kkojima at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c/44828] New: possible integer wrong code bug

2010-07-05 Thread regehr at cs dot utah dot edu
reg...@john-home:~$ current-gcc -v
Using built-in specs.
COLLECT_GCC=current-gcc
COLLECT_LTO_WRAPPER=/home/regehr/z/compiler-install/gcc-r161813-install/libexec/gcc/i686-pc-linux-gnu/4.6.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../configure --with-libelf=/usr/local --enable-lto
--prefix=/home/regehr/z/compiler-install/gcc-r161813-install
--program-prefix=r161813- --enable-languages=c,c++
Thread model: posix
gcc version 4.6.0 20100704 (experimental) (GCC) 

reg...@john-home:~$ current-gcc -O1 small.c -o small
reg...@john-home:~$ ./small
checksum g_40 = 274686410
reg...@john-home:~$ current-gcc -O2 small.c -o small
reg...@john-home:~$ ./small
checksum g_40 = -1

reg...@john-home:~$ cat small.c

extern int printf (__const char *__restrict __format, ...);

static char
foo (char si1, char si2)
{
  return si1* si2;
}

 const  volatile unsigned int g_2[8][3] = {{0L, 0L, 0L}, {0L, 0L, 0L}, {0L,
0L, 0L}, {0L, 0L, 0L}, {0L, 0L, 0L}, {0L, 0L, 0L}, {0L, 0L, 0L}, {0L, 0L,
0L}};
long long g_29 = 1;
int g_40 = 0x105F61CAL;
int *g_39 = g_40;
 volatile int * volatile g_88[1] = {0};
 volatile int g_429[5] = {1L, 1L, 1L, 1L, 1L};

int  main(void)
{
int * const l_353 = g_40;
int l_414 = 0xF5B296C2L;
if (!(g_2[5][2]))
{
int l_420 = 0x0332F5C8L;
if (((foo (l_420, (*l_353)))  (!-10L)))
{
for (l_414 = 0; l_414  1; l_414 += 1)
{
g_88[l_414] = g_429[2];
}
(*g_39) = -1;
}
}
printf(checksum g_40 = %d\n, g_40);
return g_29;
}


-- 
   Summary: possible integer wrong code bug
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: regehr at cs dot utah dot edu
 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=44828



[Bug bootstrap/25438] [4.3/4.4/4.5/4.6 Regression] make: *** No rule to make target `bubblestrap'. Stop.

2010-07-05 Thread steven at gcc dot gnu dot org


--- Comment #14 from steven at gcc dot gnu dot org  2010-07-05 22:55 ---
The word 'bubblestrap' doesn't appear anywhere anymore in wwwdocs, and only in
ChangeLogs in trunk/*. And the GCC 4.2 branch is now closed.

So this bug is no longer relevant = WONTFIX.


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX


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



[Bug bootstrap/44829] New: java bootstrap failure in revision 161839 on i686-pc-linux-gnu

2010-07-05 Thread amylaar at gcc dot gnu dot org
/user/inria/fsf/bld-20100705/./prev-gcc/xgcc
-B/user/inria/fsf/bld-20100705/./prev-gcc/
-B/user/inria/20100705/i686-pc-linux-gnu/bin/
-B/user/inria/20100705/i686-pc-linux-gnu/bin/
-B/user/inria/20100705/i686-pc-linux-gnu/lib/ -isystem
/user/inria/20100705/i686-pc-linux-gnu/include -isystem
/user/inria/20100705/i686-pc-linux-gnu/sys-include-c  -DIN_GCC_FRONTEND -g
-O2 -fomit-frame-pointer -gtoggle -DIN_GCC   -W -Wall -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H -I. -Ijava
-I../../gcc-new/gcc -I../../gcc-new/gcc/java -I../../gcc-new/gcc/../include
-I../../gcc-new/gcc/../libcpp/include  -I../../gcc-new/gcc/../libdecnumber
-I../../gcc-new/gcc/../libdecnumber/bid -I../libdecnumber  -DCLOOG_PPL_BACKEND 
-I/usr/include/libelf  ../../gcc-new/gcc/java/class.c -o java/class.o
../../gcc-new/gcc/java/class.c: In function ‘make_class_data’:
../../gcc-new/gcc/java/class.c:1923:3: error: comparison between signed and
unsigned integer expressions [-Werror=sign-compare]
../../gcc-new/gcc/java/class.c:1925:3: error: comparison between signed and
unsigned integer expressions [-Werror=sign-compare]
cc1: all warnings being treated as errors


-- 
   Summary: java bootstrap failure in revision 161839 on i686-pc-
linux-gnu
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu


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



[Bug bootstrap/44825] [4.6 regression] Failed to bootstrap

2010-07-05 Thread amylaar at gcc dot gnu dot org


--- Comment #6 from amylaar at gcc dot gnu dot org  2010-07-05 23:15 ---
*** Bug 44829 has been marked as a duplicate of this bug. ***


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||amylaar at gcc dot gnu dot
   ||org


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



[Bug bootstrap/44829] java bootstrap failure in revision 161839 on i686-pc-linux-gnu

2010-07-05 Thread amylaar at gcc dot gnu dot org


--- Comment #1 from amylaar at gcc dot gnu dot org  2010-07-05 23:15 ---


*** This bug has been marked as a duplicate of 44825 ***


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/44827] g++4.3.4 segfaults when using boost::intrusive::list

2010-07-05 Thread redi at gcc dot gnu dot org


--- Comment #2 from redi at gcc dot gnu dot org  2010-07-05 23:26 ---
unpreprocessed source (because preprocessed boost source is so dependent on
compiler version it often won't compile with other versions)

#include boost/intrusive/list.hpp

struct A : public boost::intrusive::list_base_hook {
 virtual ~A() {}

};

templateclass X
struct D : A {
 X x;
 D(const X x) : x(x) {}
};

typedef boost::intrusive::listA A_list;


struct data_holder {
 A_list a;

 templateclass C
 static void delete_disposer(C* c){
  delete c;
 }

 templateclass X
 DX* insert(const X x){
  DX *t = new DX(x);
  a.push_back(*t);
  return t;
 }

 templateclass X
 void remove(DX* t){
  A_list::iterator it = A_list::s_iterator_to(*t);
  a.erase_and_dispose(it, delete_disposerA);
 }

};

int main() {

 data_holder data;

 Dint *i = data.insert(10);
 data.remove(i);

 return 0;
}

This ICEs with Boost 1.39 or current Boost trunk, using any of 4.5.1, 4.6.0 or
Fedora 4.4.3


-- 

redi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  Known to fail||4.4.4 4.5.1 4.6.0
   Last reconfirmed|-00-00 00:00:00 |2010-07-05 23:26:24
   date||


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



[Bug c++/44827] g++4.3.4 segfaults when using boost::intrusive::list

2010-07-05 Thread redi at gcc dot gnu dot org


--- Comment #3 from redi at gcc dot gnu dot org  2010-07-05 23:28 ---
ICE is always at the same place

b.cc: In member function ‘void data_holder::remove(DX*) [with X = int]’:
b.cc:45:15:   instantiated from here
b.cc:35:3: internal compiler error: Segmentation fault


-- 


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



[Bug fortran/44830] New: Function return-type declaration with specification expression rejected for renamed derived types

2010-07-05 Thread jkrahn at nc dot rr dot com
$ cat bug3.f90
module mod1
  type my_type
integer i
  end type my_type
end module mod1
module mod2
  use mod1, only: mod1_type = my_type
  interface
function my_func1()
  import mod1_type
  type(mod1_type) :: my_func1
end function my_func1
type(mod1_type) function my_func2()
  import mod1_type
end function my_func2
  end interface
end module mod2

$ /usr/local/gfortran/bin/gfortran -c bug3.f90 |  more
bug3.f90:13.4:

type(mod1_type) function my_func2()
1
Error: The type for function 'my_func2' at (1) is not accessible

This only happens for a USE-renamed derived-type, when the function return is a
derived type declared in the specification expression, as in my_func2. If the
mod1 type is used without renaming, both forms are accepted.

This may be related to bug41370, which is about a similar issue for character
length expressions in the return type.


-- 
   Summary:  Function return-type declaration with specification
expression rejected for renamed derived types
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jkrahn at nc dot rr dot com


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



[Bug c/44831] New: internal compiler error: verify_stmts failed when compiling wine

2010-07-05 Thread austinenglish at gmail dot com
Howdy,

This is a regression in gcc, but I haven't yet bisected it. Hopefully there is
enough information to fix it without bisecting.

gcc version used:
aus...@midna:~/wine-git/dlls/netapi32$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure : (reconfigured) ./configure : (reconfigured)
./configure
Thread model: posix
gcc version 4.6.0 20100705 (experimental) (GCC) 

when compiling wine, it fails with:
aus...@midna:~/wine-git/dlls/netapi32$ make
gcc -m32 -c -I. -I. -I../../include -I../../include  -D__WINESRC__ -D_SVRAPI_
-D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing
-Wdeclaration-after-statement -Wstrict-prototypes -Wtype-limits -Wwrite-strings
-Wpointer-arith  -g -O2  -o nbcmdqueue.o nbcmdqueue.c
nbcmdqueue.c: In function ‘NBCmdQueueFindNBC’:
nbcmdqueue.c:92:14: error: Incompatible types in PHI argument 1
struct _NCB *

UCHAR

D.10020_19 = PHI D.10021_22(3), D.10022_23(4)

nbcmdqueue.c:92:14: internal compiler error: verify_stmts failed
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make: *** [nbcmdqueue.o] Error 1

system is ubuntu lucid, uname -a:
Linux midna 2.6.31-11-rt #154-Ubuntu SMP PREEMPT RT Wed Jun 9 13:40:34 UTC 2010
x86_64 GNU/Linux

expected behavior: wine compiles
actual behavior: internal compiler error

I'll attach the output of gcc -v -save-temps as well as the preprocessed
source.


-- 
   Summary: internal compiler error: verify_stmts failed when
compiling wine
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: austinenglish at gmail dot com


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



[Bug c/44831] internal compiler error: verify_stmts failed when compiling wine

2010-07-05 Thread austinenglish at gmail dot com


--- Comment #1 from austinenglish at gmail dot com  2010-07-06 01:06 ---
Created an attachment (id=21097)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21097action=view)
output of gcc -v -save-temps


-- 


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



[Bug c/44831] internal compiler error: verify_stmts failed when compiling wine

2010-07-05 Thread austinenglish at gmail dot com


--- Comment #2 from austinenglish at gmail dot com  2010-07-06 01:08 ---
Created an attachment (id=21098)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21098action=view)
preproccessed .i file


-- 


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



[Bug target/43662] [4.4/4.5/4.6 Regression] ICE in insert_save with ms_abi attribute

2010-07-05 Thread pinskia at gcc dot gnu dot org


--- Comment #17 from pinskia at gcc dot gnu dot org  2010-07-06 01:49 
---
*** Bug 44818 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mathieu dot pogeant at rdf
   ||dot renesas dot com


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



[Bug target/44818] [WINE] registrar.c:468:1: internal compiler error: in insert_save, at caller-save.c:1303

2010-07-05 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-07-06 01:49 ---


*** This bug has been marked as a duplicate of 43662 ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||DUPLICATE


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



[Bug bootstrap/44832] New: --enable-build-with-cxx Bootstrap comparison failure

2010-07-05 Thread amylaar at gcc dot gnu dot org
r161856, bootstrapped with --enable-build-with-cxx, fails the bootstrap
comparison on i386.o.
By doing a binary search applying the first patch for PR44512
http://gcc.gnu.org/ml/gcc-patches/2010-06/msg01765.html
to older revisions, I found that the onset of these comparison failures
is between revision 161800 and 161802.  As 161801 was a fortran-only patch,
161802 seems the likely culprit.


-- 
   Summary: --enable-build-with-cxx Bootstrap comparison failure
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu
OtherBugsDependingO 44433
 nThis:


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



[Bug bootstrap/44832] --enable-build-with-cxx Bootstrap comparison failure

2010-07-05 Thread amylaar at gcc dot gnu dot org


--- Comment #1 from amylaar at gcc dot gnu dot org  2010-07-06 05:25 ---
Adding -gtoggle to the options to compile the stage3 i386.o gives the same
assembly as stage2.


-- 


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



[Bug c/44715] Break in increment expression of for statement inconsistent with g++

2010-07-05 Thread ecyrbe at gmail dot com


--- Comment #4 from ecyrbe at gmail dot com  2010-07-06 05:28 ---
(In reply to comment #3)
 Subject: Re:  Break in increment expression of for statement
  inconsistent with g++
 
 On Tue, 29 Jun 2010, pinskia at gmail dot com wrote:
 
  What does a break with a statement expression do for each frontend? Is  
  it even valid to have a break there(without a statement expression)?
 
 The relevant contexts have expressions, so without statement expressions 
 it's not possible to have break there.  The C standard (I haven't checked 
 C++) requires break (and continue, which probably has much the same issue) 
 to be in a loop or switch body - but being elsewhere in the loop than its 
 body isn't possible in standard C anyway.  When I was fixing statement 
 expression issues with jumps, and defining exactly what was permitted (bug 
 772), I didn't think of this particular issue.
 

As i said in the clang bug tracker who triggered this issue initially :
Here is what the c++ standard says :

The break statement shall occur only in an iteration-statement or a switch
statement and causes termination of the smallest enclosing iteration-statement
or switch statement; control passes to the statement following the terminated
statement, if any.

So the break (if the expression statement extension is activated) is considered
in the inner loop with this extension.

And now here is what the c99 standard says :

A break statement shall appear only in or as a switch body or loop body

But in C, the loop body does not contain the expression statement. So the break
applie only to the outer loop in C.

The result is that gcc is correct in this behavior. C++ and C should differ in
this matter.


-- 


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



[Bug fortran/44742] ICE in gfc_conv_array_initializer

2010-07-05 Thread burnus at gcc dot gnu dot org


--- Comment #10 from burnus at gcc dot gnu dot org  2010-07-06 05:33 ---
(In reply to comment #9)
 Even shorter:
   integer, parameter :: N = 256

 Note: N=256 is the smallest number for which it fails.

Workaround: Use a sufficiently large -fmax-array-constructor=n, e.g.

  -fmax-array-constructor=65536

(65536 = 256**2; default is 65535)


Side remark: It is not particularly efficient to use a huge static variable. If
you use PARAMETER (as in your example), that leads to huge .mod files and on
assignment to large code.

If you use a normal variable (with [implied] SAVE), a non-zero initializer will
be written as is into the assembler file, which makes the binary unnecessarily
large. For variables, using initialization at run time is the better choice for
large arrays. The best solution for PARAMETER depends on the purpose.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code


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