[Bug other/26208] Serious problem with unwinding through signal frames

2008-07-07 Thread ebotcazou at gcc dot gnu dot org


--- Comment #32 from ebotcazou at gcc dot gnu dot org  2008-07-07 08:33 
---
Jakub, the patch contains a workaround for the missing S in the CIE
augmentation
string for old kernels on PPC.  Is this problem really specific to PPC?  It
seems that I'm seeing it on x86 too with 2.6.8 and 2.6.16 kernels.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org


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



[Bug target/36745] [4.4 Regression] ICE in gen_reg_rtx, at emit-rtl.c:868

2008-07-07 Thread mueller at gcc dot gnu dot org


--- Comment #2 from mueller at gcc dot gnu dot org  2008-07-07 09:00 ---
Created an attachment (id=15868)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15868action=view)
slightly shorter (different testcase, same bug)


-- 


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



[Bug target/36570] segmentation fault

2008-07-07 Thread aldot at gcc dot gnu dot org


--- Comment #7 from aldot at gcc dot gnu dot org  2008-07-07 09:20 ---
Closing as INVALID as suggested by the reporter.


-- 

aldot at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug preprocessor/36453] PR36320 breaks boost

2008-07-07 Thread mueller at gcc dot gnu dot org


--- Comment #4 from mueller at gcc dot gnu dot org  2008-07-07 09:25 ---
well, lets keep it at that for now


-- 

mueller at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID


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



[Bug target/36745] [4.4 Regression] ICE in gen_reg_rtx, at emit-rtl.c:868

2008-07-07 Thread krebbel at gcc dot gnu dot org


--- Comment #3 from krebbel at gcc dot gnu dot org  2008-07-07 12:35 ---
The shorter testcase does not fail with -O2 -fPIC on GCC rev. 137553.

But I can confirm the ICE with the first example.  For large GOTs (4k) we
rewrite a symbol reference as a GOTENT relocation in the LEGITIMIZE_ADDRESS
hook. A reference to the original SYM_REF stays as REG_EQUAL note. The note is
used by GCSE to propagate the SYM_REF directly into the asm operand. So the
legitimize_address hook is called for this operand during reload - since the
fix needs an additional pseudo it crashes.


-- 

krebbel at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |krebbel at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-07-07 12:35:23
   date||


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



[Bug fortran/36747] New: Internal compiler error

2008-07-07 Thread gabriel dot barton at acutgmbh dot de
When compiling this stripped down fragment of code:

  subroutine dmnwgenod() 
  integer dmnwmaxno,dmnwmaxme
  Parameter ( dmnwmaxno = 60,
 dmnwmaxme = 200 )
  integer dmnwmemli(dmnwmaxme,dmnwmaxno),
 dmnwnodco
  common / dmwpnodes / dmnwmemli,
  dmnwnodco
  integer nodmco,nodwml(dmnwmaxme)
  integer i,mnodiid,dmvwmaiid

  do 110 i=1,nodmco
 nodwml(i) = dmvwmaiid(dmnwmemli(i,mnodiid))
 110 continue
  return
  end

c: if dmnwnodco is deleted from the integer definition and the common block,
this subroutine compiles!

Command to compile:
gfortran-4.3 -m64 -O -c -fimplicit-none -fno-underscoring -fno-automatic
-Wuninitialized error.f

System:
gfortran -v
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local
--infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64
--libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada
--enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3
--enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/
--with-pkgversion='SUSE Linux' --disable-libgcj --with-slibdir=/lib64
--with-system-zlib --enable-__cxa_atexit--enable-libstdcxx-allocator=new
--disable-libstdcxx-pch --program-suffix=-4.3
--enable-version-specific-runtime-libs --enable-linux-futex
--without-system-libunwind --with-cpu=generic --build=x86_64-suse-linux
Thread model: posix
gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE
Linux)

We get following error message:
 internal compiler error: in set_uids_in_ptset, at tree-ssa-structalias.c:4785

This subroutine has always compiled successfully on g77 and gfortran 4.2
systems.


-- 
   Summary: Internal compiler error
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gabriel dot barton at acutgmbh dot de
 GCC build triplet: ?
  GCC host triplet: x86_64 GNU/Linux
GCC target triplet: x86_64-suse-linux


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



[Bug middle-end/36726] [4.4 Regression] ICE in move_stmt_r, at tree-cfg.c:5699 with -fopenmp

2008-07-07 Thread jakub at gcc dot gnu dot org


-- 

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|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-07-07 13:34:02
   date||


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



[Bug middle-end/36747] ICE in set_uids_in_ptset, at tree-ssa-structalias.c:4785 with -O

2008-07-07 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2008-07-07 13:34 ---
I can reproduce this with 4.3.1 (and -O). It works with 4.2.1 and 4.4.0.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|fortran |middle-end
   Keywords||ice-on-valid-code
Summary|Internal compiler error |ICE in set_uids_in_ptset, at
   ||tree-ssa-structalias.c:4785
   ||with -O


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



[Bug debug/36748] New: scev const-prop pass adds bad line numbers

2008-07-07 Thread drow at gcc dot gnu dot org
I'm testing inlined function support for GCC.  When I compile the attached
testcase with GCC (Debian's 4.3 package or unmodified trunk) and -g -O2, break
main in the patched GDB puts a breakpoint at the start of main and again
inside the inlined copy of factorial.

This happens because there are several bits of code associated with the line
containing main's opening brace.

The bad line numbers are introduced by pass_scev_cprop (why is this dumped into
sccp; having a dump named sccp shortly after one named store_ccp is
confusing).  Here's the relevant piece of the diff between 096t.lim and
099t.sccp:

@@ -88,7 +100,11 @@

 bb 8:
   # mult_acc.12_13 = PHI mult_acc.12_15(6)
-  # value_16 = PHI value_14(6)
+  [../break.c : 13] D.2700_29 = value_11 + -1;
+  [../break.c : 13] D.2701_7 = (unsigned int) D.2633_10;
+  [../break.c : 13] D.2702_30 = 2 - D.2701_7;
+  [../break.c : 13] D.2703_31 = (int) D.2702_30;
+  value_16 = D.2700_29 + D.2703_31;

 bb 9:
   # mult_acc.12_19 = PHI mult_acc.12_13(8), 1(4)

There are no other lines associated with break.c:13 in the dump at this point.  

The location came from internal_get_tmp_var.

644   if (EXPR_HAS_LOCATION (val))
645 SET_EXPR_LOCUS (mod, EXPR_LOCUS (val));
646   else
647 SET_EXPR_LOCATION (mod, input_location);

input_location has nothing to do with anything at this point.


-- 
   Summary: scev const-prop pass adds bad line numbers
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: drow at gcc dot gnu dot org
  GCC host triplet: x86_64-pc-linux-gnu


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



[Bug middle-end/36747] ICE in set_uids_in_ptset, at tree-ssa-structalias.c:4785 with -O

2008-07-07 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2008-07-07 13:51 ---
I think this was fixed by

2008-06-25  Richard Guenther  [EMAIL PROTECTED]

* tree-ssa-structalias.c (fieldoff_compare): Make sure to
not overflow the result type.

as I can no longer reproduce this on the branch.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.2


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



[Bug debug/36748] scev const-prop pass adds bad line numbers

2008-07-07 Thread drow at gcc dot gnu dot org


--- Comment #1 from drow at gcc dot gnu dot org  2008-07-07 13:56 ---
Created an attachment (id=15869)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15869action=view)
Test case


-- 


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



[Bug c++/36749] New: sizeof returns 0 for class

2008-07-07 Thread limanski at narod dot ru
The class contains only one array member with unspecified size has a zero size.

The problem was reproduced on gcc 3.3.6 (Knoppix), 4.1.2 (Gentoo x86), 3.4.4.
Also array with the zero size elements was created.

The test file is attached.


-- 
   Summary: sizeof returns 0 for class
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: limanski at narod dot ru


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



[Bug c++/36749] sizeof returns 0 for class

2008-07-07 Thread limanski at narod dot ru


--- Comment #1 from limanski at narod dot ru  2008-07-07 14:02 ---
Created an attachment (id=15870)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15870action=view)
The test file for the bug.


-- 


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



[Bug c++/36749] sizeof returns 0 for class

2008-07-07 Thread paolo dot carlini at oracle dot com


--- Comment #2 from paolo dot carlini at oracle dot com  2008-07-07 14:24 
---
The problem is one of diagnostic: the code should be just rejected because Foo
is an incomplete type.


-- 


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



[Bug c++/36749] sizeof returns 0 for class

2008-07-07 Thread limanski at narod dot ru


--- Comment #3 from limanski at narod dot ru  2008-07-07 14:29 ---
(In reply to comment #2)
 The problem is one of diagnostic: the code should be just rejected because Foo
 is an incomplete type.
 

But the instanse of Foo can be created and both sizeof(Foo) and sizeof(foo) are
equals to zero. Do you mean that this behavior is correct?


-- 


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



[Bug c++/36749] sizeof returns 0 for class

2008-07-07 Thread paolo dot carlini at oracle dot com


--- Comment #4 from paolo dot carlini at oracle dot com  2008-07-07 14:38 
---
I mean the entire snippet should be just rejected in the first place. In other
terms, this is an accept-invalid.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||accepts-invalid
   Last reconfirmed|-00-00 00:00:00 |2008-07-07 14:38:11
   date||


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



[Bug c++/13699] Extern C routine in different namespaces accepted with different exception signature

2008-07-07 Thread dseketel at redhat dot com


--- Comment #3 from dseketel at redhat dot com  2008-07-07 14:54 ---
Created an attachment (id=15871)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15871action=view)
first attempt at trying to fix the bug

This patch checks that re-declaration of extern C functions complies with the
exception specification constraints.


-- 


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



[Bug target/36713] [4.4 regression] r137252 breaks -O2 optimization on x86_64-unknown-linux-gnu

2008-07-07 Thread rguenth at gcc dot gnu dot org


--- Comment #23 from rguenth at gcc dot gnu dot org  2008-07-07 15:12 
---
Subject: Bug 36713

Author: rguenth
Date: Mon Jul  7 15:11:29 2008
New Revision: 137571

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137571
Log:
2008-07-07  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/36713
* tree-flow-inline.h (is_call_used): New function.
* tree-nrv.c (dest_safe_for_nrv_p): Use it.
* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
* tree-outof-ssa.c (create_temp): Set call-used flag if required.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-flow-inline.h
trunk/gcc/tree-nrv.c
trunk/gcc/tree-outof-ssa.c
trunk/gcc/tree-tailcall.c


-- 


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



[Bug target/36713] [4.4 regression] r137252 breaks -O2 optimization on x86_64-unknown-linux-gnu

2008-07-07 Thread rguenth at gcc dot gnu dot org


--- Comment #24 from rguenth at gcc dot gnu dot org  2008-07-07 15:16 
---
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=36713



[Bug middle-end/36726] [4.4 Regression] ICE in move_stmt_r, at tree-cfg.c:5699 with -fopenmp

2008-07-07 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2008-07-07 15:27 ---
Subject: Bug 36726

Author: jakub
Date: Mon Jul  7 15:26:35 2008
New Revision: 137572

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137572
Log:
PR middle-end/36726
* f95-lang.c (poplevel): Don't ever add subblocks to
global_binding_level.

* gfortran.dg/gomp/pr36726.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/gomp/pr36726.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/f95-lang.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/36726] [4.4 Regression] ICE in move_stmt_r, at tree-cfg.c:5699 with -fopenmp

2008-07-07 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-07-07 15:33 ---
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=36726



[Bug c/36750] New: -Wmissing-field-initializers relaxation request

2008-07-07 Thread P at draigBrady dot com
While trying to compile coreutils with -Wextra,
I noticed many warnings due to automatic variables
initialized with { 0, }.

As I understand it, since C90 the above will initialize
[all members of] the type to that used in static scope,
including any unused padding space in the structure.

I.E. the following is valid:

mbstate_t m = { 0, };
int i = { 0, };
struct { int a; int b; } s = { 0, };

It would be great if gcc would relax this warning
when a trailing ',' is specified as that would be clear indication
that one wants to init all [other] elements to 0, and that
we haven't just forgotten some members.

At least the warning should be suppressed for the specific
most common case is where { 0, } is specified.

thanks.


-- 
   Summary: -Wmissing-field-initializers relaxation request
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: P at draigBrady dot com
 GCC build triplet: i386-redhat-linux
  GCC host triplet: i386-redhat-linux
GCC target triplet: i386-redhat-linux


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



[Bug target/36701] [4.4 Regression] unaligned access in gcc.c-torture/execute/complex-7.c

2008-07-07 Thread hjl dot tools at gmail dot com


--- Comment #4 from hjl dot tools at gmail dot com  2008-07-07 17:50 ---
Revision 137575 is the cause and revision 137575 doesn't help.


-- 


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



[Bug fortran/36751] New: assignment between allocatable arrays of different size causes glibc error

2008-07-07 Thread sdirkse at gams dot com
If I assign allocatable arrays of different size I get a glibc error and a
backtrace.  This happens with every version of gfortran I've tried, including
4.1, 4.3, and 4.4.  The workaround is easy enough, but perhaps the compiler
could be improved also.  Here's the output:

$gfortran  --version
GNU Fortran (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)
Copyright (C) 2007 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING

$gfortran -o repro_g repro.f90   ./repro_g 
*** glibc detected *** ./repro_g: free(): invalid next size (fast):
0x14d314d0 ***
=== Backtrace: =
/lib64/libc.so.6[0x359ae71634]
/lib64/libc.so.6(cfree+0x8c)[0x359ae74c5c]
/usr/lib64/libgfortran.so.1(_gfortran_deallocate+0x26)[0x2ad9cffa72a6]
./repro_g[0x4009f4]
./repro_g[0x400a2e]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x359ae1d8b4]
./repro_g[0x400609]
=== Memory map: 
0040-00401000 r-xp  fd:06 5493742   
/home/steve/lang/f90/repro_g
0060-00601000 rw-p  fd:06 5493742   
/home/steve/lang/f90/repro_g
14d2b000-14d4c000 rw-p 14d2b000 00:00 0 
359aa0-359aa1a000 r-xp  fd:00 12636395  
/lib64/ld-2.5.so
359ac1a000-359ac1b000 r--p 0001a000 fd:00 12636395  
/lib64/ld-2.5.so
359ac1b000-359ac1c000 rw-p 0001b000 fd:00 12636395  
/lib64/ld-2.5.so
359ae0-359af4a000 r-xp  fd:00 12636396  
/lib64/libc-2.5.so
359af4a000-359b149000 ---p 0014a000 fd:00 12636396  
/lib64/libc-2.5.so
359b149000-359b14d000 r--p 00149000 fd:00 12636396  
/lib64/libc-2.5.so
359b14d000-359b14e000 rw-p 0014d000 fd:00 12636396  
/lib64/libc-2.5.so
359b14e000-359b153000 rw-p 359b14e000 00:00 0 
359b20-359b282000 r-xp  fd:00 12636403  
/lib64/libm-2.5.so
359b282000-359b481000 ---p 00082000 fd:00 12636403  
/lib64/libm-2.5.so
359b481000-359b482000 r--p 00081000 fd:00 12636403  
/lib64/libm-2.5.so
359b482000-359b483000 rw-p 00082000 fd:00 12636403  
/lib64/libm-2.5.so
35a9c0-35a9c0d000 r-xp  fd:00 12636418  
/lib64/libgcc_s-4.1.2-20080102.so.1
35a9c0d000-35a9e0d000 ---p d000 fd:00 12636418  
/lib64/libgcc_s-4.1.2-20080102.so.1
35a9e0d000-35a9e0e000 rw-p d000 fd:00 12636418  
/lib64/libgcc_s-4.1.2-20080102.so.1
2ad9cff7b000-2ad9cff7c000 rw-p 2ad9cff7b000 00:00 0 
2ad9cff95000-2ad9cff96000 rw-p 2ad9cff95000 00:00 0 
2ad9cff96000-2ad9d002c000 r-xp  fd:00 1293923   
/usr/lib64/libgfortran.so.1.0.0
2ad9d002c000-2ad9d022b000 ---p 00096000 fd:00 1293923   
/usr/lib64/libgfortran.so.1.0.0
2ad9d022b000-2ad9d022d000 rw-p 00095000 fd:00 1293923   
/usr/lib64/libgfortran.so.1.0.0
2ad9d022d000-2ad9d022f000 rw-p 2ad9d022d000 00:00 0 
2ad9d400-2ad9d4021000 rw-p 2ad9d400 00:00 0 
2ad9d4021000-2ad9d800 ---p 2ad9d4021000 00:00 0 
7fffdab19000-7fffdab2f000 rw-p 7fffdab19000 00:00 0 
[stack]
ff60-ffe0 ---p  00:00 0  [vdso]
Aborted
$


-- 
   Summary: assignment between allocatable arrays of different size
causes glibc error
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sdirkse at gams dot com
  GCC host triplet: x86_64-redhat-linux
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug fortran/36751] assignment between allocatable arrays of different size causes glibc error

2008-07-07 Thread sdirkse at gams dot com


--- Comment #1 from sdirkse at gams dot com  2008-07-07 18:00 ---
Created an attachment (id=15872)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15872action=view)
test case

No flags required to reproduce: gfortran -o repro repro.f90


-- 


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



[Bug c++/35396] possible incorrect opitmization due to missed dependency

2008-07-07 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2008-07-07 18:03 ---
I can reproduce it on Linux/x86.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||hjl dot tools at gmail dot
   ||com
  GCC build triplet|i686-pc-cygwin  |
   GCC host triplet|i686-pc-cygwin  |
 GCC target triplet|i686-pc-cygwin  |


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



[Bug rtl-optimization/36672] IRA + -fno-pic ICE in emit_swap_insn, at reg-stack.c:829

2008-07-07 Thread vmakarov at redhat dot com


--- Comment #2 from vmakarov at redhat dot com  2008-07-07 18:07 ---
Incorrect order in reload insn chain results in wrong reload inheritance which
crashed the compiler.

The patch solving the problem will follow soon.


-- 


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



[Bug c/36752] New: assembler error and segfault when compiling a wine 1.0 souce program with -O2

2008-07-07 Thread johnlumby at hotmail dot com
assembler error and segfault when compiling a wine 1.0 souce program with -O2

cd /ahbakup/sysbuild/wine-1.0/dlls/user32/tests;gcc -c -I. -I.
-I../../../include -I../../../include   -D_REENTRANT -fPIC -Wall -pipe
-fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings
-Wtype-limits -Wpointer-arith  -g -O2  -o menu.o menu.c
{standard input}: Assembler messages:
{standard input}:7412: Warning: end of file not at end of a line; newline
inserted
{standard input}:7745: Error: unknown pseudo-op: `.l'
gcc: Internal error: Segmentation fault (program cc1)

no error and good object code when the -O2 is removed.


version information

gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk
--disable-dssi --enable-plugin
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib
--with-cpu=generic --build=i386-redhat-linux
Thread model: posix
gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC)


I will try to attach the core ...


-- 
   Summary: assembler error and segfault when compiling a wine 1.0
souce program with -O2
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: johnlumby at hotmail dot com


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



[Bug rtl-optimization/36672] IRA + -fno-pic ICE in emit_swap_insn, at reg-stack.c:829

2008-07-07 Thread vmakarov at gcc dot gnu dot org


--- Comment #3 from vmakarov at gcc dot gnu dot org  2008-07-07 18:14 
---
Subject: Bug 36672

Author: vmakarov
Date: Mon Jul  7 18:13:13 2008
New Revision: 137581

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137581
Log:
2008-07-07  Vladimir Makarov  [EMAIL PROTECTED]
PR preprocessor/36672

* ira.c (chain_insn_order): New variable.
(chain_freq_compare, chain_bb_compare): Use it.
(ira_sort_insn_chain): Set it up.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/ira.c


-- 


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



[Bug target/34780] Bootstrapping libstdc++-v3 failed

2008-07-07 Thread rwild at gcc dot gnu dot org


--- Comment #9 from rwild at gcc dot gnu dot org  2008-07-07 18:16 ---
Subject: Bug 34780

Author: rwild
Date: Mon Jul  7 18:16:04 2008
New Revision: 137582

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137582
Log:
gcc/
PR target/34780
* unwind-pe.h (size_of_encoded_value): add attribute unused.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/unwind-pe.h


-- 


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



[Bug target/34780] Bootstrapping libstdc++-v3 failed

2008-07-07 Thread rwild at gcc dot gnu dot org


--- Comment #10 from rwild at gcc dot gnu dot org  2008-07-07 18:17 ---
Subject: Bug 34780

Author: rwild
Date: Mon Jul  7 18:17:08 2008
New Revision: 137583

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137583
Log:
gcc/
PR target/34780
* unwind-pe.h (size_of_encoded_value): add attribute unused.

Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/unwind-pe.h


-- 


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



[Bug other/36752] assembler error and segfault when compiling a wine 1.0 souce program with -O2

2008-07-07 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-07-07 18:18 ---
--with-bugurl=http://bugzilla.redhat.com/bugzilla

Why are you reporting this bug to us, when it says to report it to redhat?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |other
Summary|assembler error and segfault|assembler error and segfault
   |when compiling a wine 1.0   |when compiling a wine 1.0
   |souce program with -O2  |souce program with -O2


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



[Bug rtl-optimization/36673] IRA -O3 -fno-pic ICE in save_con_fun_n, at caller-save.c:1389

2008-07-07 Thread vmakarov at redhat dot com


--- Comment #3 from vmakarov at redhat dot com  2008-07-07 18:21 ---
The case when saving mode or saving pseudo are different in the data-flow
equation was missed when the save/restore placement optimization was written. 
Fortunately, the case was catched by the assertion.

The patch solving the problem will follow soon.


-- 


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



[Bug rtl-optimization/36673] IRA -O3 -fno-pic ICE in save_con_fun_n, at caller-save.c:1389

2008-07-07 Thread vmakarov at gcc dot gnu dot org


--- Comment #4 from vmakarov at gcc dot gnu dot org  2008-07-07 18:22 
---
Subject: Bug 36673

Author: vmakarov
Date: Mon Jul  7 18:21:28 2008
New Revision: 137585

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137585
Log:
2008-07-07  Vladimir Makarov  [EMAIL PROTECTED]
PR target/36673

* caller-saves.c (restore_con_fun_n, save_con_fun_n): Clear the
result if mode or pseudo is different.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/caller-save.c


-- 


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



[Bug rtl-optimization/36663] IRA ICE in save_call_clobbered_regs at caller-save.c:1949

2008-07-07 Thread vmakarov at gcc dot gnu dot org


--- Comment #2 from vmakarov at gcc dot gnu dot org  2008-07-07 18:29 
---
Subject: Bug 36663

Author: vmakarov
Date: Mon Jul  7 18:28:37 2008
New Revision: 137586

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137586
Log:
2008-07-07  Vladimir Makarov  [EMAIL PROTECTED]
PR target/36663

* caller-saves.c (free_con_fun_n): Use liveness info.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/caller-save.c


-- 


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



[Bug other/36752] assembler error and segfault when compiling a wine 1.0 souce program with -O2

2008-07-07 Thread johnlumby at hotmail dot com


--- Comment #2 from johnlumby at hotmail dot com  2008-07-07 18:29 ---
Created an attachment (id=15873)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15873action=view)
core dump


-- 


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



[Bug rtl-optimization/36663] IRA ICE in save_call_clobbered_regs at caller-save.c:1949

2008-07-07 Thread vmakarov at redhat dot com


--- Comment #3 from vmakarov at redhat dot com  2008-07-07 18:30 ---
Liveness info was missed in data-flow equation calculation for set free when
the save/restore placement optimization was written. 
Fortunately, the case was catched by an assertion.


The patch solving the problem has been submitted (please see above).


-- 


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



[Bug other/36752] assembler error and segfault when compiling a wine 1.0 souce program with -O2

2008-07-07 Thread johnlumby at hotmail dot com


--- Comment #3 from johnlumby at hotmail dot com  2008-07-07 18:33 ---
Subject: RE:  assembler error and segfault when compiling a
 wine 1.0 souce program with -O2


Well, good question.  I started off trying to report it to redhat ,  but the
redhat bugzilla page asks what component,  and none correspond to gcc ,so I
then came here.

If you want me to send it to redhat, let me know what to enter on the redhat
bugzilla.

Do you not think this is a gcc bug?

John

 Date: Mon, 7 Jul 2008 18:18:32 +
 Subject: [Bug other/36752] assembler error and segfault when compiling a wine 
 1.0 souce program with -O2
 To: [EMAIL PROTECTED]
 From: [EMAIL PROTECTED]
 
 
 
 --- Comment #1 from pinskia at gcc dot gnu dot org  2008-07-07 18:18 
 ---
--with-bugurl=http://bugzilla.redhat.com/bugzilla
 
 Why are you reporting this bug to us, when it says to report it to redhat?
 
 
 -- 
 
 pinskia at gcc dot gnu dot org changed:
 
What|Removed |Added
 
   Component|c   |other
 Summary|assembler error and segfault|assembler error and segfault
|when compiling a wine 1.0   |when compiling a wine 1.0
|souce program with -O2  |souce program with -O2
 
 
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36752
 
 --- You are receiving this mail because: ---
 You reported the bug, or are watching the reporter.

_
Try Chicktionary, a game that tests how many words you can form from the
letters given. Find this and more puzzles at Live Search Games!
http://g.msn.ca/ca55/207


-- 


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



[Bug fortran/36751] assignment between allocatable arrays of different size causes glibc error

2008-07-07 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-07-07 18:37 ---
I don't see that on ppc/intel Darwin9, but the following modified code gives at
run time:

PROGRAM repro
  IMPLICIT NONE
  REAL(KIND=8), ALLOCATABLE :: a2(:,:), a(:,:)
  INTEGER(KIND=4) :: i, m, n

  m = 4
  n = 3
  ALLOCATE(a(m,n))
  a = reshape((/(i,i=1,m*n)/),(/m,n/))

  n = n - 1
  ALLOCATE(a2(m,n))

  ! this is the problematic assignment: is this legal??
  a2 = a
  print *, a2
  print *, shape(a), shape(a2)
  deallocate(a2)

END PROGRAM repro
[karma] f90/bug% gfc pr36751_db.f90
[karma] f90/bug% a.out 
  1.02.3.  
 4.5.6.   
7.8. 
   4   3   4   2
a.out(39419) malloc: *** error for object 0x2006b0: incorrect checksum for
freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
a.out(39419) malloc: *** error for object 0x200670: incorrect checksum for
freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug

I am not sure the code is valid.


-- 


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



[Bug middle-end/36583] [4.3/4.4 Regression] ICE on 5282/5206 at -O2

2008-07-07 Thread eric dot norum at usask dot ca


--- Comment #3 from eric dot norum at usask dot ca  2008-07-07 18:41 ---
When I compile for an MC68040 target I don't get the fault.   So the problem
may be in the ColdFire-specific parts of the compiler.

/usr/local/rtems/rtems-4.9/bin/m68k-rtems4.9-gcc --pipe
-B/usr/local/rtems/rtems-4.9/m68k-rtems4.9/mvme167/lib/ -specs bsp_specs
-qrtems   -fasm -c   -mcpu=68040   -DUNIX-ansi  -O2 -g
-fno-omit-frame-pointer -g  -Wall 
-DRTEMS_NETWORK_CONFIG_DNS_DOMAINNAME=aps.anl.gov
-DRTEMS_NETWORK_CONFIG_DNS_DOMAINNAME=aps.anl.gov  -I. -I../O.Common -I. -I..
-I../../../include/os/RTEMS -I../../../include ../dbAccess.c 


-- 


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



[Bug target/34780] Bootstrapping libstdc++-v3 failed

2008-07-07 Thread rwild at gcc dot gnu dot org


--- Comment #11 from rwild at gcc dot gnu dot org  2008-07-07 18:55 ---
The reported failure is fixed.  However, building with --enable-maintainer-mode
still fails due to this error, already described in
http://gcc.gnu.org/ml/gcc-patches/2008-07/msg00452.html:

bin/sh ../libtool --tag CXX --mode=compile /tmp/gcc/build/./gcc/xgcc
-shared-libgcc -B/tmp/gcc/build/./gcc -nostdinc++
-L/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/src
-L/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/tmp/gcc-test/x86_64-unknown-linux-gnu/bin/
-B/tmp/gcc-test/x86_64-unknown-linux-gnu/lib/ -isystem
/tmp/gcc-test/x86_64-unknown-linux-gnu/include -isystem
/tmp/gcc-test/x86_64-unknown-linux-gnu/sys-include 
-I/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/tmp/gcc/gcc/libstdc++-v3/libsupc++  -fno-implicit-templates -Wall -Wextra
-Wwrite-strings -Wcast-qual -Werror -fdiagnostics-show-location=once 
-ffunction-sections -fdata-sections  -g -O2   -D_GNU_SOURCE-c -o
locale_init.lo ../../../../gcc/libstdc++-v3/src/locale_init.cc
libtool: compile:  /tmp/gcc/build/./gcc/xgcc -shared-libgcc
-B/tmp/gcc/build/./gcc -nostdinc++
-L/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/src
-L/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/tmp/gcc-test/x86_64-unknown-linux-gnu/bin/
-B/tmp/gcc-test/x86_64-unknown-linux-gnu/lib/ -isystem
/tmp/gcc-test/x86_64-unknown-linux-gnu/include -isystem
/tmp/gcc-test/x86_64-unknown-linux-gnu/sys-include
-I/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/tmp/gcc/gcc/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra
-Wwrite-strings -Wcast-qual -Werror -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -c
../../../../gcc/libstdc++-v3/src/locale_init.cc  -fPIC -DPIC -o
.libs/locale_init.o
cc1plus: warnings being treated as errors
../../../../gcc/libstdc++-v3/src/locale_init.cc: In static member function
'static const std::locale std::locale::classic()':
../../../../gcc/libstdc++-v3/src/locale_init.cc:247: error: dereferencing
type-punned pointer will break strict-aliasing rules
make[2]: *** [locale_init.lo] Error 1
make[2]: Leaving directory
`/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3'
make: *** [all] Error 2


-- 


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



[Bug c++/35396] possible incorrect optimization due to missed dependency

2008-07-07 Thread hjl dot tools at gmail dot com


--- Comment #3 from hjl dot tools at gmail dot com  2008-07-07 19:00 ---
The testcase is invalid. Please try

#define DECL_CMPSWP(S,T,X) \
static inline T machine_cmpswp##S (volatile void *ptr, T value, T comparand ) \
{ \
T result; \
  \
__asm__ __volatile__(lock\ncmpxchg X  %2,%1 \
 : =a(result), =m(*(T *)ptr) \
 : q(value), m (*(T *)ptr), 0(comparand)); \
return result; \
}


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c/36753] New: Forward propagation interacts badly with global register variable

2008-07-07 Thread slava at factorcode dot org
The attached test case is supposed to print '31337' when run.

Correct output:

[EMAIL PROTECTED] factor]$ gcc -O1 testcase.c
[EMAIL PROTECTED] factor]$ ./a.out
31337

Correct output:

[EMAIL PROTECTED] factor]$ gcc -O2 -fno-forward-propagate testcase.c
[EMAIL PROTECTED] factor]$ ./a.out
31337

*Incorrect* output:

[EMAIL PROTECTED] factor]$ gcc -O2 testcase.c
[EMAIL PROTECTED] factor]$ ./a.out
0

We can plainly see the problem in the disassemble for the broken() function.
With -O2 -fno-forward-propagate,

broken:
leaq8(%r14), %rax
movq%rax, %r14
movq$31337, (%rax)
ret

With -O2:

broken:
addq$8, %r14
movq$31337, 8(%r14)
ret

===
#include stdbool.h
#include stdio.h

register unsigned long *ds asm(r14);

__attribute__((noinline)) void broken(bool value)
{
*++ds = 31337;
}

int main()
{
unsigned long stack[2];
stack[0] = 0;
stack[1] = 0;
ds = stack;
broken(true);
printf(%ld\n,*ds);
}
===


-- 
   Summary: Forward propagation interacts badly with global register
variable
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: slava at factorcode dot org
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug middle-end/36753] Forward propagation interacts badly with global register variable

2008-07-07 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Severity|major   |normal
  Component|c   |middle-end


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



[Bug middle-end/36753] [4.3/4.4 Regression] Forward propagation interacts badly with global register variable

2008-07-07 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-07-07 19:26 ---
global register should really not be used anyways :).  They are an example of a
bad extension.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||wrong-code
Summary|Forward propagation |[4.3/4.4 Regression] Forward
   |interacts badly with global |propagation interacts badly
   |register variable   |with global register
   ||variable
   Target Milestone|--- |4.3.2


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



[Bug target/36701] [4.4 Regression] unaligned access in gcc.c-torture/execute/complex-7.c

2008-07-07 Thread hjl dot tools at gmail dot com


--- Comment #5 from hjl dot tools at gmail dot com  2008-07-07 19:37 ---
A small testcase:

[EMAIL PROTECTED] good]$ cat ../complex-7.c 
volatile _Complex float f1 = 1.1f + 2.2if;
volatile _Complex float f2 = 3.3f + 4.4if;
volatile _Complex float f3 = 5.5f + 6.6if;
volatile _Complex float f4 = 7.7f + 8.8if;
volatile _Complex float f5 = 9.9f + 10.1if;

extern void abort (void);
extern void exit (int);

__attribute__((noinline)) void
check_float (int a, _Complex float a1, _Complex float a2,
 _Complex float a3, _Complex float a4, _Complex float a5)
{
  if (a1 != f1 || a2 != f2 || a3 != f3 || a4 != f4 || a5 != f5)
abort ();
}

int
main (void)
{
  check_float (0, f1, f2, f3, f4, f5);
  exit (0);
}
[EMAIL PROTECTED] good]$ 

diff -upr bad/complex-7.c.133r.expand good/complex-7.c.133r.expand
--- bad/complex-7.c.133r.expand 2008-07-07 12:33:14.0 -0700
+++ good/complex-7.c.133r.expand2008-07-07 12:33:40.0 -0700
@@ -5,115 +5,115 @@
 ;; Generating RTL for tree basic block 2

 ;; D.1272 = REALPART_EXPR a1
-(insn 62 61 63 ../complex-7.c:14 (set (reg:DI 419)
+(insn 42 41 43 ../complex-7.c:14 (set (reg:DI 401)
 (reg/f:DI 335 virtual-stack-vars)) -1 (nil))

-(insn 63 62 64 ../complex-7.c:14 (set (reg/f:DI 420)
+(insn 43 42 44 ../complex-7.c:14 (set (reg/f:DI 402)
 (plus:DI (reg/f:DI 335 virtual-stack-vars)
-(const_int 4 [0x4]))) -1 (nil))
+(const_int 8 [0x8]))) -1 (nil))

-(insn 64 63 0 ../complex-7.c:14 (set (reg:SF 373 [ D.1272 ])
-(mem/s/c:SF (reg/f:DI 420) [0 a1+0 S4 A32])) -1 (nil))
+(insn 44 43 0 ../complex-7.c:14 (set (reg:SF 373 [ D.1272 ])
+(mem/s/c:SF (reg/f:DI 402) [0 a1+0 S4 A64])) -1 (nil))

The alignment of the first argument passed on stack is wrong.


-- 


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



[Bug fortran/36029] Off-by-one runtime bounds checking message

2008-07-07 Thread burnus at gcc dot gnu dot org


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||27766
  nThis||
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-07-07 19:38:16
   date||


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



[Bug fortran/36754] New: Compile-time bound-checking for allocatable arrays with known bonds

2008-07-07 Thread burnus at gcc dot gnu dot org
The following bounds problem is not detected with gfortran at compile time (it
is at run time):

integer,allocatable :: a(:)
integer :: b(1)
allocate(a(12))
b = a(1:12)
end

Expected: The same output as NAG f95 has:
  Error: a.f90, line 4: Different vector lengths (1 and 12)


-- 
   Summary: Compile-time bound-checking for allocatable arrays with
known bonds
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
OtherBugsDependingO 27766
 nThis:


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



[Bug libfortran/34670] bounds checking for array intrinsics

2008-07-07 Thread tkoenig at gcc dot gnu dot org


--- Comment #7 from tkoenig at gcc dot gnu dot org  2008-07-07 19:44 ---
Subject: Bug 34670

Author: tkoenig
Date: Mon Jul  7 19:43:33 2008
New Revision: 137594

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137594
Log:
2008-07-07  Thomas Koenig  [EMAIL PROTECTED]

PR fortran/36341
PR fortran/34670
* m4/matmul.m4:  Add bounds checking.
* m4/matmull.m4:  Likewise.
* generated/matmul_c10.c: Regenerated.
* generated/matmul_c16.c: Regenerated.
* generated/matmul_c4.c: Regenerated.
* generated/matmul_c8.c: Regenerated.
* generated/matmul_i1.c: Regenerated.
* generated/matmul_i16.c: Regenerated.
* generated/matmul_i2.c: Regenerated.
* generated/matmul_i4.c: Regenerated.
* generated/matmul_i8.c: Regenerated.
* generated/matmul_l16.c: Regenerated.
* generated/matmul_l4.c: Regenerated.
* generated/matmul_l8.c: Regenerated.
* generated/matmul_r10.c: Regenerated.
* generated/matmul_r16.c: Regenerated.
* generated/matmul_r4.c: Regenerated.
* generated/matmul_r8.c: Regenerated.

2008-07-07  Thomas Koenig  [EMAIL PROTECTED]

PR fortran/36341
PR fortran/34670
* gfortran.dg/matmul_bounds_2.f90:  New test.
* gfortran.dg/matmul_bounds_3.f90:  New test.
* gfortran.dg/matmul_bounds_4.f90:  New test.
* gfortran.dg/matmul_bounds_5.f90:  New test.


Added:
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_2.f90
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_3.f90
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_4.f90
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_5.f90
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/libgfortran/ChangeLog
trunk/libgfortran/generated/matmul_c10.c
trunk/libgfortran/generated/matmul_c16.c
trunk/libgfortran/generated/matmul_c4.c
trunk/libgfortran/generated/matmul_c8.c
trunk/libgfortran/generated/matmul_i1.c
trunk/libgfortran/generated/matmul_i16.c
trunk/libgfortran/generated/matmul_i2.c
trunk/libgfortran/generated/matmul_i4.c
trunk/libgfortran/generated/matmul_i8.c
trunk/libgfortran/generated/matmul_l16.c
trunk/libgfortran/generated/matmul_l4.c
trunk/libgfortran/generated/matmul_l8.c
trunk/libgfortran/generated/matmul_r10.c
trunk/libgfortran/generated/matmul_r16.c
trunk/libgfortran/generated/matmul_r4.c
trunk/libgfortran/generated/matmul_r8.c
trunk/libgfortran/m4/matmul.m4
trunk/libgfortran/m4/matmull.m4


-- 


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



[Bug fortran/36341] MATMUL: Bounds check missing (run time)

2008-07-07 Thread tkoenig at gcc dot gnu dot org


--- Comment #15 from tkoenig at gcc dot gnu dot org  2008-07-07 19:44 
---
Subject: Bug 36341

Author: tkoenig
Date: Mon Jul  7 19:43:33 2008
New Revision: 137594

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137594
Log:
2008-07-07  Thomas Koenig  [EMAIL PROTECTED]

PR fortran/36341
PR fortran/34670
* m4/matmul.m4:  Add bounds checking.
* m4/matmull.m4:  Likewise.
* generated/matmul_c10.c: Regenerated.
* generated/matmul_c16.c: Regenerated.
* generated/matmul_c4.c: Regenerated.
* generated/matmul_c8.c: Regenerated.
* generated/matmul_i1.c: Regenerated.
* generated/matmul_i16.c: Regenerated.
* generated/matmul_i2.c: Regenerated.
* generated/matmul_i4.c: Regenerated.
* generated/matmul_i8.c: Regenerated.
* generated/matmul_l16.c: Regenerated.
* generated/matmul_l4.c: Regenerated.
* generated/matmul_l8.c: Regenerated.
* generated/matmul_r10.c: Regenerated.
* generated/matmul_r16.c: Regenerated.
* generated/matmul_r4.c: Regenerated.
* generated/matmul_r8.c: Regenerated.

2008-07-07  Thomas Koenig  [EMAIL PROTECTED]

PR fortran/36341
PR fortran/34670
* gfortran.dg/matmul_bounds_2.f90:  New test.
* gfortran.dg/matmul_bounds_3.f90:  New test.
* gfortran.dg/matmul_bounds_4.f90:  New test.
* gfortran.dg/matmul_bounds_5.f90:  New test.


Added:
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_2.f90
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_3.f90
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_4.f90
trunk/gcc/testsuite/gfortran.dg/matmul_bounds_5.f90
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/libgfortran/ChangeLog
trunk/libgfortran/generated/matmul_c10.c
trunk/libgfortran/generated/matmul_c16.c
trunk/libgfortran/generated/matmul_c4.c
trunk/libgfortran/generated/matmul_c8.c
trunk/libgfortran/generated/matmul_i1.c
trunk/libgfortran/generated/matmul_i16.c
trunk/libgfortran/generated/matmul_i2.c
trunk/libgfortran/generated/matmul_i4.c
trunk/libgfortran/generated/matmul_i8.c
trunk/libgfortran/generated/matmul_l16.c
trunk/libgfortran/generated/matmul_l4.c
trunk/libgfortran/generated/matmul_l8.c
trunk/libgfortran/generated/matmul_r10.c
trunk/libgfortran/generated/matmul_r16.c
trunk/libgfortran/generated/matmul_r4.c
trunk/libgfortran/generated/matmul_r8.c
trunk/libgfortran/m4/matmul.m4
trunk/libgfortran/m4/matmull.m4


-- 


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



[Bug fortran/36670] Missing compile-time checks on sum and product

2008-07-07 Thread tkoenig at gcc dot gnu dot org


--- Comment #1 from tkoenig at gcc dot gnu dot org  2008-07-07 19:46 ---
Subject: Bug 36670

Author: tkoenig
Date: Mon Jul  7 19:45:55 2008
New Revision: 137595

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137595
Log:
2008-07-07  Thomas Koenig  [EMAIL PROTECTED]

PR fortran/36670
* iresolve.c (gfc_resolve_product):  Set shape of return
value from array.
(gfc_resolve_sum):  Likewise.

2008-07-07  Thomas Koenig  [EMAIL PROTECTED]

PR fortran/36670
* gfortran.dg/product_sum_bounds_1.f90:  New test case.


Added:
trunk/gcc/testsuite/gfortran.dg/product_sum_bounds_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/iresolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/36341] MATMUL: Bounds check missing

2008-07-07 Thread tkoenig at gcc dot gnu dot org


--- Comment #16 from tkoenig at gcc dot gnu dot org  2008-07-07 19:47 
---
Fixed both for compile-time and run-time on trunk.

Closing.


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
Summary|MATMUL: Bounds check missing|MATMUL: Bounds check missing
   |(run time)  |


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



[Bug fortran/36670] Missing compile-time checks on sum and product

2008-07-07 Thread tkoenig at gcc dot gnu dot org


--- Comment #2 from tkoenig at gcc dot gnu dot org  2008-07-07 19:48 ---
Fixed on trunk.

Closing.


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/36754] Compile-time bound-checking for allocatable arrays with known bonds

2008-07-07 Thread tkoenig at gcc dot gnu dot org


--- Comment #1 from tkoenig at gcc dot gnu dot org  2008-07-07 19:51 ---
Confirmed.


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-07-07 19:51:18
   date||


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



[Bug fortran/36754] Compile-time bound-checking for allocatable arrays with known bonds

2008-07-07 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2008-07-07 19:57 ---
 Confirmed.

How do I get:

pr36754.f90:4.1:

b = a(1:12)
1
Error: Different shape for array assignment at (1) on dimension 1 (1 and 12)

? I don't have that many patches left.


-- 


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



[Bug c++/34963] [4.3/4.4 regression] ICE completely broken destructor

2008-07-07 Thread simartin at gcc dot gnu dot org


--- Comment #4 from simartin at gcc dot gnu dot org  2008-07-07 20:42 
---
Subject: Bug 34963

Author: simartin
Date: Mon Jul  7 20:42:03 2008
New Revision: 137598

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137598
Log:
gcc/cp/

2008-07-07  Simon Martin  [EMAIL PROTECTED]

PR c++/34963
* decl.c (grokdeclarator): Reset storage_class and staticp for friend
functions declared with a storage class qualifier.

gcc/testsuite/

2008-07-07  Simon Martin  [EMAIL PROTECTED]

PR c++/34963
* g++.dg/parse/dtor13.C: New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/parse/dtor13.C
Modified:
branches/gcc-4_3-branch/gcc/cp/ChangeLog
branches/gcc-4_3-branch/gcc/cp/decl.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug libfortran/36755] New: Avoid fork/exec in chmod intrinsic

2008-07-07 Thread hjl dot tools at gmail dot com
The chmod intrinsic should be implemented with chmod () instead
of fork/exec.


-- 
   Summary: Avoid fork/exec in chmod intrinsic
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: libfortran
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=36755



[Bug libfortran/36755] Avoid fork/exec in chmod intrinsic

2008-07-07 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-07-07 21:00 ---
Why is really an issue anyways? chmod should not be used too much anyways. 


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org


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



[Bug target/36756] New: g++.dg/tls-3.C ICE with section-anchors, unit-at-a-time, no-toplevel-reorder

2008-07-07 Thread janis at gcc dot gnu dot org
Test g++.dg/gomp/tls-3.C started failing on powerpc-unknown-linux-gnu with an
ICE in rs6000_emit_move when the -O0 defaults were changed for
-funit-at-a-time, -fsection-anchors, and -ftop-level-reorder.  This smaller C
test:

__thread int i;
int
foo ()
{
  static __thread int k;
  return k;
}

gets the same ICE for earlier compilers back to 4.2.0 (when section anchors
were added) when compiled with -funit-at-a-time -fsection-anchors
-fno-toplevel-reorder.


-- 
   Summary: g++.dg/tls-3.C ICE with section-anchors, unit-at-a-time,
no-toplevel-reorder
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: janis at gcc dot gnu dot org
GCC target triplet: powerpc-unknown-linux-gnu


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



[Bug middle-end/36757] New: __builtin_signbit should be type-generic

2008-07-07 Thread jsm28 at gcc dot gnu dot org
The function __builtin_signbit should be type-generic so that libraries can
define the standard signbit macro with
#define signbit(x) __builtin_signbit(x).

(Mentioned several times before in the context of discussions of the other
type-generic built-in functions, but doesn't seem to be filed in Bugzilla
at present.)

It's necessary to avoid the type-generic signbit expanding to call a library
function that may not exist, but as all currently supported floating-point
formats do have a sign bit specified in signbit_ro I believe the case
of failing to expand inline can be made into an abort.


-- 
   Summary: __builtin_signbit should be type-generic
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsm28 at gcc dot gnu dot org


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



[Bug middle-end/36758] New: address addition moved out of the loop

2008-07-07 Thread pinskia at gcc dot gnu dot org
Take the following testcase:
extern int f0(int *);
void
f1()
{
  int x;
  while (f0(x));
}

-- CUT ---
Currently GCC produces:
addi 31,1,112
.p2align 3,,7
.L2:
mr 3,31
bl f0
nop
cmpdi 7,3,0
bne 7,.L2

Notice how there is mr 3, 31 inside the loop.  At least on the Cell, the mr and
addi both have the same cycle count so we should not be moving the addition
outside of the loop.  This will save at least one volatile register which
should reduce code size.  This is a definite win for code size.


-- 
   Summary: address addition moved out of the loop
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: powerpc*-*-*


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



[Bug middle-end/36758] [4.3/4.4 Regression] address addition moved out of the loop

2008-07-07 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-07-07 21:36 ---
4.1.1 actually did the right thing.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||4.3.0 4.4.0
  Known to work||4.1.1
Summary|address addition moved out  |[4.3/4.4 Regression] address
   |of the loop |addition moved out of the
   ||loop
   Target Milestone|--- |4.3.2
Version|unknown |4.4.0


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



[Bug fortran/36759] New: C_LOC and characters greater then one in length.

2008-07-07 Thread brtnfld at hdfgroup dot org
When I compile the code:

PROGRAM main
  USE, INTRINSIC :: ISO_C_BINDING
  IMPLICIT NONE
  CHARACTER(LEN=2), TARGET :: arg1 = '12'
  TYPE(c_ptr) :: A
  A = c_loc(arg1)
END PROGRAM main

I get the error: 

  A = c_loc(arg1)
   1
Error: CHARACTER argument 'arg1' to 'c_loc' at (1) must have a length of 1

I'm not sure where this restriction comes from (it's not part of the standard).
All the other fortran compilers (at least g95, ifort, and pgf90) support
character LEN 1. Actually they support CHARACTER(LEN=*) when declared in a
subroutine.


-- 
   Summary: C_LOC and characters greater then one in length.
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: brtnfld at hdfgroup dot org


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



[Bug middle-end/36758] [4.3/4.4 Regression] address addition moved out of the loop

2008-07-07 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2008-07-07 21:51 ---
(In reply to comment #1)
 4.1.1 actually did the right thing.
That is it produced:
.L.f1:
mflr 0
std 0,16(1)
stdu 1,-128(1)
.p2align 4,,15
.L3:
addi 3,1,112
bl f0
nop
cmpdi 7,3,0
bne 7,.L3
addi 1,1,128
ld 0,16(1)
mtlr 0
blr
.long 0
.byte 0,0,0,1,128,0,0,0
.size   f1,.-.L.f1
.ident  GCC: (GNU) 4.1.1


-- 


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



[Bug target/36756] g++.dg/tls-3.C ICE with section-anchors, unit-at-a-time, no-toplevel-reorder

2008-07-07 Thread janis at gcc dot gnu dot org


--- Comment #1 from janis at gcc dot gnu dot org  2008-07-07 21:59 ---
There's an ICE in the same place for libgomp.fortran/appendix_a/a.22.7.f90.


-- 


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



[Bug target/36701] [4.4 Regression] unaligned access in gcc.c-torture/execute/complex-7.c

2008-07-07 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2008-07-07 22:25 ---
assign_parm_remove_parallels:

  if (GET_CODE (entry_parm) == PARALLEL  GET_MODE (entry_parm) != BLKmode)
{
  rtx parmreg = gen_reg_rtx (GET_MODE (entry_parm));
  emit_group_store (parmreg, entry_parm, NULL_TREE,
GET_MODE_SIZE (GET_MODE (entry_parm)));
  entry_parm = parmreg;
}  

is incorrect for ia64 HFA. You can't do

rtx parmreg = gen_reg_rtx (GET_MODE (entry_parm));

when entry_parm is HFA passed in GR:

(parallel:SC [
(expr_list:REG_DEP_TRUE (reg:DI 117 in5 [ a5 ])
(const_int 0 [0x0]))
])


-- 


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



[Bug target/36701] [4.4 Regression] unaligned access in gcc.c-torture/execute/complex-7.c

2008-07-07 Thread drow at gcc dot gnu dot org


--- Comment #7 from drow at gcc dot gnu dot org  2008-07-07 22:31 ---
Subject: Re:  [4.4 Regression] unaligned access in
gcc.c-torture/execute/complex-7.c

On Mon, Jul 07, 2008 at 10:25:08PM -, hjl dot tools at gmail dot com wrote:
 is incorrect for ia64 HFA. You can't do
 
 rtx parmreg = gen_reg_rtx (GET_MODE (entry_parm));
 
 when entry_parm is HFA passed in GR:

What does HFA mean?  Why can't you copy it into a reg:SC?  This shouldn't
change the incoming location of the argument; it's generating code at
the start of the function to retrieve the argument.


-- 


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



[Bug target/36736] [4.3 Regression] gfortran unrecognizable insn on sh4

2008-07-07 Thread kkojima at gcc dot gnu dot org


--- Comment #7 from kkojima at gcc dot gnu dot org  2008-07-07 22:31 ---
Subject: Bug 36736

Author: kkojima
Date: Mon Jul  7 22:30:53 2008
New Revision: 137602

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137602
Log:
Backport from mainline:
PR target/36736
2008-02-29  Kaz Kojima  [EMAIL PROTECTED]

* config/sh/sh.c (sh_secondary_reload): Handle loading a float
constant to fpul.


Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/config/sh/sh.c


-- 


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



[Bug middle-end/36753] [4.3/4.4 Regression] Forward propagation interacts badly with global register variable

2008-07-07 Thread schlieper at unc dot edu


--- Comment #2 from schlieper at unc dot edu  2008-07-07 22:38 ---
If it's a bad language extension, why is it implemented?


-- 


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



[Bug middle-end/36753] [4.3/4.4 Regression] Forward propagation interacts badly with global register variable

2008-07-07 Thread slava at factorcode dot org


--- Comment #3 from slava at factorcode dot org  2008-07-07 22:41 ---
So is this extension bad/deprecated or not? I'd appreciate a clarification from
the gcc team. If the resolution is that this feature should simply not be used,
I would strongly suggest removing it. Otherwise I'm not sure what to think; do
I invest the effort in refactoring my code to not rely on this extension, or
can I count on it being supported going forward?


-- 


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



[Bug fortran/36759] C_LOC and characters greater then one in length.

2008-07-07 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2008-07-07 22:41 ---
   A = c_loc(arg1)
1
 Error: CHARACTER argument 'arg1' to 'c_loc' at (1) must have a length of 1
 
 I'm not sure where this restriction comes from (it's not part of the 
 standard).

One could argue that one should allow it as vendor extension, however, the
restriction is in the standard:

Interoperability of intrinsic types
A Fortran intrinsic type with particular type parameter values is
interoperable with a C type if the type and kind type parameter value are
listed in the table on the same row as that C type; if the type is character,
interoperability also requires that the length type parameter be omitted or be
specified by an initialization expression whose value is one.

For interoperability one thus should use instead of
  character(len=2) :: str
rather
  character(len=1,kind=c_char) :: str(2)

(This is also the case for dummy arguments of BIND(C) procedures, though there
one can as pass a string as actual argument, cf. storage sequence.)


-- 


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



[Bug middle-end/36753] [4.3/4.4 Regression] Forward propagation interacts badly with global register variable

2008-07-07 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2008-07-07 22:42 ---
(In reply to comment #2)
 If it's a bad language extension, why is it implemented?

Because someone thought it was nice but it really hard to get correct as it
changes the ABI.


-- 


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



[Bug fortran/36754] Compile-time bound-checking for allocatable arrays with known bonds

2008-07-07 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2008-07-07 22:46 ---
 b = a(1:12)
 Error: Different shape for array assignment at (1) on dimension 1 (1 and 12)
 ? I don't have that many patches left.

Hmm, I currently get the same (with all gfortrans I have). I really wonder why
I did not get this before. Let me recheck tomorrow.


-- 


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



[Bug c++/36760] New: Simple std::bind use causes warnings with -Wextra

2008-07-07 Thread gcc-bugzilla at contacts dot eelis dot net
Consider:

  #include functional
  void f() {}
  void g() { std::bind(f)(); }

Compiling this with g++-svn -c -std=c++0x -Wextra gives:

  In file included from
/home/eelis/soft/lib/gcc/i686-pc-linux-gnu/4.4.0/../../../../include/c++/4.4.0/functional:75,
 from t.cpp:1:
/home/eelis/soft/lib/gcc/i686-pc-linux-gnu/4.4.0/../../../../include/c++/4.4.0/tr1_impl/functional:
In function ‘void g()’:
/home/eelis/soft/lib/gcc/i686-pc-linux-gnu/4.4.0/../../../../include/c++/4.4.0/tr1_impl/functional:1226:
warning: type qualifiers ignored on function return type
/home/eelis/soft/lib/gcc/i686-pc-linux-gnu/4.4.0/../../../../include/c++/4.4.0/tr1_impl/functional:1213:
warning: type qualifiers ignored on function return type
/home/eelis/soft/lib/gcc/i686-pc-linux-gnu/4.4.0/../../../../include/c++/4.4.0/tr1_impl/functional:1201:
warning: type qualifiers ignored on function return type


-- 
   Summary: Simple std::bind use causes warnings with -Wextra
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc-bugzilla at contacts dot eelis dot net


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



[Bug c++/36641] erroneous ambiguous error for subclasses overloaded templated interfaces

2008-07-07 Thread bangerth at dealii dot org


--- Comment #2 from bangerth at dealii dot org  2008-07-07 23:17 ---
Yes, the code is indeed ambiguous. Both icc and pgCC also agree.
W.


-- 

bangerth at dealii dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c++/36628] [c++0x] incorrect decltype() handling of conditional operator

2008-07-07 Thread dgregor at gcc dot gnu dot org


--- Comment #3 from dgregor at gcc dot gnu dot org  2008-07-07 23:28 ---
The problem here is that fold() is simplifying the expression before we look at
its type. The simplification here turns something that's not a function call (a
conditional expression) into a function call, thereby triggering a different
branch in the decltype code (which returns the return type of a function being
called).


-- 

dgregor at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-07-07 23:28:02
   date||


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



[Bug c++/36699] not compile code, but must

2008-07-07 Thread bangerth at dealii dot org


--- Comment #1 from bangerth at dealii dot org  2008-07-07 23:30 ---
Not a bug: type arguments to templates need to be *named* types with
external linkage. The declaration of 'x' uses an unnamed structure,
the declaration of 'z' a type of function-scope (and so internal) linkage.

W.


-- 

bangerth at dealii dot org changed:

   What|Removed |Added

 CC||bangerth at dealii dot org
 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c++/36760] Simple std::bind use causes warnings with -Wextra

2008-07-07 Thread paolo dot carlini at oracle dot com


--- Comment #1 from paolo dot carlini at oracle dot com  2008-07-07 23:35 
---
Doug, I'm sorry, can you have a look to this one too? I'm slightly confused, we
have PR 36052, and then PR 30601, ... Seems that the warning is intended?!? Do
we have to change bind?!?


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||doug dot gregor at gmail dot
   ||com, paolo dot carlini at
   ||oracle dot com


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



[Bug c++/36749] sizeof returns 0 for class

2008-07-07 Thread bangerth at dealii dot org


--- Comment #5 from bangerth at dealii dot org  2008-07-07 23:36 ---
Zero-sized arrays are a GNU extension to the C++ standard. Since
the compiler can't know the size of the object, sizeof returns zero.
This behavior is documented in the Extensions part of the GCC manual,
in the Arrays of Length Zero section.

W.


-- 

bangerth at dealii dot org changed:

   What|Removed |Added

 CC||bangerth at dealii dot org
 Status|NEW |RESOLVED
 Resolution||INVALID


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



[Bug c++/36749] sizeof returns 0 for class

2008-07-07 Thread paolo dot carlini at oracle dot com


--- Comment #6 from paolo dot carlini at oracle dot com  2008-07-07 23:40 
---
I see, thanks Wolfgang, I didn't check -pedantic, my bad...


-- 


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



[Bug target/36701] [4.4 Regression] unaligned access in gcc.c-torture/execute/complex-7.c

2008-07-07 Thread hjl dot tools at gmail dot com


--- Comment #8 from hjl dot tools at gmail dot com  2008-07-08 01:19 ---
HFA stands for homogeneous floating point aggregates as specified in
IA-64 Software Conventions and Runtime Architecture Guide. To pass
complex float, if we run out of available FP argument registers,
we will pass it in GP register.  For a simple testcase:

---
extern _Complex float f5;

int
check_float (int a, _Complex float a1, _Complex float a2,
 _Complex float a3, _Complex float a4, _Complex float a5)
{
  return (a5 != f5);
}
---

(gdb) call debug_rtx (entry_parm)
(parallel:SC [
(expr_list:REG_DEP_TRUE (reg:DI 117 in5 [ a5 ])
(const_int 0 [0x0]))
])

Here DI is 64bit with 8byte alignment.

rtx parmreg = gen_reg_rtx (GET_MODE (entry_parm));

turns it into

(concat:SC (reg:SF 380)
(reg:SF 381))

It has 4 byte alignment.


-- 


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



[Bug c++/36760] Simple std::bind use causes warnings with -Wextra

2008-07-07 Thread paolo dot carlini at oracle dot com


--- Comment #2 from paolo dot carlini at oracle dot com  2008-07-08 01:40 
---
By the way, apparently, even after the fix for c++/32256 and c++/32368,
warnings keep coming from inside the system headers... Any idea why, Tom?
Another case would be this one:

  http://gcc.gnu.org/ml/libstdc++/2008-06/msg00080.html

Is it because these warnings are really spuriously coming from the middle-end
per the audit trail of the latter issue, PR 36633 ?

Thus, assuming we generically want this warning (as I understand from the audit
trails of PR 30601), the real issue is fixing the C++ front-end to not pass
bogus stuff to the middle-end? Or the two issues are different?

One final remark: if we add -Wsystem-headers to the command line *many* more
type qualifiers ignored warning are emitted, a tiny part somehow escapes...


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||manu at gcc dot gnu dot org,
   ||tromey at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-07-08 01:40:48
   date||


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



[Bug c++/36760] Simple std::bind use causes warnings with -Wextra

2008-07-07 Thread paolo dot carlini at oracle dot com


--- Comment #3 from paolo dot carlini at oracle dot com  2008-07-08 02:02 
---
Or this pure C++ case is really just a missing TREE_NO_WARNING set somewhere
(check_return_expr?)


-- 


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



[Bug c++/36760] Simple std::bind use causes warnings with -Wextra

2008-07-07 Thread tromey at gcc dot gnu dot org


--- Comment #4 from tromey at gcc dot gnu dot org  2008-07-08 02:45 ---
My guess is that comment #3 is the right theory, because
this warning is issued from the front end.  I did not
investigate deeply though.


-- 


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