[Bug target/16532] Inefficient jump to epilogue

2004-09-28 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-09-28 06:26 
---
Subject: Bug 16532

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2004-09-28 06:26:08

Modified files:
gcc: ChangeLog 
gcc/config/sparc: sparc-protos.h sparc.c sparc.h sparc.md 

Log message:
PR target/16532
* config/sparc/sparc.c (struct machine_function): New field
'leaf_function_p' and 'prologue_data_valid_p'.
(sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
to conveniently access the above fields.
(TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
(eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
of the generic flavor 'current_function_uses_only_leaf_regs'.
(eligible_for_sibcall_delay): Likewise.
(sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
'sparc_prologue_data_valid_p'.  Use 'sparc_leaf_function_p'.
(sparc_asm_function_prologue): Add sanity check for the assumption
made in 'sparc_expand_prologue'.  Use 'sparc_leaf_function_p'.
(sparc_can_use_return_insn_p): New function.
(sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
(output_restore): Likewise.
(output_sibcall): Likewise.
(sparc_output_mi_thunk): Likewise.
* config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
* config/sparc/sparc.md (return): New expander.

* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.5651r2=2.5652
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc-protos.h.diff?cvsroot=gccr1=1.48r2=1.49
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gccr1=1.335r2=1.336
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.h.diff?cvsroot=gccr1=1.267r2=1.268
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.md.diff?cvsroot=gccr1=1.215r2=1.216



-- 


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


[Bug target/16532] Inefficient jump to epilogue

2004-09-28 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2004-09-28 06:34 
---
Here's the code generated by mainline as of today at -O2 -mcpu=ultrasparc:

FirstOne:
save%sp, -112, %sp
sethi   %hi(64512), %o5
mov 0, %o4
sllx%i0, 32, %g1
srl %i1, 0, %i1
or  %i1, %g1, %g1
srlx%g1, 32, %g1
srlx%g1, 32, %i4
mov %g1, %i5
or  %o5, 1023, %o5
and %i4, %o4, %i4
sllx%i0, 32, %g1
srl %i1, 0, %i1
or  %i1, %g1, %g1
srlx%g1, 48, %g1
srlx%g1, 32, %i2
mov %g1, %i3
orcc%i2, %i3, %g0
be,pt   %icc, .LL2
 and%i5, %o5, %i5
sethi   %hi(first_one), %g1
or  %g1, %lo(first_one), %g1
return  %i7+8
 ldub   [%g1+%o3], %o0
.LL2:
orcc%i4, %i5, %g0
be,pt   %icc, .LL5
 sethi  %hi(64512), %g1
sethi   %hi(first_one), %g1
or  %g1, %lo(first_one), %g1
ldub[%g1+%i5], %i5
return  %i7+8
 add%o5, 16, %o0
.LL5:
or  %g1, 1023, %g1
and %i1, %g1, %i3
sllx%i0, 32, %g1
srl %i1, 0, %i1
or  %i1, %g1, %g1
srlx%g1, 16, %g1
srlx%g1, 32, %i4
mov %g1, %i5
and %i4, %o4, %i0
and %i5, %o5, %i1
orcc%i0, %i1, %g0
be,pt   %icc, .LL7
 sethi  %hi(first_one), %g1
or  %g1, %lo(first_one), %g1
ldub[%g1+%i1], %i5
return  %i7+8
 add%o5, 32, %o0
.LL7:
or  %g1, %lo(first_one), %g1
ldub[%g1+%i3], %i5
return  %i7+8
 add%o5, 48, %o0


-- 


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


[Bug target/16532] Inefficient jump to epilogue

2004-09-28 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2004-09-28 06:57 
---
It appears that we also made some progress for the second testcase.  We now
generate at -O2 -mcpu=ultrasparc:

FirstOne:
add %sp, -120, %sp
std %o0, [%sp+96]
sllx%o0, 32, %o0
srl %o1, 0, %o1
or  %o1, %o0, %o0
srlx%o0, 48, %o1
srlx%o1, 32, %o0
orcc%o0, %o1, %g0
be,pt   %icc, .LL2
 nop
sethi   %hi(first_one), %g1
sub %sp, -120, %sp
or  %g1, %lo(first_one), %g1
jmp %o7+8
 ldub   [%g1+%o1], %o0

so the 'save' instruction is not emitted anymore.


-- 


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


[Bug target/16532] Inefficient jump to epilogue

2004-09-28 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2004-09-28 07:00 
---
Oops... I forgot the last chunk:

FirstOne:
add %sp, -120, %sp
std %o0, [%sp+96]
sllx%o0, 32, %o0
srl %o1, 0, %o1
or  %o1, %o0, %o0
srlx%o0, 48, %o1
srlx%o1, 32, %o0
orcc%o0, %o1, %g0
be,pt   %icc, .LL2
 nop
sethi   %hi(first_one), %g1
sub %sp, -120, %sp
or  %g1, %lo(first_one), %g1
jmp %o7+8
 ldub   [%g1+%o1], %o0
.LL2:
ld  [%sp+96], %o0
jmp %o7+8
 sub%sp, -120, %sp


-- 


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


[Bug target/16532] Inefficient jump to epilogue

2004-09-28 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2004-09-28 07:14 
---
The remaining oddities, like

srl %o0, 16, %o5
mov 0, %o4
orcc%o4, %o5, %g0

in the V8 code or

srlx%o0, 48, %o1
srlx%o1, 32, %o0
orcc%o0, %o1, %g0

in the V9 code are related to the suboptimal model used for 'long long'
arithmetics on SPARC 32-bit.  The code is better on SPARC 64-bit:

FirstOne:
add %sp, -208, %sp
stx %o0, [%sp+2231]
srlx%o0, 48, %o0
brz,pt  %o0, .LL2
 sethi  %lm(first_one), %g4
sethi   %hh(first_one), %g1
or  %g1, %hm(first_one), %g1
sub %sp, -208, %sp
sllx%g1, 32, %g1
add %g1, %g4, %g1
or  %g1, %lo(first_one), %g1
ldub[%g1+%o0], %o0
jmp %o7+8
 sra%o0, 0, %o0
.LL2:
lduw[%sp+2231], %o0
sub %sp, -208, %sp
jmp %o7+8
 sra%o0, 0, %o0


-- 


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


[Bug target/16532] Inefficient jump to epilogue

2004-09-28 Thread ebotcazou at gcc dot gnu dot org

--- Additional Comments From ebotcazou at gcc dot gnu dot org  2004-09-28 07:17 
---
Patch applied (see comment #8).


-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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


[Bug target/16532] Inefficient jump to epilogue

2004-09-28 Thread ebotcazou at gcc dot gnu dot org


-- 
   What|Removed |Added

   Target Milestone|--- |4.0.0


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


multidimensional variable sized array C++

2004-09-28 Thread Martin Vogt

Hello,
I dont know if this code is supposed to compile, but gcc 3.3.1 and gcc 
3.3.3 on SuSE 9.0 and
SuSE 9.0 stops with an internal compiler error:

class setS {
public:
setS( short Ni, short Nj, short Nk ) {
unsigned char S[Ni][Nj][Nk];
for( short i=0; iNi; ++i )
for( short j=0; jNj; ++j )
for( short k=0; kNk; ++k )
S[i][j][k] = '1';
return;
};
protected:
private:
};
int main()
{
short I=32;
short J=32;
short K=32;
setS( I, J, K );
return(0);



[Bug tree-optimization/15678] [4.0 Regression] Compilation time increased by 10-20%

2004-09-28 Thread belyshev at lubercy dot com


-- 
   What|Removed |Added

  BugsThisDependsOn||17707


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


[Bug tree-optimization/17707] New: [4.0 Regression] O(N^2) in cgraph_reset_static_var_maps

2004-09-28 Thread belyshev at lubercy dot com
This testcase (from bug 15678) shows quadratic time in cgraph_reset_static_var_maps:

#define F0(a) void a(){}
#define F1(a) F0(a##0) F0(a##1) F0(a##2) F0(a##3) F0(a##4) F0(a##5) F0(a##6)
#define F2(a) F1(a##0) F1(a##1) F1(a##2) F1(a##3) F1(a##4) F1(a##5) F1(a##6)
#define F3(a) F2(a##0) F2(a##1) F2(a##2) F2(a##3) F2(a##4) F2(a##5) F2(a##6)
#define F4(a) F3(a##0) F3(a##1) F3(a##2) F3(a##3) F3(a##4) F3(a##5) F3(a##6)
#define F5(a) F4(a##0)/*F4(a##1) F4(a##2) F3(a##3) F3(a##4) F3(a##5) F3(a##6)*/

F5(f)

-- 
   Summary: [4.0 Regression] O(N^2) in cgraph_reset_static_var_maps
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Keywords: compile-time-hog
  Severity: normal
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: belyshev at lubercy dot com
CC: gcc-bugs at gcc dot gnu dot org
OtherBugsDependingO 15678
 nThis:


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


[Bug middle-end/17603] [4.0 Regression] Cpowf and cpowl builtins broken

2004-09-28 Thread pcarlini at suse dot de

--- Additional Comments From pcarlini at suse dot de  2004-09-28 08:07 ---
Andrew, we all know that ia64 is OK (see Comment #2): x86_64 and powerpc64 are
*broken*, no news :(

-- 


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


[Bug fortran/17708] New: gfortran problem with goto inside loop

2004-09-28 Thread mimo2 at free dot fr
Here is a simple example 
  program test
  do 10 i=1,3
  if(i == 2) goto 10
  write(*,*) ' loop with i =',i
 10   enddo
  end
  where the loop stops at the second pass (i=2). Replacing the
  goto by cycle cures the problem  (but this breaks compatibility
  with old g77 codes)
  program test
  do 10 i=1,3
  if(i == 2) cycle
  write(*,*) ' loop with i =',i
 10   enddo
  end
  I've used the gfortran version as of today (28 sep), on gcc 3.2.2

-- 
   Summary: gfortran problem with goto inside loop
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: critical
  Priority: P2
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mimo2 at free dot fr
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug libstdc++/16612] empty basic_strings can't live in shared memory

2004-09-28 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-09-28 08:58 
---
Subject: Bug 16612

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2004-09-28 08:58:36

Modified files:
libstdc++-v3   : ChangeLog README acconfig.h acinclude.m4 
 config.h.in configure configure.ac 
libstdc++-v3/docs/html: configopts.html 
libstdc++-v3/include/bits: basic_string.h basic_string.tcc 
Added files:
libstdc++-v3/testsuite/21_strings/basic_string/element_access/char: 
empty.cc 
libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t: 
   
empty.cc 
libstdc++-v3/testsuite/21_strings/basic_string/operations/char: 
1.cc 
libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t: 
   1.cc 

Log message:
2004-09-28  Paolo Carlini  [EMAIL PROTECTED]

PR libstdc++/16612
* include/bits/basic_string.h (_M_dispose, _M_refcopy,
basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
don't deal with _S_empty_rep.
* include/bits/basic_string.tcc (_S_construct, _M_destroy,
_M_leak_hard, _M_mutate): Likewise.
* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
* acconfig.h: Add corresponding undef.
* configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
* docs/html/configopts.html: Document --enable-fully-dynamic-string.
* configure: Regenerate.
* config.h.in: Likewise.

2004-09-28  Benjamin Kosnik  [EMAIL PROTECTED]
Paolo Carlini  [EMAIL PROTECTED]

* testsuite/21_strings/basic_string/operations/char/1.cc: New.
* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
* testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
* testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
New.

2004-09-28  Paolo Carlini  [EMAIL PROTECTED]

* README: Remove obsolete entry about include/c_shadow.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gccr1=1.2672r2=1.2673
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/README.diff?cvsroot=gccr1=1.16r2=1.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/acconfig.h.diff?cvsroot=gccr1=1.42r2=1.43
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/acinclude.m4.diff?cvsroot=gccr1=1.296r2=1.297
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config.h.in.diff?cvsroot=gccr1=1.83r2=1.84
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/configure.diff?cvsroot=gccr1=1.406r2=1.407
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/configure.ac.diff?cvsroot=gccr1=1.25r2=1.26
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/docs/html/configopts.html.diff?cvsroot=gccr1=1.37r2=1.38
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/basic_string.h.diff?cvsroot=gccr1=1.62r2=1.63
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/basic_string.tcc.diff?cvsroot=gccr1=1.71r2=1.72
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/empty.cc.diff?cvsroot=gccr1=NONEr2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc.diff?cvsroot=gccr1=NONEr2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc.diff?cvsroot=gccr1=NONEr2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc.diff?cvsroot=gccr1=NONEr2=1.1



-- 


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


internal compiler error with --prefetch-loop-arrays

2004-09-28 Thread Philipp Hasse
Hi,

Comiling the following code snippet with


  gcc -v -save-temps -Wall -O2 -march=i486 -m3dnow -fprefetch-loop-arrays -o
gcc-bug.o gcc-bug.c
causes gcc to abort with an internal compiler error:
- SNIP -
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/specs
Configured with:
/var/tmp/portage/gcc-3.3.4-r1/work/gcc-3.3.4/configure --prefix=/usr --bindi
r=/usr/i686-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i686-pc-l
inux-gnu/3.3.4/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3 -
-mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/man --infodir=/usr/share/g
cc-data/i686-pc-linux-gnu/3.3/info --enable-shared --host=i686-pc-linux-gnu 
--target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++ --ena
ble-threads=posix --enable-long-long --disable-checking --disable-libunwind-
exceptions --enable-cstdio=stdio --enable-version-specific-runtime-libs --wi
th-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3 -
-with-local-prefix=/usr/local --enable-shared --enable-nls --without-include
d-gettext --disable-multilib --enable-__cxa_atexit --enable-clocale=generic
Thread model: posix
gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/cc1 -E -quiet -v -D__GNUC__=3 -D__G
NUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=4
gcc-bug.c -march=i486 -m3dnow -Wall -fprefetch-loop-arrays -O2 gcc-bug.i
ignoring nonexistent directory /usr/local/include
ignoring nonexistent directory /usr/i686-pc-linux-gnu/include
#include ... search starts here:
#include ... search starts here:
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/cc1 -fpreprocessed
gcc-bug.i -quiet -dumpbase gcc-bug.c -march=i486 -m3dnow -auxbase
gcc-bug -O2 -Wall -version -fprefetch-loop-arrays -o gcc-bug.s
GNU C version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)
(i686-pc-linux-gnu)
compiled by GNU C version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1,
ssp-3.3.2-2, pie-8.7.6).
GGC heuristics: --param ggc-min-expand=60 --param ggc-min-heapsize=56460
gcc-bug.c: In function `main':
gcc-bug.c:14: internal compiler error: Floating point exception
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://bugs.gentoo.org/ for instructions.
Preprocessed source stored into /tmp/ccvFaBQH.out file, please attach this
to your bugreport.
- SNIP END -

The code was (gcc-bug.i won't differ much):
- SNIP -
/**
 * Compile with: gcc -Wall -O2 -march=i486 -m3dnow -fprefetch-loop-arrays -o
gcc-bug.o gcc-bug.c
 */

int
main(int argc, char **argv)
{
  int *table;

  for (;;)
*table++ = 10;

  return 0;
}
- SNIP END -

This only happens with the above combination of flags (important is the
option --prefetch-loop-arrays). You can also use i586 or c3 or O3 instead of
O2.
The code provided here can be found in a more complex way in some other
software packages (e.g. lame) which caused this error originally.

Greetings
Philipp Hasse



[Bug java/17691] error on valid java code from freenet

2004-09-28 Thread ruben at ugr dot es

--- Additional Comments From ruben at ugr dot es  2004-09-28 09:10 ---
The workaround does not work when in an inner class. This was the original problem.

cat a.java

class A {
int x() {
return 0;
}
}
class B extends A {
int x(){
return 1;
}
class C {
int y(){
return B.super.x();
}
}
}

javac a.java

#no error

gcj a.java
a.java:13: error: 'class' or 'this' expected.
return B.super.x();
^
1 error


-- 


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


[Bug java/17691] error on valid java code from freenet

2004-09-28 Thread ruben at ugr dot es

--- Additional Comments From ruben at ugr dot es  2004-09-28 09:13 ---
(In reply to comment #4)

This might be a completely unrelated bug; at least the error message is different.


-- 


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


[Bug fortran/17709] New: NULL I/O list and Format error.

2004-09-28 Thread wf_cs at yahoo dot com
Test case:

program main
integer io_unit
character*80 str
io_unit = 10
open (unit=io_unit,file='in',status='old',form='formatted')
read (io_unit,'(A)') str
read (io_unit,'()') 
read (io_unit,'(A)') str
print *,str, this should be the third line
close(unit=io_unit,status='keep')
end

and the file named in:

first line: aaa
second line:bbb
third line: ccc

The second read statment does not eat the second line. The output is:
second line:bbb  this should be the third line
But if we remove the first read statement, the result is correct. IMHO this is 
related with null i/o list and fmt_null. 

This is extracted from 191.fma3d.

-- 
   Summary: NULL I/O list and Format error.
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wf_cs at yahoo dot com
CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux


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


[Bug libstdc++/16612] [3.4 only] empty basic_strings can't live in shared memory

2004-09-28 Thread pcarlini at suse dot de


-- 
   What|Removed |Added

Summary|empty basic_strings can't   |[3.4 only] empty
   |live in shared memory   |basic_strings can't live in
   ||shared memory
   Target Milestone|--- |3.4.3


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


[Bug fortran/17709] NULL I/O list and Format error.

2004-09-28 Thread wf_cs at yahoo dot com


-- 
   What|Removed |Added

OtherBugsDependingO||15502
  nThis||


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


[Bug tree-optimization/17679] [4.0 Regression] Aliasing problem with ivopts

2004-09-28 Thread rakdver at gcc dot gnu dot org

--- Additional Comments From rakdver at gcc dot gnu dot org  2004-09-28 09:34 
---
Patch:

http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02849.html

-- 
   What|Removed |Added

   Keywords||patch


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


[Bug libfortran/17709] NULL I/O list and Format error.

2004-09-28 Thread wf_cs at yahoo dot com


-- 
   What|Removed |Added

  Component|fortran |libfortran


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


[Bug tree-optimization/17707] [4.0 Regression] O(N^2) in cgraph_reset_static_var_maps

2004-09-28 Thread belyshev at lubercy dot com

--- Additional Comments From belyshev at lubercy dot com  2004-09-28 09:43 ---
(In reply to comment #0)

 #define F5(a) F4(a##0)/*F4(a##1) F4(a##2) F3(a##3) F3(a##4) F3(a##5) F3(a##6)*/
   ^^  ^^   ^^  ^^
   these should be F4


-- 
   What|Removed |Added

   Target Milestone|--- |4.0.0


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


[Bug libstdc++/17664] Crash in std::map when using _GLIBCXX_DEBUG with multithreading

2004-09-28 Thread pcarlini at suse dot de

--- Additional Comments From pcarlini at suse dot de  2004-09-28 09:59 ---
Hi. I agree that something, somewhere, seems fishy in debug mode vs MT: we'll
see... However, your testcase involves ++iter *not* iter++ ;) 

-- 


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


[Bug tree-optimization/17697] [4.0 Regression] ICE: Statement marked for throw, but doesn't - verify_stmts failed

2004-09-28 Thread jakub at gcc dot gnu dot org

--- Additional Comments From jakub at gcc dot gnu dot org  2004-09-28 10:31 ---
There seems to be multiple bugs here.

The first one I see is in cp/decl.c (duplicate_decls).
extern C { extern int strcmp (const char *s, const char *t) throw ()
__attribute__ ((pure)); }
duplicate_decls is called here on the new strcmp decl and olddecl being the
builtin strcmp decl.
  /* Whether or not the builtin can throw exceptions has no
 bearing on this declarator.  */
  TREE_NOTHROW (olddecl) = 0;
clears NOTHROW flag on olddecl (although it has TYPE_NOTHROW_P (TREE_TYPE
(olddecl))), supposedly so that newdecl's TREE_NOTHROW flag is not influenced
by that.  Later on in that routine, the non-tree_common bits of newdecl are
copied over the olddecl bits, but TREE_NOTHROW flag is not copied from newdecl
(where it is set to 1) to olddecl.  But the function returns olddecl and that's
the decl that is being used.
So we have a TYPE_NOTHROW_P (TREE_TYPE (fn)) function with !TREE_NOTHROW (fn).

Second bug is that execute_fold_all_builtins doesn't call maybe_clean_eh_stmt
and tree_purge_dead_eh_edges.  Will attach the patch for that.

Unfortunately, with that I get
pr17697-2.C: In function `int foo(char*)':
pr17697-2.C:23: error: dominator of 2 status unknown
pr17697-2.C:23: internal compiler error: in verify_dominators, at dominance.c:857




-- 
   What|Removed |Added

 CC||jason at redhat dot com,
   ||mark at codesourcery dot com


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


[Bug c++/14534] Unrecognizing static function as a template parameter when its return value is also templated

2004-09-28 Thread reichelt at gcc dot gnu dot org

--- Additional Comments From reichelt at gcc dot gnu dot org  2004-09-28 11:09 
---
Fixed by Mark's patch for PR 17585:
http://gcc.gnu.org/ml/gcc-cvs/2004-09/msg01289.html


-- 
   What|Removed |Added

 Status|NEW |RESOLVED
  Known to fail|2.95.3 3.2.3 3.3.3 3.4.0 4.0|2.95.3 3.2.3 3.3.3 3.4.0
  Known to work||3.4.3 4.0.0
 Resolution||FIXED
   Target Milestone|--- |3.4.3


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


[Bug fortran/17708] gfortran problem with goto inside loop

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-28 11:35 
---
Confirmed.

-- 
   What|Removed |Added

   Severity|critical|normal
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2004-09-28 11:35:10
   date||


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


[Bug tree-optimization/17707] [4.0 Regression] O(N^2) in cgraph_reset_static_var_maps

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-28 11:37 
---
Confirmed, I think I know where the problem is, I will look into it later today.

-- 
   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2004-09-28 11:37:05
   date||


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


[Bug tree-optimization/17679] [4.0 Regression] Aliasing problem with ivopts

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-28 11:37 
---
Confirmed.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2004-09-28 11:37:15
   date||


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


[Bug libfortran/17709] NULL I/O list and Format error.

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-28 11:40 
---
Confirmed.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2004-09-28 11:40:33
   date||


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


[Bug tree-optimization/17531] [4.0 Regression] [ivopts] ICE compiling gzip deflate.c

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-28 11:43 
---
The patch was reported to fix the ICE in gzip.

-- 
   What|Removed |Added

 Status|WAITING |NEW
   Last reconfirmed|2004-09-17 03:44:03 |2004-09-28 11:43:26
   date||


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


[Bug objc/16546] [4.0 Regression] [unit-at-a-time] Solaris 10/x86 libobjc bootstrap failure: invalid assembler code

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-28 23:18 
---
Patch here: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02909.html.

-- 
   What|Removed |Added

   Keywords||patch


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


[Bug c/17719] regparm __attribute__ not set in function casts

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-28 23:34 
---
Fixed in 3.4.0.

-- 
   What|Removed |Added

   Severity|critical|normal
 Status|UNCONFIRMED |RESOLVED
   Keywords||wrong-code
 Resolution||FIXED
   Target Milestone|--- |3.4.0


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


[Bug c++/11624] -Wnon-virtual-dtor doesn't always work

2004-09-28 Thread mrs at apple dot com

--- Additional Comments From mrs at apple dot com  2004-09-28 23:58 ---
radr://problem/3816531


-- 
   What|Removed |Added

 CC||mrs at apple dot com


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


[Bug middle-end/17549] [4.0 Regression] 25% increase in codesize (3.3.4 - 4.0.0 20040917)

2004-09-28 Thread giovannibajo at libero dot it

--- Additional Comments From giovannibajo at libero dot it  2004-09-29 01:25 
---
Subject: Re:  [4.0 Regression] 25% increase in codesize (3.3.4 - 4.0.0 20040917)

rakdver at atrey dot karlin dot mff dot cuni dot cz wrote:

 This patch (for quite stupid bug in ivopts) could improve the
 situation a bit.  I will post it once it passes regtesting.

Do you have some numbers about what this patch does? Does it fix this ivopts
regression, or will we need further tuning?

Giovanni Bajo




-- 


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


[Bug driver/17537] [3.4 Regression] g++ not passing -lstdc++ to linker when -l is only supplied

2004-09-28 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-09-29 02:19 
---
Subject: Bug 17537

CVSROOT:/cvs/gcc
Module name:gcc
Branch: gcc-3_4-branch
Changes by: [EMAIL PROTECTED]   2004-09-29 02:18:58

Modified files:
gcc/cp : ChangeLog g++spec.c 

Log message:
PR driver/17537
* g++spec.c (lang_specific_driver): Unrecognized libraries, other
than -lc and -lm, may require linking against libstc++.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcconly_with_tag=gcc-3_4-branchr1=1.3892.2.161r2=1.3892.2.162
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/g++spec.c.diff?cvsroot=gcconly_with_tag=gcc-3_4-branchr1=1.41r2=1.41.4.1



-- 


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


[Bug driver/17537] [3.4 Regression] g++ not passing -lstdc++ to linker when -l is only supplied

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-29 02:34 
---
Fixed.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Bug tree-optimization/14442] [tree-ssa] missed sib if conversion optimization on the tree level

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-29 02:40 
---
Basically PR 17671 is the PR for the new PHI-OPT and PR 15618 is for fold a!=0 to a 
when a is of the 
boolean_type.  Also note the C++ front-end for the code in comment 3 (when the int is 
changed to 
bool) is already fixed by the new PHI-OPT.

-- 
   What|Removed |Added

  BugsThisDependsOn||15618, 17671


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


[Bug tree-optimization/15089] [3.4/4.0 Regression] [tree-ssa] local register variable with a specified register is bad

2004-09-28 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-09-29 02:50 
---
Subject: Bug 15089

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2004-09-29 02:50:47

Modified files:
gcc: ChangeLog tree-flow.h tree-ssa-ccp.c 
 tree-ssa-copy.c tree-ssa-dom.c 
Added files:
gcc/testsuite/gcc.dg/tree-ssa: asm-2.c 

Log message:
PR 15089
* tree-ssa-copy.c (may_propagate_copy_into_asm): New.
* tree-flow.h (may_propagate_copy_into_asm): Declare.
* tree-ssa-ccp.c (replace_uses_in): Use it.
* tree-ssa-dom.c (cprop_operand): Likewise.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.5673r2=2.5674
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gccr1=2.48r2=2.49
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-ccp.c.diff?cvsroot=gccr1=2.45r2=2.46
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-copy.c.diff?cvsroot=gccr1=2.16r2=2.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-dom.c.diff?cvsroot=gccr1=2.55r2=2.56
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/tree-ssa/asm-2.c.diff?cvsroot=gccr1=NONEr2=1.1



-- 


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


[Bug target/17705] Testing a bool using true doesn't work

2004-09-28 Thread bliss1940-bbs at yahoo dot com

--- Additional Comments From bliss1940-bbs at yahoo dot com  2004-09-29 03:21 
---
(In reply to comment #1)
 Could attach the preprocessed source?

I have discovered that the problem was in my code.  The compiler is okay.
Please cancel this bug report.

Steve Bliss

-- 


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


[Bug target/17705] Testing a bool using true doesn't work

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-29 03:25 
---
So closing as invalid.

-- 
   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID


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


[Bug tree-optimization/17671] PHI-OPT is not smart enough

2004-09-28 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-29 03:44 
---
Here is another example which I already with my patch.
int f(int a, int b, int c)
{
  if (c == 0) goto temp;
  if (a == 0)
   return 0;
temp:
  if (a == b)
   return a;
 return a;
}

-- 


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


[Bug c/17720] New: Grammatical error in C warning

2004-09-28 Thread bje at gcc dot gnu dot org
The assignment warning in c-typeck.c, pointer targets in %s differ in
signedness is really awkward!  signedness should be replaced by sign on
mainline.  I'll whip up a patch, but this PR will make sure it's not forgotten.

-- 
   Summary: Grammatical error in C warning
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: bje at gcc dot gnu dot org
ReportedBy: bje at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu


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