[Bug fortran/30003] Expressions with side effects in array references

2006-12-05 Thread pault at gcc dot gnu dot org


--- Comment #4 from pault at gcc dot gnu dot org  2006-12-05 08:25 ---
Duuuhhh!

> Erik, if you have a moment, could you see if you can understand where the
> extra free comes from?

That was the whole point, wasn't it? :-)

So the full patch will modify allocatable_function_1.f90 to expect 10 frees and
I will modify the comment about the rhs setting the loop size.

Regards

Paul


-- 


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



[Bug bootstrap/29780] temporary file breaks cross-build

2006-12-05 Thread valentin dot longchamp at gmail dot com


--- Comment #4 from valentin dot longchamp at gmail dot com  2006-12-05 
09:04 ---
I've upgraded my toolchain (it is automatically built by my embedded Linux
development framework, openembedded) and the problem is here again. The version
used for gcc is 4.1.1.

Here are the last compilation lines:

TARGET_CPU_DEFAULT="" \
HEADERS="auto-host.h ansidecl.h" DEFINES="USED_FOR_TARGET " \
/bin/sh
/home/valentin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/work/armv6-angstrom-linux-gnueabi/gcc-cross-initial-4.1.1-r8/gcc-4.1.1/gcc/mkconfig.sh
tconfig.h
(echo "@set version-GCC 4.1.1"; \
 if [ "" = "experimental" ]; \
 then echo "@set DEVELOPMENT"; \
 else echo "@clear DEVELOPMENT"; \
 fi) > gcc-vers.texiT
mv -f gcc-vers.texiT gcc-vers.texi
gawk -f
/home/valentin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/work/armv6-angstrom-linux-gnueabi/gcc-cross-initial-4.1.1-r8/gcc-4.1.1/gcc/opt-functions.awk
-f /home/valentin/EPFL/iM
XBoard/linux/openembedded/build/mx31ADS/conf/tmp/work/armv6-angstrom-linux-gnueabi/gcc-cross-initial-4.1.1-r8/gcc-4.1.1/gcc/optc-gen.awk
\
   -v header_name="config.h system.h coretypes.h tm.h" < optionlist
> options.c
ccache gcc -c  
-isystem/home/valentin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/staging/i686-linux/include
-Os  -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings -Wstrict-prototypes
 -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros
-Wold-style-definition -Wmissing-format-attribute-DHAVE_CONFIG_H -I. -I.
-I/home/valentin/EPFL/iMXBoard/linux/openembedded/bu
ild/mx31ADS/conf/tmp/work/armv6-angstrom-linux-gnueabi/gcc-cross-initial-4.1.1-r8/gcc-4.1.1/gcc
-I/home/valentin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/work/armv6-angstrom-linux-gn
ueabi/gcc-cross-initial-4.1.1-r8/gcc-4.1.1/gcc/.
-I/home/valentin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/work/armv6-angstrom-linux-gnueabi/gcc-cross-initial-4.1.1-r8/gcc-4.1.1/gcc/
../include
-I/home/valentin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/work/armv6-angstrom-linux-gnueabi/gcc-cross-initial-4.1.1-r8/gcc-4.1.1/gcc/../libcpp/include
 -isystem/home/valen
tin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/staging/i686-linux/include
 
/home/valentin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/work/armv6-angstrom-linux-gnueabi/gcc
-cross-initial-4.1.1-r8/gcc-4.1.1/gcc/pointer-set.c -o pointer-set.o
/home/valentin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/cross/bin/arm-angstrom-linux-gnueabi-as:
unrecognized option `-Qy'
make[2]: *** [pointer-set.o] Error 1
make[2]: *** Waiting for unfinished jobs
make[2]: Leaving directory
`/home/valentin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/work/armv6-angstrom-linux-gnueabi/gcc-cross-initial-4.1.1-r8/gcc-4.1.1/build.i686-linux.arm-angstr
om-linux-gnueabi/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory
`/home/valentin/EPFL/iMXBoard/linux/openembedded/build/mx31ADS/conf/tmp/work/armv6-angstrom-linux-gnueabi/gcc-cross-initial-4.1.1-r8/gcc-4.1.1/build.i686-linux.arm-angstr
om-linux-gnueabi'
make: *** [all] Error 2
FATAL: oe_runmake failed


-- 


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



[Bug libgcj/30071] New: make install fails for libjava

2006-12-05 Thread r dot emrich at de dot tecosim dot com
Failure to relink libjvm.la
xgcc: /SCRATCH/gcc-build/HP-UX/hppa2.0w-hp-hpux11.00/install/lib/libgcj.sl: No
such file or directory
libtool: install: error: relink `libjvm.la' with the above command before
installing it

I tracked it down to an install sequence issue.

Makefile.in in the libjava directory contains the following install-exec-am
tag:

install-exec-am: install-binPROGRAMS install-binSCRIPTS \
install-dbexecDATA install-dbexecLTLIBRARIES \
install-toolexeclibLTLIBRARIES install-toolexecmainlibDATA
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook

This installs binPROGRAMS and dbexecLTLIBRARIES before toolexeclibLTLIBRARIES
what gives warnings like this:

  /bin/sh ./libtool --mode=install
/appl/shared/gnu/Linux/i686-pc-linux-gnu/bin/install -c 'gij'
'/SCRATCH/gcc-build/Linux/i686-pc-linux-gnu/install/bin/gij'
libtool: install: warning: `libgij.la' has not been installed in
`/SCRATCH/gcc-build/Linux/i686-pc-linux-gnu/install/lib'
libtool: install: warning:
`/SCRATCH/gcc-build/Linux/i686-pc-linux-gnu/gcc-4.2.0/gcc-4.2.0/i686-pc-linux-gnu/libjava/libgcj.la'
has not been installed in
`/SCRATCH/gcc-build/Linux/i686-pc-linux-gnu/install/lib'

and fails on relinking of libjvm.la

xgcc: /SCRATCH/gcc-build/HP-UX/hppa2.0w-hp-hpux11.00/install/lib/libgcj.sl: No
such file or directory
libtool: install: error: relink `libjvm.la' with the above command before
installing it


I changed the install-exec-am tag in the Makefile.in to:

install-exec-am: install-toolexeclibLTLIBRARIES install-toolexecmainlibDATA \
install-dbexecLTLIBRARIES install-dbexecDATA \
install-binPROGRAMS install-binSCRIPTS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook

With this modification bootstrap, make check, and make install succeeds for at
least i686-pc-linux-gnu and hppa2.0w-hp-hpux11.00.


I'm not familiar with the automake machinery. So, somebody who knows the magics 
may help to change the configuration accordingly.


-- 
   Summary: make install fails for libjava
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: r dot emrich at de dot tecosim dot com
 GCC build triplet: hppa2.0w-hp-hpux11.00
  GCC host triplet: hppa2.0w-hp-hpux11.00
GCC target triplet: hppa2.0w-hp-hpux11.00


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



[Bug fortran/30003] Expressions with side effects in array references

2006-12-05 Thread pault at gcc dot gnu dot org


--- Comment #5 from pault at gcc dot gnu dot org  2006-12-05 09:39 ---
Created an attachment (id=12746)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12746&action=view)
Patch and testcase for the PR

This regtests OK on Cygwin_NT/PIV.  I will submit it tonight.

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #12744|0   |1
is obsolete||


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



[Bug c/30072] New: Return type of implicitly declared functions

2006-12-05 Thread bhaskar dot priya at wipro dot com
Return type of implicitly declared functions

Return type of an implicitly declared function is supposed to be int (signed
that is)

//temp.c
f(int i)
{
if (g(i) < 0)
printf("dead");
}

the return type of g(int) is int (normally)

but when the parameter list of an implicitly declared function consists of only
unsigned ints then the return type reported by the cc1 (parser) is unsigned int
(instead of signed)

//temp.c
f(unsigned int i)
{
if (g(i) < 0)
printf("dead");
}

the return type of g(unsigned int) becomes unsigned int :( somehow

If anyone has a clue on how to remove this and force the return type to be int
no matter what, pleaseĀ…


-- 
   Summary: Return type of implicitly declared functions
   Product: gcc
   Version: 3.4.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bhaskar dot priya at wipro dot com


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



[Bug c/30072] Return type of implicitly declared functions

2006-12-05 Thread bhaskar dot priya at wipro dot com


--- Comment #1 from bhaskar dot priya at wipro dot com  2006-12-05 11:17 
---
Created an attachment (id=12747)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12747&action=view)
lineid info for implicit declaration (int)


-- 


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



[Bug c/30072] Return type of implicitly declared functions

2006-12-05 Thread bhaskar dot priya at wipro dot com


--- Comment #2 from bhaskar dot priya at wipro dot com  2006-12-05 11:17 
---
Created an attachment (id=12748)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12748&action=view)
Lineidinfo file for unsigned int implicit declaration


-- 


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



[Bug fortran/30073] New: Array out of bounds gives name of LHS array not RHS

2006-12-05 Thread burnus at gcc dot gnu dot org
In the following program the size of the array "a" is exeeded not of "t%b", but
gfortran claims otherwise:

Fortran runtime error: Array reference out of bounds for array 't', upper bound
of dimension 3 exceeded (in file 'test.f90', at line 10)

(That gfortran shows "t" rather than "b" or "t%b" is PR29800 and quit
unrelated.)


program main
   type test
  real, allocatable, dimension(:,:) :: b
   end type test
   real, allocatable, dimension(:,:,:) :: a
   type(test) :: t
   integer :: i
   allocate(a(5,1,1), t%b(5,3))
   t%b = 45.0
   do i = 1,2
 a(1:5,1,i) = t%b(1:5,i)
   end do
end program main


-- 
   Summary: Array out of bounds gives name of LHS array not RHS
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug bootstrap/30074] New: [4.3 Regression] Cross compiler build failure on i386 host

2006-12-05 Thread rearnsha at gcc dot gnu dot org
This patch:

2006-12-02  H.J. Lu  <[EMAIL PROTECTED]>

PR target/30040
* config/i386/driver-i386.c: Include "coretypes.h" and "tm.h".
(bit_SSSE3): New.
(host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite
processor detection.

* config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for
-march=native if there is no -mtune=*.

* config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H)
coretypes.h.

Causes cross compilers targetting non-x86 architectures to fail to build:

/home/rearnsha/gnusrc/gcc-cross/trunk/gcc/config/i386/driver-i386.c: In
function
 `host_detect_local_cpu':
/home/rearnsha/gnusrc/gcc-cross/trunk/gcc/config/i386/driver-i386.c:64:
`PROCESS
OR_I386' undeclared (first use in this function)
/home/rearnsha/gnusrc/gcc-cross/trunk/gcc/config/i386/driver-i386.c:64: (Each
un
declared identifier is reported only once
/home/rearnsha/gnusrc/gcc-cross/trunk/gcc/config/i386/driver-i386.c:64: for
each
 function it appears in.)

Why is this file even needed for targetting an ARM system?

gcc configured with:

.../configure   --prefix=/work/rearnsha/gnu/
trunk/testinstall --enable-checking=release --target=arm-eabi
--with-headers=/ho
me/rearnsha/gnusrc/gcc-cross/trunk/newlib/libc/include --with-newlib
--disable-l
ibmudflap --with-gmp=/home/rearnsha/gnu/install/x86 --enable-languages=c,c++


-- 
   Summary: [4.3 Regression] Cross compiler build failure on i386
host
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: build
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rearnsha at gcc dot gnu dot org
  GCC host triplet: i686-linux
GCC target triplet: arm-none-eabi


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



[Bug fortran/30073] Array out of bounds gives name of RHS array not LHS array

2006-12-05 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2006-12-05 14:30 ---
Shorter test:

   real :: a(1,1), b(3)
   integer :: i
   b = 45.0
   i = 2
   a(1,1:i) = b(i)
end


-- 


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



[Bug fortran/30003] Expressions with side effects in array references

2006-12-05 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2006-12-05 15:07 ---
> Patch and testcase for the PR
> This regtests OK on Cygwin_NT/PIV.  I will submit it tonight.

It also regression tests ok on x86_64-unknown-linux-gnu; the patch itself also
looks ok.


-- 


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



[Bug bootstrap/30074] [4.2/4.3] Cross compiler on i386/x86-64 hosts includes driver-i386.c

2006-12-05 Thread hjl at lucon dot org


--- Comment #1 from hjl at lucon dot org  2006-12-05 15:07 ---
Gcc 4.2 has the same problem. I am looking into it.


-- 

hjl at lucon dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-12-05 15:07:56
   date||
Summary|[4.3 Regression] Cross  |[4.2/4.3] Cross compiler on
   |compiler build failure on   |i386/x86-64 hosts includes
   |i386 host   |driver-i386.c
Version|4.3.0   |4.2.0


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



[Bug driver/30074] [4.2/4.3] Cross compiler on i386/x86-64 hosts includes driver-i386.c

2006-12-05 Thread hjl at lucon dot org


--- Comment #2 from hjl at lucon dot org  2006-12-05 15:49 ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00297.html


-- 

hjl at lucon dot org changed:

   What|Removed |Added

  Component|bootstrap   |driver


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



[Bug driver/30074] [4.2] Cross compiler on i386/x86-64 hosts includes driver-i386.c

2006-12-05 Thread hjl at lucon dot org


--- Comment #3 from hjl at lucon dot org  2006-12-05 15:51 ---
4.3 is fixed by

http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00296.html


-- 

hjl at lucon dot org changed:

   What|Removed |Added

Summary|[4.2/4.3] Cross compiler on |[4.2] Cross compiler on
   |i386/x86-64 hosts includes  |i386/x86-64 hosts includes
   |driver-i386.c   |driver-i386.c


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



[Bug fortran/30003] Expressions with side effects in array references

2006-12-05 Thread tobi at gcc dot gnu dot org


--- Comment #7 from tobi at gcc dot gnu dot org  2006-12-05 15:57 ---
Thanks Paul and Erik!

The patch regtests fine on i686-darwin together with my patch to enable
bounds-checking in the testsuite (and the workaround for PR29516, without which
gfortran is essentially unusable on i686-darwin).


-- 


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



[Bug driver/30074] [4.2] Cross compiler on i386/x86-64 hosts includes driver-i386.c

2006-12-05 Thread hjl at lucon dot org


--- Comment #4 from hjl at lucon dot org  2006-12-05 16:06 ---
Fixed.


-- 

hjl at lucon dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug driver/30074] [4.2] Cross compiler on i386/x86-64 hosts includes driver-i386.c

2006-12-05 Thread hjl at gcc dot gnu dot org


--- Comment #5 from hjl at gcc dot gnu dot org  2006-12-05 16:06 ---
Subject: Bug 30074

Author: hjl
Date: Tue Dec  5 16:06:39 2006
New Revision: 119545

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119545
Log:
2006-12-05  H.J. Lu  <[EMAIL PROTECTED]>

PR driver/30074
* config.host: Add driver-i386.o only if compiling for x86 or
x86_64.

Modified:
branches/gcc-4_2-branch/gcc/ChangeLog
branches/gcc-4_2-branch/gcc/config.host


-- 


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



[Bug middle-end/28690] [4.2/4.3 Regression] Performace problem with indexed load/stores on powerpc

2006-12-05 Thread pthaugen at us dot ibm dot com


--- Comment #32 from pthaugen at us dot ibm dot com  2006-12-05 16:12 
---
Another example, pared down from ammp benchmark in cpu2000. 

void f2(int *, int *);
void mm_fv_update_nonbon(void)
{
 int j, nx;
 int naybor[27];

 f2(naybor, &nx);

 for(j=0; j< 27; j++)
 if( naybor[j]) break; /* Indexed load problem */


-- 


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



[Bug middle-end/28690] [4.2/4.3 Regression] Performace problem with indexed load/stores on powerpc

2006-12-05 Thread pthaugen at us dot ibm dot com


--- Comment #33 from pthaugen at us dot ibm dot com  2006-12-05 16:30 
---
My prior comment is missing the closing bracket for the procedure, but example
is otherwise complete.


-- 


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



[Bug fortran/30003] Expressions with side effects in array references

2006-12-05 Thread patchapp at dberlin dot org


--- Comment #8 from patchapp at dberlin dot org  2006-12-05 16:45 ---
Subject: Bug number PR30003

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/2006-12/msg00306.html


-- 


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



[Bug c++/14329] [4.1 only] badly formatted warnings for SRA replacements used uninitialized

2006-12-05 Thread pinskia at gcc dot gnu dot org


--- Comment #20 from pinskia at gcc dot gnu dot org  2006-12-05 18:05 
---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/14329] [4.1 only] badly formatted warnings for SRA replacements used uninitialized

2006-12-05 Thread pinskia at gcc dot gnu dot org


--- Comment #20 from pinskia at gcc dot gnu dot org  2006-12-05 18:05 
---
Fixed.


--- Comment #21 from pinskia at gcc dot gnu dot org  2006-12-05 18:05 
---
Subject: Bug 14329

Author: pinskia
Date: Tue Dec  5 18:04:44 2006
New Revision: 119548

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119548
Log:
2006-12-05  Richard Henderson  <[EMAIL PROTECTED]>
Andrew Pinski  <[EMAIL PROTECTED]>

PR C++/14329
* error.c (cp_printer) <'D'>: Handle DECL_DEBUG_EXPR.

2006-12-05  Richard Henderson  <[EMAIL PROTECTED]>
Andrew Pinski  <[EMAIL PROTECTED]>

PR C++/14329
* g++.dg/warn/unit-1.C: New test.



Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/warn/unit-1.C
  - copied unchanged from r119478, trunk/gcc/testsuite/g++.dg/warn/unit-1.C
Modified:
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/error.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/14784] [Tree-ssa] alias analysis deficiency

2006-12-05 Thread rakdver at gcc dot gnu dot org


--- Comment #17 from rakdver at gcc dot gnu dot org  2006-12-05 18:26 
---
Subject: Bug 14784

Author: rakdver
Date: Tue Dec  5 18:26:20 2006
New Revision: 119549

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119549
Log:
PR tree-optimization/14784
* tree-ssa-operands.c (access_can_touch_variable): Unrevert the fix.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-operands.c


-- 


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



[Bug c/30075] New: Missed optimizations with -fwhole-program -combine

2006-12-05 Thread ajax at redhat dot com
---
atropine:~/combine-bug% cat foo.c
int foo(void) {
return 0;
}

atropine:~/combine-bug% cat bar.c 
extern int foo(void);

void *array[] = {
foo
};

atropine:~/combine-bug% gcc -shared -fPIC -combine -fwhole-program -o libfoo.so
foo.c bar.c
atropine:~/combine-bug% nm libfoo.so | egrep '(foo)|(array)'
048c t foo
atropine:~/combine-bug% rpm -q gcc
gcc-4.1.1-30
---

foo is still emitted, when you'd think you could garbage-collect it, since the
array that references it has fallen out of existance.  If you use
-fvisibility=hidden instead of -fwhole-program the result is even worse, both
foo and array are emitted even though the resulting DSO does not give any
access to them.


-- 
   Summary: Missed optimizations with -fwhole-program -combine
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ajax at redhat dot com


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



[Bug middle-end/30075] Missed optimizations with static variable and static function

2006-12-05 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-12-05 18:46 ---
> If you use -fvisibility=hidden instead of -fwhole-program the result is even
> worse, both foo and array are emitted even though the resulting DSO does not
> give any access to them.

Well that is not GCC's fault really, you should use -ffunction-sections
-Wl,--gc-sections for that


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|Missed optimizations with - |Missed optimizations with
   |fwhole-program -combine |static variable and static
   ||function


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



[Bug libgcj/30076] New: Annotations don't work with interpreted code

2006-12-05 Thread aph at gcc dot gnu dot org
Annotations don't work with interpreted code


-- 
   Summary: Annotations don't work with interpreted code
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: libgcj
AssignedTo: tromey at gcc dot gnu dot org
ReportedBy: aph at gcc dot gnu dot org


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



[Bug libgcj/30076] Annotations don't work with interpreted code

2006-12-05 Thread aph at gcc dot gnu dot org


--- Comment #1 from aph at gcc dot gnu dot org  2006-12-05 18:54 ---
Created an attachment (id=12749)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12749&action=view)
.

Expected output:

class pp: @A1(enumF=ACE, doubleF=99.0, stringF=A1, arrayF=[1, 2], intF=0,
classF=class java.lang.Class, [EMAIL PROTECTED](stringInnerF=class annotation))
class pp: @Another(classF=class java.lang.Integer)
public static void pp.barf(int,int):
arg 0: @Inner(stringInnerF=Param anno)
arg 1: @Another(classF=class pp)
arg 1: @Inner(stringInnerF=second anno)
public static void pp.main(java.lang.String[]):
   @A1(enumF=DEUCE, doubleF=99.0, stringF=ff, arrayF=[33], intF=2868724,
classF=class java.lang.Class, [EMAIL PROTECTED](stringInnerF=another method))
public static transient void pp.write(java.lang.String[]):
   @A1(enumF=ACE, doubleF=3.0, stringF=Abandon hope, arrayF=[0], intF=12,
classF=class pp, [EMAIL PROTECTED](stringInnerF=method annotation))
public final native void java.lang.Object.wait(long) throws
java.lang.InterruptedException:
public final void java.lang.Object.wait(long,int) throws
java.lang.InterruptedException:
public boolean java.lang.Object.equals(java.lang.Object):
public int pp.arse:
   @Another(classF=class java.lang.String)
   @Inner(stringInnerF=field)
public int pp.too:
   @Inner(stringInnerF=ff)

What we get:

 ~/gcc/gcj-eclipse-merge-branch/install/bin/gij pp
Exception in thread "main" java.lang.NullPointerException
   at java.lang.Class.getDeclaredAnnotationsInternal(natClass.cc:1389)
   at java.lang.Class.getDeclaredAnnotations(Class.java:1305)
   at java.lang.Class.getAnnotations(Class.java:1275)
   at pp.main(pp.java:80)


-- 


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



[Bug libfortran/30009] Unformatted reads exceeding storage units gives EOF instead of ERR

2006-12-05 Thread patchapp at dberlin dot org


--- Comment #12 from patchapp at dberlin dot org  2006-12-05 19:01 ---
Subject: Bug number PR 30009

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/2006-12/msg00334.html


-- 


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



[Bug libgcj/30076] Annotations don't work with interpreted code

2006-12-05 Thread aph at gcc dot gnu dot org


--- Comment #2 from aph at gcc dot gnu dot org  2006-12-05 19:08 ---
The cause of this bug is that libgcj sorts fields so that static fields come
first, followed by instance fields.  Any annotation indexes that refer to a
field will be wrong after this.


-- 


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



[Bug fortran/29975] [meta-bugs] ICEs with CP2K

2006-12-05 Thread patchapp at dberlin dot org


--- Comment #26 from patchapp at dberlin dot org  2006-12-05 19:15 ---
Subject: Bug number PR29975

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/2006-12/msg00336.html


-- 


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



[Bug target/30077] New: g++.dg/tree-ssa/pr28003.C fails now on spu-elf

2006-12-05 Thread pinskia at gcc dot gnu dot org
/home/apinski/src/fsf/gcc/gcc/gcc/testsuite/g++.dg/tree-ssa/pr28003.C: In
function 'void __static_initialization_and_destruction_0(int, int)':^M
/home/apinski/src/fsf/gcc/gcc/gcc/testsuite/g++.dg/tree-ssa/pr28003.C:31:
error: insn does not satisfy its constraints:^M
(insn 2532 672 2533 4 (set (reg:SI 3 $3)^M
(high:SI (const:SI (plus:SI (symbol_ref:SI ("b") [flags 0x2] )^M
(const_int 636 [0x27c]) 6 {_movsi} (nil)^M
(nil))^M


-- 
   Summary: g++.dg/tree-ssa/pr28003.C fails now on spu-elf
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: spu-elf


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



[Bug fortran/29912] Gfortran: string array functions behaving incorrectly...

2006-12-05 Thread pault at gcc dot gnu dot org


--- Comment #9 from pault at gcc dot gnu dot org  2006-12-05 19:33 ---
Subject: Bug 29912

Author: pault
Date: Tue Dec  5 19:32:59 2006
New Revision: 119554

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119554
Log:
2006-12-05  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/29912
* trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL if the
lhs and rhs character lengths are not constant and equal for
character array valued functions.

2006-12-05  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/29912
* gfortran.dg/char_result_12.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/char_result_12.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-expr.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c/30075] Missed optimizations with -fwhole-program -combine

2006-12-05 Thread ajax at redhat dot com


--- Comment #2 from ajax at redhat dot com  2006-12-05 19:37 ---
Just to clarify, I neglected to use -O in the example above, but this behaviour
is still seen even with -O.


-- 

ajax at redhat dot com changed:

   What|Removed |Added

  Component|middle-end  |c


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



[Bug middle-end/30075] Missed optimizations with -fwhole-program -combine

2006-12-05 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
  Component|c   |middle-end


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



[Bug driver/30074] [4.2/4.3 Regression] Cross compiler on i386/x86-64 hosts includes driver-i386.c

2006-12-05 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.2] Cross compiler on |[4.2/4.3 Regression] Cross
   |i386/x86-64 hosts includes  |compiler on i386/x86-64
   |driver-i386.c   |hosts includes driver-i386.c
   Target Milestone|--- |4.2.0


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



[Bug c/30072] Return type of implicitly declared functions

2006-12-05 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-12-05 19:45 ---
I don't know what you mean by saying it reports the wrong return type.
In 3.4.0 I get a call to printf:
callg
testl   %eax, %eax
jns .L2
movl$.LC0, (%esp)
callprintf
.L2:


-- 


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



[Bug fortran/30003] Expressions with side effects in array references

2006-12-05 Thread pault at gcc dot gnu dot org


--- Comment #9 from pault at gcc dot gnu dot org  2006-12-05 19:45 ---
Subject: Bug 30003

Author: pault
Date: Tue Dec  5 19:45:25 2006
New Revision: 119556

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119556
Log:
2006-12-05  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/30003
* trans-array.c (gfc_trans_create_temp_array): Set the section
ends to zero.
(gfc_conv_array_transpose): Likewise.
(gfc_conv_section_startstride): Declare an expression for end,
set it from a the array reference and evaluate it for the info
structure. Zero the ends in the ss structure and set end, used
in the bounds check, from the info structure.
trans.h: Add and end array to the gfc_ss_info structure.

2006-12-05  Paul Thomas  <[EMAIL PROTECTED]>

PR fortran/30003
* gfortran.dg/allocatable_function_1.f90: Increase the number
of expected calls of free to 10; the lhs section reference is
now evaluated so there is another call to bar.  Change the
comment appropriately.
* gfortran.dg/array_section_1.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/array_section_1.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/allocatable_function_1.f90


-- 


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



[Bug other/30055] [4.0/4.1 Regression] while(__builtin_expect()) pessimizes loop

2006-12-05 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-12-05 19:50 ---
(In reply to comment #2)
> Hm.  When you mark it as [4.0/4.1 Regression], should FIXED mean "fixed
> for 4.0/4.1"?

Because it is hard to fix for 4.0/4.1 as either loop.c is causing this missed
optimization or the IR changed slightly to cause the issue.  Also 3.4.0 had the
same issue so I don't think it is the IR Changing issue.
What 4.2.0 and above does is lowers __builtin_expect very early on which helps
the code gen and gets rid of the problem of having it around.


-- 


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



[Bug libgcj/30076] [ecj] Annotations don't work with interpreted code

2006-12-05 Thread aph at gcc dot gnu dot org


--- Comment #3 from aph at gcc dot gnu dot org  2006-12-05 20:12 ---
Created an attachment (id=12750)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12750&action=view)
.


-- 


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



[Bug libfortran/30005] Open errors (not/already exists etc.): show also the file name

2006-12-05 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2006-12-05 20:40 ---
Mark as fixed. As enhancement it does not need to go into 4.2/4.1.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug fortran/29779] [4.3 Regression] vectorizer fortran testcases failing

2006-12-05 Thread burnus at gcc dot gnu dot org


--- Comment #9 from burnus at gcc dot gnu dot org  2006-12-05 20:51 ---
I think this was fixed by:
http://gcc.gnu.org/ml/gcc-cvs/2006-11/msg00427.html


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol

2006-12-05 Thread mmitchel at gcc dot gnu dot org


--- Comment #28 from mmitchel at gcc dot gnu dot org  2006-12-05 21:13 
---
Jason, are you actively working on this?  (We are motivated to fix the problem,
so if you're not working on it, then maybe we can help.)

HJ's patch here:

http://gcc.gnu.org/ml/gcc-patches/2005-05/msg00391.html

looks like an OK idea, but:

+  if (TREE_CODE (decl) == FUNCTION_DECL
+  && strstr (name, "__builtin_") == name)

is bogus; this should be checking DECL_IS_BUILTIN, not doing strcmp.

This:

+struct extern_symbol_list *extern_symbol_head;

should be a VEC, not a list.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mmitchel at gcc dot gnu dot
   ||org, carlos at codesourcery
   ||dot com


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



[Bug fortran/30068] Ambigous interfaces not detected

2006-12-05 Thread pault at gcc dot gnu dot org


--- Comment #1 from pault at gcc dot gnu dot org  2006-12-05 21:15 ---
(In reply to comment #0)
> Examples taken from the Fortran 2003 standard, Section C.11.2.
> They are not recognized as invalid.

BAD8 is, as of this evening's tree - I had to put an 'END' after the module so
as not to surprise the compiler with an unexpected EOF.  It then throws on the
ambiguity between s8a and s8b.

Right now, I cannot see why BAD9 does not throw an error - the code in
interface.c looks OK.

Paul


-- 


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



[Bug java/29495] [ecj] some field & method flags not passed through

2006-12-05 Thread tromey at gcc dot gnu dot org


--- Comment #2 from tromey at gcc dot gnu dot org  2006-12-05 21:15 ---
Subject: Bug 29495

Author: tromey
Date: Tue Dec  5 21:15:34 2006
New Revision: 119557

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119557
Log:
gcc/java
PR java/29495:
* jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): Mark fields and
classes as well.
* class.c (add_field): Handle ACC_SYNTHETIC.
(add_method_1): Likewise.  Handle bridge and varargs.
(get_access_flags_from_decl): Handle synthetic, bridge, varargs,
annotation.
(set_class_decl_access_flags): Handle synthetic and annotation.
* java-tree.h (METHOD_BRIDGE): New macro.
(METHOD_VARARGS): Likewise.
(TYPE_SYNTHETIC): Likewise.
(TYPE_ANNOTATION): Likewise.
(lang_type): New fields 'synthetic' and 'annotation'.
(lang_decl_func): New fields 'varargs' and 'bridge'.
libjava
PR java/29495:
* testsuite/libjava.lang/PR29495.out: New file.
* testsuite/libjava.lang/PR29495.java: New file.

Added:
   
branches/gcj/gcj-eclipse-merge-branch/libjava/testsuite/libjava.lang/PR29495.java
   
branches/gcj/gcj-eclipse-merge-branch/libjava/testsuite/libjava.lang/PR29495.out
Modified:
branches/gcj/gcj-eclipse-merge-branch/gcc/java/ChangeLog
branches/gcj/gcj-eclipse-merge-branch/gcc/java/class.c
branches/gcj/gcj-eclipse-merge-branch/gcc/java/java-tree.h
branches/gcj/gcj-eclipse-merge-branch/gcc/java/jcf-parse.c
branches/gcj/gcj-eclipse-merge-branch/libjava/ChangeLog


-- 


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



[Bug c++/29728] [4.0/4.1/4.2/4.3 regression] ICE on invalid initializer in template function

2006-12-05 Thread mmitchel at gcc dot gnu dot org


--- Comment #2 from mmitchel at gcc dot gnu dot org  2006-12-05 21:33 
---
Subject: Bug 29728

Author: mmitchel
Date: Tue Dec  5 21:33:20 2006
New Revision: 119558

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119558
Log:
PR c++/29728
* decl.c (check_array_designated_initializer): New function.
(maybe_deduce_size_from_array_init): Use it.
(reshape_init_array): Likewise.
PR c++/29728
* g++.dg/template/crash62.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/template/crash62.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/29728] [4.0/4.1/4.2 regression] ICE on invalid initializer in template function

2006-12-05 Thread mmitchel at gcc dot gnu dot org


--- Comment #3 from mmitchel at gcc dot gnu dot org  2006-12-05 21:36 
---
Fixed in 4.3.0.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.0/4.1/4.2/4.3 regression]|[4.0/4.1/4.2 regression] ICE
   |ICE on invalid initializer  |on invalid initializer in
   |in template function|template function


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



[Bug c++/29728] [4.0/4.1/4.2 regression] ICE on invalid initializer in template function

2006-12-05 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug ada/30078] New: problems mixing Tasks and recursion

2006-12-05 Thread orihuela at idecnet dot com
The attached file contains a procedure that shows weird problems mixing tasks
and recursion.
A correct program behavior would be showing the same number of As and Bs, but
instead, for values of IMax > 4 we get different counts.

gcc version 3.4.6 for GNAT GPL 2006 (20060522) running on windows 2000/WinXP
gcc version 3.4.6 for GNAT GPL 2006 (20060522) running on linux/CentOS.



With Ada.Text_IO;
Use Ada.Text_IO;

Procedure My_Proc is

   protected type Counter is
  Procedure IncA;
  Procedure IncB;
  function GetA return Natural;
  function GetB return Natural;
   private
  A, B: Natural := 0;
   end Counter;

   protected body Counter is
  Procedure IncA is
  begin
 A := A+1;
  end IncA;
  Procedure IncB is
  begin
 B := B+1;
  end IncB;
  function GetA return Natural is
  begin
 return A;
  end GetA;
  function GetB return Natural is
  begin
 return B;
  end GetB;
   end Counter;

   MyCounter : Counter;

   Procedure Recursive (I : Natural; MaxI : Natural) is
   begin

  if (I >= MaxI) then
   return;
  end if;

  MyCounter.IncA;
  MyCounter.IncA;
  declare
 Task My_Recursive_Task;
 Task Body My_Recursive_Task is
 begin
Recursive(I+1, MaxI);
MyCounter.IncB;
 exception
when Others =>
   Put_Line ("Exception");
 end My_Recursive_Task;

  begin
 Recursive(I+1, MaxI);
 MyCounter.IncB;
  exception
 when Others =>
Put_Line ("Exception");
  end;
   end Recursive;

begin
   Recursive (1, 6);
   Put_Line("A: " & Integer'Image(MyCounter.GetA));
   Put_Line("B: " & Integer'Image(MyCounter.GetB));
end My_Proc;


-- 
   Summary: problems mixing Tasks and recursion
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: orihuela at idecnet dot com


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



[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol

2006-12-05 Thread hjl at lucon dot org


--- Comment #29 from hjl at lucon dot org  2006-12-05 21:41 ---
I am not sure if my patch handles hidden data reference properly. Should I work
on that?


-- 


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



[Bug c++/29729] [4.0/4.1/4.2/4.3 regression] ICE with template class in template function

2006-12-05 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol

2006-12-05 Thread mark at codesourcery dot com


--- Comment #30 from mark at codesourcery dot com  2006-12-05 21:51 ---
Subject: Re:  Can't use __attribute__ ((visibility ("hidden")))
 to hide a symbol

hjl at lucon dot org wrote:
> --- Comment #29 from hjl at lucon dot org  2006-12-05 21:41 ---
> I am not sure if my patch handles hidden data reference properly. Should I 
> work
> on that?

Yes, we want to handle both data and functions.


-- 


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



[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol

2006-12-05 Thread pluto at agmk dot net


--- Comment #31 from pluto at agmk dot net  2006-12-05 22:00 ---
(In reply to comment #27)
> (In reply to comment #26)
> > Created an attachment (id=12714)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12714&action=view) [edit]
> > main_skel.o
> > 
> 
> It looks OK. Please provide a complete testcase. It could be a gcc bug,
> a linker bug and/or a problem on your system.


http://minus.ds14.agh.edu.pl/~pluto/bug.tar.bz2

$ g++ -shared main.o main_skel.o ./libqt-mt.so.3.3.7
/usr/bin/ld: main_skel.o: relocation R_X86_64_PC32 against `_ZTV9QMemArrayIcE'
can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status

gcc-4.2.0-0.20061119r118994.1.x86_64
binutils-2.17.50.0.8-1.x86_64


-- 


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



[Bug fortran/30068] Ambigous interfaces not detected

2006-12-05 Thread pault at gcc dot gnu dot org


--- Comment #2 from pault at gcc dot gnu dot org  2006-12-05 22:02 ---
> Right now, I cannot see why BAD9 does not throw an error - the code in
> interface.c looks OK.

Ahhh, yes I can.  gfc recurses through the formal interfaces of dummy
procedures - it actually does it correctly too!

Index: gcc/fortran/interface.c
===
*** gcc/fortran/interface.c (revision 119554)
--- gcc/fortran/interface.c (working copy)
*** compare_type_rank_if (gfc_symbol * s1, g
*** 462,468 
if (s1->attr.function && compare_type_rank (s1, s2) == 0)
  return 0;

!   return compare_interfaces (s1, s2, 0);  /* Recurse! */
  }


--- 462,468 
if (s1->attr.function && compare_type_rank (s1, s2) == 0)
  return 0;

!   return 1;   /* Recurse! */
  }

Fixes the problem and regtests OK.

Paul


-- 


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



[Bug fortran/29779] [4.3 Regression] vectorizer fortran testcases failing

2006-12-05 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2006-12-05 22:15 
---
(In reply to comment #9)
> I think this was fixed by:
> http://gcc.gnu.org/ml/gcc-cvs/2006-11/msg00427.html

No it was not.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug ada/30078] [ Ada ] problems mixing Tasks and recursion

2006-12-05 Thread bauhaus at futureapps dot de


--- Comment #1 from bauhaus at futureapps dot de  2006-12-05 22:40 ---
Same when using gcc version 4.3.0 20061130 (experimental)

The only invariant in the output is that As > Bs.


-- 

bauhaus at futureapps dot de changed:

   What|Removed |Added

 CC||bauhaus at futureapps dot de


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



[Bug fortran/30068] Ambigous interfaces not detected

2006-12-05 Thread pault at gcc dot gnu dot org


--- Comment #3 from pault at gcc dot gnu dot org  2006-12-05 22:51 ---
Sorry, cancel the previous comments - I had a screwed up tree. What I said was
not correct.

BADx remains undetected by gfc

Paul


-- 


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



[Bug c/29172] --combine can't handle #pragma once

2006-12-05 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-12-05 23:15 ---
(In reply to comment #2)
> The compiler is failing to follow the documented behavior.
Because I (or anyone else) have not got around to actually testing the testcase
:).


-- 


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



[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol

2006-12-05 Thread hjl at lucon dot org


--- Comment #32 from hjl at lucon dot org  2006-12-05 23:33 ---
(In reply to comment #31)
> (In reply to comment #27)
> > (In reply to comment #26)
> > > Created an attachment (id=12714)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12714&action=view) [edit]
> > > main_skel.o
> > > 
> > 
> > It looks OK. Please provide a complete testcase. It could be a gcc bug,
> > a linker bug and/or a problem on your system.
> 
> 
> http://minus.ds14.agh.edu.pl/~pluto/bug.tar.bz2
> 
> $ g++ -shared main.o main_skel.o ./libqt-mt.so.3.3.7
> /usr/bin/ld: main_skel.o: relocation R_X86_64_PC32 against `_ZTV9QMemArrayIcE'
> can not be used when making a shared object; recompile with -fPIC
> /usr/bin/ld: final link failed: Bad value
> collect2: ld returned 1 exit status
> 
> gcc-4.2.0-0.20061119r118994.1.x86_64
> binutils-2.17.50.0.8-1.x86_64
> 
[EMAIL PROTECTED] bug]$ ld -shared main.o main_skel.o 
ld: main_skel.o: relocation R_X86_64_PC32 against `_ZTV9QMemArrayIcE' can not
be used when making a shared object; recompile with -fPIC
ld: final link failed: Bad value
[EMAIL PROTECTED] bug]$ readelf -a main.o | grep _ZTV9QMemArrayIcE
COMDAT group section [   35] `.group' [_ZTV9QMemArrayIcE] contains 1 sections:
   [  114]   .data.rel.ro._ZTV9QMemArrayIcE
083e  00c30009 R_X86_64_GOTPCREL  _ZTV9QMemArrayIcE
+ fffc
0003  00c30009 R_X86_64_GOTPCREL  _ZTV9QMemArrayIcE
+ fffc
0003  00c30009 R_X86_64_GOTPCREL  _ZTV9QMemArrayIcE
+ fffc
Relocation section '.rela.data.rel.ro._ZTV9QMemArrayIcE' at offset 0xe75c8
contains 6 entries:
   195: 56 OBJECT  WEAK   DEFAULT  114 _ZTV9QMemArrayIcE
[EMAIL PROTECTED] bug]$ readelf -a main_skel.o | grep _ZTV9QMemArrayIcE
  [11] _ZTV9QMemArrayIcE GROUP  0090
COMDAT group section [   11] `_ZTV9QMemArrayIcE' [_ZTV9QMemArrayIcE] contains 1
sections:
   [   40]   .data.rel.ro._ZTV9QMemArrayIcE
0179  002c0002 R_X86_64_PC32  _ZTV9QMemArrayIcE
+ c
0195  002c0002 R_X86_64_PC32  _ZTV9QMemArrayIcE
+ c
0003  002c0002 R_X86_64_PC32  _ZTV9QMemArrayIcE
+ c
0003  002c0002 R_X86_64_PC32  _ZTV9QMemArrayIcE
+ c
Relocation section '.rela.data.rel.ro._ZTV9QMemArrayIcE' at offset 0x2dd0
contains 6 entries:
44: 56 OBJECT  WEAK   HIDDEN   40 _ZTV9QMemArrayIcE
[EMAIL PROTECTED] bug]$ ld -shared main_skel.o main.o
[EMAIL PROTECTED] bug]$ 

The hidden definition in main_skel.o is ignored due to COMDAT group.


-- 


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



[Bug middle-end/30079] New: libgcov.c:785: ICE: in fold_convert, at fold-c onst.c:2034

2006-12-05 Thread danglin at gcc dot gnu dot org
This ICE was seen with revision 119560M:

/test/gnu/gcc/objdir/./gcc/xgcc -B/test/gnu/gcc/objdir/./gcc/
-B/opt/gnu/gcc/gcc
-4.3.0/hppa2.0w-hp-hpux11.11/bin/
-B/opt/gnu/gcc/gcc-4.3.0/hppa2.0w-hp-hpux11.11
/lib/ -isystem /opt/gnu/gcc/gcc-4.3.0/hppa2.0w-hp-hpux11.11/include -isystem
/op
t/gnu/gcc/gcc-4.3.0/hppa2.0w-hp-hpux11.11/sys-include -O2  -O2 -g -O2  -DIN_GCC
   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style
-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__G
CC_FLOAT_NOT_NEEDED  -I. -I. -I../../gcc/gcc -I../../gcc/gcc/.
-I../../gcc/gcc/.
./include -I../../gcc/gcc/../libcpp/include -I/opt/gnu/gcc/gcc-4.3.0/include
-I/
opt/gnu/gcc/gcc-4.3.0/include -I../../gcc/gcc/../libdecnumber -I../libdecnumber
 -DL_gcov_execl -c ../../gcc/gcc/libgcov.c -o libgcc/./_gcov_execl.o
../../gcc/gcc/libgcov.c: In function '__gcov_execl':
../../gcc/gcc/libgcov.c:785: internal compiler error: in fold_convert, at
fold-c
onst.c:2034


-- 
   Summary: libgcov.c:785: ICE: in fold_convert, at fold-c
onst.c:2034
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa*-*-*
  GCC host triplet: hppa*-*-*
GCC target triplet: hppa*-*-*


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



[Bug c++/30080] New: incorrect code generation, possibly related to casting/aliasing

2006-12-05 Thread irving at cs dot stanford dot edu
The attached code generates a segmentation fault when compiled and run with
-O3.  The error disappears if I inline any of the functions, remove any of the
unused class members, change the argument to min to be const int instead of
const int&, etc, comment out any of the lines which do nothing, etc. 
-fno-strict-aliasing also makes it go away.  It's still a little long, but I
can't seem to reduce it any further.

 BEGIN COMPILE COMMAND =
ring:bug% /usr/local/compilers/gcc-4.1.1-x86_64-x86_64/bin/g++ -v -save-temps
-o bug -O3 -Wall bug.cpp
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.1.1/configure
--prefix=/usr/local/compilers/gcc-4.1.1-x86_64-x86_64 --enable-languages=c,c++
Thread model: posix
gcc version 4.1.1

/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/libexec/gcc/x86_64-unknown-linux-gnu/4.1.1/cc1plus
-E -quiet -v -D_GNU_SOURCE bug.cpp -mtune=k8 -Wall -O3 -fpch-preprocess -o
bug.ii
ignoring nonexistent directory
"/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/lib/gcc/x86_64-unknown-linux-gnu/4.1.1/../../../../x86_64-unknown-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:

/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/lib/gcc/x86_64-unknown-linux-gnu/4.1.1/../../../../include/c++/4.1.1

/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/lib/gcc/x86_64-unknown-linux-gnu/4.1.1/../../../../include/c++/4.1.1/x86_64-unknown-linux-gnu

/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/lib/gcc/x86_64-unknown-linux-gnu/4.1.1/../../../../include/c++/4.1.1/backward
 /usr/local/include
 /usr/local/compilers/gcc-4.1.1-x86_64-x86_64/include

/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/lib/gcc/x86_64-unknown-linux-gnu/4.1.1/include
 /usr/include
End of search list.

/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/libexec/gcc/x86_64-unknown-linux-gnu/4.1.1/cc1plus
-fpreprocessed bug.ii -quiet -dumpbase bug.cpp -mtune=k8 -auxbase bug -O3 -Wall
-version -o bug.s
GNU C++ version 4.1.1 (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.1.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 9d1c719cee21891cbbb928e6cdd7db48
 as -V -Qy -o bug.o bug.s
GNU assembler version 2.17.50.0.3-6 (x86_64-redhat-linux) using BFD version
2.17.50.0.3-6 20060715

/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/libexec/gcc/x86_64-unknown-linux-gnu/4.1.1/collect2
--eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o bug
/usr/lib/../lib64/crt1.o /usr/lib/../lib64/crti.o
/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/lib/gcc/x86_64-unknown-linux-gnu/4.1.1/crtbegin.o
-L/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/lib/gcc/x86_64-unknown-linux-gnu/4.1.1
-L/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/lib/gcc/x86_64-unknown-linux-gnu/4.1.1/../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64 bug.o -lstdc++ -lm -lgcc_s -lgcc -lc
-lgcc_s -lgcc
/usr/local/compilers/gcc-4.1.1-x86_64-x86_64/lib/gcc/x86_64-unknown-linux-gnu/4.1.1/crtend.o
/usr/lib/../lib64/crtn.o
ring:bug% ./bug
Segmentation fault
 END COMPILE COMMAND =

 BEGIN bug.cpp =
struct VECTOR
{
int x,y,z;

VECTOR()
:x(0),y(0),z(0)
{}
};

struct ARRAY
{
int m;
bool* p;

ARRAY()
{
m=0;
p=new bool;
*p=false;
}

~ARRAY(){}
};

struct ARRAY_VECTOR
{
int m;
VECTOR* p;

ARRAY_VECTOR()
{
m=0;
p=new VECTOR;
*p=VECTOR();
}

~ARRAY_VECTOR(){}
};

int blah;

struct C{};

struct INDIRECT:public C
{
ARRAY& array;

INDIRECT(ARRAY& array)
:array(array)
{}

~INDIRECT(){}
};

bool get(const INDIRECT& array)
{
return *array.array.p;
}

int count(const C& self)
{
return get(static_cast(self));
}   

INDIRECT subset(ARRAY& array,const VECTOR* indices)
{
return array;
}   

int& get(VECTOR& v)
{
return v.x;
}   

void remove(const VECTOR& v)
{
VECTOR r;get(r)=v.x;
}

int min(const int& a,const int& b)
{
if(b < a) return b;
return a;
}

void resize(ARRAY_VECTOR& array)
{
VECTOR* p_new=new VECTOR;
const VECTOR initialization_value=VECTOR();
int unused=min(0,0);unused=0;
*p_new=*array.p;
array.m=0;
array.p=0;
array.p=p_new;
}

struct MESH
{
ARRAY* node_on_boundary;
ARRAY a;
};

struct STRAIN
{
MESH& mesh;

STRAIN(MESH& mesh)
:mesh(mesh)
{}
};

struct FVM
{
ARRAY_VECTOR boundary_to_element;
ARRAY a,b,c;

FVM(STRAIN& strain);
};

FVM::FVM(STRAIN& strain)
{
VECTOR e;
blah=count(subset(*strain.mesh.node_on_boundary,&e));
resize(boundary_to_element);
VECTOR element;
remove(element);
}

int main()
{
MESH mesh;
STRAIN strain(mesh);
ARRAY node_on_boundary;
strain.mesh.node_on_boundary=&node_on_boundary;
new FVM(strain);
return 0;
}
 END bug.cpp =


-- 
   Summa

[Bug middle-end/30079] libgcov.c:785: ICE: in fold_convert, at fold-c

2006-12-05 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |blocker
   Keywords||build
Summary|libgcov.c:785: ICE: in  |libgcov.c:785: ICE: in
   |fold_convert, at fold-c |fold_convert, at fold-c
   |onst.c:2034 |onst.c:2034
   Target Milestone|--- |4.3.0


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



[Bug c++/30080] incorrect code generation, possibly related to casting/aliasing

2006-12-05 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-12-05 23:47 ---
This works with 4.3.0 20061116.

This might be a dup of bug 27768.


-- 


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



[Bug middle-end/30079] [4.3 regression] libgcov.c:785: ICE: in fold_convert, at fold-const.c:2034

2006-12-05 Thread danglin at gcc dot gnu dot org


--- Comment #1 from danglin at gcc dot gnu dot org  2006-12-05 23:51 ---
(gdb) r
Starting program: /test/gnu/gcc/objdir/gcc/cc1 -I. -I. -I../../gcc/gcc
-I../../gcc/gcc/. -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include
-I/opt/gnu/gcc/gcc-4.3.0/include -I/opt/gnu/gcc/gcc-4.3.0/include
-I../../gcc/gcc/../libdecnumber -I../libdecnumber -iprefix
/test/gnu/gcc/objdir/gcc/../lib/gcc/hppa2.0w-hp-hpux11.11/4.3.0/ -isystem
/test/gnu/gcc/objdir/./gcc/include -DIN_GCC -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -DL_gcov_execl -isystem
/opt/gnu/gcc/gcc-4.3.0/hppa2.0w-hp-hpux11.11/include -isystem
/opt/gnu/gcc/gcc-4.3.0/hppa2.0w-hp-hpux11.11/sys-include -isystem ./include
../../gcc/gcc/libgcov.c -dumpbase libgcov.c -auxbase-strip
libgcc/./_gcov_execl.o -g -g -O2 -O2 -O2 -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -version -fPIC
-o xxx.s
warning: The shared libraries were not privately mapped; setting a
breakpoint in a shared library will not work until you rerun the program.

Breakpoint 3 at 0xc1225928
Breakpoint 3 at 0x7af827cc
GNU C version 4.3.0 20061205 (experimental) (hppa2.0w-hp-hpux11.11)
compiled by GNU C version 3.4.5.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
options passed:  -I. -I. -I../../gcc/gcc -I../../gcc/gcc/.
 -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include
 -I/opt/gnu/gcc/gcc-4.3.0/include -I/opt/gnu/gcc/gcc-4.3.0/include
 -I../../gcc/gcc/../libdecnumber -I../libdecnumber -iprefix -isystem
 -DIN_GCC -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
 -DL_gcov_execl -isystem -isystem -isystem -auxbase-strip -g -g -O2 -O2 -O2
 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
 -Wold-style-definition -fPIC
options enabled:  -fPIC -falign-loops -fargument-alias -fbranch-count-reg
 -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
 -fcse-follow-jumps -fdefer-pop -fdelayed-branch
 -fdelete-null-pointer-checks -fearly-inlining
 -feliminate-unused-debug-types -femit-class-debug-always
 -fexpensive-optimizations -fforward-propagate -ffunction-cse -fgcse
 -fgcse-lm -fguess-branch-probability -fident -fif-conversion
 -fif-conversion2 -finline-functions-called-once -fipa-pure-const
 -fipa-reference -fipa-type-escape -fivopts -fkeep-static-consts
 -fleading-underscore -fmath-errno -fmerge-constants -fmove-loop-invariants
 -fomit-frame-pointer -foptimize-register-move -foptimize-sibling-calls
 -fpeephole -fpeephole2 -freg-struct-return -fregmove -freorder-blocks
 -freorder-functions -frerun-cse-after-loop -fsched-interblock -fsched-spec
 -fsched-stalled-insns-dep -fschedule-insns -fschedule-insns2 -fshow-column
 -fsplit-ivs-in-unroller -fstrict-aliasing -fthread-jumps
 -ftoplevel-reorder -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop
 -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre
 -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs
 -ftree-pre -ftree-salias -ftree-sink -ftree-sra -ftree-store-ccp
 -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
 -funit-at-a-time -fvar-tracking -fzero-initialized-in-bss -mbig-switch
 -mgas -mspace-regs
Compiler executable checksum: d96d42c0bbc6e1467c6cc67418a77345
 __gcov_position __gcov_is_error __gcov_rewrite __gcov_execl
Breakpoint 1, fancy_abort (file=0x9fd258 "../../gcc/gcc/fold-const.c",
line=2034, function=0x9fd3ec "fold_convert")
at ../../gcc/gcc/diagnostic.c:642
642   internal_error ("in %s, at %s:%d", function, trim_filename (file),
line);
(gdb) bt
#0  fancy_abort (file=0x9fd258 "../../gcc/gcc/fold-const.c", line=2034,
function=0x9fd3ec "fold_convert") at ../../gcc/gcc/diagnostic.c:642
#1  0x00326acc in fold_convert (type=0x7ae93360, arg=0x7ad661f8)
at ../../gcc/gcc/fold-const.c:2034
#2  0x005074c0 in hppa_gimplify_va_arg_expr (valist=0x7ad62528,
type=0x7adf9300, pre_p=0x7eff129c, post_p=0x7eff1420)
at ../../gcc/gcc/config/pa/pa.c:5899
#3  0x00233dfc in gimplify_va_arg_expr (expr_p=0x7aded83c, pre_p=0x7eff129c,
post_p=0x7eff1420) at ../../gcc/gcc/builtins.c:4565
#4  0x0019367c in gimplify_expr (expr_p=0x7aded83c, pre_p=0x7eff129c,
post_p=0x7eff1420, [EMAIL PROTECTED]: 0x166a20 ,
fallback=fb_rvalue) at ../../gcc/gcc/gimplify.c:5541
#5  0x00195dac in gimplify_expr (expr_p=0x7aded88c, pre_p=0x7eff129c,
post_p=0x7eff1420,
[EMAIL PROTECTED]: 0x165a20 ,
fallback=fb_rvalue) at ../../gcc/gcc/gimplify.c:5862
#6  0x0017c920 in gimplify_cond_expr (expr_p=0x7ad59458, pre_p=0x7eff129c,
fallback=fb_none) at ../../gcc/gcc/gimplify.c:2517
#7  0x001930a8 in gimplify_expr (expr_p=0x7ad59458, pre_p=0x7eff129c,
post_p=0x7eff12a0, [EMAIL PROTECTED]: 0x165bf8 ,
fallback=fb_none) at ../../gcc/gcc/gimplify.c:5471
#8  0x001883a8 in gimplify_stmt (stmt_p=0x7ad59458)
at ../../gcc/gcc/gimplify.c:4324
---Type  to continue, or q  to quit---
#9  0x0018

[Bug c++/30080] incorrect code generation, possibly related to casting/aliasing

2006-12-05 Thread irving at cs dot stanford dot edu


--- Comment #2 from irving at cs dot stanford dot edu  2006-12-05 23:54 
---
(In reply to comment #1)
> This works with 4.3.0 20061116.
> 
> This might be a dup of bug 27768.

27768 works fine for me (same options, or -O2).


-- 


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



[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol

2006-12-05 Thread hjl at lucon dot org


--- Comment #33 from hjl at lucon dot org  2006-12-05 23:58 ---
The updated patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00361.html


-- 


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



[Bug middle-end/30079] [4.3 regression] libgcov.c:785: ICE: in fold_convert, at fold-const.c:2034

2006-12-05 Thread danglin at gcc dot gnu dot org


--- Comment #2 from danglin at gcc dot gnu dot org  2006-12-06 00:01 ---
(gdb) p debug_tree (arg)
 
sizes-gimplified unsigned SI
size 
unit size 
align 32 symtab 21 alias set -1
pointer_to_this >
addressable used unsigned SI file ../../gcc/gcc/libgcov.c line 775 size
 unit size 
align 32 context 
chain 
addressable used unsigned SI file ../../gcc/gcc/libgcov.c line 775
size  unit size 
align 32 context  chain
>>
arg 1 

arg 0 
arg 0 
arg 1 >
arg 1 >>
$1 = void


-- 


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



[Bug middle-end/30079] [4.3 regression] libgcov.c:785: ICE: in fold_convert, at fold-const.c:2034

2006-12-05 Thread danglin at gcc dot gnu dot org


--- Comment #3 from danglin at gcc dot gnu dot org  2006-12-06 00:05 ---
2006-12-05  Aldy Hernandez  <[EMAIL PROTECTED]>

Merge from gimple-tuples-branch.

2006-12-04  Aldy Hernandez  <[EMAIL PROTECTED]>

* config/s390/s390.c (s390_va_start): Replace MODIFY_EXPR with
GIMPLE_MODIFY_STMT.
(s390_gimplify_va_arg): Same.
* config/sparc/sparc.c (sparc_gimplify_va_arg): Same.
* config/sh/sh.c (sh_va_start): Same.
(sh_gimplify_va_arg_expr): Same.
* config/xtensa/xtensa.c (xtensa_va_start): Same.
(xtensa_gimplify_va_arg_expr): Same.
* config/ia64/ia64.c (ia64_gimplify_va_arg): Same.
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Same.
* config/mips/mips.c (mips_va_start): Same.
(mips_gimplify_va_arg_expr): Same.


-- 


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



[Bug middle-end/30079] [4.3 regression] libgcov.c:785: ICE: in fold_convert, at fold-const.c:2034

2006-12-05 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-12-06 00:07 ---
  t = build2 (GIMPLE_MODIFY_STMT, valist_type, valist, t);

  ofs = (8 - size) % 4;
  if (ofs != 0)
{
  u = fold_convert (valist_type, size_int (ofs));
  t = build2 (PLUS_EXPR, valist_type, t, u);
}

  t = fold_convert (ptr, t);
  t = build_va_arg_indirect_ref (t);

So we are building (*(cast)(valist = t)) which we can no longer do as we are
using GIMPLE_MODIFY_STMT.


-- 


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



[Bug target/29599] [4.1/4.2/4.3 Regression] ICE when building the kernel on SH4

2006-12-05 Thread kkojima at gcc dot gnu dot org


--- Comment #2 from kkojima at gcc dot gnu dot org  2006-12-06 00:40 ---
I've looked at what is going on.  The variable "block" is
placed at sfp - 4 where sfp is the software frame pointer.
Then the expression (unsigned long) buf - 0x8000 is
sfp - 0x8000 - 4.  The cse pass folds the constant
part of this expression with simplify_const_binary_operation.
As simplify_const_binary_operation computes it as 64-bit
HOST_WIDE_INT constant and returns
gen_int_mode (- 0x8000 - 4, SImode).
Since gen_int_mode ( , SImode) truncates the constant to 32-bit,
it returns (const_int 2147483644 [0x7ffc]).
Thus cse makes a REG_EQUAL note below:

(insn 30 29 32 3 (set (reg:SI 168)
(plus:SI (reg/f:SI 159 [ buf.1 ])
(reg:SI 167))) 35 {*addsi3_compact} (nil)
(expr_list:REG_EQUAL (plus:SI (reg/f:SI 153 sfp)
(const_int 2147483644 [0x7ffc]))
(nil)))

When reloading, eliminate_regs_in_insn tries to replace sfp
with sp + 12 where sp is the hard stack pointer register
and changes the above insn 30 to the insns

(set (hard-reg:SI) (const_int 0x7ffc + 12))
(set (hard-reg':SI) (plus:SI (hard-reg:SI) (reg:SI sp)))

Since eliminate_regs_in_insn computes the constant offset
as HOST_WIDE_INT with ignoring the mode of destination,
the first insn of the insns is

(set (hard-reg:SI) (const_int 0x8008))

However, movsi_ie which is the constant load pattern of SH
checks it source with general_movsrc_operand which is
essentially general_operand predicate and 0x8008 is
out of range as a SImode constant.  Thus the above set insn
fails to be recognised.

I thought that if eliminate_regs_in_insn took account of
the mode of the destination, then it'll generate
(set (hard-reg:SI) (const_int 0x8008)) instead
of the above set insn.

--- ORIG/trunk/gcc/reload1.c2006-11-19 10:41:46.0 +0900
+++ LOCAL/trunk/gcc/reload1.c   2006-12-04 08:29:43.0 +0900
@@ -3093,7 +3093,15 @@ eliminate_regs_in_insn (rtx insn, int re
if (ep->from_rtx == reg && ep->can_eliminate)
  {
rtx to_rtx = ep->to_rtx;
+   unsigned int width = GET_MODE_BITSIZE (GET_MODE (reg));
+
offset += ep->offset;
+   if (width < HOST_BITS_PER_WIDE_INT)
+ {
+   offset &= ((HOST_WIDE_INT) 1 << width) - 1;
+   if (offset &  ((HOST_WIDE_INT) 1 << (width - 1)))
+ offset |= ((HOST_WIDE_INT) (-1) << width);
+ }

if (GET_CODE (XEXP (plus_cst_src, 0)) == SUBREG)
  to_rtx = gen_lowpart (GET_MODE (XEXP (plus_cst_src, 0)),

I'm not sure that this is in the right direction, and it
seems to be too invasive anyway.

SH target modifies the operands of move insns in
prepare_move_operands if needed.  I guess the it'd be
appropriate to handle this issue.  Here is a patch in
testing now:

--- ORIG/trunk/gcc/config/sh/sh.c   2006-12-03 10:58:32.0 +0900
+++ LOCAL/trunk/gcc/config/sh/sh.c  2006-12-04 22:57:42.0 +0900
@@ -1345,6 +1345,20 @@ prepare_move_operands (rtx operands[], e
}
 }

+  /* Reload might make move insn from const_int to a register of
+ which mode is narrower than HOST_WIDE_INT where the value of
+ const_int is out of range for that mode.  See PR 29599.  */
+  if (GET_MODE_BITSIZE (mode) < HOST_BITS_PER_WIDE_INT
+  && GET_CODE (operands[1]) == CONST_INT)
+{
+  unsigned int width = GET_MODE_BITSIZE (mode);
+  HOST_WIDE_INT val = INTVAL (operands[1]);
+
+  val &= ((HOST_WIDE_INT) 1 << width) - 1;
+  if (val & ((HOST_WIDE_INT) 1 << (width - 1)))
+   operands[1] = GEN_INT (((HOST_WIDE_INT) (-1) << width) | val);
+}
+
   return 0;
 }



-- 


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



[Bug c++/29728] [4.0/4.1/4.2 regression] ICE on invalid initializer in template function

2006-12-05 Thread mmitchel at gcc dot gnu dot org


--- Comment #4 from mmitchel at gcc dot gnu dot org  2006-12-06 01:46 
---
Subject: Bug 29728

Author: mmitchel
Date: Wed Dec  6 01:46:26 2006
New Revision: 119574

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119574
Log:
PR c++/29728
* decl.c (check_array_designated_initializer): New function.
(maybe_deduce_size_from_array_init): Use it.
(reshape_init_array): Likewise.
PR c++/29728
* g++.dg/template/crash62.C: New test.

Added:
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/template/crash62.C
Modified:
branches/gcc-4_2-branch/gcc/cp/ChangeLog
branches/gcc-4_2-branch/gcc/cp/decl.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/30075] Missed optimizations with -fwhole-program -combine

2006-12-05 Thread dberlin at dberlin dot org


--- Comment #3 from dberlin at gcc dot gnu dot org  2006-12-06 02:55 ---
Subject: Re:  Missed optimizations with -fwhole-program -combine

I would not expect this to be fixed anytime soon.  I have yet to find
any real people who use either combine or -fwhole-program.  They use
*way* too much memory on real programs.  As a result, no real people
involved in optimization work on optimizers for them.

On 5 Dec 2006 19:38:51 -, pinskia at gcc dot gnu dot org
<[EMAIL PROTECTED]> wrote:
>
>
> --
>


-- 


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



Re: [Bug middle-end/30075] Missed optimizations with -fwhole-program -combine

2006-12-05 Thread Daniel Berlin

I would not expect this to be fixed anytime soon.  I have yet to find
any real people who use either combine or -fwhole-program.  They use
*way* too much memory on real programs.  As a result, no real people
involved in optimization work on optimizers for them.

On 5 Dec 2006 19:38:51 -, pinskia at gcc dot gnu dot org
<[EMAIL PROTECTED]> wrote:



--



[Bug c/30072] Return type of implicitly declared functions

2006-12-05 Thread bhaskar dot priya at wipro dot com


--- Comment #4 from bhaskar dot priya at wipro dot com  2006-12-06 03:08 
---
The Bug was a mistake in the transformation engin we were using...

sorry for the bug report (it turned out to be False Positive)


sorry


-- 

bhaskar dot priya at wipro dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug libfortran/30014] INQUIRE (iolength = xx) limited to kind=4

2006-12-05 Thread jvdelisle at gcc dot gnu dot org


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-11-29 07:19:54 |2006-12-06 03:19:38
   date||


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



[Bug c/29172] --combine can't handle #pragma once

2006-12-05 Thread acahalan at gmail dot com


--- Comment #4 from acahalan at gmail dot com  2006-12-06 04:07 ---
(In reply to comment #3)
> (In reply to comment #2)
> > The compiler is failing to follow the documented behavior.
> Because I (or anyone else) have not got around to actually testing the 
> testcase
> :).

I still don't see how this is an enhancement.

The compiler is documented to behave one way. It does something else.
That's not "add my new pet feature". That's "you have a clear defect".
Supposedly gcc supports "#pragma once" (it seems to, and is documented
as such) and supposedly gcc supports "--combine" (it seems to, kind of,
aside from the many bugs, but at least this feature is documented).
Nothing says that these features cause each other to break horribly,
yet they do.


-- 


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



[Bug c++/29729] [4.0/4.1/4.2/4.3 regression] ICE with template class in template function

2006-12-05 Thread mmitchel at gcc dot gnu dot org


--- Comment #5 from mmitchel at gcc dot gnu dot org  2006-12-06 05:12 
---
Subject: Bug 29729

Author: mmitchel
Date: Wed Dec  6 05:12:46 2006
New Revision: 119575

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119575
Log:
PR c++/29729
* decl2.c (check_member_template): Move check for member
templates in local classes to ...
* parser.c (cp_parser_template_declaration_after_export):
... here.
PR c++/29729
* g++.dg/template/crash63.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/template/crash63.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl2.c
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol

2006-12-05 Thread mark at codesourcery dot com


--- Comment #34 from mark at codesourcery dot com  2006-12-06 06:44 ---
Subject: Re:  Can't use __attribute__ ((visibility ("hidden")))
 to hide a symbol

hjl at lucon dot org wrote:
> --- Comment #33 from hjl at lucon dot org  2006-12-05 23:58 ---
> The updated patch is posted at
> 
> http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00361.html

I don't see anything in your patch to replace the call to
process_pending_assemble_externals that you removed on platforms other
than the ones you changed.

Why can't you just let that function do its job, and emit the visibility
markers at that point?


-- 


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



[Bug middle-end/20218] Can't use __attribute__ ((visibility ("hidden"))) to hide a symbol

2006-12-05 Thread hjl at lucon dot org


--- Comment #35 from hjl at lucon dot org  2006-12-06 06:55 ---
(In reply to comment #34)
> Subject: Re:  Can't use __attribute__ ((visibility ("hidden")))
>  to hide a symbol
> 
> hjl at lucon dot org wrote:
> > --- Comment #33 from hjl at lucon dot org  2006-12-05 23:58 ---
> > The updated patch is posted at
> > 
> > http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00361.html
> 
> I don't see anything in your patch to replace the call to
> process_pending_assemble_externals that you removed on platforms other
> than the ones you changed.

I guess I should only remove it for ELF. Can I use

#ifndef OBJECT_FORMAT_ELF
  process_pending_assemble_externals ();
#endif

instead of deleting it?

> 
> Why can't you just let that function do its job, and emit the visibility
> markers at that point?
> 

The problem is we don't know if a symbol is referenced or not at that time.
We don't want to generate

  .hidden foo

just because there is

extern int foo __attribute__ ((visibility ("hidden")));

We should mark it hidden only if it is referenced.


-- 


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



[Bug fortran/30068] Ambigous interfaces not detected

2006-12-05 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2006-12-06 07:24 ---
That the ambiguity in BAD8 is not detected is a regression; with 4.1 and
yesterday's 4.2 I get:

Error: Ambiguous interfaces 's8b' and 's8a' in generic interface 'bad8' at (1)

I didn't check whether this is due to your just submitted patch, which I have
applied locally, or is something older.


-- 


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