[Bug target/22497] A register is wasted in simple vectorised loops

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-18 
06:49 ---
(In reply to comment #2)
> I have tested gcc snapshot 'gcc version 4.1.0 20050716 (experimental)', 
> with 'gcc -O2 -ftree-vectorize -msse2' and it still produces code with both %
> eax and %edx used.
> 
> Andrew, which gcc version and compile flags have you used to produce your asm 
> code?

Oh, I have a local patch which will cause this, woops:
Index: config/i386/i386.c
===

RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v
retrieving revision 1.842
diff -u -p -r1.842 i386.c
--- config/i386/i386.c  14 Jul 2005 07:46:16 -  1.842
+++ config/i386/i386.c  18 Jul 2005 06:48:33 -
@@ -5044,6 +5044,10 @@ ix86_address_cost (rtx x)
   /* More complex memory references are better.  */
   if (parts.disp && parts.disp != const0_rtx)
 cost--;
+
+  if (parts.scale != 1)
+cost--;
+
   if (parts.seg != SEG_DEFAULT)
 cost--;
 

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-07-18 06:49:26
   date||


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


[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-18 
06:43 ---
Created an attachment (id=9298)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9298&action=view)
patch which I need to test

This patch which needs more comments but should be complete otherwise.  This
implements my suggesting for following PHI nodes.
It also cleans up some of the code by doing bsi_next/continue only in one
place.

ChangeLog:
(remove_useless_store_vop_expr): New function.
(remove_useless_store_p): New function.
(do_eustores): Use remove_useless_store_p.

Daniel what do you think about this patch?  If you could suggest better
function names because I could not think of better name as it is late.

-- 


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


[Bug target/22497] A register is wasted in simple vectorised loops

2005-07-17 Thread uros at kss-loka dot si

--- Additional Comments From uros at kss-loka dot si  2005-07-18 06:36 
---
(In reply to comment #1)
> With last night's compiler I get:

Strange...

I have tested gcc snapshot 'gcc version 4.1.0 20050716 (experimental)', 
with 'gcc -O2 -ftree-vectorize -msse2' and it still produces code with both %
eax and %edx used.

Andrew, which gcc version and compile flags have you used to produce your asm 
code?

-- 


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


[Bug bootstrap/22541] New: Building into empty PREFIX causes broken limits.h to be installed

2005-07-17 Thread dank at kegel dot com
When building gcc-3.4.3 or gcc-4.x into a clean $PREFIX,
the configure script happily copies the glibc include files from include to
sys-include;
here's the line from the log file (with $PREFIX instead of the real prefix):


Copying $PREFIX/i686-unknown-linux-gnu/include to
$PREFIX/i686-unknown-linux-gnu/sys-include

But later, when running fixincludes, it gives the error message
 The directory that should contain system headers does not exist:
 
$PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/../../../../i686-unknown-linux-gnu/sys-include

Nevertheless, it continues building; the header files it installs in
 $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/include
do not include the boilerplate that would cause it to #include_next the
glibc headers in the system header directory.
Thus the resulting toolchain can't compile the following program:
#include 
int x = PATH_MAX;
because its limits.h doesn't include the glibc header.


The problem is that gcc/Makefile.in assumes that
it can refer to $PREFIX/i686-unknown-linux-gnu  with the path
$PREFIX/lib/../i686-unknown-linux-gnu, but
that fails because the directory $PREFIX/lib doesn't exist during 'make all';
it is only created later, during 'make install'.  (Which makes this problem
confusing, since one only notices the breakage well after 'make install',
at which point the path configure complained about does exist, and has the
right stuff in it.)

I posted a proposed fix to
http://gcc.gnu.org/ml/gcc-patches/2005-07/msg00751.html

-- 
   Summary: Building into empty PREFIX causes broken limits.h to be
installed
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dank at kegel dot com
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-18 
05:17 ---
The reason why eustore does not remove it is because we have a loop and a PHI 
intbetween the load 
and store:
  #   d_15 = V_MUST_DEF ;
  d = s_2;
  #   d_18 = V_MAY_DEF ;
  f (s_9);
  #   VUSE ;
  s_16 = d;
  i_17 = i_3 + 1;

  # i_3 = PHI ;
  # s_2 = PHI ;
  # d_1 = PHI ;
:;
  if (i_3 < l_11) goto ; else goto ;

:;
  s_12 = s_2;
  #   d_13 = V_MUST_DEF ;
  d = s_2;

See how have a PHI involved.  Maybe eustore should handle PHIs too.

-- 


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


[Bug rtl-optimization/21527] BYTEmark bitmap test: Regression with Profiled Optimization

2005-07-17 Thread jbucata at tulsaconnect dot com

--- Additional Comments From jbucata at tulsaconnect dot com  2005-07-18 
04:42 ---
For me, with -march=athlon-xp, -funroll-loops on 4.0.0 did indeed pessimize
slightly.  However, -fprofile-{generate,use} pessimized more on top of that.  So
there's still a problem with regard to the PO.

I tried it again with your -march=i686 and it went from 9.5s => 13.5s user with
plain -funroll-loops.  The PO made it a tidge worse from there.  IOW, consistent
with what you saw.

Further, I tried -funroll-loops w/o the PO on 3.3.5 and 3.4.3 and it improved
run times for both--moreso in 3.4.3 than in 3.3.5.  So it looks like that's
another regression in 4.0.0, in -funroll-loops by itself!

-- 


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


[Bug c++/20912] C++ FE emitting assignments to read-only global symbols

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-18 
01:37 ---
I wonder if this is the recent regression in eon again.

-- 
   What|Removed |Added

   Last reconfirmed|2005-04-09 12:48:41 |2005-07-18 01:37:49
   date||


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


[Bug tree-optimization/22534] [4.1 Regression] [DR236] gcc.c-torture/execute/20000603-1.c execution, -O2 fails

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-18 
01:27 ---
Some new discussion from the C standards committee: 
http://www.open-std.org/jtc1/sc22/wg14/
www/docs/n.htm

-- 


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


[Bug bootstrap/22517] Bootstrap ICE on latest CVS: tree check: tree-ssa

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-18 
01:02 ---
Can you try bootstrapping without using GCC 4.1 since I think your compiler 
which you are building 
with is before that patch?

-- 


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


[Bug bootstrap/22517] Bootstrap ICE on latest CVS: tree check: tree-ssa

2005-07-17 Thread mckelvey at maskull dot com

--- Additional Comments From mckelvey at maskull dot com  2005-07-18 01:00 
---
Subject: Re:  Bootstrap ICE on latest CVS: tree check: tree-ssa

On Sunday 17 July 2005 00:48 am, pinskia at gcc dot gnu dot org wrote:
> --- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17
> 07:48 --- Is this before or after:
> 2005-07-13  David Edelsohn  <[EMAIL PROTECTED]>
>
> * tree-ssa-dom.c (lookup_avail_expr): Do not pass member in freed
> structure as argument.
>
> ?
>
> That patch should have fixed the problem.

I just tried it after updating and got the same result.

Jim McKelvey


-- 


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


[Bug target/22539] Internal compiler error with maximum sized array

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-18 
00:01 ---
Confirmed.  We should be producing a warning/error message for this like we do 
on PowerPC.
t.c: In function 'main':
t.c:5: warning: stack frame too large

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||diagnostic
  Known to fail||3.4.0 4.0.0
   Last reconfirmed|-00-00 00:00:00 |2005-07-18 00:01:44
   date||


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


[Bug c++/22540] No access to public static members/functions of privately inherited base class

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
23:58 ---
4.1 is correct.
private inherited base class means make that class's field all private in the 
class, even if they were 
public to begin with.

>From 3.4.0 and above correctly rejects this code.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
   Keywords||accepts-invalid
 Resolution||INVALID
   Target Milestone|--- |3.4.0


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


[Bug target/22539] Internal compiler error with maximum sized array

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

  Component|c   |target
  GCC build triplet|FreeBSD 5.4-RELEASE i386|
   GCC host triplet|FreeBSD 5.4-RELEASE i386|
 GCC target triplet|FreeBSD 5.4-RELEASE i386|i386-pc-freebsd
   Keywords||ice-on-invalid-code


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


[Bug c++/22540] New: No access to public static members/functions of privately inherited base class

2005-07-17 Thread mdweb at web dot de
$uname -srm 
Linux 2.6.11.4-21.7-default i686 
 
$tmp/bin/g++ -v 
Using built-in specs. 
Target: i686-pc-linux-gnu 
Configured with: ../gcc/configure --enable-languages=c,c++ 
--prefix=/home/xxx/tmp : (reconfigured) ../gcc/configure 
--enable-languages=c,c++ --prefix=/home/xxx/tmp : 
(reconfigured) ../gcc/configure --enable-languages=c,c++ --prefix=/home/xxx/tmp 
Thread model: posix 
gcc version 4.1.0 20050717 (experimental) 
 
The following code is rejected: 
 
class A 
{ 
public: 
static void foo() {} 
static int i; 
}; 
 
class B : private A 
{ 
}; 
 
class C : public B 
{ 
public: 
void foo2() 
{ 
A::foo(); // line 18 
 
int c=A::i; // line 20 
} 
}; 
 
Compilation with g++ -c test.cpp yields 
 
test.cpp: In member function ‘void C::foo2()’: 
test.cpp:3: error: ‘class A’ is inaccessible 
test.cpp:18: error: within this context 
test.cpp:3: error: ‘class A’ is inaccessible 
test.cpp:20: error: within this context 
 
Making C inherit directly from A works, though (i.e., Class C : private A). 
 
Also, g++ 3.3.4 and 3.3.5 did accept the code above. 
 
Thanks, 
Michael

-- 
   Summary: No access to public static members/functions of
privately inherited base class
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mdweb at web dot de
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c/22539] New: Internal compiler error with maximum sized array

2005-07-17 Thread ulfalizer at gmail dot com
Compiling this:

#define SIZE 2u << 31 - 2

int main() {
char a[SIZE], b[SIZE];
}

Gives this compilation error:

bigcp.c: In function `main':
bigcp.c:7: error: unrecognizable insn:
(insn/f 34 33 35 (parallel [
(set (reg/f:SI 7 sp)
(plus:SI (reg/f:SI 7 sp)
(const_int -2147483656 [0x7ff8])))
(clobber (reg:CC 17 flags))
(clobber (mem:BLK (scratch) [0 A8]))
]) -1 (nil)
(nil))
bigcp.c:7: internal compiler error: in insn_default_length, at 
insn-attrtab.c:435

Only the maximum allowed array size gives the error, and at least two objects
must be allocated on stack.

-- 
   Summary: Internal compiler error with maximum sized array
   Product: gcc
   Version: 3.4.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ulfalizer at gmail dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: FreeBSD 5.4-RELEASE i386
  GCC host triplet: FreeBSD 5.4-RELEASE i386
GCC target triplet: FreeBSD 5.4-RELEASE i386


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


[Bug c++/22263] [4.0/4.1 Regression] explicit instantiation fails to emit symbols defined later

2005-07-17 Thread mmitchel at gcc dot gnu dot org


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
   |dot org |
 Status|UNCONFIRMED |ASSIGNED


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


[Bug tree-optimization/22530] [4.1 Regression] ICE with static promotion

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

 CC||zadeck at naturalbridge dot
   ||com


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


[Bug tree-optimization/21000] store should not be done if we don't change its value

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
22:52 ---
Only f and f2 are fixed.  comment #3 is fixed too.

-- 


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


[Bug tree-optimization/21000] store should not be done if we don't change its value

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
22:48 ---
PR 22538 is another testcase.

-- 


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
22:45 ---
Fixed, I filed the missed optimization under PR 22538.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Bug tree-optimization/22538] New: Eustore does not remove stores for struct assignments

2005-07-17 Thread pinskia at gcc dot gnu dot org
Take the following code:
typedef struct dw_cfi_oprnd_struct {
  unsigned long reg;
} dw_cfa_location;
  dw_cfa_location loc;
void def_cfa_1 (void) {
  loc.reg = loc.reg;
}

We don't remove the store/load to loc.rec on the tree level.  We even don't 
remove PIC startup code for 
ppc-darwin either:
_def_cfa_1:
mflr r0
stw r31,-4(r1)
lwz r31,-4(r1)
mtlr r0
blr

-- 
   Summary: Eustore does not remove stores for struct assignments
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: missed-optimization, TREE
  Severity: enhancement
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug c++/21687] [4.0/4.1 Regression] ICE on valid code

2005-07-17 Thread mmitchel at gcc dot gnu dot org


-- 
Bug 21687 depends on bug 22139, which changed state.

Bug 22139 Summary: [4.0/4.1 regression] Segfault with templates and friend 
functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22139

   What|Old Value   |New Value

 Status|UNCONFIRMED |ASSIGNED
 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

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


[Bug c++/22139] [4.0/4.1 regression] Segfault with templates and friend functions

2005-07-17 Thread mmitchel at gcc dot gnu dot org

--- Additional Comments From mmitchel at gcc dot gnu dot org  2005-07-17 
22:33 ---
Fixed in 4.0.2.

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Bug c++/22139] [4.0/4.1 regression] Segfault with templates and friend functions

2005-07-17 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-07-17 
22:31 ---
Subject: Bug 22139

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-4_0-branch
Changes by: [EMAIL PROTECTED]   2005-07-17 22:30:58

Modified files:
gcc/testsuite  : ChangeLog 
gcc/cp : ChangeLog cp-tree.h decl.c 
Added files:
gcc/testsuite/g++.dg/template: friend36.C 

Log message:
PR c++/22139
* cp-tree.h (DECL_TEMPLATE_INFO): Improve documentation.
* decl.c (duplicate_decls): Re-register template specializations
for functions that have DECL_TEMLPLATE_INFO, even if they do not
have DECL_TEMPLATE_INSTANTIATION set.

PR c++/22139
* g++.dg/template/friend36.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.284&r2=1.5084.2.285
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/friend36.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.4648.2.68&r2=1.4648.2.69
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1106.2.10&r2=1.1106.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1371.2.15&r2=1.1371.2.16



-- 


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-07-17 
22:28 ---
Subject: Bug 22531

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-07-17 22:28:19

Modified files:
gcc: ChangeLog tree-ssa-pre.c 
Added files:
gcc/testsuite/gcc.c-torture/compile: pr22531.c 

Log message:
2005-07-17  Daniel Berlin  <[EMAIL PROTECTED]>

Fix PR tree-optimization/22531
* tree-ssa-pre.c (do_eustores):  Make sure LHS is a decl for the
moment.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9465&r2=2.9466
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-pre.c.diff?cvsroot=gcc&r1=2.97&r2=2.98
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/compile/pr22531.c.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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


[Bug target/22537] unable to find a register to spill in class "CREG"

2005-07-17 Thread schwab at suse dot de


-- 
   What|Removed |Added

Summary|unable to find a register to|unable to find a register to
   |spill in cl ass "CREG"  |spill in class "CREG"


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


[Bug target/22537] unable to find a register to spill in cl ass "CREG"

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

  Component|c   |target
   GCC host triplet|i586-suse-linux |
 GCC target triplet||i586-suse-linux
Summary|unable to find a register to|unable to find a register to
   |spill in cl ass |spill in cl ass "CREG"
   |‘CREG’  |


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


[Bug c/22537] unable to find a register to spill in cl ass ‘CREG’

2005-07-17 Thread mueller at kde dot org


-- 
   What|Removed |Added

   Keywords||ice-on-valid-code
Summary|unable to find a register to|unable to find a register to
   |spill in cl |spill in cl ass
   |ass ‘CREG’  |‘CREG’


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
22:16 ---
Reduced testcase:
typedef struct dw_cfi_oprnd_struct {
  unsigned long reg;
} dw_cfa_location;
void def_cfa_1 (void) {
  dw_cfa_location loc;
  loc.reg = loc.reg;
}

Confirmed, testing a patch for Daniel Berlin right now.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-07-17 22:16:14
   date||


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


[Bug c/22537] New: unable to find a register to spill in cl

2005-07-17 Thread mueller at kde dot org
ass ‘CREG’
X-Bugzilla-Reason: CC

compiling testcase:  
 
=== Cut === 
struct nand_chip { 
·   int ·   ·   page_shift; 
·   int··   phys_erase_shift; 
}; 
 
extern void foo( int ); 
 
static void nand_writev_ecc (int *mtd, int *vecs, unsigned long count) 
{ 
·   int i, total_len; 
·   struct nand_chip *this;  
·   int·ppblock = (1 << (this->phys_erase_shift - this->page_shift)); 
 
·   total_len = count; 
·   for (i = 0; i < count; i++) 
·   ·   total_len+=ppblock; 
 
foo (ppblock); 
} 
=== Cut === 
 
with 
 
gcc -Os -march=k6 -mregparm=3 -fno-unit-at-a-time -c 
drivers/mtd/nand/nand_base.c 
 
gives: 
 
drivers/mtd/nand/nand_base.c:19: error: unable to find a register to spill in 
class ‘CREG’ 
drivers/mtd/nand/nand_base.c:19: error: this is the insn: 
(insn:HI 19 18 46 0 (parallel [ 
(set (reg/v:SI 3 bx [orig:59 ppblock ] [59]) 
(ashift:SI (reg/v:SI 3 bx [orig:59 ppblock ] [59]) 
(subreg:QI (reg:SI 0 ax [orig:65 
.phys_erase_shift ] [65]) 0))) 
(clobber (reg:CC 17 flags)) 
]) 280 {*ashlsi3_1} (insn_list:REG_DEP_TRUE 17 (insn_list:REG_DEP_TRUE 
18 (nil))) 
(expr_list:REG_UNUSED (reg:CC 17 flags) 
(expr_list:REG_DEAD (reg:SI 0 ax [orig:65 .phys_erase_shift ] 
[65]) 
(expr_list:REG_UNUSED (reg:CC 17 flags) 
(expr_list:REG_EQUAL (ashift:SI (const_int 1 [0x1]) 
(subreg:QI (reg:SI 67) 0)) 
(nil)) 
drivers/mtd/nand/nand_base.c:19: internal compiler error: in spill_failure, at 
reload1.c:1878 
 
gcc version 4.0.1 20050701 (prerelease)

-- 
   Summary: unable to find a register to spill in cl
ass ‘CREG’
   Product: gcc
   Version: 4.0.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mueller at kde dot org
CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i586-suse-linux


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


[Bug c++/22139] [4.0/4.1 regression] Segfault with templates and friend functions

2005-07-17 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-07-17 
22:02 ---
Subject: Bug 22139

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-07-17 22:02:10

Modified files:
gcc/testsuite  : ChangeLog 
gcc/cp : ChangeLog cp-tree.h decl.c 
Added files:
gcc/testsuite/g++.dg/template: friend36.C 

Log message:
PR c++/22139
* cp-tree.h (DECL_TEMPLATE_INFO): Improve documentation.
* decl.c (duplicate_decls): Re-register template specializations
for functions that have DECL_TEMLPLATE_INFO, even if they do not
have DECL_TEMPLATE_INSTANTIATION set.

PR c++/22139
* g++.dg/template/friend36.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.5777&r2=1.5778
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/friend36.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4823&r2=1.4824
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.1154&r2=1.1155
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1413&r2=1.1414



-- 


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


[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
21:37 ---
(In reply to comment #1)
> the eustores stuff i just committed should fix this now
> please try again :)
This was after eustores stuff was committed.



-- 


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


[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop

2005-07-17 Thread dberlin at gcc dot gnu dot org

--- Additional Comments From dberlin at gcc dot gnu dot org  2005-07-17 
21:36 ---
the eustores stuff i just committed should fix this now
please try again :)


-- 


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
21:23 ---
*** Bug 22536 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||lucier at math dot purdue
   ||dot edu


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


[Bug bootstrap/22536] gcc/dwarf2out.c:751: internal compiler error at tree-into-ssa.c:2290

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
21:23 ---


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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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


[Bug bootstrap/22536] New: gcc/dwarf2out.c:751: internal compiler error at tree-into-ssa.c:2290

2005-07-17 Thread lucier at math dot purdue dot edu
stage1/xgcc -Bstage1/ -B/pkgs/gcc-mainline/powerpc-apple-darwin8.2.0/bin/ -c  
-g -O2 -mdynamic-no-pic -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros
-Wold-style-definition -Werror -fno-common   -DHAVE_CONFIG_H-I. -I.
-I../../gcc -I../../gcc/. -I../../gcc/../include -I./../intl
-I../../gcc/../libcpp/include -I/pkgs/gmp-4.1.3/include
-I/pkgs/gmp-4.1.3/include ../../gcc/dwarf2out.c -o dwarf2out.o
../../gcc/dwarf2out.c: In function 'def_cfa_1':
../../gcc/dwarf2out.c:751: internal compiler error: tree check: expected tree
that contains 'decl minimal' structure, have 'component_ref'  in
mark_sym_for_renaming, at tree-into-ssa.c:2290

configured and built with

#!/bin/tcsh
/bin/rm -rf *; ../configure --prefix=/pkgs/gcc-mainline
--with-gmp=/pkgs/gmp-4.1.3 --with-mpfr=/pkgs/gmp-4.1.3 ; make -j 4 bootstrap
STAGE1_CFLAGS='-O2 -g' >& build.log && (make -j 8 check  >& check.log ; make
mail-report-with-warnings.log)

-- 
   Summary: gcc/dwarf2out.c:751: internal compiler error at tree-
into-ssa.c:2290
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: lucier at math dot purdue dot edu
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: powerpc-apple-darwin8.2.0
  GCC host triplet: powerpc-apple-darwin8.2.0
GCC target triplet: powerpc-apple-darwin8.2.0


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


[Bug c++/22454] [4.0/4.1 Regression] 'template class/operator overloading/default argument' internal compiler error

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
21:22 ---
*** Bug 22535 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||bitmap at pan dot homelinux
   ||dot com


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


[Bug c++/22535] parse error with class operator as default argument

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
21:22 ---


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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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


[Bug tree-optimization/22483] [4.1 Regression] ICE : tree check: expected ssa_name, have var_decl in is_old_name, at tree-into-ssa.c:466

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

  BugsThisDependsOn||22444


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


[Bug tree-optimization/22444] [4.1 regression] testsuite failure:23_containers/set/explicit_instantiation/2.cc ICE

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
21:20 ---
the patch in PR 22483 should fix this.

-- 
   What|Removed |Added

OtherBugsDependingO||22483
  nThis||


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


[Bug tree-optimization/22534] [4.1 Regression] [DR236] gcc.c-torture/execute/20000603-1.c execution, -O2 fails

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
21:17 ---
Hmm, there is still questions if this is valid:
/* It is not clear whether this test is conforming.  See DR#236
   http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_236.htm.  However,
   there seems to be consensus that the presence of a union to aggregate
   struct s1 and struct s2 should make it conforming.  */

-- 
   What|Removed |Added

Summary|[4.1 Regression] gcc.c- |[4.1 Regression] [DR236]
   |torture/execute/2603-1.c|gcc.c-
   |execution,  -O2 fails   |torture/execute/2603-1.c
   ||execution,  -O2 fails


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


[Bug tree-optimization/22534] [4.1 Regression] gcc.c-torture/execute/20000603-1.c execution, -O2 fails

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
21:14 ---
Confirmed.

-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2005-07-17 21:14:48
   date||
   Target Milestone|--- |4.1.0


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


[Bug tree-optimization/22444] [4.1 regression] testsuite failure:23_containers/set/explicit_instantiation/2.cc ICE

2005-07-17 Thread jsm28 at gcc dot gnu dot org

--- Additional Comments From jsm28 at gcc dot gnu dot org  2005-07-17 21:13 
---
These failures have appeared for me on i686-pc-linux-gnu on 20050717.


-- 
   What|Removed |Added

 CC||jsm28 at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-07-17 21:13:12
   date||


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


[Bug c++/22535] New: parse error with class operator as default argument

2005-07-17 Thread bitmap at pan dot homelinux dot com
This used to work fine with g++-3.* 
 
$ cat test.cc   
 
struct o {}; 
 
template  
struct test 
{ 
  int m(int (o::*recv)(T&) = &o::operator()); 
}; 
 
$ g++ test.cc 
test.cc:6: internal compiler error: in cp_lexer_peek_nth_token, at 
cp/parser.c:500 
Please submit a full bug report, 
with preprocessed source if appropriate.

-- 
   Summary: parse error with class operator as default argument
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bitmap at pan dot homelinux dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: Configured with: ../src/configure -v --enable-
languages=c,c++,ja
  GCC host triplet: g++ (GCC) 4.1.0 20050607 (experimental)
GCC target triplet: Target: i486-linux


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


[Bug tree-optimization/22534] New: [4.1 Regression] gcc.c-torture/execute/20000603-1.c execution, -O2 fails

2005-07-17 Thread jsm28 at gcc dot gnu dot org
FAIL: gcc.c-torture/execute/2603-1.c execution,  -O2

has appeared on mainline on 20050717 on at least hppa2.0w-hpux, hppa64-hpux,
ia64-hpux.  gcc-regression indicates failure on powerpc-darwin as well.

-- 
   Summary: [4.1 Regression] gcc.c-torture/execute/2603-1.c
execution,  -O2 fails
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsm28 at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug other/22533] New: ada / raised STORAGE_ERROR : stack overflow (or erroneous memory access)

2005-07-17 Thread pluto at agmk dot net
gcc-4.1-20050717T1716UTC 
 
(...) 
stage1/xgcc -Bstage1/ -B/usr/x86_64-pld-linux/bin/ -c -march=x86-64 -O2   
-gnatpg -gnata -I- -I. -Iada -I../../gcc/ada ../../gcc/ada/output.adb -o  
ada/output.o  
  
raised STORAGE_ERROR : stack overflow (or erroneous memory access)  
make[2]: *** [ada/output.o] Error 1

-- 
   Summary: ada / raised STORAGE_ERROR : stack overflow (or
erroneous memory access)
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: x86_64-pld-linux
  GCC host triplet: x86_64-pld-linux
GCC target triplet: x86_64-pld-linux


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


[Bug c/22529] [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function

2005-07-17 Thread joseph at codesourcery dot com

--- Additional Comments From joseph at codesourcery dot com  2005-07-17 
20:58 ---
Subject: Re:  [3.4/4.0/4.1 Regression] Rejects valid C99 address
 of C99 struct in static variable in function

On Sun, 17 Jul 2005, pinskia at gcc dot gnu dot org wrote:

> That is interesting as if we move the variable declaration out of the 
> function, it works in GCC.

That's because of 6.5.2.5#6 which defines the storage duration of compound 
literals to depend on whether they are inside a function:

   [#6] The value of the compound literal is that of an unnamed
   object initialized by the initializer list.  If the compound
   literal occurs outside the body of a  function,  the  object
   has  static  storage  duration;  otherwise, it has automatic
   storage duration associated with the enclosing block.



-- 


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


[Bug c/22529] [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
20:56 ---
I believe you that this is invalid code.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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


[Bug c++/22139] [4.0/4.1 regression] Segfault with templates and friend functions

2005-07-17 Thread mmitchel at gcc dot gnu dot org

--- Additional Comments From mmitchel at gcc dot gnu dot org  2005-07-17 
20:55 ---
Thank you for reducing the test case!  

I now understand the bug, and am working on a fix.

-- 


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


[Bug tree-optimization/19905] Extra V_MAY_DEF on a static variable whose address is not taken (we should be able to move the load out of the loop)

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
20:52 ---
(In reply to comment #3)
> This is not fixed Kenny's promote statics, in fact we now produce worse code 
> at -O3.  Note on ppc-
> darwin the code is fine since -fno-math-errno is done by default.
I filed that as PR 22532.



-- 
   What|Removed |Added

  BugsThisDependsOn||22532


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


[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

OtherBugsDependingO||19905
  nThis||


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


[Bug tree-optimization/22532] [4.1 Regression] We produce worse code on the mainline for a loop

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

 CC||dberlin at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.1.0


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


[Bug tree-optimization/22532] New: [4.1 Regression] We produce worse code on the mainline for a loop

2005-07-17 Thread pinskia at gcc dot gnu dot org
Take the following code:
#define NUMPOINTS 20

static float opoints[NUMPOINTS];

double sqrt (double);
double f(double);

void NormalizeVectors1 (void)
{
  int i, r;
  float s, x, y, z;
  static float d = 0.0;
  d += 0.2f;
  s = d;
  for (i=0; ihttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=22532


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
20:47 ---
And on ppc-darwin (a native build), reducing right now.
/Users/pinskia/src/local2/gcc/gcc/dwarf2out.c:751: internal compiler error: 
tree check: expected tree 
that contains 'decl minimal' structure, have 'component_ref'  in 
mark_sym_for_renaming, at tree-into-
ssa.c:2290


-- 
   What|Removed |Added

  GCC build triplet|hppa-unknown-linux-gnu  |
   GCC host triplet|hppa-unknown-linux-gnu  |


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread danglin at gcc dot gnu dot org

--- Additional Comments From danglin at gcc dot gnu dot org  2005-07-17 
20:35 ---
Also occurs on hppa64-hp-hpux11.11.


-- 


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


[Bug tree-optimization/22493] [4.1 Regression] with -fwrapv -INT_MIN is still not positive

2005-07-17 Thread pluto at agmk dot net

--- Additional Comments From pluto at agmk dot net  2005-07-17 20:35 ---
(In reply to comment #2) 
> Created an attachment (id=9291)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9291&action=view) 
> Treat flag_wrapv and min value in a special way 
>  
 
patch cointains typo-bug. 
 
--- gcc-pr22493.patch   Sun Jul 17 20:07:13 2005 
+++ gcc-pr22493.patch   Sun Jul 17 22:33:27 2005 
@@ -53,7 +53,7 @@ 
 -      max = (vr0.min == TYPE_MIN_VALUE (TREE_TYPE (expr))) 
 -      ? TYPE_MAX_VALUE (TREE_TYPE (expr)) 
 -      : fold_unary_to_constant (code, TREE_TYPE (expr), vr0.min); 
-+    type = VR_ANTI_RANGE; 
++    vr_type = VR_ANTI_RANGE; 
 +    max = fold_unary_to_constant (code, TREE_TYPE (expr), vr0.max); 
 +        max = int_const_binop (MINUS_EXPR, max, one, 0); 
 +    min = int_const_binop (PLUS_EXPR, min, one, 0); 
 

-- 
   What|Removed |Added

 CC||pluto at agmk dot net


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


[Bug tree-optimization/19905] Extra V_MAY_DEF on a static variable whose address is not taken (we should be able to move the load out of the loop)

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
20:34 ---
This is not fixed Kenny's promote statics, in fact we now produce worse code at 
-O3.  Note on ppc-
darwin the code is fine since -fno-math-errno is done by default.

-- 


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread danglin at gcc dot gnu dot org

--- Additional Comments From danglin at gcc dot gnu dot org  2005-07-17 
20:22 ---
Created an attachment (id=9297)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9297&action=view)
Preprocessed source

gzip

-- 


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread danglin at gcc dot gnu dot org


-- 
   What|Removed |Added

Attachment #9296 is|0   |1
   obsolete||


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread danglin at gcc dot gnu dot org

--- Additional Comments From danglin at gcc dot gnu dot org  2005-07-17 
20:19 ---
Created an attachment (id=9296)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9296&action=view)
Preprocessed source


-- 


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


[Bug c/22529] [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
20:18 ---
That is interesting as if we move the variable declaration out of the function, 
it works in GCC.

-- 


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


[Bug c/22529] [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function

2005-07-17 Thread joseph at codesourcery dot com

--- Additional Comments From joseph at codesourcery dot com  2005-07-17 
20:13 ---
Subject: Re:  New: [3.4/4.0/4.1 Regression] Rejects valid C99
 address of C99 struct in static variable in function

On Sun, 17 Jul 2005, pinskia at gcc dot gnu dot org wrote:

> Take the following code:
> struct f1
> {
>   int i;
> };
> void f(void)
> {
>  static struct f1 *f2 = &(struct f1){1};
> }
> 
> This is valid C99 at least according to both ICC and Comeau.

So report it as a bug in ICC and Comeau.  It is exactly as valid as

struct f1
{
  int i;
};
void f(void)
{
  struct f1 tmp = { 1 };
  static struct f1 *f2 = &tmp;
}

i.e. not at all.  The address of an object of automatic storage duration 
is not a constant.



-- 


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
20:04 ---
Could you attach the preprocessed source?

-- 
   What|Removed |Added

 CC||dberlin at gcc dot gnu dot
   ||org


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread danglin at gcc dot gnu dot org

--- Additional Comments From danglin at gcc dot gnu dot org  2005-07-17 
20:03 ---
(gdb) bt
#0  internal_error (
gmsgid=0x81d990 "tree check: expected tree that contains %qs structure, 
have 
%qs  in %s, at %s:%d") at ../../gcc/gcc/diagnostic.c:534
#1  0x005a6b10 in tree_contains_struct_check_failed (node=0x408ecf28,
en=TS_DECL_MINIMAL, file=0x7e84fc "../../gcc/gcc/tree-into-ssa.c",
line=2290, function=0x874814 "mark_sym_for_renaming")
at ../../gcc/gcc/tree.c:5852
#2  0x00166420 in mark_sym_for_renaming (sym=0x408ecf28)
at ../../gcc/gcc/tree-into-ssa.c:2290
#3  0x006af02c in do_eustores () at ../../gcc/gcc/tree-ssa-pre.c:2822
#4  0x005e36c8 in execute_one_pass (pass=0x886928)
at ../../gcc/gcc/passes.c:779
#5  0x005e37f0 in execute_pass_list (pass=0x886928)
at ../../gcc/gcc/passes.c:811
#6  0x005e3814 in execute_pass_list (pass=0x8738dc)
at ../../gcc/gcc/passes.c:812
#7  0x00126504 in tree_rest_of_compilation (fndecl=0x408db380)
at ../../gcc/gcc/tree-optimize.c:419
#8  0x000423f0 in c_expand_body (fndecl=0x408db380)
at ../../gcc/gcc/c-decl.c:6628
#9  0x0064fd70 in cgraph_expand_function (node=0x408dbf80)
at ../../gcc/gcc/cgraphunit.c:1033
#10 0x006500c8 in cgraph_expand_all_functions ()

(gdb) p debug_tree (sym)
 
unit size 
align 32 symtab 1074370360 alias set -1 precision 32 min  max 
pointer_to_this >

arg 0 
unit size 
align 32 symtab 1083005120 alias set -1 fields  context 
pointer_to_this >
addressable used BLK file ../../gcc/gcc/dwarf2out.c line 753 size <
integer_cst 0x40006558 128> unit size 
align 32 context >
arg 1 
unsigned SI file ../../gcc/gcc/dwarf2out.c line 242 size  unit size 
align 32 offset_align 64
offset 
bit offset  context <
record_type 0x408d63c0 cfa_loc>
chain 
SI file ../../gcc/gcc/dwarf2out.c line 243 size  unit size 
align 32 offset_align 64 offset  bit 
offset 
 context  chain <
field_decl 0x408d64e0 base_offset
$1 = void


-- 


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


[Bug fortran/22519] Memory and binary disk layout disagree for real*10

2005-07-17 Thread schnetter at uni-tuebingen dot de

--- Additional Comments From schnetter at uni-tuebingen dot de  2005-07-17 
20:01 ---
My argument -- which I had in my head, but didn't put down -- went as follows: 
ultimately, things have to be written by a system call, and a system call is 
expensive.  (One system call per array element is out of the question.)  Thus 
we either dump the whole array to disk, byte for byte as it is in memory, or 
we have to transform it into a temporary buffer and then write this buffer.  
C's fwrite uses a buffer (probably), fprintf does for sure. 
 
If you remove the padding, then you have to allocate and deallocate these 
buffers and pack or unpack the array elements explicitly.  Depending on your 
I/O library, that may be a lot of work.  And in the end you are still 
incompatibly to C. 
 
(I'm afraid we may be going to repeat a discussion here that was already held 
on the mailing list.) 
 

-- 


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread danglin at gcc dot gnu dot org

--- Additional Comments From danglin at gcc dot gnu dot org  2005-07-17 
19:56 ---
Today, ~ 1 hour before this post.


-- 


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


[Bug tree-optimization/22216] [4.1 regression] ICE during GC

2005-07-17 Thread schwab at suse dot de

--- Additional Comments From schwab at suse dot de  2005-07-17 19:49 ---
Definitely not fixed. 

-- 
   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |


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


[Bug fortran/22519] Memory and binary disk layout disagree for real*10

2005-07-17 Thread tkoenig at gcc dot gnu dot org


-- 
   What|Removed |Added

 CC||tkoenig at gcc dot gnu dot
   ||org


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


[Bug fortran/22519] Memory and binary disk layout disagree for real*10

2005-07-17 Thread tkoenig at gcc dot gnu dot org

--- Additional Comments From tkoenig at gcc dot gnu dot org  2005-07-17 
19:45 ---
I don't think the timing issue is valid.

Look at these benchmarks:

The first one simulates copying 12-byte values to 10-bit values,
the second one a compact memcpy of a larger field.

$ cat foo.c
#include 

#define NELEM 1000

#define SA 12
#define SB 10

void foo(char *a, char *b, int n);

int main()
{
char *a, *b;
int n;
a = malloc(NELEM*SA);
b = malloc(NELEM*SB);
for (n=0; n<10; n++)
foo(a,b,NELEM);

return 0;
}

void foo(char *a, char *b, int n)
{
int i;
for (i=0; i

#define NELEM 1000

#define SA 12

void foo(char *a, char *b, int n);

int main()
{
char *a, *b;
int n;
a = malloc(NELEM*SA);
b = malloc(NELEM*SA);
for (n=0; n<10; n++)
memcpy(a, b, NELEM*SA);

return 0;
}
$ gcc foo2.c
foo2.c: In function 'main':
foo2.c:13: warning: incompatible implicit declaration of built-in function 
'malloc'
$ time ./a.out

real0m2.876s
user0m2.777s
sys 0m0.093s

We also have slow disk I/O to deal with.

This is on i686-pc-linux-gnu.  Timings on other systems may differ,
of course.

-- 


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


[Bug tree-optimization/22530] [4.1 Regression] ICE with static promotion

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

 CC||jason at gcc dot gnu dot
   ||org, dnovillo at gcc dot gnu
   ||dot org


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

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


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


[Bug tree-optimization/22531] [4.1 regression] ICE in mark_sym_for_renaming while compiling dwarf2out.c

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
19:34 ---
What date is this from?

-- 
   What|Removed |Added

   Keywords||build, ice-on-valid-code
Summary|[4.1 regression] tree-into- |[4.1 regression] ICE in
   |ssa.c:2290 ICE  |mark_sym_for_renaming while
   ||compiling dwarf2out.c
   Target Milestone|--- |4.1.0


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


[Bug tree-optimization/22531] [4.1 regression] tree-into-ssa.c:2290 ICE

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

Summary|[4.1 regression]|[4.1 regression] tree-into-
   |dwarf2out.c:751:ICE |ssa.c:2290 ICE


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


[Bug tree-optimization/22531] New: [4.1 regression] dwarf2out.c:751:ICE

2005-07-17 Thread danglin at gcc dot gnu dot org
stage1/xgcc -Bstage1/ -B/home/dave/opt/gnu/gcc/gcc-4.1.0/hppa-linux/bin/ -c   -g
 -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototype
s -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror -
fno-common   -DHAVE_CONFIG_H-I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../.
./gcc/gcc/../include -I../../gcc/gcc/../libcpp/include  ../../gcc/gcc/dwarf2out.
c -o dwarf2out.o
../../gcc/gcc/dwarf2out.c: In function 'def_cfa_1':
../../gcc/gcc/dwarf2out.c:751: internal compiler error: tree check: expected tre
e that contains 'decl minimal' structure, have 'component_ref'  in mark_sym_for_
renaming, at tree-into-ssa.c:2290

-- 
   Summary: [4.1 regression] dwarf2out.c:751:ICE
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: hppa-unknown-linux-gnu
  GCC host triplet: hppa-unknown-linux-gnu
GCC target triplet: hppa-unknown-linux-gnu


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


[Bug tree-optimization/22530] [4.1 Regression] ICE with static promotion

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
19:18 ---
Forgot to say the ICE for this testcase is:
 unhandled expression in get_expr_operands():
 
unit size 
align 32 symtab 0 alias set 3
fields 
SI file t.c line 3 size  unit size 

align 32 offset_align 128
offset 
bit offset  context 
> context 
pointer_to_this  chain >
side-effects addressable
arg 0 >
side-effects
arg 0 
used static ignored SI file t.c line 9 size  unit size 
align 32 initial >
t.c:9>>

-- 


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


[Bug tree-optimization/22530] [4.1 Regression] ICE with static promotion

2005-07-17 Thread dberlin at dberlin dot org

--- Additional Comments From dberlin at gcc dot gnu dot org  2005-07-17 
19:17 ---
Subject: Re:  New: [4.1 Regression] ICE with
static promotion

On Sun, 2005-07-17 at 19:13 +, pinskia at gcc dot gnu dot org wrote:
> Compile the following valid C99 code at -O3 and we get an ICE:
> struct f1
> {
>   int i;
> };
> void g(int);
> static struct f1 *f2 = &(struct f1){1};
> int f(void)
> {
>   g(f2->i);
>   return f2->i;
> }
> 

The gimplifier needs to split this into a new static temporary, there's
no way we can do something sane with ADDR_EXPR .

Please copy jason or diego :)

(and Kenny, since this is his pass)



-- 


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


[Bug tree-optimization/22530] [4.1 Regression] ICE with static promotion

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

   Target Milestone|--- |4.1.0


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


[Bug tree-optimization/22530] New: [4.1 Regression] ICE with static promotion

2005-07-17 Thread pinskia at gcc dot gnu dot org
Compile the following valid C99 code at -O3 and we get an ICE:
struct f1
{
  int i;
};
void g(int);
static struct f1 *f2 = &(struct f1){1};
int f(void)
{
  g(f2->i);
  return f2->i;
}

-- 
   Summary: [4.1 Regression] ICE with static promotion
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: dberlin at gcc dot gnu dot org,gcc-bugs at gcc dot gnu
dot org


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


[Bug fortran/21480] [4.0 only] trivial reshape operation gives erroneous results

2005-07-17 Thread tkoenig at gcc dot gnu dot org

--- Additional Comments From tkoenig at gcc dot gnu dot org  2005-07-17 
19:12 ---
Fixed in 4.0.

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Bug fortran/21480] [4.0 only] trivial reshape operation gives erroneous results

2005-07-17 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-07-17 
19:12 ---
Subject: Bug 21480

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-4_0-branch
Changes by: [EMAIL PROTECTED]   2005-07-17 19:12:07

Modified files:
libgfortran: ChangeLog 
libgfortran/generated: reshape_c4.c reshape_c8.c reshape_i4.c 
   reshape_i8.c 
libgfortran/m4 : reshape.m4 
gcc/testsuite  : ChangeLog 
gcc/testsuite/gfortran.dg: reshape-complex.f90 

Log message:
2005-07-17  Thomas Koenig  <[EMAIL PROTECTED]>

Backport from mainline.
PR libfortran/21480
* m4/reshape.m4:  Use sizeof (rtype_name) for sizes to be passed
to reshape_packed.
* generated/reshape_c4.c:  Regenerated.
* generated/reshape_c8.c:  Regenerated.
* generated/reshape_i4.c:  Regenerated.
* generated/reshape_i8.c:  Regenerated.

2005-07-17  Thomas Koenig  <[EMAIL PROTECTED]>

Backport from mainline.
PR libfortran/21480
* gfortran.dg/reshape-complex.f90:  Add a test for a packed
complex array.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.163.2.64&r2=1.163.2.65
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/generated/reshape_c4.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/generated/reshape_c8.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/generated/reshape_i4.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5.12.2&r2=1.5.12.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/generated/reshape_i8.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5.12.2&r2=1.5.12.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/m4/reshape.m4.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.6.12.3&r2=1.6.12.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.283&r2=1.5084.2.284
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/reshape-complex.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1.2.1&r2=1.1.2.2



-- 


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


[Bug c/22529] [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

   Target Milestone|--- |3.4.5


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


[Bug c/22529] New: [3.4/4.0/4.1 Regression] Rejects valid C99 address of C99 struct in static variable in function

2005-07-17 Thread pinskia at gcc dot gnu dot org
Take the following code:
struct f1
{
  int i;
};
void f(void)
{
 static struct f1 *f2 = &(struct f1){1};
}

This is valid C99 at least according to both ICC and Comeau.
And we acceptted it in 3.0.4 also.

-- 
   Summary: [3.4/4.0/4.1 Regression] Rejects valid C99 address of
C99 struct in static variable in function
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P2
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug target/22528] Optimized ARM 'unsigned short's assignments are incorrect for big-endian ARMv3 targets

2005-07-17 Thread pluto at agmk dot net

--- Additional Comments From pluto at agmk dot net  2005-07-17 18:50 ---
gcc-4.0.1 works fine. 
 
$ arm-linux-eabi-gcc gcc-pr22528.c -O2 -march=armv3 -S -mlittle-endian 
 
test: 
mov r3, #8 
mov r2, #0 
strbr3, [r0, #1] 
strbr2, [r0, #0] 
mov pc, lr 
 
$ arm-linux-eabi-gcc gcc-pr22528.c -O2 -march=armv3 -S -mbig-endian 
 
test: 
mov r3, #0 
mov r2, #8 
strbr3, [r0, #1] 
strbr2, [r0, #0] 
mov pc, lr 
 

-- 
   What|Removed |Added

 CC||pluto at agmk dot net


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


[Bug target/22528] Optimized ARM 'unsigned short's assignments are incorrect for big-endian ARMv3 targets

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

  Component|rtl-optimization|target


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


[Bug rtl-optimization/22528] New: Optimized ARM 'unsigned short's assignments are incorrect for big-endian ARMv3 targets

2005-07-17 Thread gcc at embisi dot com
//Reading specs from 
/usr/local/cross-arm/bin/../lib/gcc-lib/arm-linux/3.3.2/specs
//Configured with:
/home/localgjs/tnbt_cvstrees/software/tools/gcc/../../tools/gcc/configure
--target=arm-linux --disable-shared --disable-threads --with-gnu-as
--with-gnu-ld --enable-multilib --enable-languages=c
--prefix=/usr/local/cross_arm
--with-headers=/home/localgjs/tnbt_cvstrees/software/tools/gcc/../../os/linux/include/
//Thread model: single
//gcc version 3.3.2

// This fails if compiled with... /usr/local/cross-arm/bin/arm-linux-gcc -O1
-mbig-endian -march=armv3 -o test.o -c test.c
// It generates code which sets *us to be 0, not 0x800
// With not big-endian, or without optimization, or with a Thumb-capable arch,
it works
void test(unsigned short *us)
{
*us = (unsigned short)0x800;
return;
}

Output code from above:
Disassembly of section .text:

 :
   0:   e3a03000mov r3, #0  ; 0x0
   4:   e5c03000strbr3, [r0]
   8:   e5c03001strbr3, [r0, #1]
   c:   e1a0f00emov pc, lr

If built without -big-endian the output is correct:
Disassembly of section .text:

 :
   0:   e3a03000mov r3, #0  ; 0x0
   4:   e5c03000strbr3, [r0]
   8:   e3a03008mov r3, #8  ; 0x8
   c:   e5c03001strbr3, [r0, #1]
  10:   e1a0f00emov pc, lr

-- 
   Summary: Optimized ARM 'unsigned short's assignments are
incorrect for big-endian ARMv3 targets
   Product: gcc
   Version: 3.3.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc at embisi dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: arm-linux-gcc?
  GCC host triplet: i*86-*-linux
GCC target triplet: arm-linux-elf


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


[Bug bootstrap/22517] Bootstrap ICE on latest CVS: tree check: tree-ssa

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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


[Bug tree-optimization/22525] tree based value profiling (-fprofile-use) produces mismatch types in conditional

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
17:53 ---
Created an attachment (id=9295)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9295&action=view)
patch which I need to test (from Honza)


-- 


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


[Bug middle-end/22524] fold (or the front-ends) produces UNARY (BIT_NOT_EXPR) tree with mismatch types

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

 CC||phython at gcc dot gnu dot
   ||org


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


[Bug fortran/22527] New: fortran produces mismatch types in comparision with integer to logic assignment

2005-07-17 Thread pinskia at gcc dot gnu dot org
The following code:
c { dg-do compile }
c { dg-options "-O2 -std=legacy" }
   LOGICAL*1 l1
   INTEGER*1 i1
   l1 = i1
   END
 
produces mismatch types in comparision.
See PR 22368 for the patch which catches this.
logint-1.f: In function 'MAIN__':
logint-1.f:5: error: types mismatch in comparsion
int1D.0
int4D.2
i1D.464 != 0;

-- 
   Summary: fortran produces mismatch types in comparision with
integer to logic assignment
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org,sayle at gcc dot gnu dot
org
OtherBugsDependingO 22368
 nThis:


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


[Bug other/22368] [meta-bugs] mis-match types in GCC

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

  BugsThisDependsOn||22527


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


[Bug other/22368] [meta-bugs] mis-match types in GCC

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
17:33 ---
Note the comparisions patch because of the way gimple removes casts to void* 
gets:
int f(int *a, char*b)
{
  return ((void*)a) == ((void*)b);
}

wrong.
The following is also effected:
g++.dg/abi/vbase13.C:
g++.dg/expr/cond1.C
g++.old-deja/g++.abi/primary.C

I have to figure out how to handle that.  Maybe in 
tree_ssa_useless_type_conversion_1 remove the 
special case for void*.



-- 


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


[Bug tree-optimization/22526] New: vectorizer produces mis-match types in conditionals

2005-07-17 Thread pinskia at gcc dot gnu dot org
take following example (compile with -O1 -ftree-vectorize -maltivec):
void a(unsigned long long __n, int *__new_start)
{
   for (; __n > 0; --__n, ++__new_start)
 *__new_start = 0;
}

With the second patch in PR 22368, we get the following error:
pr18425.c: In function 'a':
pr18425.c:2: error: types mismatch in comparsion
long long unsigned intD.6
intD.0
ratio_mult_vf.38D.1726_33 <= 0;

pr18425.c:2: error: types mismatch in comparsion
long long unsigned intD.6
intD.0
prolog_loop_niters.34D.1710_16 <= 0;

pr18425.c:2: 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: vectorizer produces mis-match types in conditionals
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
OtherBugsDependingO 22368
 nThis:


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


[Bug other/22368] [meta-bugs] mis-match types in GCC

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

  BugsThisDependsOn||22526


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


[Bug tree-optimization/22525] New: tree based value profiling (-fprofile-use) produces mismatch types in conditional

2005-07-17 Thread pinskia at gcc dot gnu dot org
The testcase is gcc.dg/tree-prof/val-prof-2.c.  It only happens when profile 
use is used.
Note this is worse if we use unsigned long long instead as we get a size 
mismatch.
See PR 22368 for the patch to catch this (the second patch):

/Users/pinskia/src/local/gcc/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c: In 
function 'main':^M
/Users/pinskia/src/local/gcc/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c:25: 
error: types mismatch in 
comparsion^M
unsigned intD.3^M
intD.0^M
PROF.4D.1300 != 0;^M
^M
/Users/pinskia/src/local/gcc/gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c:25: 
internal compiler error: 
verify_stmts failed^M
Please submit a full bug report,^M
with preprocessed source if appropriate.^M
See http://gcc.gnu.org/bugs.html> for instructions.^M

-- 
   Summary: tree based value profiling (-fprofile-use) produces
mismatch types in conditional
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
OtherBugsDependingO 22368
 nThis:


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


[Bug other/22368] [meta-bugs] mis-match types in GCC

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

  BugsThisDependsOn||22525


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


[Bug middle-end/22524] New: fold (or the front-ends) produces UNARY (BIT_NOT_EXPR) tree with mismatch types

2005-07-17 Thread pinskia at gcc dot gnu dot org
Testcase (reduced from 20020107-1.c)
char buf[10];
char * a();
int
main (void)
{
  int i = (a() - 1) - buf;
}

I will attach the patch to catch this to PR 22368.

20020107-1.c: In function 'main':
20020107-1.c:7: error: types mismatch in unary operand
intD.0
charD.1 *
~&bufD.1263;

20020107-1.c:7: 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: fold (or the front-ends) produces UNARY (BIT_NOT_EXPR)
tree with mismatch types
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
OtherBugsDependingO 22368
 nThis:


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


[Bug other/22368] [meta-bugs] mis-match types in GCC

2005-07-17 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

  BugsThisDependsOn||22524


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


[Bug c/22278] gcc -O2 discards cast to volatile

2005-07-17 Thread rth at gcc dot gnu dot org


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-07-17 16:36:37
   date||


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


[Bug c++/22464] [3.4/4.0/4.1 Regression] ICE on classes in template functions which attempt closure

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
16:31 ---
*** Bug 22521 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||basile at starynkevitch dot
   ||net


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


[Bug c++/22521] internal compiler error: in tsubst_copy

2005-07-17 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-17 
16:31 ---
This code is invalid.  You cannot access a local variable in a local class.

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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  GCC build triplet| i686-pc-linux-gnu  |i686-pc-linux-gnu
   GCC host triplet| i686-pc-linux-gnu  |i686-pc-linux-gnu
 GCC target triplet| i686-pc-linux-gnu  |i686-pc-linux-gnu
 Resolution||DUPLICATE
Summary| internal compiler error: in|internal compiler error: in
   |tsubst_copy |tsubst_copy


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


  1   2   >