[Bug fortran/32555] [4.3 Regression] Miscompilation of NIST testsuite

2007-06-30 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2007-06-30 06:49 ---
 FM403.f, FM900.f, and FM903.f fail to compile.
 I have confirmed this regression is caused by.

 2050  FORMAT(2PF8.3,-2PE9.4,F9.4,0PF9.4,9X,-2PE9.4,F9.4)
   1
 Error: Unexpected element in format string at (1)

The problem is that the big case block in check_format was checking only for
  FMT_POSINT
and (for k P, Fortran2003: R1011/R1012) for FMT_SIGNED_INT; however,
format_lex can return another state: FMT_ZERO. But due to a bug it was never
returned.

As P seems to be the only element where zero is allowed, I did the patch as
follows. I'm not sure I can submit the patch in the coming days; feel free to
submit it.

Index: gcc/fortran/io.c
===
--- gcc/fortran/io.c(Revision 126114)
+++ gcc/fortran/io.c(Arbeitskopie)
@@ -487,6 +487,7 @@ format_item_1:
   goto format_item;

 case FMT_SIGNED_INT:
+case FMT_ZERO:
   /* Signed integer can only precede a P format.  */
   t = format_lex ();
   if (t != FMT_P)


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-06-30 06:49:13
   date||


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



[Bug bootstrap/32556] New: The libgcc configuration file doesn't swap CPP when it swaps CC - use of normal value breaks make

2007-06-30 Thread rob1weld at aol dot com
According to gcc-4_3-trunk/libgcc/configure's help we can set some environment
vars before we compile gcc.


Some influential environment variables:
  CC  C compiler command
  CFLAGS  C compiler flags
  LDFLAGS linker flags, e.g. -Llib dir if you have libraries in a
  nonstandard directory lib dir
  CPPFLAGSC/C++ preprocessor flags, e.g. -Iinclude dir if you have
  headers in a nonstandard directory include dir
  CPP C preprocessor

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.


For what I am doing I have set CC and CPP.

In the text that follows I have deleted portions for brevity and then
substituted ... where I am reasonably sure I am not cutting out something of
use.


Here is a few lines from the config.log files:

With CPP set in the environment - i686-pc-linux-gnu/libgcc/config.log:

configure:3015: checking how to run the C preprocessor
configure:3133: result: gcc -E
configure:3157: gcc -E  conftest.c
configure:3163: $? = 0
configure:3195: gcc -E  conftest.c


Without CPP set in the environment - i686-pc-linux-gnu/libgcc/config.log:

configure:3015: checking how to run the C preprocessor
configure:3050: /opt/gcc-4_3-build-6/./gcc/xgcc -B/opt/gcc-4_3-build-6/./gcc/
...
configure:3056: $? = 0
configure:3088: /opt/gcc-4_3-build-6/./gcc/xgcc -B/opt/gcc-4_3-build-6/./gcc/
...
conftest.c:9:28: error: ac_nonexistent.h: No such file or directory
configure:3094: $? = 1
configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME GNU C Runtime Library
| #define PACKAGE_TARNAME libgcc
| #define PACKAGE_VERSION 1.0
| #define PACKAGE_STRING GNU C Runtime Library 1.0
| #define PACKAGE_BUGREPORT 
| /* end confdefs.h.  */
| #include ac_nonexistent.h
configure:3133: result: /opt/gcc-4_3-build-6/./gcc/xgcc
-B/opt/gcc-4_3-build-6/./gcc/ ...
configure:3157: /opt/gcc-4_3-build-6/./gcc/xgcc -B/opt/gcc-4_3-build-6/./gcc/
...
configure:3163: $? = 0
configure:3195: /opt/gcc-4_3-build-6/./gcc/xgcc -B/opt/gcc-4_3-build-6/./gcc/
...



The configure script is combining how to run the C preprocessor with the
CPPFLAGS or alternately, once it figures out how to run the C preprocessor
then it does not add the (internal) CPPFLAGS (the -B commands) so it can use
the -B stuff with the chosen CPP. It is not using _my_ CPPFLAGS either
but I can get over that.

If your thinking that this has something to do with cross-targets then I would
mention that I also set CC and it is using 'gcc-4_3-build-6/gcc/xgcc' for
libgcc (which it likely should) - so when I have set CPP why doesn't it use 
'the xcpp' (gcc-4_3-build-6/gcc/cpp) - with or without -B ... -isystem ... ?

When the build thinks it is correct to switch from _my_ choice of CC to the
recently built gcc (xgcc) why doesn't it switch from _my_ choice of CPP to
the recently built xccp (simply called gcc/cpp) ?

It follows that when one switches the other should at the same time.


Here is some screen output that I logged:

With CPP set in the environment:

Line: 2077
/opt/gcc-4_3-build-5/make_26c_log.txt
Configuring stage 1 in i686-pc-linux-gnu/libgcc

checking whether we are using the GNU C compiler... yes
checking whether /opt/gcc-4_3-build-5/./gcc/xgcc -B/opt/gcc-4_3-build-5/./gcc/
...
checking for /opt/gcc-4_3-build-5/./gcc/xgcc -B/opt/gcc-4_3-build-5/./gcc/ ...
checking how to run the C preprocessor... gcc -E
checking whether decimal floating point is supported... yes


Without CPP set in the environment:

Line: 2883
/opt/gcc-4_3-build-6/make_27_log.txt
Configuring stage 1 in i686-pc-linux-gnu/libgcc

checking whether we are using the GNU C compiler... yes
checking whether /opt/gcc-4_3-build-6/./gcc/xgcc -B/opt/gcc-4_3-build-6/./gcc/
...
checking for /opt/gcc-4_3-build-6/./gcc/xgcc -B/opt/gcc-4_3-build-6/./gcc/ ...
checking how to run the C preprocessor... /opt/gcc-4_3-build-6/./gcc/xgcc -B
...
checking whether decimal floating point is supported... yes


Notice on the checking how to run the C preprocessor line that if CPP is set
then that is all you get, no -B - that could be OK if you wanted to use your
own choice of cpp throughout. Why does the script think we can run gcc/xgcc and
not gcc/cpp (is it worried about a cross).


For _my_ purposes I will need to fix this. I don't know enough about all the
cross environments that others use to suggest how the trunk needs to be changed
in a compatable manner. 


Whatever the reasoning for keeping it we end up in trouble.

To top it off, further on in the build the makefiles and configure scripts get
confused and keep adding the library directory to the GCC command until the
line gets too long and blows up collect2.


It gets to here before it gets confused - first it is using xgcc, then it
decides to use gcc with a short command line to link ./libgcc_s.so.1.tmp.

Next it keeps adding more and more iterations of command fragments ...


gcc -D_GNUCC -o ./libgcc_s.so.1.tmp 

[Bug fortran/32555] [4.3 Regression] Miscompilation of NIST testsuite

2007-06-30 Thread patchapp at dberlin dot org


--- Comment #3 from patchapp at dberlin dot org  2007-06-30 07:25 ---
Subject: Bug number PR32555

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02142.html


-- 


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



[Bug rtl-optimization/32475] [4.3 Regression] function with asm() does not setup stack frame

2007-06-30 Thread marcus at jet dot franken dot de


--- Comment #9 from marcus at jet dot franken dot de  2007-06-30 08:05 
---
This bug has resurfaced in the last two days.
r126139 is affected.


-- 

marcus at jet dot franken dot de changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug c/32557] New: internal compiler error: RTL check: expected code 'reg', have 'subreg' in rhs_regno, at rtl.h:956

2007-06-30 Thread aj at gcc dot gnu dot org
Building GCC SVN fails with RTL check.  The configure line is:
/cvs/gcc-svn/trunk/configure --prefix=/opt/gcc/4.3-devel
--enable-checking=yes,rtl --enable-threads=posix --enable-clocale=gnu
--enable-__cxa_atexit --enable-shared
--enable-languages=c,c++,ada,treelang,java,fortran,objc --with-system-zlib
--with-cpu=default32 --with-long-double-128 --enable-secureplt
powerpc64-suse-linux-gnu

libtool: compile:  /abuild/aj/gcc/./gcc/xgcc -B/abuild/aj/gcc/./gcc/
-B/opt/gcc/4.3-devel/powerpc64-suse-linux-gnu/bin/
-B/opt/gcc/4.3-devel/powerpc64-suse-linux-gnu/lib/ -isystem
/opt/gcc/4.3-devel/powerpc64-suse-linux-gnu/include -isystem
/opt/gcc/4.3-devel/powerpc64-suse-linux-gnu/sys-include -DHAVE_CONFIG_H -I.
-I/cvs/gcc-svn/trunk/libjava/classpath/native/fdlibm -I../../include -O2 -g -O2
-MT s_expm1.lo -MD -MP -MF .deps/s_expm1.Tpo -c
/cvs/gcc-svn/trunk/libjava/classpath/native/fdlibm/s_expm1.c  -fPIC -DPIC -o
.libs/s_expm1.o
/cvs/gcc-svn/trunk/libjava/classpath/native/fdlibm/s_expm1.c: In function
'expm1':
/cvs/gcc-svn/trunk/libjava/classpath/native/fdlibm/s_expm1.c:228: internal
compiler error: RTL check: expected code 'reg', have 'subreg' in rhs_regno, at
rtl.h:956
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: internal compiler error: RTL check: expected code 'reg',
have 'subreg' in rhs_regno, at rtl.h:956
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: aj at gcc dot gnu dot org
 GCC build triplet: powerpc64-suse-linux-gnu
  GCC host triplet: powerpc64-suse-linux-gnu
GCC target triplet: powerpc64-suse-linux-gnu


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



[Bug c++/30854] [4.3 Regression] Wrong number of arguments printed for constructor

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug objc++/31032] [4.3 Regression] expected tree that contains 'decl with RTL' structure, have 'field_decl' in assemble_external_real, at varasm.c:2225

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.3.0


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



[Bug c++/31027] [4.1/4.2/4.3 regression] Compiler segfaults in simple virtual inheritance situation

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.1.3


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



[Bug rtl-optimization/31849] [4.3 Regression] Code size regression caused by fix to PR 31360

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.3.0


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



[Bug target/30961] [4.1/4.2/4.3 regression] redundant reg/mem stores/moves

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.2/4.3 regression]|[4.1/4.2/4.3 regression]
   |redundant reg/mem   |redundant reg/mem
   |stores/moves|stores/moves
   Target Milestone|--- |4.1.3


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



[Bug libstdc++/31836] [4.3 Regression] FAIL: 27_io/basic_istream/extractors_arithmetic/char/12.cc execution test

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.3.0


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



[Bug c++/31941] [4.1/4.2/4.3 Regression] confused by earlier errors message without earlier error message

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.1.3


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



[Bug middle-end/32004] [4.1/4.2/4.3 regression] : can't find a register in class 'GENERAL_REGS' while reloading 'asm'

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.1.3


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



[Bug target/31897] [4.3 Regression] 30% speed regression with -m32 on Opteron with rnflow

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
Summary|[Regression 4.3] 30% speed  |[4.3 Regression] 30% speed
   |regression with -m32 on |regression with -m32 on
   |Opteron with rnflow |Opteron with rnflow
   Target Milestone|--- |4.3.0


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



[Bug ada/32164] [4.1/4.2/4.3 Regression] Ada ICE when renaming predefined = and /=

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.1.3


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



[Bug target/32218] [4.2/4.3 Regression] segfault with -O1 -ftree-vectorize

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.2.1


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



[Bug c++/32245] [4.1/4.2/4.3 Regression] wrong POD type initialization with pointer to member

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.1.3


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



[Bug fortran/31197] [4.2/4.4 regression] TRANSPOSE/RESHAPE and strings

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Severity|major   |normal
Summary|[4.3/4.2 regression^2]  |[4.2/4.4 regression]
   |TRANSPOSE/RESHAPE and   |TRANSPOSE/RESHAPE and
   |strings |strings
   Target Milestone|--- |4.2.1


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



[Bug target/32275] [4.3 Regression] : FAIL: gcc.c-torture/execute/va-arg-24.c execution

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Keywords||wrong-code
   Target Milestone|--- |4.3.0


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



[Bug ada/32286] [4.2/4.3 Regression] ICE in dwarf2out with -g: sees Ada f-e unconstrained_array_type node

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.2.1


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



[Bug target/32276] [4.3 Regression] New libmudflap failures

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug c++/32256] [4.0/4.1/4.2/4.3 regression] pragma system_header doesn't suppress warnings in tree-cfg

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.1.3


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



[Bug c++/32400] [4.3 Regression] ICE in expand_or_defer_fn, at cp/semantics.c:3220

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug tree-optimization/31611] [4.3 regression] ICE with -ftree-loop-linear in remove_referenced_var for loc == *0

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.3.0


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



[Bug target/32130] [4.3 Regression] linking problems: multiple definition of `__DTOR_END__'

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Keywords||build
   Target Milestone|--- |4.3.0


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



[Bug fortran/32526] [4.3 regression] Spurious error: Name 'x' at (1) is an ambiguous reference to 'x' from module 'y'

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.3.0


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



[Bug target/32462] [4.3 regression] Linking libgcj.so fails on Solaris 10/x86

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Keywords||build
   Target Milestone|--- |4.3.0


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



[Bug rtl-optimization/32504] [4.3 Regression] internal compiler error: in df_refs_verify, at df-scan.c:4058

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Keywords||ice-on-valid-code
   Target Milestone|--- |4.3.0


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



[Bug fortran/32554] [4.3 regression] Bug in P formatting

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug fortran/32555] [4.3 Regression] Miscompilation of NIST testsuite

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||rejects-valid
   Target Milestone|--- |4.3.0


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



[Bug rtl-optimization/32557] [4.3 Regression] internal compiler error: RTL check: expected code 'reg', have 'subreg' in rhs_regno, at rtl.h:956

2007-06-30 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |rtl-optimization
   Keywords||build, ice-checking, ice-on-
   ||valid-code
Summary|internal compiler error: RTL|[4.3 Regression] internal
   |check: expected code 'reg', |compiler error: RTL check:
   |have 'subreg' in rhs_regno, |expected code 'reg', have
   |at rtl.h:956|'subreg' in rhs_regno, at
   ||rtl.h:956
   Target Milestone|--- |4.3.0


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



[Bug target/32558] New: unrecognizable insn compiling libgcc2 on 64-bit CPU

2007-06-30 Thread rask at sygehus dot dk
Configured with: /n/12/rask/src/all/configure --target v850-unknown-elf
--with-newlib --enable-sim --disable-gdb --disable-nls

There's an obvious incompatibility with building on a 64-bit system:

/n/12/rask/src/all/libgcc/../gcc/libgcc2.c: In function '__divdi3':
/n/12/rask/src/all/libgcc/../gcc/libgcc2.c:1102: error: unrecognizable insn:
(insn 754 5 755 2 /n/12/rask/src/all/libgcc/../gcc/libgcc2.c:1084 (set
(reg/f:SI 3 sp)
(plus:SI (reg/f:SI 3 sp)
(const_int 4294967292 [0xfffc]))) -1 (nil))
/n/12/rask/src/all/libgcc/../gcc/libgcc2.c:1102: internal compiler error: in
extract_insn, at recog.c:1991


-- 
   Summary: unrecognizable insn compiling libgcc2 on 64-bit CPU
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rask at sygehus dot dk
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: v850-unknown-elf


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



[Bug rtl-optimization/32475] [4.3 Regression] function with asm() does not setup stack frame

2007-06-30 Thread zadeck at naturalbridge dot com


--- Comment #10 from zadeck at naturalbridge dot com  2007-06-30 11:47 
---
Richard, 

Could you check to see if this bug is collateral damage from your latest fix to
deletable_insn_p.  It's appearance has been tied to that function in the past.

kenny  


-- 

zadeck at naturalbridge dot com changed:

   What|Removed |Added

 CC||richard at codesourcery dot
   ||com


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



[Bug rtl-optimization/32475] [4.3 Regression] function with asm() does not setup stack frame

2007-06-30 Thread richard at codesourcery dot com


--- Comment #11 from richard at codesourcery dot com  2007-06-30 12:19 
---
Subject: Re:  [4.3 Regression] function with asm() does not setup stack frame

zadeck at naturalbridge dot com [EMAIL PROTECTED] writes:
 Could you check to see if this bug is collateral damage from your
 latest fix to deletable_insn_p.  It's appearance has been tied to that
 function in the past.

_My_ latest fix to deletable_insn_p? ;)  All I did was rephrase
your patch in terms of deletable_insn_p_1.

I won't have time to work on this in the near future, so I'll just
revert the patch for now.

Richard


-- 


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



[Bug target/32437] [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c

2007-06-30 Thread richard at codesourcery dot com


--- Comment #21 from richard at codesourcery dot com  2007-06-30 12:26 
---
Subject: Re:  [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c

Richard Sandiford [EMAIL PROTECTED] writes:
 Kenneth Zadeck [EMAIL PROTECTED] writes:
 2007-06-23  Kenneth Zadeck [EMAIL PROTECTED]

 PR middle-end/32437
 *dce.c (deletable_insn_p): Add extra parameter and recurse if insn
 is a PARALLEL.
 (prescan_insns_for_dce): Add extra parameter.

 Kenny found that this patch introduced problems on x86 (I think it was)
 because it applied the special handling for bare CLOBBERs to those
 inside PARALLELs as well.  We don't want that; bare USEs and CLOBBERs
 are special DF markers, but USEs and CLOBBERs inside PARALLELs are parts
 of asms or define_insns.

 Kenny pre-approved the patch below.  Bootstrapped  regression-tested
 on x86_64-linux-gnu.  Applied to mainline.

This patch apparently caused 32475 to resurface, so I reverted it.

Richard


-- 


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



[Bug middle-end/32559] New: [4.3 regression] ICE with vector arithmetic

2007-06-30 Thread reichelt at gcc dot gnu dot org
The following valid code snippet triggers an ICE on mainline:

=
int __attribute__((vector_size (8))) v;

void foo()
{
  v += ~v;
}
=

bug.c: In function 'foo':
bug.c:5: internal compiler error: in build_int_cst_wide, at tree.c:886
Please submit a full bug report, [etc.]


-- 
   Summary: [4.3 regression] ICE with vector arithmetic
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, monitored
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug middle-end/32559] [4.3 regression] ICE with vector arithmetic

2007-06-30 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug c++/32560] New: [4.3 regression] ICE on invalid declaration in template

2007-06-30 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE on mainline:

=
namespace N {}

templatetypename struct A
{
  int Atypename N::X;
};
=

bug.cc:5: error: 'X' in namespace 'N' does not name a type
bug.cc:5: error: template argument 1 is invalid
bug.cc:5: error: expected `::' before ';' token
bug.cc:5: error: expected `*' before ';' token
bug.cc:5: error: expected unqualified-id before ';' token
bug.cc:5: internal compiler error: in cp_parser_make_indirect_declarator, at
cp/parser.c:2714
Please submit a full bug report, [etc.]

The regression was introduced between 2007-05-26 and 2007-06-07,
probably by the patch

2007-05-30  Russell Yanofsky [EMAIL PROTECTED]
Douglas Gregor [EMAIL PROTECTED]
Pedro Lamarao [EMAIL PROTECTED]
Howard Hinnant [EMAIL PROTECTED]

PR c++/7412
PR c++/29939
...
(cp_parser_make_indirect_declarator): New.
...


-- 
   Summary: [4.3 regression] ICE on invalid declaration in template
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/32560] [4.3 regression] ICE on invalid declaration in template

2007-06-30 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug c/4076] -Wunused doesn't warn about static function only called by itself.

2007-06-30 Thread manu at gcc dot gnu dot org


--- Comment #21 from manu at gcc dot gnu dot org  2007-06-30 12:56 ---
Subject: Bug 4076

Author: manu
Date: Sat Jun 30 12:56:43 2007
New Revision: 126144

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126144
Log:
2007-06-30  Manuel Lopez-Ibanez  [EMAIL PROTECTED]

PR c/4076
* c-typeck.c (build_external_ref): Don't mark as used if called
from itself.
* calls.c (rtx_for_function_call): Likewise.

testsuite/
* gcc.dg/Wunused-function.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/Wunused-function.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-typeck.c
trunk/gcc/calls.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug rtl-optimization/32475] [4.3 Regression] function with asm() does not setup stack frame

2007-06-30 Thread richard at codesourcery dot com


--- Comment #12 from richard at codesourcery dot com  2007-06-30 12:58 
---
Subject: Re:  [4.3 Regression] function with asm() does not setup stack frame

richard at codesourcery dot com [EMAIL PROTECTED] writes:
 zadeck at naturalbridge dot com [EMAIL PROTECTED] writes:
 Could you check to see if this bug is collateral damage from your
 latest fix to deletable_insn_p.  It's appearance has been tied to that
 function in the past.

 _My_ latest fix to deletable_insn_p? ;)  All I did was rephrase
 your patch in terms of deletable_insn_p_1.

Sorry, I shouldn't have said that.  Kenny's original patch was
basically an implementation of something I'd suggested on IRC,
so the ultimate blame does lie with me.

I think the upshot is still the same: I don't really have time
to work on this, and given that what I suggested was either wrong,
or exposed some other latent problem, I think reverting the patch
is the correct thing to do under the circumstances.  I suggest that
someone else looks at the problem that the patch was trying to solve
(which AIUI was a pessimisation rather than a wrong-code bug).

Richard


-- 


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



[Bug c/4076] -Wunused doesn't warn about static function only called by itself.

2007-06-30 Thread manu at gcc dot gnu dot org


--- Comment #22 from manu at gcc dot gnu dot org  2007-06-30 12:58 ---
Fixed for GCC 4.3


-- 

manu at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug c++/32561] New: [4.3 regression] ICE with duplicate template parameter

2007-06-30 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE on mainline:

=
templateint N, int N struct A;
=

bug.cc:1: internal compiler error: tree check: expected var_decl, have
const_decl in redeclaration_error_message, at cp/decl.c:2198
Please submit a full bug report, [etc.]

The regression was introduced between 2007-06-07 and 2007-06-16,
probably by the patch

2007-06-15  Mark Mitchell  [EMAIL PROTECTED]

* cp-tree.h (DECL_VAR_MARKED_P): Remove.
(DECL_ANON_UNION_VAR_P): New macro.
* class.c (fixed_type_or_null): Tidy.  Use a hash table, rather
than DECL_VAR_MARKED_P, to keep track of which variables we have
seen.
* decl.c (redeclaration_error_message): Complain about redeclaring
anonymous union members at namespace scope.
* decl2.c (build_anon_union_vars): Set DECL_ANON_UNION_VAR_P.


-- 
   Summary: [4.3 regression] ICE with duplicate template parameter
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/32562] New: -Wunused doesn't warn about static function only called by itself.

2007-06-30 Thread manu at gcc dot gnu dot org
This bug is solved in the C front-end (bug 4076).
The original patch also addressed the C++ front-end
http://gcc.gnu.org/ml/gcc-patches/2007-03/msg00171.html
However, some issues were raised about functions in anonymous namespaces:
http://gcc.gnu.org/ml/gcc-patches/2007-03/msg01103.html


-- 
   Summary: -Wunused doesn't warn about static function only called
by itself.
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: manu at gcc dot gnu dot org


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



[Bug c++/32561] [4.3 regression] ICE with duplicate template parameter

2007-06-30 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-06-30 Thread manu at gcc dot gnu dot org


--- Comment #54 from manu at gcc dot gnu dot org  2007-06-30 13:03 ---
Subject: Bug 25241

Author: manu
Date: Sat Jun 30 13:02:48 2007
New Revision: 126145

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126145
Log:
2007-06-30  Manuel Lopez-Ibanez  [EMAIL PROTECTED]

PR testsuite/25241
testsuite/
* gcc.dg/pch/valid-1.c: Match each diagnostic with its own directive.
* gcc.dg/pch/valid-2.c: Likewise.
* gcc.dg/pch/valid-3.c: Likewise.
* gcc.dg/pch/warn-1.c: Likewise.
* gcc.dg/pch/valid-4.c: Match a warning instead of an error.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pch/valid-1.c
trunk/gcc/testsuite/gcc.dg/pch/valid-2.c
trunk/gcc/testsuite/gcc.dg/pch/valid-3.c
trunk/gcc/testsuite/gcc.dg/pch/valid-4.c
trunk/gcc/testsuite/gcc.dg/pch/warn-1.c


-- 


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



[Bug debug/32563] New: [4.2/4.3 regression] ICE on pointer arithmetic

2007-06-30 Thread reichelt at gcc dot gnu dot org
The following valid code snippet triggers an ICE since GCC 4.2.0
(when compiled with g++ -g):

=
struct A
{
  char c[1];
} a;

const int i = (int)a.c[0] - 1;
=

bug.cc:5: internal compiler error: in loc_descriptor, at dwarf2out.c:9181
Please submit a full bug report, [etc.]

When compiled as C code the snippet compiles fine.


-- 
   Summary: [4.2/4.3 regression] ICE on pointer arithmetic
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, monitored
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug debug/32563] [4.2/4.3 regression] ICE on pointer arithmetic

2007-06-30 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.2.1


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-06-30 Thread manu at gcc dot gnu dot org


--- Comment #55 from manu at gcc dot gnu dot org  2007-06-30 13:06 ---
Subject: Bug 25241

Author: manu
Date: Sat Jun 30 13:06:45 2007
New Revision: 126146

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126146
Log:
2007-06-30  Manuel Lopez-Ibanez  [EMAIL PROTECTED]

PR testsuite/25241
testsuite/
* gcc.dg/cpp/2625-1.c: Without dg-options the default is
-pedantic-errors, so we should match errors.
* gcc.dg/cpp/escape-1.c: Likewise.
* gcc.dg/cpp/charconst.c: Empty character constants are errors.
* gcc.dg/cpp/direct2.c: This is a mandatory error instead of a
warning.
* gcc.dg/cpp/endif-pedantic2.c: Use -pedantic-errors to obtain
errors instead of warnings.
* gcc.dg/cpp/extratokens.c: Use dg-warning instead of dg-error for
a pedantic warning.
* gcc.dg/cpp/arith-3.c: Likewise.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/cpp/2625-1.c
trunk/gcc/testsuite/gcc.dg/cpp/arith-3.c
trunk/gcc/testsuite/gcc.dg/cpp/charconst.c
trunk/gcc/testsuite/gcc.dg/cpp/direct2.c
trunk/gcc/testsuite/gcc.dg/cpp/endif-pedantic2.c
trunk/gcc/testsuite/gcc.dg/cpp/escape-1.c
trunk/gcc/testsuite/gcc.dg/cpp/extratokens.c


-- 


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



[Bug fortran/32472] ICE in trans-const.c:106 for REPEAT initialization expression of non-parameter

2007-06-30 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2007-06-30 13:08 ---
Subject: Bug 32472

Author: pault
Date: Sat Jun 30 13:08:19 2007
New Revision: 126147

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126147
Log:
2007-06-30  Paul Thomas  [EMAIL PROTECTED]

PR fortran/32472
* simplify.c (gfc_simplify_repeat): Add handling of character
literal for first argument.

2007-06-30  Paul Thomas  [EMAIL PROTECTED]

PR fortran/30284
* gfortran.dg/repeat_f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/repeat_5.f90
Modified:
trunk/gcc/fortran/simplify.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/30284] [4.1 only] ICE in gfc_add_modify with internal reads

2007-06-30 Thread pault at gcc dot gnu dot org


--- Comment #9 from pault at gcc dot gnu dot org  2007-06-30 13:08 ---
Subject: Bug 30284

Author: pault
Date: Sat Jun 30 13:08:19 2007
New Revision: 126147

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126147
Log:
2007-06-30  Paul Thomas  [EMAIL PROTECTED]

PR fortran/32472
* simplify.c (gfc_simplify_repeat): Add handling of character
literal for first argument.

2007-06-30  Paul Thomas  [EMAIL PROTECTED]

PR fortran/30284
* gfortran.dg/repeat_f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/repeat_5.f90
Modified:
trunk/gcc/fortran/simplify.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/30284] [4.1 only] ICE in gfc_add_modify with internal reads

2007-06-30 Thread pault at gcc dot gnu dot org


--- Comment #10 from pault at gcc dot gnu dot org  2007-06-30 13:09 ---
Subject: Bug 30284

Author: pault
Date: Sat Jun 30 13:09:14 2007
New Revision: 126148

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126148
Log:
2007-06-30  Paul Thomas  [EMAIL PROTECTED]

PR fortran/32472
* simplify.c (gfc_simplify_repeat): Add handling of character
literal for first argument.

2007-06-30  Paul Thomas  [EMAIL PROTECTED]

PR fortran/30284
* gfortran.dg/repeat_f90: New test.

Modified:
trunk/gcc/fortran/ChangeLog


-- 


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



[Bug fortran/32472] ICE in trans-const.c:106 for REPEAT initialization expression of non-parameter

2007-06-30 Thread pault at gcc dot gnu dot org


--- Comment #6 from pault at gcc dot gnu dot org  2007-06-30 13:09 ---
Subject: Bug 32472

Author: pault
Date: Sat Jun 30 13:09:14 2007
New Revision: 126148

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126148
Log:
2007-06-30  Paul Thomas  [EMAIL PROTECTED]

PR fortran/32472
* simplify.c (gfc_simplify_repeat): Add handling of character
literal for first argument.

2007-06-30  Paul Thomas  [EMAIL PROTECTED]

PR fortran/30284
* gfortran.dg/repeat_f90: New test.

Modified:
trunk/gcc/fortran/ChangeLog


-- 


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



[Bug tree-optimization/31651] [4.3 Regression] FRE does not fold intermediate CCP results, FRE does no longer look through loads

2007-06-30 Thread dberlin at gcc dot gnu dot org


--- Comment #5 from dberlin at gcc dot gnu dot org  2007-06-30 14:15 ---
Subject: Bug 31651

Author: dberlin
Date: Sat Jun 30 14:15:26 2007
New Revision: 126149

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126149
Log:
2007-06-30  Daniel Berlin  [EMAIL PROTECTED]

Fix PR tree-optimization/32540
Fix PR tree-optimization/31651

* tree-ssa-sccvn.c: New file.

* tree-ssa-sccvn.h: Ditto.

* tree-vn.c: Include tree-ssa-sccvn.h
(val_expr_paid_d): Removed.
(value_table): Ditto.
(vn_compute): Ditto.
(val_expr_pair_hash): Ditto.
(val_expr_pair_expr_eq): Ditto.
(copy_vuses_from_stmt): Ditto.
(vn_delete): Ditto.
(vn_init): Ditto.
(shared_vuses_from_stmt): Ditto.
(print_creation_to_file): Moved up.
(sort_vuses): Ditto.
(sort_vuses_heap): Ditto.
(set_value_handle): Make non-static.
(make_value_handle): Ditto.
(vn_add): Rewritten to use sccvn lookups.
(vn_add_with_vuses): Ditto.
(vn_lookup): Ditto (and second argument removed).
(vn_lookup_with_vuses): Ditto.
(vn_lookup_or_add): Ditto (and second argument removed);
(vn_lookup_or_add_with_vuses): Ditto.
(vn_lookup_with_stmt): New.
(vn_lookup_or_add_with_stmt): Ditto.
(create_value_handle_for_expr): Ditto.

* tree-ssa-pre.c: Include tree-ssa-sccvn.h.
(seen_during_translate): New function.
(phi_trans_lookup): Use iterative_hash_expr, not vn_compute.
(phi_trans_add): Ditto.
(constant_expr_p): FIELD_DECL is always constant.
(phi_translate_1): Renamed from phi_translate, add seen bitmap.
Use constant_expr_p.
Avoid infinite recursion on mutually valued expressions.
Change callers of vn_lookup_or_add.
(phi_translate): New function.
(compute_antic_safe): Allow phi nodes.
(create_component_ref_by_pieces): Update for FIELD_DECL change.
(find_or_generate_expression): Rewrite slightly.
(create_expression_by_pieces): Updated for vn_lookup_or_add
change.
Update VN_INFO for new names.
(insert_into_preds_of_block): Update for new names.
(add_to_exp_gen): New function.
(add_to_sets): Use vn_lookup_or_add_with_stmt.
(find_existing_value_expr): Rewrite to changed vn_lookup.
(create_value_expr_from): Ditto, and use add_to_exp_gen.
(try_look_through_load): Removed.
(try_combine_conversion): Ditto.
(get_sccvn_value): New function.
(make_values_for_phi): Ditto.
(make_values_for_stmt): Ditto.
(compute_avail): Rewritten for vn_lookup_or_add changes and to use
SCCVN.
(init_pre): Update for SCCVN changes.
(fini_pre): Ditto.
(execute_pre): Ditto.

* tree-flow.h (make_value_handle): Declare.
(set_value_handle): Ditto.
(sort_vuses_heap): Ditto.
(vn_lookup_or_add_with_stmt): Ditto.
(vn_lookup_with_stmt): Ditto.
(vn_compute): Remove.
(vn_init): Ditto.
(vn_delete): Ditto.
(vn_lookup): Update arguments.

* Makefile.in (tree-ssa-pre.o): Add tree-ssa-sccvn.h
(tree-vn.o): Ditto.
(tree-ssa-sccvn.o): New.
(OBJS-common): Add tree-ssa-sccvn.o



Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-1.c
  - copied unchanged from r125553,
branches/gcc-pre-vn/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-2.c
  - copied unchanged from r125553,
branches/gcc-pre-vn/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-3.c
  - copied unchanged from r125553,
branches/gcc-pre-vn/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-4.c
  - copied unchanged from r125553,
branches/gcc-pre-vn/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-4.c
trunk/gcc/tree-ssa-sccvn.c
  - copied, changed from r125553, branches/gcc-pre-vn/gcc/tree-ssa-sccvn.c
trunk/gcc/tree-ssa-sccvn.h
  - copied, changed from r125553, branches/gcc-pre-vn/gcc/tree-ssa-sccvn.h
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
trunk/gcc/tree-flow.h
trunk/gcc/tree-ssa-operands.h
trunk/gcc/tree-ssa-pre.c
trunk/gcc/tree-vn.c


-- 


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



[Bug tree-optimization/32540] [4.3 Regression] Exponential time behavior in PRE

2007-06-30 Thread dberlin at gcc dot gnu dot org


--- Comment #3 from dberlin at gcc dot gnu dot org  2007-06-30 14:15 ---
Subject: Bug 32540

Author: dberlin
Date: Sat Jun 30 14:15:26 2007
New Revision: 126149

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126149
Log:
2007-06-30  Daniel Berlin  [EMAIL PROTECTED]

Fix PR tree-optimization/32540
Fix PR tree-optimization/31651

* tree-ssa-sccvn.c: New file.

* tree-ssa-sccvn.h: Ditto.

* tree-vn.c: Include tree-ssa-sccvn.h
(val_expr_paid_d): Removed.
(value_table): Ditto.
(vn_compute): Ditto.
(val_expr_pair_hash): Ditto.
(val_expr_pair_expr_eq): Ditto.
(copy_vuses_from_stmt): Ditto.
(vn_delete): Ditto.
(vn_init): Ditto.
(shared_vuses_from_stmt): Ditto.
(print_creation_to_file): Moved up.
(sort_vuses): Ditto.
(sort_vuses_heap): Ditto.
(set_value_handle): Make non-static.
(make_value_handle): Ditto.
(vn_add): Rewritten to use sccvn lookups.
(vn_add_with_vuses): Ditto.
(vn_lookup): Ditto (and second argument removed).
(vn_lookup_with_vuses): Ditto.
(vn_lookup_or_add): Ditto (and second argument removed);
(vn_lookup_or_add_with_vuses): Ditto.
(vn_lookup_with_stmt): New.
(vn_lookup_or_add_with_stmt): Ditto.
(create_value_handle_for_expr): Ditto.

* tree-ssa-pre.c: Include tree-ssa-sccvn.h.
(seen_during_translate): New function.
(phi_trans_lookup): Use iterative_hash_expr, not vn_compute.
(phi_trans_add): Ditto.
(constant_expr_p): FIELD_DECL is always constant.
(phi_translate_1): Renamed from phi_translate, add seen bitmap.
Use constant_expr_p.
Avoid infinite recursion on mutually valued expressions.
Change callers of vn_lookup_or_add.
(phi_translate): New function.
(compute_antic_safe): Allow phi nodes.
(create_component_ref_by_pieces): Update for FIELD_DECL change.
(find_or_generate_expression): Rewrite slightly.
(create_expression_by_pieces): Updated for vn_lookup_or_add
change.
Update VN_INFO for new names.
(insert_into_preds_of_block): Update for new names.
(add_to_exp_gen): New function.
(add_to_sets): Use vn_lookup_or_add_with_stmt.
(find_existing_value_expr): Rewrite to changed vn_lookup.
(create_value_expr_from): Ditto, and use add_to_exp_gen.
(try_look_through_load): Removed.
(try_combine_conversion): Ditto.
(get_sccvn_value): New function.
(make_values_for_phi): Ditto.
(make_values_for_stmt): Ditto.
(compute_avail): Rewritten for vn_lookup_or_add changes and to use
SCCVN.
(init_pre): Update for SCCVN changes.
(fini_pre): Ditto.
(execute_pre): Ditto.

* tree-flow.h (make_value_handle): Declare.
(set_value_handle): Ditto.
(sort_vuses_heap): Ditto.
(vn_lookup_or_add_with_stmt): Ditto.
(vn_lookup_with_stmt): Ditto.
(vn_compute): Remove.
(vn_init): Ditto.
(vn_delete): Ditto.
(vn_lookup): Update arguments.

* Makefile.in (tree-ssa-pre.o): Add tree-ssa-sccvn.h
(tree-vn.o): Ditto.
(tree-ssa-sccvn.o): New.
(OBJS-common): Add tree-ssa-sccvn.o



Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-1.c
  - copied unchanged from r125553,
branches/gcc-pre-vn/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-2.c
  - copied unchanged from r125553,
branches/gcc-pre-vn/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-3.c
  - copied unchanged from r125553,
branches/gcc-pre-vn/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-4.c
  - copied unchanged from r125553,
branches/gcc-pre-vn/gcc/testsuite/gcc.dg/tree-ssa/ssa-sccvn-4.c
trunk/gcc/tree-ssa-sccvn.c
  - copied, changed from r125553, branches/gcc-pre-vn/gcc/tree-ssa-sccvn.c
trunk/gcc/tree-ssa-sccvn.h
  - copied, changed from r125553, branches/gcc-pre-vn/gcc/tree-ssa-sccvn.h
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-5.c
trunk/gcc/tree-flow.h
trunk/gcc/tree-ssa-operands.h
trunk/gcc/tree-ssa-pre.c
trunk/gcc/tree-vn.c


-- 


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



[Bug tree-optimization/32540] [4.3 Regression] Exponential time behavior in PRE

2007-06-30 Thread dberlin at gcc dot gnu dot org


--- Comment #4 from dberlin at gcc dot gnu dot org  2007-06-30 14:16 ---
Fixed


-- 

dberlin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/31651] [4.3 Regression] FRE does not fold intermediate CCP results, FRE does no longer look through loads

2007-06-30 Thread dberlin at gcc dot gnu dot org


--- Comment #6 from dberlin at gcc dot gnu dot org  2007-06-30 14:17 ---
Fixed


-- 

dberlin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c/32564] New: [libcpp] ICE in print_location() when stat() in remove_duplicates() fails

2007-06-30 Thread John dot Tytgat at aaug dot net
I had gcc 4.1.1 configured in such a way that when the resulting cc1 got
invoked, the stat() call in remove_duplicates() failed with an errno different
than ENOENT (calling chain at that moment was: remove_duplications() -
merge_include_chains() - register_include_chains() - c_common_post_options()
- toplev_main()).

This results in calling cpp_errno() - cpp_error() - _cpp_begin_message() and
finally print_location() which ICEs because map variable was NULL.  The reason
is that print_location()'s 'line' parameter was bogus (random value).  That
value was determined in cpp_error() as src_loc : src_loc =
pfile-cur_token[-1].src_loc;. The pfile-cur_token[-1] struct contains bogus
values at this point.

In attached patch I address this ICE twofold:
1) Make src_loc 0 in cpp_error() when no tokens have been read yet.
2) Check for NULL result of linemap_lookup().


-- 
   Summary: [libcpp] ICE in print_location() when stat() in
remove_duplicates() fails
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: John dot Tytgat at aaug dot net


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



[Bug c/32564] [libcpp] ICE in print_location() when stat() in remove_duplicates() fails

2007-06-30 Thread John dot Tytgat at aaug dot net


--- Comment #1 from John dot Tytgat at aaug dot net  2007-06-30 15:02 
---
Created an attachment (id=13807)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13807action=view)
Suggested fix


-- 


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



[Bug c++/32549] Wrong template instance resolution among multiple object files.

2007-06-30 Thread opichals at seznam dot cz


--- Comment #3 from opichals at seznam dot cz  2007-06-30 15:05 ---
I am not sure about the standard wording. But logically typedefs local
to a .cpp file should stay local to that file. They in fact are. However
the template instances are not.

If it should not be that way then the compiler should complain about such
conflicts in some way not to get the two confused at runtime. Especially in
huge application merges this is very critical.

note: I am sorry, will be out of reach for the next few weeks to discuss in
detail. I would appreciate any pointers or more detailed explanations you could
provide.


-- 


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



[Bug fortran/32472] ICE in trans-const.c:106 for REPEAT initialization expression of non-parameter

2007-06-30 Thread pault at gcc dot gnu dot org


--- Comment #7 from pault at gcc dot gnu dot org  2007-06-30 15:11 ---
This, I seem to think is well, fixed on trunk.

Thanks for the report, Tibias.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/32504] [4.3 Regression] internal compiler error: in df_refs_verify, at df-scan.c:4058

2007-06-30 Thread jojelino at gmail dot com


--- Comment #4 from jojelino at gmail dot com  2007-06-30 15:13 ---
confirmed. it seems fixed.
maybe i need to clean object files instead getting ICE.


-- 

jojelino at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug rtl-optimization/32296] [4.3 Regression] Bootstrap failure in stage1 on hppa*-*-*

2007-06-30 Thread danglin at gcc dot gnu dot org


--- Comment #21 from danglin at gcc dot gnu dot org  2007-06-30 15:20 
---
Fixed by
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02152.html


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/32533] [4.1/4.2 regression] miscompilation at -O3 -ffast-math -ftree-vectorize -march=native

2007-06-30 Thread ubizjak at gmail dot com


--- Comment #6 from ubizjak at gmail dot com  2007-06-30 15:39 ---
Hm, in the dump (gcc-4.1.3), preceeding ifcvt, we have:

L4:;
  D.985_28 = iftmp.5_4 + D.964_27;
  M.2_29 = (int4) D.985_28;
  if (M.2_29  1) goto L7; else goto L9;

L7:;
  if (M.2_29  20) goto L10; else goto L9;

  # M.2_61 = PHI M.2_29(4), 1(3);   here
L9:;
  pretmp.98_1 = (real8) M.2_61;

  # prephitmp.99_39 = PHI 2.0e+1(4), pretmp.98_1(5);
  # M.2_3 = PHI 20(4), M.2_61(5);
L10:;

Isn't marked statement unreachable?

Comparing _.ssa dumps between 4.1 (wrong result) and 4.3 (correct result), we
have:

(4.1)
--cut here--

L5:;
  M.1_36 = D.966_29;
  goto bb 8 (L7);

L6:;
  M.1_35 = 1;

  # M.1_2 = PHI M.1_36(6), M.1_35(7);   here (4.1)
L7:;
  if (M.1_2  20) goto L8; else goto L9;

L8:;
  M.2_34 = 20;
  goto bb 11 (L10);
--cut here--

versus

(4.3)
--cut here--
bb 8:
  M.1_17 = D.1365_16;
  goto bb 10;

bb 9:
  M.1_18 = 1;

bb 10:
  # M.1_1 = PHI M.1_17(8), M.1_18(9)here (4.3)
  if (20  M.1_1)
goto bb 11;
  else
goto bb 12;

bb 11:
  M.2_19 = 20;
  goto bb 13;
---cut here---


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||ubizjak at gmail dot com


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



[Bug fortran/32555] [4.3 Regression] Miscompilation of NIST testsuite

2007-06-30 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2007-06-30 16:01 ---
Subject: Bug 32555

Author: burnus
Date: Sat Jun 30 16:01:25 2007
New Revision: 126152

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126152
Log:
2007-06-30  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/32555
* io.c (check_format): Allow zero to precede the
P edit descriptor.

2007-06-30  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/32555
* gfortran.dg/fmt_zero_check.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/fmt_zero_check.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/io.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/31205] aliased operator assignment produces wrong result

2007-06-30 Thread patchapp at dberlin dot org


--- Comment #6 from patchapp at dberlin dot org  2007-06-30 16:19 ---
Subject: Bug number PR31205

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02151.html


-- 


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



[Bug fortran/17711] Wrong operator name in error message

2007-06-30 Thread patchapp at dberlin dot org


--- Comment #8 from patchapp at dberlin dot org  2007-06-30 16:23 ---
Subject: Bug number PR17711

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02153.html


-- 


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



[Bug fortran/20373] INTRINSIC symbols can be given the wrong type

2007-06-30 Thread dfranke at gcc dot gnu dot org


--- Comment #15 from dfranke at gcc dot gnu dot org  2007-06-30 16:27 
---
Subject: Bug 20373

Author: dfranke
Date: Sat Jun 30 16:26:55 2007
New Revision: 126153

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126153
Log:
gcc/fortran:
2007-06-30  Daniel Franke  [EMAIL PROTECTED]

PR fortran/20373
* intrinsic.c (add_functions): Additional function types.
(gfc_convert_type_warn): Remove intrinsic-flag from conversion
functions.
* resolve.c (resolve_symbol): Added type checks to explicitly defined
intrinsics.

gcc/testsuite:
2007-06-28  Daniel Franke  [EMAIL PROTECTED]

PR fortran/20373
* gfortran.dg/intrinsic.f90: New test.


Added:
trunk/gcc/testsuite/gfortran.dg/intrinsic.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/intrinsic.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/20373] INTRINSIC symbols can be given the wrong type

2007-06-30 Thread dfranke at gcc dot gnu dot org


--- Comment #16 from dfranke at gcc dot gnu dot org  2007-06-30 16:30 
---
Fixed in trunk. Closing.


-- 

dfranke at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to fail|4.2.1 4.3.0 |4.2.1
  Known to work||4.3.0
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug c++/32565] New: [4.3 regression] ICE with specialization of variadic template

2007-06-30 Thread reichelt at gcc dot gnu dot org
The following valid code snippet triggers an ICE on mainline:


templatetypename... struct A;

templatetemplateint... class T struct AT0  {};

templateint struct B;

AB0  a;


bug.cc:7: internal compiler error: tree check: expected class 'expression',
have 'constant' (integer_cst) in unify, at cp/pt.c:12796
Please submit a full bug report, [etc.]


A similar testcase generates a slightly different error message:


templatetypename... struct A;

templatetemplatetypename... class T struct ATint  {};

templatetypename struct B;

ABint  a;


bug.cc:7: internal compiler error: tree check: expected class 'expression',
have 'type' (integer_type) in unify, at cp/pt.c:12796
Please submit a full bug report, [etc.]


-- 
   Summary: [4.3 regression] ICE with specialization of variadic
template
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/32565] [4.3 regression] ICE with specialization of variadic template

2007-06-30 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug c++/32566] New: [4.3 regression] ICE with invalid specialization of variadic template

2007-06-30 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE on mainline:


templateint... struct A;

templatetemplateint class... T struct AT... {};


bug.cc:3: error: type/value mismatch at argument 1 in template parameter list
for 'templateint anonymous  struct A'
bug.cc:3: internal compiler error: tree check: expected tree that contains
'decl minimal' structure, have 'type_pack_expansion' in
convert_template_argument, at cp/pt.c:4693
Please submit a full bug report, [etc.]


-- 
   Summary: [4.3 regression] ICE with invalid specialization of
variadic template
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/32566] [4.3 regression] ICE with invalid specialization of variadic template

2007-06-30 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug c++/32567] New: [4.3 regression] ICE on invalid use of parameter pack

2007-06-30 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE on mainline:


template typename... T struct A
{
  static T t;
  static const int i = sizeof(++t);
};

int x[Aint::i];


bug.cc:3: error: parameter packs not expanded with `...':
bug.cc:3: note: 'T'
bug.cc: In instantiation of 'const int Aint::i':
bug.cc:7:   instantiated from here
bug.cc:4: error: invalid use of template type parameter 'T'
bug.cc:4: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in get_unwidened, at tree.c:5887
Please submit a full bug report, [etc.]


-- 
   Summary: [4.3 regression] ICE on invalid use of parameter pack
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-invalid-code, error-recovery, monitored
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org


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



[Bug c++/32567] [4.3 regression] ICE on invalid use of parameter pack

2007-06-30 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.0


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



[Bug c++/32111] [4.3 regression] ICE declaring destructor as friend

2007-06-30 Thread simartin at gcc dot gnu dot org


--- Comment #5 from simartin at gcc dot gnu dot org  2007-06-30 17:02 
---
Fixed.


-- 

simartin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug target/32433] Code for __builtin_ffs does not benefit from compiler optimizations

2007-06-30 Thread ubizjak at gmail dot com


--- Comment #4 from ubizjak at gmail dot com  2007-06-30 17:07 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  GCC build triplet||x86_64-pc-gnu-linux
   GCC host triplet||x86_64-pc-gnu-linux
 GCC target triplet||x86_64-pc-gnu-linux
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug target/32433] Code for __builtin_ffs does not benefit from compiler optimizations

2007-06-30 Thread uros at gcc dot gnu dot org


--- Comment #3 from uros at gcc dot gnu dot org  2007-06-30 17:06 ---
Subject: Bug 32433

Author: uros
Date: Sat Jun 30 17:05:49 2007
New Revision: 126154

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=126154
Log:
PR target/32433
* config/i386/i386.md (ffssi2): Expand as ffs_cmove for TARGET_CMOVE.
(ffs_cmove): New expander to expand using ctz pattern.
(*ffs_cmove): Remove pattern.
(*ffs_no_cmove): Enable only for !TARGET_CMOVE.
(ffsdi2): Expand using ctz pattern.
(*ffs_rex64): Remove pattern.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.md


-- 


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



[Bug target/32437] [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c

2007-06-30 Thread zadeck at naturalbridge dot com


--- Comment #22 from zadeck at naturalbridge dot com  2007-06-30 17:24 
---
Subject: Re:  [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c

richard at codesourcery dot com wrote:
 --- Comment #21 from richard at codesourcery dot com  2007-06-30 12:26 
 ---
 Subject: Re:  [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c

 Richard Sandiford [EMAIL PROTECTED] writes:
   
 Kenneth Zadeck [EMAIL PROTECTED] writes:
 
 2007-06-23  Kenneth Zadeck [EMAIL PROTECTED]

 PR middle-end/32437
 *dce.c (deletable_insn_p): Add extra parameter and recurse if insn
 is a PARALLEL.
 (prescan_insns_for_dce): Add extra parameter.
   
 Kenny found that this patch introduced problems on x86 (I think it was)
 because it applied the special handling for bare CLOBBERs to those
 inside PARALLELs as well.  We don't want that; bare USEs and CLOBBERs
 are special DF markers, but USEs and CLOBBERs inside PARALLELs are parts
 of asms or define_insns.

 Kenny pre-approved the patch below.  Bootstrapped  regression-tested
 on x86_64-linux-gnu.  Applied to mainline.
 

 This patch apparently caused 32475 to resurface, so I reverted it.

 Richard


   
The comment #3 of this bug is mostly right, the part that pinskia got
wrong is the fact that it is the dce subpass of dse that is deleting the
insn.

I do not see any obvious reason that this insn should not be deleted
except that
the insn is marked as frame related.  Given that dse retains /f insns, I
guess that that is what is needed here.

Iant, is this correct.  If so, i will restore richards code but add a
test for frame_relatedness.

Kenny


-- 


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



[Bug target/32437] [4.3 Regression] MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c

2007-06-30 Thread ian at airs dot com


--- Comment #23 from ian at airs dot com  2007-06-30 17:57 ---
The patch in comment #19 of PR 32437 looks clearly correct.  That
patch should not be reverted, at least not by itself.  I'm not clear
on whether that was the patch that was reverted, but, if it was, I
don't think it should have been.  We are not in a time critical
situation here.  Let's take the time to figure out the right fix even
if Richard doesn't have time to work on it.

This is DCE, not DSE.  In DSE we can not eliminate frame related
instructions, because the stores into the frame are used by code which
dataflow doesn't see: the exception unwinder.  That does not apply to
DCE.  In DCE, we should be able to eliminate changes to the stack
pointer when the stack pointer is not used, even though those changes
are frame related.

So I think this patch should be unreverted, and I don't think you should add a
test for frame relatedness.  Then we should fix PR 32475.  Further comments
over there.


-- 


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



[Bug fortran/32555] [4.3 Regression] Miscompilation of NIST testsuite

2007-06-30 Thread jvdelisle at gcc dot gnu dot org


--- Comment #5 from jvdelisle at gcc dot gnu dot org  2007-06-30 18:07 
---
Fixed, thanks Tobias


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/32475] [4.3 Regression] function with asm() does not setup stack frame

2007-06-30 Thread ian at airs dot com


--- Comment #13 from ian at airs dot com  2007-06-30 18:08 ---
The problem here is that although the stack pointer is not used in the
function, adjusting it does reserve space on the stack for the local variables
which are used.  The local variables are accessed via the frame pointer with a
negative offset.  Deleting the adjustment of the stack pointer is causing that
the reference to be implicitly invalid.  This test case makes the problem
obvious via an asm which essentially does a function call which the compiler
doesn't know about.  If the asm weren't there, though, there would still be a
difficult to diagnose problem in that an interrupt at the wrong time would
corrupt the value of the local variables.

One possible approach to this is that DF should note that any reference to a
local variable via the frame pointer is implicitly a use of the stack pointer. 
Note that this doesn't necessarily mean a negative offset from the frame
pointer, although it does in this case.  On processors like the Thumb even
local variables are accessed as positive offsets from the frame pointer, and
parameters are accessed by larger positive offsets.  We also need to consider
whether any asm statement is a use of the stack pointer.  It may be that DF
should treat an asm statement however it treats a function call with regard to
uses of the stack pointer.  A non-volatile asm would be a const call, and a
volatile asm would be an ordinary call.  I'm not completely sure about that,
but it seems worth considering. 

A simpler approach would be for DCE to simply not remove adjustments to the
stack pointer.  I believe this would have to be done whether the adjustment was
frame related or not.  I think the fact that the instruction is frame related
is probably a red herring here.


-- 


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



[Bug middle-end/32559] [4.3 regression] ICE with vector arithmetic

2007-06-30 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2007-06-30 19:58 ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02161.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2007-
   ||06/msg02161.html
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Keywords||patch
   Last reconfirmed|-00-00 00:00:00 |2007-06-30 19:58:19
   date||


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



[Bug fortran/32554] [4.3 regression] Bug in P formatting

2007-06-30 Thread patchapp at dberlin dot org


--- Comment #7 from patchapp at dberlin dot org  2007-06-30 20:00 ---
Subject: Bug number PR32554

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2007-06/msg02162.html


-- 


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



[Bug rtl-optimization/32475] [4.3 Regression] function with asm() does not setup stack frame

2007-06-30 Thread zadeck at naturalbridge dot com


--- Comment #14 from zadeck at naturalbridge dot com  2007-06-30 20:11 
---
Subject: Re:  [4.3 Regression] function with asm()
 does not setup stack frame

ian at airs dot com wrote:
 --- Comment #13 from ian at airs dot com  2007-06-30 18:08 ---
 The problem here is that although the stack pointer is not used in the
 function, adjusting it does reserve space on the stack for the local variables
 which are used.  The local variables are accessed via the frame pointer with a
 negative offset.  Deleting the adjustment of the stack pointer is causing that
 the reference to be implicitly invalid.  This test case makes the problem
 obvious via an asm which essentially does a function call which the compiler
 doesn't know about.  If the asm weren't there, though, there would still be a
 difficult to diagnose problem in that an interrupt at the wrong time would
 corrupt the value of the local variables.

 One possible approach to this is that DF should note that any reference to a
 local variable via the frame pointer is implicitly a use of the stack 
 pointer. 
 Note that this doesn't necessarily mean a negative offset from the frame
 pointer, although it does in this case.  On processors like the Thumb even
 local variables are accessed as positive offsets from the frame pointer, and
 parameters are accessed by larger positive offsets.  We also need to consider
 whether any asm statement is a use of the stack pointer.  It may be that DF
 should treat an asm statement however it treats a function call with regard to
 uses of the stack pointer.  A non-volatile asm would be a const call, and a
 volatile asm would be an ordinary call.  I'm not completely sure about that,
 but it seems worth considering. 

 A simpler approach would be for DCE to simply not remove adjustments to the
 stack pointer.  I believe this would have to be done whether the adjustment 
 was
 frame related or not.  I think the fact that the instruction is frame related
 is probably a red herring here.


   
it is interesting to read the comments as a historical record to what we
do. 
Looking at it from the point of view that we should treat asms more like
function calls, there is a disturbing comment in the code that scans the
asm inputs:

case ASM_INPUT:
  {
/* Traditional and volatile asm instructions must be
   considered to use and clobber all hard registers, all
   pseudo-registers and all of memory.  So must TRAP_IF and
   UNSPEC_VOLATILE operations.

   Consider for instance a volatile asm that changes the fpu
   rounding mode.  An insn should not be moved across this
   even if it only uses pseudo-regs because it might give an
   incorrectly rounded result.

   However, flow.c's liveness computation did *not* do this,
   giving the reasoning as  ?!? Unfortunately, marking all
   hard registers as live causes massive problems for the
   register allocator and marking all pseudos as live creates
   mountains of uninitialized variable warnings.

   In order to maintain the status quo with regard to liveness
   and uses, we do what flow.c did and just mark any regs we
   can find in ASM_OPERANDS as used.  In global asm insns are
   scanned and regs_asm_clobbered is filled out.

   For all ASM_OPERANDS, we must traverse the vector of input
   operands.  We can not just fall through here since then we
   would be confused by the ASM_INPUT rtx inside ASM_OPERANDS,
   which do not indicate traditional asms unlike their normal
   usage.  */
if (code == ASM_OPERANDS)
  {
int j;

for (j = 0; j  ASM_OPERANDS_INPUT_LENGTH (x); j++)
  df_uses_record (collection_rec, ASM_OPERANDS_INPUT (x, j),
  DF_REF_REG_USE, bb, insn, flags);
return;
  }
break;
  }

Asside from the fallout in the register allocator or uninitialized
warnings, there really is not problem adding the stack_pointer.  Flow
could get away with it because it could assume that the rest of the
optimizations were stupid or had been neutered.  I do not think that is
the way to go.  We add the stack pointer not matter if the function call
is a const call or not.  Note that const calls do generally read the stack.

Adding the stack pointer for asms is certainly the easiest thing to do. 

If you think that we want to view mem refs off the frame pointer as if
they also touch the stack pointer, we can do that, but i would ask the
question as to why just in dce?




-- 


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



[Bug target/31674] [4.3 Regression] internal consistency failure on ia64 with -O

2007-06-30 Thread aoliva at gcc dot gnu dot org


--- Comment #8 from aoliva at gcc dot gnu dot org  2007-06-30 21:24 ---
Sorry about the delay.  The patch that introduced this problem was reverted,
and the revised version thereof, still awaiting review, does not trigger the
problem any more.


-- 

aoliva at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug c/28706] [4.1 Regression] Compile failure with --combine and explicitly aligned structures

2007-06-30 Thread aoliva at gcc dot gnu dot org


--- Comment #5 from aoliva at gcc dot gnu dot org  2007-06-30 21:29 ---
How about posting the backported-and-tested patch to gcc-patches, indicating on
which platform you've tested it?


-- 


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



[Bug tree-optimization/31966] Miscompiles valid code with -ftree-vectorize and -march=nocona

2007-06-30 Thread lloyd at randombit dot net


--- Comment #2 from lloyd at randombit dot net  2007-06-30 22:11 ---
The behavior still exists in the 4.3 20070622 snapshot. It does not occur using
-march=core2 (the actual CPU in question). The bad value results when using
-ftree-vectorize and -march or -mtune =nocona. -O, -O2, or -O3 is also
required; a binary compiled with -Os produces the correct value.


-- 


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



[Bug tree-optimization/18892] missed optimization with and ==

2007-06-30 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2007-07-01 00:12 ---
This was fixed with one of the forwprop patches, I don't know which one though.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug middle-end/25529] (unsigned * 2)/2 is not changed into unsigned 0x7FFFFFFF

2007-06-30 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-07-01 00:34 ---
Related to PR 25530.


-- 


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



[Bug tree-optimization/30186] accessing an element via a pointer on a vector does not cause vec_extract to be used (non-zero index)

2007-06-30 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-07-01 00:52 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-07-01 00:52:52
   date||


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



[Bug tree-optimization/23346] [4.1/4.2 Regression] FRE before DCE makes a mess of loads or need to sink loads

2007-06-30 Thread pinskia at gcc dot gnu dot org


--- Comment #16 from pinskia at gcc dot gnu dot org  2007-07-01 01:07 
---
The new SCCVN fixes this testcase.  So this is fixed for 4.3.0.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work||4.3.0
Summary|[4.1/4.2/4.3 Regression] FRE|[4.1/4.2 Regression] FRE
   |before DCE makes a mess of  |before DCE makes a mess of
   |loads or need to sink loads |loads or need to sink loads


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



[Bug tree-optimization/28868] [4.0/4.1/4.2/4.3 Regression] Not elimintating the PHIs which have the same arguments

2007-06-30 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2007-07-01 01:09 ---
We get in .fre now:
Value numbers:
d_2 = c_1 

But we still get the PHIs:
  # d_2 = PHI a_4(D)(2), b_7(D)(3)
  # c_1 = PHI a_4(D)(2), b_7(D)(3)


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2007-01-15 20:22:29 |2007-07-01 01:09:42
   date||


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



[Bug tree-optimization/30966] (long long)(int_var) == (long long)(int_var1) is not simplified down to int_var == int_var1 when expanded

2007-06-30 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-07-01 01:12 ---
It turns out this is the same issue as PR 15017. :)  Sometimes I file dups
myself :).

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/15017] compare with casts (equal) are not removed in forwprop

2007-06-30 Thread pinskia at gcc dot gnu dot org


--- Comment #13 from pinskia at gcc dot gnu dot org  2007-07-01 01:12 
---
*** Bug 30966 has been marked as a duplicate of this bug. ***


-- 


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



[Bug tree-optimization/25553] Missed removal of load

2007-06-30 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2007-07-01 01:18 ---
Note for the Cell this is even more important so you don't run into the LHS
hazzard.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2006-01-28 04:06:19 |2007-07-01 01:18:12
   date||


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



[Bug tree-optimization/31981] Missed forw prop with indirect ref and addr. due to CCP

2007-06-30 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-07-01 01:22 ---
 OFFSET + OBJ.

Well pointer plus was merged so it is always OBJ + OFFSET :).


-- 


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



[Bug rtl-optimization/32475] [4.3 Regression] function with asm() does not setup stack frame

2007-06-30 Thread iant at google dot com


--- Comment #15 from iant at google dot com  2007-07-01 01:58 ---
Subject: Re:  [4.3 Regression] function with asm() does not setup stack frame

 Adding the stack pointer for asms is certainly the easiest thing to do. 

I don't know if that is enough.  Maybe it is, maybe it isn't.  You
can't delete the subtraction of the stack pointer if there is any use
of any local variable on the frame in any way.  If an interrupt
occurs, and the stack pointer has not been decremented to be below the
local variables, then the local variables will be corrupted by the
interrupt handler.

 If you think that we want to view mem refs off the frame pointer as if
 they also touch the stack pointer, we can do that, but i would ask the
 question as to why just in dce?

I meant it should be done when doing dataflow scanning, not in DCE.  I
agree there is nothing special about DCE here.


-- 


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



[Bug java/32568] New: internal compiler error: in vn_lookup, at tree-vn.c:290

2007-06-30 Thread trog24 at comcast dot net
during the build, I encountered the following error sequence:

libtool: compile:  /Users/frank/build/./gcc/xgcc -shared-libgcc
-B/Users/frank/build/./gcc -nostdinc++
-L/Users/frank/build/powerpc-apple-darwin8.10.0/ppc64/libstdc++-v3/src
-L/Users/frank/build/powerpc-apple-darwin8.10.0/ppc64/libstdc++-v3/src/.libs
-B/usr/local/powerpc-apple-darwin8.10.0/bin/
-B/usr/local/powerpc-apple-darwin8.10.0/lib/ -isystem
/usr/local/powerpc-apple-darwin8.10.0/include -isystem
/usr/local/powerpc-apple-darwin8.10.0/sys-include -m64 -DHAVE_CONFIG_H -I.
-I../../../../gcc/libjava -I./include -I./gcj -I../../../../gcc/libjava
-Iinclude -I../../../../gcc/libjava/include
-I../../../../gcc/libjava/classpath/include -Iclasspath/include
-I../../../../gcc/libjava/classpath/native/fdlibm
-I../../../../gcc/libjava/../boehm-gc/include -I../boehm-gc/include
-I../../../../gcc/libjava/libltdl -I../../../../gcc/libjava/libltdl
-I../../../../gcc/libjava/.././libjava/../gcc -I../../../../gcc/libjava/../zlib
-I../../../../gcc/libjava/../libffi/include -I../libffi/include -fno-rtti
-fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum
-D_FILE_OFFSET_BITS=64 -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\/usr/local\
-DTOOLEXECLIBDIR=\/usr/local/lib/ppc64\ -DJAVA_HOME=\/usr/local\
-DBOOT_CLASS_PATH=\/usr/local/share/java/libgcj-4.3.0.jar\
-DJAVA_EXT_DIRS=\/usr/local/share/java/ext\
-DGCJ_ENDORSED_DIRS=\/usr/local/share/java/gcj-endorsed\
-DGCJ_VERSIONED_LIBDIR=\/usr/local/lib/ppc64/gcj-4.3.0\
-DPATH_SEPARATOR=\:\ -DECJ_JAR_FILE=\\
-DLIBGCJ_DEFAULT_DATABASE=\/usr/local/lib/ppc64/gcj-4.3.0/classmap.db\
-DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\gcj-4.3.0/classmap.db\ -g -O2 -m64 -MT
prims.lo -MD -MP -MF .deps/prims.Tpo -c ../../../../gcc/libjava/prims.cc 
-fno-common -DPIC -o .libs/prims.o
../../../../gcc/libjava/prims.cc: In function 'java::lang::Class*
_Jv_FindClassFromSignatureNoException(char*, java::lang::ClassLoader*,
char**)':
../../../../gcc/libjava/prims.cc:923: internal compiler error: in vn_lookup, at
tree-vn.c:290
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
make[5]: *** [prims.lo] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [multi-do] Error 1
make[2]: *** [all-multi] Error 2
make[1]: *** [all-target-libjava] Error 2
make: *** [all] Error 2

I did a bug search on vn_lookup and found no bug report; therefore, I am
submitting a report as per requested by the error sequence.  The gcc version I
am using to perform the build is gcc-4.0.1.  The build is on an upgraded
Quicksilver (dual 1.73 GHz PowerPC G4 - 7448) w/ 1.5 GB memory.


-- 
   Summary: internal compiler error: in vn_lookup, at tree-vn.c:290
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: trog24 at comcast dot net
 GCC build triplet: 4.3.0
  GCC host triplet: powerpc-apple-darwin8.8.0
GCC target triplet: powerpc-apple-darwin8.8.0


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



[Bug tree-optimization/32568] [4.3 Regression] internal compiler error: in vn_lookup, at tree-vn.c:290

2007-06-30 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-07-01 02:49 ---
Already fixed by:
2007-06-30  Daniel Berlin  [EMAIL PROTECTED]

* tree-ssa-pre.c (is_exception_related): New function
(can_value_number_operation): Use it.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Component|java|tree-optimization
   Keywords||build, ice-on-valid-code
 Resolution||FIXED
Summary|internal compiler error: in |[4.3 Regression] internal
   |vn_lookup, at tree-vn.c:290 |compiler error: in
   ||vn_lookup, at tree-vn.c:290
   Target Milestone|--- |4.3.0


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



  1   2   >