[Bug c++/30144] New: Wrong base member lookup in template.

2006-12-11 Thread s__nakayama at infoseek dot jp
g++ rejects following code.

templateclass T struct B
{
  void foo() { }
};

template class T struct D: Bint,BT
{
  void bar() { foo(); } // call Bint::foo()
};

int main()
{
  Dvoid x;
  x.bar();
  return 0;
}

---
$ gcc cc.cpp
cc.cpp: In member function 'void DT::bar() [with T = void]':
cc.cpp:14:   instantiated from here
cc.cpp:8: error: request for member 'foo' is ambiguous
cc.cpp:3: error: candidates are: void BT::foo() [with T = void]
cc.cpp:3: error: void BT::foo() [with T = int]


-- 
   Summary: Wrong base member lookup in template.
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: s__nakayama at infoseek dot jp


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



gcc 3.4.5 bug

2006-12-11 Thread XXX XXX
Dear Sirs,

I use gcc 3.4.5 and received following incorrect result in the program.
On the gcc site exist report about incorrect behavior of ++ operator but not 
this situation. I hope that it will be usefull.

I have developed some stupid code to show the problem:

#include stdio.h

void upcase(char* str) {
size_t len;

len = strlen(str);
while(len--  0 )
*str++ = toupper(*str);

}

int main(int argc, char** argv) {
  char buf[1000];

  scanf(%s,buf); 
  upcase(buf);
  printf(\n%s,buf);

}


Compile: gcc -o test.exe -O2 tcode.c


Problem:
Without optimization such chunk of code is working fine, but with O2 
optimization,
I have incorrect result due to gcc incremented esi earlier than read data and 
as 
the result - the first letter is lost.

 DISASM -
 mov ebx, esi
 inc esi
 movsx   eax, byte ptr [esi]
 mov [esp+18h+var_18], eax
 calltoupper
 mov [ebx], al
 DISASM -

Best Regards,
crow16384




[Bug c++/30144] Wrong base member lookup in template.

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-12-11 08:09 ---


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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/15272] lookup, dependent base

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


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-12-11 08:09 ---
*** Bug 30144 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||s__nakayama at infoseek dot
   ||jp


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



Re: gcc 3.4.5 bug

2006-12-11 Thread Andrew Pinski
On Mon, 2006-12-11 at 11:06 +0300, XXX XXX wrote:
 Dear Sirs,
 
 I use gcc 3.4.5 and received following incorrect result in the program.
 On the gcc site exist report about incorrect behavior of ++ operator but not 
 this situation. I hope that it will be usefull.
 
 I have developed some stupid code to show the problem:


   *str++ = toupper(*str);

This is not a bug.  

Please read:
http://gcc.gnu.org/bugs.html#nonbugs_c

Increment/decrement operator (++/--) not working as expected - a problem
with many variations.

The following expressions have unpredictable results:

x[i]=++i
foo(i,++i)
i*(++i) /* special case with foo==operator* */
std::cout  i  ++i   /* foo(foo(std::cout,i),++i)  */

since the i without increment can be evaluated before or after
++i.

The C and C++ standards have the notion of sequence points.
Everything that happens between two sequence points happens in
an unspecified order, but it has to happen after the first and
before the second sequence point. The end of a statement and a
function call are examples for sequence points, whereas
assignments and the comma between function arguments are not.

Modifying a value twice between two sequence points as shown in
the following examples is even worse:

i=++i
foo(++i,++i)
(++i)*(++i)   /* special case with foo==operator* 
*/
std::cout  ++i  ++i   /* foo(foo(std::cout,++i),++i)
*/

This leads to undefined behavior (i.e. the compiler can do
anything).


--Pinski



[Bug c++/30139] overflow warning for unevaluated part of expression

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-12-11 08:20 ---
I think the C front-end is incorrect in not warning, though someone has to look
into the standard to be sure.


-- 


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



[Bug fortran/29975] [meta-bugs] [4.1 and 4.2 only] ICEs with CP2K

2006-12-11 Thread jv244 at cam dot ac dot uk


--- Comment #30 from jv244 at cam dot ac dot uk  2006-12-11 09:51 ---
(In reply to comment #29)

simple testcase for the segfault:

SUBROUTINE S(unit_number)
character(len=100) :: status_string
integer :: unit_number,istat
status_string=KEEP
CLOSE (UNIT=unit_number,IOSTAT=istat,STATUS=TRIM(status_string))
END SUBROUTINE

INTEGER :: unit_number
unit_number=100
OPEN(unit_number)
CALL S(unit_number)
END


-- 


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



[Bug fortran/29975] [meta-bugs] [4.1 and 4.2 only] ICEs with CP2K

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


--- Comment #31 from burnus at gcc dot gnu dot org  2006-12-11 10:07 ---
  gcc version 4.3.0 20061210 (experimental)
 simple testcase for the segfault:
I tried it with gfortran 4.3 and 4.2 (today's build) and an older 4.1 build and
neither crashes. valgrind also shows no error.

The original program gives here:
    **  **  PROGRAM ENDED AT 20061211
110945.641
i.e. it also seems to work.


-- 


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



[Bug tree-optimization/30126] [4.3 Regression] ICE genautomata.c:6060

2006-12-11 Thread bkoz at gcc dot gnu dot org


-- 

bkoz at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |blocker


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



[Bug fortran/29975] [meta-bugs] [4.1 and 4.2 only] ICEs with CP2K

2006-12-11 Thread jv244 at cam dot ac dot uk


--- Comment #32 from jv244 at cam dot ac dot uk  2006-12-11 11:29 ---
(In reply to comment #31)
   gcc version 4.3.0 20061210 (experimental)
  simple testcase for the segfault:
 I tried it with gfortran 4.3 and 4.2 (today's build) and an older 4.1 build 
 and
 neither crashes. valgrind also shows no error.


OK, latest svn and a build from scratch resolved that segfault. Could there be
something wrong with the gcc build system ?


-- 


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



[Bug fortran/29975] [meta-bugs] [4.1 and 4.2 only] ICEs with CP2K

2006-12-11 Thread jv244 at cam dot ac dot uk


--- Comment #33 from jv244 at cam dot ac dot uk  2006-12-11 11:54 ---
Running the CP2K regtests now results in:
number of FAILED  tests 24
(these are just the runs that do not complete, I have not checked that the runs
that finish also generate the right numbers. This can be reproduced using the 
do_regtest script mentioned in the initial description). Just for future
reference the current failures are:

 1 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/QS/regtest-gpw-2/H2-vib.inp.out
 2 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/QS/regtest-gpw-2/H2O-meta_res1.inp.out
 3 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/QS/regtest-gpw-2/H2O-meta_res2.inp.out
 4 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/QS/regtest-gpw-2/H2O-meta_res3.inp.out
 5 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/QS/regtest-gpw-3/H2O-langevin-2.inp.out
 6 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/water_1_res_3.inp.out
 7 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/H2O-32_SPME_res_4.inp.out
 8 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/H2O-32_NPT_res_2.inp.out
 9 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/H2O-32_NPT_res_3.inp.out
10 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/H2O-32_NPT_res_4.inp.out
11 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/silicon_cluster_3.inp.out
12 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/silicon_cluster_4.inp.out
13 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/silicon_cluster_5.inp.out
14 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/silicon_cluster_6.inp.out
15 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/QS/regtest-ot-1/H2O-OT-ASPC-6.inp.out
16 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/QMMM/QS/regtest-3/C4H10-qmmm-gauss-7.inp.out
17 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/wat_freq.inp.out
18 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/wat_freq_norot.inp.out
19 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Fist/regtest/wat_freq_freeze.inp.out
20 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/QMMM/QS/regtest-3/C4H10-qmmm-grid-8.inp.out
21 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/EP/Ar-ep.inp.out
22 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/EP/Ar2.inp.out
23 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/EP/3H2O-ep.inp.out
24 
/scratch/vondele/clean/TEST-Linux-x86-64-gfortran-sdbg-2006-12-11T12:27:29+0100/Pimd/h2o_pint.inp.out


Some of them seem to be caused by the same issue, but there is a number of
distinct problems.


-- 


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



[Bug middle-end/28752] bootstrap comparision fails with -ftree-vectorize -maltivec on ppc and i386

2006-12-11 Thread irar at il dot ibm dot com


--- Comment #32 from irar at il dot ibm dot com  2006-12-11 12:46 ---
I am attaching the bad rs6000.s (generated with vectorization) and good
rs6000.s (generated with vectorization and -fno-move-loop-invariants) using
revision 110852 (from February 2006). I looked over these a bit, but I wouldn't
like to hunt down a bug that had since been solved, so I think I'll switch to
looking into more recent snapshots. 

Ira


-- 


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



[Bug fortran/30145] New: Print/write

2006-12-11 Thread pmason at ricardo dot com



-- 
   Summary: Print/write
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pmason at ricardo dot com
 GCC build triplet: gcc version 4.3.0 20061211 (experimental)
  GCC host triplet: suse9 (x86_64)
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug middle-end/28752] bootstrap comparision fails with -ftree-vectorize -maltivec on ppc and i386

2006-12-11 Thread irar at il dot ibm dot com


--- Comment #33 from irar at il dot ibm dot com  2006-12-11 12:57 ---
Created an attachment (id=12779)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12779action=view)
Bad rs6000.s 


-- 


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



[Bug fortran/30145] Print/write

2006-12-11 Thread pmason at ricardo dot com


--- Comment #1 from pmason at ricardo dot com  2006-12-11 12:58 ---
Created an attachment (id=12780)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12780action=view)
Fortran 90 testcase for zero-sized array printing.


-- 


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



[Bug middle-end/28752] bootstrap comparision fails with -ftree-vectorize -maltivec on ppc and i386

2006-12-11 Thread irar at il dot ibm dot com


--- Comment #34 from irar at il dot ibm dot com  2006-12-11 13:02 ---
Created an attachment (id=12781)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12781action=view)
Good rs6000.s


-- 


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



[Bug fortran/30145] Fortran 90: write statement fails to ignore zero-sized array...

2006-12-11 Thread pmason at ricardo dot com


--- Comment #2 from pmason at ricardo dot com  2006-12-11 13:05 ---
Write statement (fortran90) fails to ignore zero-sized array when
bounds on array are variable. Please see zeros.f90 file attached.
This was compiled as gfortran zeros.f90 on suse9 (x86_64) box
using version 4.3.0 20061211 (experimental).


-- 

pmason at ricardo dot com changed:

   What|Removed |Added

Summary|Print/write |Fortran 90: write statement
   ||fails to ignore zero-sized
   ||array...


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



[Bug libstdc++/30127] std::has_facet returns true for not installed derived facets

2006-12-11 Thread bkoz at gcc dot gnu dot org


--- Comment #1 from bkoz at gcc dot gnu dot org  2006-12-11 13:49 ---

Mine.


-- 

bkoz at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |bkoz at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-12-11 13:49:33
   date||


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



[Bug libstdc++/28265] iconv-related errors while building a cross-compiler for MinGW

2006-12-11 Thread bkoz at gcc dot gnu dot org


--- Comment #2 from bkoz at gcc dot gnu dot org  2006-12-11 13:56 ---

Hey Ranjit. It looks like this error is from extc++.h.gch, the precompiled
header for libstdc++ that includes std/tr1/ext. 

From the file libstdc++-v3/include/ext/codecvt_specializations.h:

#ifndef _EXT_CODECVT_SPECIALIZATIONS_H
#define _EXT_CODECVT_SPECIALIZATIONS_H 1

#include bits/c++config.h

#ifdef _GLIBCXX_USE_ICONV

#include locale
#include iconv.h

...

So, I would think this would pick up iconv_t. If not, what include is needed?

best,benjamin


-- 


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



[Bug fortran/30146] New: Redefining do-variable in excecution cycle

2006-12-11 Thread burnus at gcc dot gnu dot org
I think the following program is wrong as one uses a passes a do variable to an
intent(inout) (or intent(out) subroutine).

However, neither g95, sunf95 nor NAG f95 complain at compile time. Using nagf95
-C=all I get at run time:
Actual argument for INTENT(INOUT) dummy argument I is an expression
(I get this whether or not I set i in the suboutine.)

Am I missing something?

From the standard (8.1.6.4.2 The execution cycle):
Except for the incrementation of the DO variable that occurs in step (3), the
DO variable shall neither be redefined nor become undefined while the DO
construct is active.

Once could implement this by setting a flag to the do-variable on for the
excecution cycle, and removing the flag on exit. Then one could check the
result in resolve.c. Or look at gfc_check_do_variable in parse.c.


I don't know whether the output should be a warning or an error, but the
following program runs 2 4 6 with nagf95, ifort and sunf95, 2 4 6 8 10 with
g95 and 2 4 ... 142434 ... with gfortran.


program main
  implicit none
  integer :: i
  do i  = 1,5,1
call mysub(i)
print *, i
  end do
contains
  subroutine mysub(i)
   integer,intent(inout) :: i
   i = i + 1
  end subroutine mysub
end program main


-- 
   Summary: Redefining do-variable in excecution cycle
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: enhancement
  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=30146



[Bug target/30120] [4.3 Regression] silent miscompilation of argument passing

2006-12-11 Thread uros at gcc dot gnu dot org


--- Comment #4 from uros at gcc dot gnu dot org  2006-12-11 14:06 ---
Subject: Bug 30120

Author: uros
Date: Mon Dec 11 14:06:07 2006
New Revision: 119734

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119734
Log:
PR target/30120
Revert:
2006-11-15  Uros Bizjak  [EMAIL PROTECTED]

* config/i386/i386.opt: New target option -mx87regparm.

* config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
float_in_x87: Add new variables. mmx_words, sse_words: Remove.
(X87_REGPARM_MAX): Define.

* config/i386/i386.c (override_options): Error out for
-mx87regparm but no 80387 support.
(ix86_attribute_table): Add x87regparm.
(ix86_handle_cconv_attribute): Update comments for x87regparm.
(ix86_comp_type_attributes): Check for mismatched x87regparm types.
(ix86_function_x87regparm): New function.
(ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
point registers.
(init_cumulative_args): Initialize x87_nregs and float_in_x87
variables.
(function_arg_advance): Process x87_nregs and x87_regno when
floating point argument is to be passed in 80387 register.
(function_arg): Pass XFmode arguments in 80387 registers for local
functions.  Pass SFmode and DFmode arguments to local functions
in 80387 registers when flag_unsafe_math_optimizations is set.

* reg-stack.c (convert_regs_entry): Disable NaN load for
stack registers that are used for argument passing.

* doc/extend.texi: Document x87regparm function attribute.
* doc/invoke.texi: Document -mx87regparm.

testsuite/ChangeLog:

PR target/30120
* gcc.target/i386/pr30120.c: New test.

Revert:
2006-11-15  Uros Bizjak  [EMAIL PROTECTED]

* gcc.target/i386/x87regparm-1.c: New test.
* gcc.target/i386/x87regparm-2.c: New test.
* gcc.target/i386/x87regparm-3.c: New test.
* gcc.target/i386/x87regparm-4.c: New test.


Added:
trunk/gcc/testsuite/gcc.target/i386/pr30120.c
Removed:
trunk/gcc/testsuite/gcc.target/i386/x87regparm-1.c
trunk/gcc/testsuite/gcc.target/i386/x87regparm-2.c
trunk/gcc/testsuite/gcc.target/i386/x87regparm-3.c
trunk/gcc/testsuite/gcc.target/i386/x87regparm-4.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.h
trunk/gcc/config/i386/i386.opt
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/reg-stack.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/24525] g++ fails to warn when converting UDT through double to int

2006-12-11 Thread georgeh at rentec dot com


--- Comment #3 from georgeh at rentec dot com  2006-12-11 14:34 ---
(In reply to comment #2)

 Is this what you wished?
 

Yes.


-- 

georgeh at rentec dot com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED


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



[Bug middle-end/30147] New: [regression 4.3] ICE in fold_convert with -O2

2006-12-11 Thread burnus at gcc dot gnu dot org
Today's gfortran crashes with -c -O2 for the program below.
It works with today's 4.2.0 and with -O.

I don't see right away whether this is a middle end or middle-end triggered
front-end problem.

input_cp2k_motion2.f90: In function 'create_neb_section':
input_cp2k_motion2.f90:12: internal compiler error: in fold_convert, at
fold-const.c:2150


MODULE input_cp2k_motion
  IMPLICIT NONE
  interface
SUBROUTINE keyword_create(variants)
  CHARACTER(len=*), DIMENSION(:), 
  INTENT(in)   :: variants
end subroutine
  end interface
CONTAINS
  SUBROUTINE create_neb_section()
CALL keyword_create(variants=(/K/))
  END SUBROUTINE create_neb_section
END MODULE input_cp2k_motion


-- 
   Summary: [regression 4.3] ICE in fold_convert with -O2
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: middle-end
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=30147



[Bug fortran/29975] [meta-bugs] [4.1 and 4.2 only] ICEs with CP2K

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


--- Comment #34 from burnus at gcc dot gnu dot org  2006-12-11 15:56 ---
CP2k actually gives here an ICE with -O2 (PR 30147)
at least when I use ./do_regtest (otherwise I didn't saw it). I did not yet
look at why the calculation results are wrong.


-- 


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



[Bug fortran/29975] [meta-bugs] [4.1 and 4.2 only] ICEs with CP2K

2006-12-11 Thread jv244 at cam dot ac dot uk


--- Comment #35 from jv244 at cam dot ac dot uk  2006-12-11 16:08 ---
(In reply to comment #34)
 CP2k actually gives here an ICE with -O2 (PR 30147)
 at least when I use ./do_regtest (otherwise I didn't saw it). I did not yet
 look at why the calculation results are wrong.
 

yes, I'm currently also getting this

gfortran -c -O3 -ftree-vectorize -ffast-math -march=opteron
input_cp2k_motion.f90
input_cp2k_motion.f90: In function ‘create_neb_section’:
input_cp2k_motion.f90:3122: internal compiler error: in fold_convert, at
fold-const.c:2150

in fact, this is on a file added to the CP2K CVS repo 2 days ago, so it is not
yet part of the gzip'ed file that I provided for the initial report. That one
compiles OK at -O2. 


-- 


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



[Bug middle-end/30147] [regression 4.3] ICE in fold_convert with -O2

2006-12-11 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-12-11 16:19 ---
#2  0x007395cf in fold_read_from_constant_string (exp=0x2ab7c225bd00)
at /space/rguenther/src/svn/trunk/gcc/fold-const.c:12854
12854   return fold_convert (TREE_TYPE (exp),
(gdb) call debug_generic_expr (exp) 
*(charD.21[1:1] *) K

#1  0x006c380a in fold_convert (type=0x2ab7c224f000, 
arg=0x2ab7c2260ae0) at /space/rguenther/src/svn/trunk/gcc/fold-const.c:2150
2150  gcc_unreachable ();
(gdb) call debug_generic_expr (type)
charD.21[1:1]
(gdb) call debug_generic_expr (arg) 
75

fold_convert does not know how to fold to char[1:1].


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-12-11 16:19:11
   date||


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



[Bug middle-end/30147] [regression 4.3] ICE in fold_convert with -O2

2006-12-11 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-12-11 16:25 ---
This fixes it:

Index: fold-const.c
===
*** fold-const.c(revision 119733)
--- fold-const.c(working copy)
*** fold_unary_to_constant (enum tree_code c
*** 12726,12732 
  tree
  fold_read_from_constant_string (tree exp)
  {
!   if (TREE_CODE (exp) == INDIRECT_REF || TREE_CODE (exp) == ARRAY_REF)
  {
tree exp1 = TREE_OPERAND (exp, 0);
tree index;
--- 12817,12825 
  tree
  fold_read_from_constant_string (tree exp)
  {
!   if ((TREE_CODE (exp) == INDIRECT_REF
!|| TREE_CODE (exp) == ARRAY_REF)
!!AGGREGATE_TYPE_P (TREE_TYPE (exp)))
  {
tree exp1 = TREE_OPERAND (exp, 0);
tree index;


-- 


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



[Bug middle-end/30147] [4.3 Regression] ICE in fold_convert with -O2

2006-12-11 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[regression 4.3] ICE in |[4.3 Regression] ICE in
   |fold_convert with -O2   |fold_convert with -O2
   Target Milestone|--- |4.3.0


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



[Bug libstdc++/28125] Cannot build cross compiler for Solaris: configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES

2006-12-11 Thread bkoz at gcc dot gnu dot org


-- 

bkoz at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |bkoz at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-12-11 16:52:38
   date||


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



[Bug libstdc++/28265] iconv-related errors while building a cross-compiler for MinGW

2006-12-11 Thread bkoz at gcc dot gnu dot org


--- Comment #3 from bkoz at gcc dot gnu dot org  2006-12-11 16:53 ---
Created an attachment (id=12782)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12782action=view)
Patch to remove AC_CHECK_LIB.


-- 


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



[Bug c/30148] New: parameter passing bug

2006-12-11 Thread gcc-bugzilla at gcc dot gnu dot org

The following code tests that values are passed correctly from a
call to a function. This fails, when the followign code is
compiled with -O2 and executed:

foo: foo.c:65: callee_b0f: Assertion `b14.b3 == b20.b3' failed.

The code below is automatically generated explicitly to test for
parameter-passing bugs. Since the pre-processed code below might be
hard to understand, here is the orginal code as well.

/* These macros are defined in Lua string Quest.header, which may be
 * re-defined from the quest command line or in file quest.lua. 
 */
#ifndef QUEST_FAILED
#include assert.h
#define QUEST_ASSERT(x) assert(x)
#else
#define QUEST_ASSERT(x) if (!(x)) failed(__LINE__)
#endif

#include stdarg.h

extern int printf(char *, ...);
static int errors = 0;
static void failed(int line)
{  printf(failed in %s: %d\n, __FILE__, line); errors++; }
static union bt7 { unsigned long int b10; double *b11; } b12 = {1989374529UL};
static
struct bt5 { unsigned int *b7; unsigned int b8; signed b9:10; } b17
= {(unsigned int *) 229073790U, 777271108U, 408};
static union bt6 {  } b18 = {};
static union bt0 {  } b13 = {};
static
struct bt3
{
float b3;
struct bt1 { short int b0; signed b1:2; } b4;
struct bt2 { float b2; } b5;
}
b14
= {10569.23, {17187, 1}, {45076.89}};
static union bt4 { double b6; } b15 = {92314.64};
static double b16 = 89201.46;
union bt7  callee_b0f(struct bt5 bp2, union bt6 bp3, ...)
{
va_list ap;
typedef union bt0 bd0;
typedef struct bt3 bd1;
typedef union bt4 bd2;
typedef double bd3;
bd0 b19;
bd1 b20;
bd2 b21;
bd3 b22;

/* seed: 4346181125667919790 */
va_start(ap, bp3);
QUEST_ASSERT(b17.b7 == bp2.b7);
QUEST_ASSERT(b17.b8 == bp2.b8);
QUEST_ASSERT(b17.b9 == bp2.b9);
b19 = va_arg(ap, bd0);
b20 = va_arg(ap, bd1);
b21 = va_arg(ap, bd2);
b22 = va_arg(ap, bd3);
QUEST_ASSERT(b14.b3 == b20.b3);
QUEST_ASSERT(b14.b4.b0 == b20.b4.b0);
QUEST_ASSERT(b14.b4.b1 == b20.b4.b1);
QUEST_ASSERT(b14.b5.b2 == b20.b5.b2);
QUEST_ASSERT(b15.b6 == b21.b6);
QUEST_ASSERT(b16 == b22);
va_end(ap);
return b12;
}
static void caller_b1f()
{
union bt7 b23; 
/* seed: 4346181125667919790 */
b23 = callee_b0f(b17, b18, b13, b14, b15, b16);
QUEST_ASSERT(b12.b10 == b23.b10);
}
int main(int argc, char **argv) {  caller_b1f(); return errors; }

Below is the pre-processed code:


# 1 foo.c
# 1 built-in
# 1 command line
# 1 foo.c
# 15 foo.c
# 1 /usr/include/assert.h 1 3 4
# 36 /usr/include/assert.h 3 4
# 1 /usr/include/features.h 1 3 4
# 308 /usr/include/features.h 3 4
# 1 /usr/include/sys/cdefs.h 1 3 4
# 309 /usr/include/features.h 2 3 4
# 331 /usr/include/features.h 3 4
# 1 /usr/include/gnu/stubs.h 1 3 4
# 332 /usr/include/features.h 2 3 4
# 37 /usr/include/assert.h 2 3 4
# 67 /usr/include/assert.h 3 4



extern void __assert_fail (__const char *__assertion, __const char *__file,
  unsigned int __line, __const char *__function)
 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));


extern void __assert_perror_fail (int __errnum, __const char *__file,
  unsigned int __line,
  __const char *__function)
 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));




extern void __assert (const char *__assertion, const char *__file, int __line)
 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));



# 16 foo.c 2





# 1 /usr/lib/gcc/x86_64-linux-gnu/4.1.2/include/stdarg.h 1 3 4
# 43 /usr/lib/gcc/x86_64-linux-gnu/4.1.2/include/stdarg.h 3 4
typedef __builtin_va_list __gnuc_va_list;
# 105 /usr/lib/gcc/x86_64-linux-gnu/4.1.2/include/stdarg.h 3 4
typedef __gnuc_va_list va_list;
# 22 foo.c 2

extern int printf(char *, ...);
static int errors = 0;
static void failed(int line)
{ printf(failed in %s: %d\n, foo.c, line); errors++; }
static union bt7 { unsigned long int b10; double *b11; } b12 = {1989374529UL};
static
struct bt5 { unsigned int *b7; unsigned int b8; signed b9:10; } b17
= {(unsigned int *) 229073790U, 777271108U, 408};
static union bt6 { } b18 = {};
static union bt0 { } b13 = {};
static
struct bt3
{
float b3;
struct bt1 { short int b0; signed b1:2; } b4;
struct bt2 { float b2; } b5;
}
b14
= {10569.23, {17187, 1}, {45076.89}};
static union bt4 { double b6; } b15 = {92314.64};
static double b16 = 89201.46;
union bt7 callee_b0f(struct bt5 bp2, union bt6 bp3, ...)
{
va_list ap;
typedef union bt0 bd0;
typedef struct bt3 bd1;
typedef union bt4 bd2;
typedef double bd3;
bd0 b19;
bd1 b20;
bd2 b21;
bd3 b22;


__builtin_va_start(ap,bp3);
((void) ((b17.b7 == bp2.b7) ? 0 : (__assert_fail (b17.b7 == bp2.b7,
foo.c, 58, __PRETTY_FUNCTION__), 0)));
((void) ((b17.b8 == bp2.b8) ? 0 : (__assert_fail (b17.b8 == bp2.b8,
foo.c, 59, __PRETTY_FUNCTION__), 0)));
((void) ((b17.b9 == bp2.b9) ? 0 : (__assert_fail (b17.b9 == 

[Bug libstdc++/28125] Cannot build cross compiler for Solaris: configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES

2006-12-11 Thread bkoz at gcc dot gnu dot org


--- Comment #4 from bkoz at gcc dot gnu dot org  2006-12-11 16:55 ---
Created an attachment (id=12783)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12783action=view)
Patch to remove AC_CHECK_LIB.


-- 


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



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

2006-12-11 Thread hjl at lucon dot org


--- Comment #44 from hjl at lucon dot org  2006-12-11 17:04 ---
This patch

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

doesn't cause any regressions on AIX nor HPUX:

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


-- 


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



[Bug middle-end/30149] New: tree-cfg.c:1924: ICE: in cse_find_path, at cse.c:5930

2006-12-11 Thread danglin at gcc dot gnu dot org
/home/dave/gcc-4.3/objdir/./prev-gcc/xgcc
-B/home/dave/gcc-4.3/objdir/./prev-gcc
/ -B/home/dave/opt/gnu/gcc/gcc-4.3.0/hppa-linux/bin/ -c   -g -O2 -DIN_GCC   -W
-
Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
-Wno-lon
g-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition
-Wmis
sing-format-attribute -Werror -fno-common   -DHAVE_CONFIG_H -I. -I.
-I../../gcc/
gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include
-I../../gcc/gcc/../libcpp/inclu
de  -I../../gcc/gcc/../libdecnumber -I../libdecnumber   
../../gcc/gcc/tree-eh.c
 -o tree-eh.o
../../gcc/gcc/tree-cfg.c: In function 'remove_useless_stmts_1':
../../gcc/gcc/tree-cfg.c:1924: internal compiler error: in cse_find_path, at
cse
.c:5930

#0  fancy_abort (file=0xa79740 ../../gcc/gcc/cse.c, line=5930,
function=0xa79834 cse_find_path) at ../../gcc/gcc/diagnostic.c:642
#1  0x0036985c in cse_find_path (first_bb=0x40ff1cf0, data=0xc01ddfdc,
follow_jumps=1) at ../../gcc/gcc/cse.c:5930
#2  0x0036a964 in cse_main (f=0x40d7d660, nregs=685)
at ../../gcc/gcc/cse.c:6209
#3  0x0036cbe8 in rest_of_handle_cse () at ../../gcc/gcc/cse.c:6967
#4  0x00768fe4 in execute_one_pass (pass=0xb09e70)
at ../../gcc/gcc/passes.c:858
#5  0x00769200 in execute_pass_list (pass=0xb09e70)
at ../../gcc/gcc/passes.c:902
#6  0x00769234 in execute_pass_list (pass=0xb0b14c)
at ../../gcc/gcc/passes.c:903
#7  0x00172800 in tree_rest_of_compilation (fndecl=0x409aeaf0)
at ../../gcc/gcc/tree-optimize.c:463
#8  0x0004d2cc in c_expand_body (fndecl=0x409aeaf0)
at ../../gcc/gcc/c-decl.c:6855
#9  0x00801f84 in cgraph_expand_function (node=0x40cba180)
at ../../gcc/gcc/cgraphunit.c:1096
#10 0x0080232c in cgraph_expand_all_functions ()
at ../../gcc/gcc/cgraphunit.c:1161
#11 0x008032fc in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1440
#12 0x00051428 in c_write_global_declarations () at ../../gcc/gcc/c-decl.c:7968
---Type return to continue, or q return to quit---
#13 0x006d9dc4 in compile_file () at ../../gcc/gcc/toplev.c:1040
#14 0x006dc8a0 in do_compile () at ../../gcc/gcc/toplev.c:2089
#15 0x006dc94c in toplev_main (argc=39, argv=0xc01dd760)
at ../../gcc/gcc/toplev.c:2121
#16 0x00123930 in main (argc=39, argv=0xc01dd760) at ../../gcc/gcc/main.c:35

Looks to be the same problem as reported on gcc list for mipsel-linux.


-- 
   Summary: tree-cfg.c:1924: ICE: in cse_find_path, at cse.c:5930
   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-unknown-linux-gnu
  GCC host triplet: hppa-unknown-linux-gnu
GCC target triplet: hppa-unknown-linux-gnu


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



[Bug tree-optimization/30126] [4.3 Regression] ICE genautomata.c:6060

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


--- Comment #9 from pinskia at gcc dot gnu dot org  2006-12-11 18:00 ---
still reducing it, I have it down to 8521 lines.


-- 


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



[Bug libstdc++/11953] _REENTRANT defined when compiling non-threaded code.

2006-12-11 Thread dberlin at gcc dot gnu dot org


--- Comment #42 from dberlin at gcc dot gnu dot org  2006-12-11 18:13 
---
This bug (against the regular development branches) should not be marked fixed
simply because a patch was applied to the redhat branch.

Either it needs to go into mainline 4.1, or the bug needs to be closed in some
other manner.

I am simply reopening it because it looks like it hasn't actually been
resolved.

I have no opinion on any of the actual issues involved :)


-- 

dberlin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


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



[Bug middle-end/30149] tree-cfg.c:1924: ICE: in cse_find_path, at cse.c:5930

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


--- Comment #1 from danglin at gcc dot gnu dot org  2006-12-11 18:17 ---
Created an attachment (id=12784)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12784action=view)
Preprocessed source


-- 


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



[Bug middle-end/30149] [4.3 Regression] tree-cfg.c:1924: ICE: in cse_find_path, at cse.c:5930

2006-12-11 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=30149



[Bug middle-end/30149] [4.3 Regression] tree-cfg.c:1924: ICE: in cse_find_path, at cse.c:5930

2006-12-11 Thread steven at gcc dot gnu dot org


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |steven at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-12-11 18:36:46
   date||


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



[Bug middle-end/30151] New: /usr/ccs/bin/ld: Duplicate symbol global destructors keyed to _ZNSt3tr112_GLOBA L__N_16ignoreE

2006-12-11 Thread danglin at gcc dot gnu dot org
Executing on host: /xxx/gnu/gcc/objdir/./gcc/g++ -shared-libgcc
-B/xxx/gnu/gcc/o
bjdir/./gcc -nostdinc++
-L/xxx/gnu/gcc/objdir/hppa1.1-hp-hpux10.20/libstdc++-v3/
src -L/xxx/gnu/gcc/objdir/hppa1.1-hp-hpux10.20/libstdc++-v3/src/.libs
-B/opt/gnu
/gcc/gcc-4.3.0/hppa1.1-hp-hpux10.20/bin/
-B/opt/gnu/gcc/gcc-4.3.0/hppa1.1-hp-hpu
x10.20/lib/ -isystem /opt/gnu/gcc/gcc-4.3.0/hppa1.1-hp-hpux10.20/include
-isyste
m /opt/gnu/gcc/gcc-4.3.0/hppa1.1-hp-hpux10.20/sys-include -g -O2
-D_GLIBCXX_ASSE
RT -fmessage-length=0 -g -O2 -DLOCALEDIR=. -nostdinc++
-I/xxx/gnu/gcc/objdir/h
ppa1.1-hp-hpux10.20/libstdc++-v3/include/hppa1.1-hp-hpux10.20
-I/xxx/gnu/gcc/obj
dir/hppa1.1-hp-hpux10.20/libstdc++-v3/include
-I/xxx/gnu/gcc/gcc/libstdc++-v3/li
bsupc++ -I/xxx/gnu/gcc/gcc/libstdc++-v3/include/backward
-I/xxx/gnu/gcc/gcc/libs
tdc++-v3/testsuite/util
/xxx/gnu/gcc/gcc/libstdc++-v3/testsuite/23_containers/de
que/check_construct_destroy.cc-include bits/stdc++.h ./libtestc++.a  -lm  
-
o ./check_construct_destroy.exe(timeout = 600)
/usr/ccs/bin/ld: Duplicate symbol global destructors keyed to
_ZNSt3tr112_GLOBA
L__N_16ignoreE in files /var/tmp//ccsKVWMm.o and
./libtestc++.a(testsuite_alloc
ator.o)
/usr/ccs/bin/ld: Duplicate symbol global constructors keyed to
_ZNSt3tr112_GLOB
AL__N_16ignoreE in files /var/tmp//ccsKVWMm.o and
./libtestc++.a(testsuite_allo
cator.o)
/usr/ccs/bin/ld: Found 2 duplicate symbol(s)
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/usr/ccs/bin/ld: Duplicate symbol global destructors keyed to
_ZNSt3tr112_GLOBA
L__N_16ignoreE in files /var/tmp//ccsKVWMm.o and
./libtestc++.a(testsuite_alloc
ator.o)
/usr/ccs/bin/ld: Duplicate symbol global constructors keyed to
_ZNSt3tr112_GLOB
AL__N_16ignoreE in files /var/tmp//ccsKVWMm.o and
./libtestc++.a(testsuite_allo
cator.o)
/usr/ccs/bin/ld: Found 2 duplicate symbol(s)
collect2: ld returned 1 exit status

FAIL: 23_containers/deque/check_construct_destroy.cc (test for excess errors)

This also causes the failure of these tests:
FAIL: 23_containers/list/check_construct_destroy.cc (test for excess errors)
FAIL: 23_containers/set/check_construct_destroy.cc (test for excess errors)
FAIL: 23_containers/vector/capacity/2.cc (test for excess errors)
FAIL: 23_containers/vector/check_construct_destroy.cc (test for excess errors)
FAIL: 23_containers/vector/cons/4.cc (test for excess errors)
FAIL: ext/hash_set/check_construct_destroy.cc (test for excess errors)
FAIL: ext/slist/check_construct_destroy.cc (test for excess errors)
...

It looks like we need unique global names for type N as well as F.


-- 
   Summary: /usr/ccs/bin/ld: Duplicate symbol global destructors
keyed to _ZNSt3tr112_GLOBA
L__N_16ignoreE
   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: hppa1.1-hp-hpux10.20
  GCC host triplet: hppa1.1-hp-hpux10.20
GCC target triplet: hppa1.1-hp-hpux10.20


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



[Bug bootstrap/30152] New: bootstrap of trunk broken on Solaris x86 - varasm.c

2006-12-11 Thread brett dot albertson at stratech dot com
bootstrap of trunk broken on Solaris x86 as of 12/8/06, I believe.  It looks
like varasm.c is giving warnings:

/u01/var/tmp/gcc_trunk_svn/gcc_20061211/./prev-gcc/xgcc
-B/u01/var/tmp/gcc_trunk_svn/gcc_20061211/./prev-gcc/
-B/opt/gcc-4.3/i386-pc-solaris2.10/bin/ -c   -g -O2 -DIN_GCC   -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definition -Wmissing-format-attribute -Werror -fno-common  
-DHAVE_CONFIG_H -I. -I. -I/u01/var/tmp/gcc_trunk_svn/gcc/gcc
-I/u01/var/tmp/gcc_trunk_svn/gcc/gcc/.
-I/u01/var/tmp/gcc_trunk_svn/gcc/gcc/../include
-I/u01/var/tmp/gcc_trunk_svn/gcc/gcc/../libcpp/include -I/usr/local/include
-I/usr/local/include -I/u01/var/tmp/gcc_trunk_svn/gcc/gcc/../libdecnumber
-I../libdecnumber/u01/var/tmp/gcc_trunk_svn/gcc/gcc/varasm.c -o varasm.o
cc1: warnings being treated as errors
/u01/var/tmp/gcc_trunk_svn/gcc/gcc/varasm.c: In function
'elf_record_gcc_switches':
/u01/var/tmp/gcc_trunk_svn/gcc/gcc/varasm.c:6268: warning: format '%llu'
expects type 'long long unsigned int', but argument 4 has type 'long int'
/u01/var/tmp/gcc_trunk_svn/gcc/gcc/varasm.c:6275: warning: format '%llu'
expects type 'long long unsigned int', but argument 4 has type 'long int'
/u01/var/tmp/gcc_trunk_svn/gcc/gcc/varasm.c:6283: warning: format '%llu'
expects type 'long long unsigned int', but argument 4 has type 'long int'
/u01/var/tmp/gcc_trunk_svn/gcc/gcc/varasm.c:6302: warning: format '%llu'
expects type 'long long unsigned int', but argument 4 has type 'long int'
gmake[3]: *** [varasm.o] Error 1
gmake[3]: Leaving directory `/u01/var/tmp/gcc_trunk_svn/gcc_20061211/gcc'
gmake[2]: *** [all-stage2-gcc] Error 2

Brett


-- 
   Summary: bootstrap of trunk broken on Solaris x86 - varasm.c
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: brett dot albertson at stratech dot com
 GCC build triplet: i386-pc-solaris2.10
  GCC host triplet: i386-pc-solaris2.10
GCC target triplet: i386-pc-solaris2.10


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



[Bug c++/20724] function overload resolution fails when any template is declared

2006-12-11 Thread s__nakayama at infoseek dot jp


--- Comment #7 from s__nakayama at infoseek dot jp  2006-12-11 19:21 ---
Is this still active?
gcc 4.1.1 accept Andrew's testcase in comment #1.


-- 


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



[Bug c/30153] New: -fPIC failure

2006-12-11 Thread terra at gnome dot org
 cat gcc.c
static inline void foo (void) { }
void baz (void (*f) (void));
void bar (void) { baz (foo); }

 gcc -O0 -c -fPIC gcc.c
 gcc -shared -o gcc.so gcc.o
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld:
gcc.o: relocation R_X86_64_PC32 against `foo' can not be used when making a
shared object; recompile with -fPIC
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld:
final link failed: Bad value
collect2: ld returned 1 exit status


Note: Adding -02 to the compilation silences this.
Note: Removing inline silences this.


-- 
   Summary: -fPIC failure
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: terra at gnome dot org
 GCC build triplet: x86_64-suse-linux
  GCC host triplet: x86_64-suse-linux
GCC target triplet: x86_64-suse-linux


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



[Bug c/30116] faulty -Wformat warning with pointers to arrays

2006-12-11 Thread herring at lanl dot gov


--- Comment #2 from herring at lanl dot gov  2006-12-11 19:24 ---
(In reply to comment #1)
 *** This bug has been marked as a duplicate of 27558 ***

Thanks for finding that for me!  I tried for an hour to locate this bug in the
database (because I discovered it some time ago; presumably I would have
reported it then if it weren't already there, and I hadn't), but to no avail. 
Apologies for the noise, but at least now I can watch the original report.


-- 


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



[Bug bootstrap/30152] [4.3 Regression] bootstrap of trunk broken on Solaris x86 - varasm.c

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-12-11 19:29 ---
Just fixed by:
http://gcc.gnu.org/ml/gcc-cvs/2006-12/msg00364.html


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
Summary|bootstrap of trunk broken on|[4.3 Regression] bootstrap
   |Solaris x86 - varasm.c  |of trunk broken on Solaris
   ||x86 - varasm.c
   Target Milestone|--- |4.3.0


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



[Bug c++/30139] overflow warning for unevaluated part of expression

2006-12-11 Thread manu at gcc dot gnu dot org


--- Comment #2 from manu at gcc dot gnu dot org  2006-12-11 19:35 ---
(In reply to comment #1)
 I think the C front-end is incorrect in not warning, though someone has to 
 look
 into the standard to be sure.
 

Is there a searchable version of the standard?

Anyway, the following code snippet from Joseph Myers at
testsuite/gcc.dg/overflow-warn-1.c seems to imply otherwise:

enum e {
   /* Overflow in an unevaluated part of an expression is OK (example
 in the standard).  */
  E2 = 2 || 1 / 0
};


/* The first two of these involve overflow, so are not null pointer
   constants.  The third has the overflow in an unevaluated
   subexpression, so is a null pointer constant.  */
void *p = 0 * (INT_MAX + 1); /* { dg-warning warning: integer overflow in
expression } */
/* { dg-warning warning: initialization makes pointer from integer without a
cast null { target *-*-* } 48 } */
void *q = 0 * (1 / 0); /* { dg-warning warning: division by zero } */
/* { dg-warning warning: initialization makes pointer from integer without a
cast null { xfail *-*-* } 50 } */
void *r = (1 ? 0 : INT_MAX+1);


-- 


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



[Bug middle-end/27657] [4.2/4.3 regression] bogus undefined reference error to static var with -g and -O

2006-12-11 Thread reichelt at gcc dot gnu dot org


--- Comment #11 from reichelt at gcc dot gnu dot org  2006-12-11 20:23 
---
Btw, the following C++ example fails to link even without -O:

=
const char s[] = ;
const char *const p = s;

int main()
{
  return 0;
}
=


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
   Keywords||monitored


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



[Bug target/28181] [4.0/4.1/4.2/4.3 regression] ICE in reload_cse_simplify_operands, at postreload.c:393 on m68k

2006-12-11 Thread rask at sygehus dot dk


--- Comment #9 from rask at sygehus dot dk  2006-12-11 20:24 ---
Created an attachment (id=12785)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12785action=view)
Partial patch

Please try this patch. It removes the ICE, but the code may not run on 68000
and 68010 CPUs because there is also an alignment problem. Please see
URL:http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00766.html for details.


-- 


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



[Bug middle-end/30151] /usr/ccs/bin/ld: Duplicate symbol global destructors keyed to _ZNSt3tr112_GLOBAL__N_16ignoreE

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


--- Comment #1 from danglin at gcc dot gnu dot org  2006-12-11 20:32 ---
It seems that the special handling for 'F' was removed...

2006-10-31  Geoffrey Keating  [EMAIL PROTECTED]

...
* tree.c (get_file_function_name): Rename from
get_file_function_name_long; improve comment; handle 'I' and 'D'
specially when the target has ctor/dtor support; remove special
handling for 'F'.


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|/usr/ccs/bin/ld: Duplicate  |/usr/ccs/bin/ld: Duplicate
   |symbol global destructors  |symbol global destructors
   |keyed to _ZNSt3tr112_GLOBA  |keyed to
   |L__N_16ignoreE |_ZNSt3tr112_GLOBAL__N_16igno
   ||reE


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



[Bug c/19976] integer division by zero in subexpression should be overflow

2006-12-11 Thread manu at gcc dot gnu dot org


--- Comment #8 from manu at gcc dot gnu dot org  2006-12-11 20:52 ---
(In reply to comment #5)
 int x;
 
 enum e { E = 0 * x };
 
 
 which currently compiles without even a warning using -pedantic-errors.
 This is exactly the sort of thing that Joseph's struct c_expr were intended
 to handle.  I don't think is unreasonable for fold to convert 0 * x into
 0, the issue is that a front-end can't really look at a folded tree and
 determine anything much about the original source code.

Should it warn? 

But back to the original case, we detect enum e { E = 0 * (INT_MAX + 1) }; by
setting TREE_OVERFLOW. We could do the same for 1/0 and we just don't emit an
overflow warning but a division by zero one. But this could be tricky.

However, an alternative would be to prevent the folding for this specific case,
so the resulting tree is not constant. We could try to detect this when folding
0*x (not sure how), or we could build something from 1/0 that will prevent
folding 0*x (if such thing exists). 

Am I missing any other alternatives?


-- 


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



[Bug fortran/29711] [4.2 only] error_print does not support %N$X

2006-12-11 Thread fxcoudert at gcc dot gnu dot org


--- Comment #13 from fxcoudert at gcc dot gnu dot org  2006-12-11 20:57 
---
Subject: Bug 29711

Author: fxcoudert
Date: Mon Dec 11 20:57:10 2006
New Revision: 119747

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119747
Log:
PR fortran/29892
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use a locus in
the call to gfc_trans_runtime_check.
* trans-array.c (gfc_trans_array_bound_check): Try harder to find
the variable or function name for the runtime error message.
(gfc_trans_dummy_array_bias): Use a locus in the call to
gfc_trans_runtime_check

PR fortran/29973
* resolve.c (resolve_actual_arglist): Remove the special case for
CHAR.
* intrinsic.c (add_functions): Remove the special case for CHAR.

PR fortran/29711
* error.c (error_print): Handle printf-style position specifiers,
of the form %3$d.

PR fortran/29973
* gfortran.dg/specifics_1.f90: Remove check for CHAR.
* gfortran.dg/specifics_2.f90: Remove check for CHAR.
* gfortran.dg/specifics_3.f90: Remove.
* gfortran.fortran-torture/execute/specifics.f90: Remove test
for CHAR.

Removed:
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/specifics_3.f90
Modified:
branches/gcc-4_2-branch/gcc/fortran/ChangeLog
branches/gcc-4_2-branch/gcc/fortran/error.c
branches/gcc-4_2-branch/gcc/fortran/intrinsic.c
branches/gcc-4_2-branch/gcc/fortran/resolve.c
branches/gcc-4_2-branch/gcc/fortran/trans-array.c
branches/gcc-4_2-branch/gcc/fortran/trans-intrinsic.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/specifics_1.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/specifics_2.f90
   
branches/gcc-4_2-branch/gcc/testsuite/gfortran.fortran-torture/execute/specifics.f90


-- 


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



[Bug fortran/29892] substring out of bounds: Missing variable name for variables with parameter attribute

2006-12-11 Thread fxcoudert at gcc dot gnu dot org


--- Comment #4 from fxcoudert at gcc dot gnu dot org  2006-12-11 20:57 
---
Subject: Bug 29892

Author: fxcoudert
Date: Mon Dec 11 20:57:10 2006
New Revision: 119747

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119747
Log:
PR fortran/29892
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use a locus in
the call to gfc_trans_runtime_check.
* trans-array.c (gfc_trans_array_bound_check): Try harder to find
the variable or function name for the runtime error message.
(gfc_trans_dummy_array_bias): Use a locus in the call to
gfc_trans_runtime_check

PR fortran/29973
* resolve.c (resolve_actual_arglist): Remove the special case for
CHAR.
* intrinsic.c (add_functions): Remove the special case for CHAR.

PR fortran/29711
* error.c (error_print): Handle printf-style position specifiers,
of the form %3$d.

PR fortran/29973
* gfortran.dg/specifics_1.f90: Remove check for CHAR.
* gfortran.dg/specifics_2.f90: Remove check for CHAR.
* gfortran.dg/specifics_3.f90: Remove.
* gfortran.fortran-torture/execute/specifics.f90: Remove test
for CHAR.

Removed:
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/specifics_3.f90
Modified:
branches/gcc-4_2-branch/gcc/fortran/ChangeLog
branches/gcc-4_2-branch/gcc/fortran/error.c
branches/gcc-4_2-branch/gcc/fortran/intrinsic.c
branches/gcc-4_2-branch/gcc/fortran/resolve.c
branches/gcc-4_2-branch/gcc/fortran/trans-array.c
branches/gcc-4_2-branch/gcc/fortran/trans-intrinsic.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/specifics_1.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/specifics_2.f90
   
branches/gcc-4_2-branch/gcc/testsuite/gfortran.fortran-torture/execute/specifics.f90


-- 


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



[Bug fortran/29973] [4.2 only] CHAR not allowed as actual argument, even in F2003

2006-12-11 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2006-12-11 20:57 
---
Subject: Bug 29973

Author: fxcoudert
Date: Mon Dec 11 20:57:10 2006
New Revision: 119747

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119747
Log:
PR fortran/29892
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use a locus in
the call to gfc_trans_runtime_check.
* trans-array.c (gfc_trans_array_bound_check): Try harder to find
the variable or function name for the runtime error message.
(gfc_trans_dummy_array_bias): Use a locus in the call to
gfc_trans_runtime_check

PR fortran/29973
* resolve.c (resolve_actual_arglist): Remove the special case for
CHAR.
* intrinsic.c (add_functions): Remove the special case for CHAR.

PR fortran/29711
* error.c (error_print): Handle printf-style position specifiers,
of the form %3$d.

PR fortran/29973
* gfortran.dg/specifics_1.f90: Remove check for CHAR.
* gfortran.dg/specifics_2.f90: Remove check for CHAR.
* gfortran.dg/specifics_3.f90: Remove.
* gfortran.fortran-torture/execute/specifics.f90: Remove test
for CHAR.

Removed:
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/specifics_3.f90
Modified:
branches/gcc-4_2-branch/gcc/fortran/ChangeLog
branches/gcc-4_2-branch/gcc/fortran/error.c
branches/gcc-4_2-branch/gcc/fortran/intrinsic.c
branches/gcc-4_2-branch/gcc/fortran/resolve.c
branches/gcc-4_2-branch/gcc/fortran/trans-array.c
branches/gcc-4_2-branch/gcc/fortran/trans-intrinsic.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/specifics_1.f90
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/specifics_2.f90
   
branches/gcc-4_2-branch/gcc/testsuite/gfortran.fortran-torture/execute/specifics.f90


-- 


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



[Bug fortran/29711] [4.2 only] error_print does not support %N$X

2006-12-11 Thread fxcoudert at gcc dot gnu dot org


--- Comment #14 from fxcoudert at gcc dot gnu dot org  2006-12-11 20:58 
---
Commited to 4.2, both my patch and Tobias' fix. Thanks Tobias for fixing it!


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/29973] [4.2 only] CHAR not allowed as actual argument, even in F2003

2006-12-11 Thread fxcoudert at gcc dot gnu dot org


--- Comment #3 from fxcoudert at gcc dot gnu dot org  2006-12-11 20:58 
---
Fixed on 4.2 also.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/27961] [4.1 regression] ICE on invalid template declaration

2006-12-11 Thread reichelt at gcc dot gnu dot org


--- Comment #8 from reichelt at gcc dot gnu dot org  2006-12-11 21:00 
---
 Fixed on mainline.

Alas this is only partially true:
Although the original testcase is indeed fixed on mainline (and 4.2 branch),
the following variant (which only differs in the return type of the template
function) still crashes:


struct A
{
templateint int foo(X);
};


I'll open a new PR for this failure.


Btw, the testcase from comment #1 is also fixed on the 4.1 branch
(with void or int as return type).


-- 


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



[Bug tree-optimization/30126] [4.3 Regression] ICE genautomata.c:6060

2006-12-11 Thread bkoz at gcc dot gnu dot org


--- Comment #10 from bkoz at gcc dot gnu dot org  2006-12-11 21:02 ---

Diego I HEART YOU

r119746

fixes it.

-benjamin


-- 


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



[Bug tree-optimization/30126] [4.3 Regression] ICE genautomata.c:6060

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


--- Comment #11 from pinskia at gcc dot gnu dot org  2006-12-11 21:06 
---
(In reply to comment #10)
 Diego I HEART YOU
 
 r119746

But I think it just makes the bug latent again.


-- 


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



[Bug c++/30156] New: [4.1/4.2/4.3 regression] ICE on invalid template declaration

2006-12-11 Thread reichelt at gcc dot gnu dot org
The following invalid testcase causes an ICE on the 4.1 branch, 4.2 branch
and mainline (4.1.0 and 4.1.1 are not affected, though):


struct A
{
templateint int foo(X);
};


The underlying problem is the same as in PR27961, but cannot be papered
over as easily in this case ;-)


-- 
   Summary: [4.1/4.2/4.3 regression] ICE on invalid template
declaration
   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
 BugsThisDependsOn: 27961


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



[Bug c++/30156] [4.1/4.2/4.3 regression] ICE on invalid template declaration

2006-12-11 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.1.2


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



[Bug c++/30156] [4.1/4.2/4.3 regression] ICE on invalid template declaration

2006-12-11 Thread reichelt at gcc dot gnu dot org


--- Comment #1 from reichelt at gcc dot gnu dot org  2006-12-11 21:12 
---
Sorry, forgot to add the error message:

bug.cc:3: error: 'X' was not declared in this scope
bug.cc:3: internal compiler error: tree check: expected var_decl, have
field_decl in cp_finish_decl, at cp/decl.c:5092
Please submit a full bug report, [etc.]


-- 


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



[Bug testsuite/30157] New: cxa_atexit check doesn't work

2006-12-11 Thread danglin at gcc dot gnu dot org
The following tests fail on hppa1.1-hp-hpux10.20:

FAIL: g++.old-deja/g++.other/init18.C execution test
FAIL: g++.old-deja/g++.other/init19.C execution test
FAIL: g++.old-deja/g++.other/init5.C execution test

These tests are xfailed on targets that don't support cxa_atexit
using using the check_cxa_atexit_available.  This target doesn't
have cxa_atexit, so the chack should xfail these tests.


-- 
   Summary: cxa_atexit check doesn't work
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa1.1-hp-hpux10.20
  GCC host triplet: hppa1.1-hp-hpux10.20
GCC target triplet: hppa1.1-hp-hpux10.20


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



[Bug c++/30158] New: [4.0/4.1/4.2/4.3 regression] ICE with invalid statement-expressions

2006-12-11 Thread reichelt at gcc dot gnu dot org
The following invalid code snippet triggers an ICE since GCC 4.0.0
(and in GCC 3.4.0 - 3.4.3):

===
void foo(int i)
{
  (i ? 1 : 2) = ({ X; });
}
===

bug.cc: In function 'void foo(int)':
bug.cc:3: error: 'X' was not declared in this scope
bug.cc:3: internal compiler error: in build_target_expr_with_type, at
cp/tree.c:326
Please submit a full bug report, [etc.]


An ICE in the same place can be triggered with the following code snippet:

===
struct A
{
  ~A ();
  void foo()
  {
delete this = ({ X; });
  }
};
===

bug.cc: In member function 'void A::foo()':
bug.cc:6: error: 'X' was not declared in this scope
bug.cc:6: internal compiler error: in build_target_expr_with_type, at
cp/tree.c:326
Please submit a full bug report, [etc.]


-- 
   Summary: [4.0/4.1/4.2/4.3 regression] ICE with invalid statement-
expressions
   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=30158



[Bug c++/30158] [4.0/4.1/4.2/4.3 regression] ICE with invalid statement-expressions

2006-12-11 Thread reichelt at gcc dot gnu dot org


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.0.4


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



[Bug rtl-optimization/30113] ICE in trunc_int_for_mode

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


--- Comment #3 from rakdver at gcc dot gnu dot org  2006-12-11 21:29 ---
Subject: Bug 30113

Author: rakdver
Date: Mon Dec 11 21:29:44 2006
New Revision: 119748

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119748
Log:
PR rtl-optimization/30113
* loop-iv.c (implies_p): Require the mode of the operands to be
scalar.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/loop-iv.c


-- 


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



[Bug libstdc++/28125] Cannot build cross compiler for Solaris: configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES

2006-12-11 Thread bkoz at gcc dot gnu dot org


--- Comment #5 from bkoz at gcc dot gnu dot org  2006-12-11 21:55 ---
Created an attachment (id=12786)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12786action=view)
Patch++


-- 

bkoz at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #12783|0   |1
is obsolete||


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



[Bug tree-optimization/30126] [4.3 Regression] ICE genautomata.c:6060

2006-12-11 Thread bkoz at gcc dot gnu dot org


--- Comment #12 from bkoz at gcc dot gnu dot org  2006-12-11 22:16 ---
 But I think it just makes the bug latent again.

maybe. But I can compile again so I will close this.

-benjamin


-- 

bkoz at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug libstdc++/28125] Cannot build cross compiler for Solaris: configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES

2006-12-11 Thread bkoz at gcc dot gnu dot org


--- Comment #6 from bkoz at gcc dot gnu dot org  2006-12-11 22:17 ---
Subject: Bug 28125

Author: bkoz
Date: Mon Dec 11 22:17:09 2006
New Revision: 119749

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119749
Log:
2006-12-11  Benjamin Kosnik  [EMAIL PROTECTED]

PR libstdc++/28125
* acinclude.m4 (GLIBCXX_CHECK_ICONV_SUPPORT): Remove link test, ie
AC_CHECK_LIB for libiconv. Instead, use bits of AM_ICONV.
* configure: Regenerate.
* scripts/testsuite_flags.in (cxxldflags): Add LIBICONV bits.


Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/acinclude.m4
trunk/libstdc++-v3/configure
trunk/libstdc++-v3/scripts/testsuite_flags.in


-- 


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



[Bug tree-optimization/30126] [4.3 Regression] ICE genautomata.c:6060

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


--- Comment #13 from pinskia at gcc dot gnu dot org  2006-12-11 23:15 
---
As far as I can see, we are miscompiling the compiler as the stage1's cc1 works
for this testcase but stage3's cc1 does not.


-- 


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



[Bug middle-end/30147] [4.3 Regression] ICE in fold_convert with -O2

2006-12-11 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-12-11 23:17 ---
This is caused by

2006-05-09  Dirk Mueller  [EMAIL PROTECTED]
Richard Guenther  [EMAIL PROTECTED]

PR middle-end/27498
* fold-const.c (fold_read_from_constant_string): Relax check
for matching types to matching modes.

and the fix is probably correct.  Mine.  4.2 should be also affected really.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-12-11 16:19:11 |2006-12-11 23:17:05
   date||


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



[Bug c++/30156] [4.1/4.2/4.3 regression] ICE on invalid template declaration

2006-12-11 Thread lmillward at gcc dot gnu dot org


--- Comment #2 from lmillward at gcc dot gnu dot org  2006-12-11 23:17 
---
I did post a patch to fix this following your comments on the patch for PR27961
here - http://gcc.gnu.org/ml/gcc-patches/2006-10/msg00867.html. It seems like
this one slipped through the cracks.

I'll give it another bootstrap and regression test against current mainline and
resubmit.


-- 

lmillward at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |lmillward at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-12-11 23:17:07
   date||


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



[Bug middle-end/30147] [4.3 Regression] ICE in fold_convert with -O2

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-12-11 23:20 ---
Instead of mode checking, what about checking the code of the type inaddition,
though maybe checking the for INTEGERAL_TYPE_P before the check for the mode
will also fix this issue?


-- 


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



[Bug tree-optimization/30159] New: [4.3 Regression] gcc.c-torture/execute/20010422-1.c is miscompiled on sh-elf and mips-elf

2006-12-11 Thread kkojima at gcc dot gnu dot org
On sh-elf, the function foo in 20010422-1.c

unsigned int foo(unsigned int x)
{
  if (x  5)
x = 4;
  else
x = 8;
  return x;
}

is compiled to

foo:
mov.l   r14,@-r15
mov r15,r14
mov #4,r1
cmp/hi  r1,r1
bf/s.L6
mov #4,r0
mov #8,r0
.L6:
mov r14,r15
mov.l   @r15+,r14
rts
nop

with -O1.  Thus the first parameter register r4 is ignored.
For mips-elf, foo is assembled to

foo:
.frame  $sp,0,$31   # vars= 0, regs= 0/0, args= 0, gp= 0
.mask   0x,0
.fmask  0x,0
.setnoreorder
.setnomacro

sltu$2,$2,5
beq $2,$0,$L2
nop
...

with -O1 where $4 should be register for x.
It started after the patch

r119711 | amacleod | 2006-12-11 06:25:40 +0900 (Mon, 11 Dec 2006) | 103 lines

and the first tree dump which differs before and after this patch
is .099t.optimized:

[r119710 .099t.optimized]
;; Function foo (foo)

Analyzing Edge Insertions.
foo (x)
{
  unsigned int x.24;

bb 2:
  if (x = 4) goto L5; else goto L4;

L5:;
  x.24 = 4;
  goto bb 4 (L2);

L4:;
  x.24 = 8;

L2:;
  return x.24;

}

[r119711 .099t.optimized]
;; Function foo (foo)

Analyzing Edge Insertions.
foo (x)
{
  unsigned int x.24;

bb 2:
  if (x.24 = 4) goto L5; else goto L4;

L5:;
  x = 4;
  goto bb 4 (L2);

L4:;
  x = 8;

L2:;
  return x;

}


-- 
   Summary: [4.3 Regression] gcc.c-torture/execute/20010422-1.c is
miscompiled on sh-elf and mips-elf
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kkojima at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: sh-elf, mips-elf


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



[Bug c/30160] New: enum reporting sizeof == 0

2006-12-11 Thread richard at beatnik dot com
Hello,

I'm compiling on cygwin on my Dell Laptop.  I'm running windows xp pro, with
the 3.4.4 version of gcc

my source file:
#include stdio.h

typedef enum {
ac = -1,
ab = 0x,
aa = 1,
} en;

int main()
{
en  a = ab;
printf(a = %d sizeof %d\n, a, sizeof(en));
return 0;
}

$ gcc -Wall test.c
test.c: In function `main':
test.c:11: warning: int format, different type arg (arg 2)


$ ./a.exe
a = -1 sizeof 0


shouldn't sizeof be 4?


-- 
   Summary: enum reporting sizeof == 0
   Product: gcc
   Version: 3.4.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: richard at beatnik dot com
 GCC build triplet: 3.4.4
  GCC host triplet: 3.4.4
GCC target triplet: 3.4.4


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



[Bug c/30160] enum reporting sizeof == 0

2006-12-11 Thread richard at beatnik dot com


--- Comment #1 from richard at beatnik dot com  2006-12-12 00:51 ---
Created an attachment (id=12787)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12787action=view)
test file for creating bug


-- 


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



[Bug c/30160] enum reporting sizeof == 0

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


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-12-12 01:01 ---
4.0 and above give a better warning message for this issue:
t1.c:12: warning: format '%d' expects type 'int', but argument 2 has type 'long
long int'


This is not a bug in GCC but rather your code in that the enum you have is the
same size as long long.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/30126] [4.3 Regression] ICE genautomata.c:6060

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


--- Comment #14 from pinskia at gcc dot gnu dot org  2006-12-12 01:22 
---
Reopening for a second to ...


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |


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



[Bug tree-optimization/30126] [4.3 Regression] ICE genautomata.c:6060

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


--- Comment #15 from pinskia at gcc dot gnu dot org  2006-12-12 01:22 
---
Mark this as a dup of bug 28624.

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/28624] [4.2/4.3 regression] latent segfault in remove_phi_node

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


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-12-12 01:22 ---
*** Bug 30126 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu dot org


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



[Bug tree-optimization/28624] [4.2/4.3 regression] latent segfault in remove_phi_node

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


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-12-12 01:24 ---
The problem is EXECUTE_IF_SET_IN_BITMAP does not like the bitmap to change from
underneath it.

I have a patch which fixes this issue.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-12-12 01:24:00
   date||


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



[Bug c/30160] enum reporting sizeof == 0

2006-12-11 Thread richard at beatnik dot com


--- Comment #3 from richard at beatnik dot com  2006-12-12 01:29 ---
Ahh,

I see.

Because the a is supposed to be long long, that means that it is of size 8,
which would mean that it takes two regs (or stack spaces, or where ever gcc
stores it's arguments).  Then the second %d in the string gets the second of
the two args, thus being zero:
 -
 V   | first half of the 8 byte argument
printf( a = %d sizeof %d\n, a, sizeof(en));
   ^ | second half of the 8 byte argument
   ---

When I change to 

 -
 V   | the 8 byte argument
printf( a = %lld sizeof %d\n, a, sizeof(en));
   ^| 
   --

Thanks


-- 


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



[Bug c++/29732] [4.0/4.1/4.2 regression] ICE on invalid friend declaration

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


--- Comment #5 from mmitchel at gcc dot gnu dot org  2006-12-12 01:47 
---
Subject: Bug 29732

Author: mmitchel
Date: Tue Dec 12 01:46:57 2006
New Revision: 119759

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119759
Log:
PR c++/29732
* cp-tree.h (DECL_USE_TEMPLATE): Mention partial specializations.
(explicit_class_specialization_p): Declare.
* pt.c (explicit_class_specialization_p): New function.
* parser.c (cp_parser_init_declarator): Check correct number of
template parameters for in-class function definitions.
(cp_parser_check_declarator_template_parameters): Stop looking for
template classes when we find an explicit specialization.
PR c++/29732
* g++.dg/template/crash65.C: New test.
* g++.dg/template/spec16.C: Tweak error markers.

Added:
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/template/crash65.C
Modified:
branches/gcc-4_2-branch/gcc/cp/ChangeLog
branches/gcc-4_2-branch/gcc/cp/cp-tree.h
branches/gcc-4_2-branch/gcc/cp/parser.c
branches/gcc-4_2-branch/gcc/cp/pt.c
branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
branches/gcc-4_2-branch/gcc/testsuite/g++.dg/template/spec16.C


-- 


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



[Bug c++/29732] [4.0 regression] ICE on invalid friend declaration

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


--- Comment #6 from mmitchel at gcc dot gnu dot org  2006-12-12 01:53 
---
Fixed in 4.1.2, 4.2.0.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|mark at codesourcery dot com|unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW
Summary|[4.0/4.1/4.2 regression] ICE|[4.0 regression] ICE on
   |on invalid friend   |invalid friend declaration
   |declaration |


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



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

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


--- Comment #45 from mmitchel at gcc dot gnu dot org  2006-12-12 02:14 
---
This version is OK for mainline.


-- 


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



[Bug debug/30161] New: GCC should generate dwarf info about template parameters

2006-12-11 Thread jason at gcc dot gnu dot org
GCC doesn't currently generate DW_TAG_template_*_param, and it should to
improve C++ debuggability (and allow us to shorten the DW_AT_names of template
instantiations).


-- 
   Summary: GCC should generate dwarf info about template parameters
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: debug
AssignedTo: jason at gcc dot gnu dot org
ReportedBy: jason at gcc dot gnu dot org


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



[Bug middle-end/17982] stop calling assemble_external before final assembly output time

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


--- Comment #29 from hjl at gcc dot gnu dot org  2006-12-12 03:59 ---
Subject: Bug 17982

Author: hjl
Date: Tue Dec 12 03:58:52 2006
New Revision: 119764

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119764
Log:
2006-12-11  H.J. Lu  [EMAIL PROTECTED]

PR middle-end/17982
PR middle-end/20218
* cgraphunit.c (cgraph_optimize): Remove call to
process_pending_assemble_externals.

* config/elfos.h (ASM_OUTPUT_EXTERNAL): New.

* config/ia64/hpux.h (TARGET_ASM_FILE_END): Removed.

* config/ia64/ia64.c (ia64_asm_output_external): Rewritten.
(ia64_hpux_add_extern_decl): Removed.
(ia64_hpux_file_end): Likewise.
(extern_func_list): Likewise.
(extern_func_head): Likewise.

* output.h (assemble_external): Update comments.
(default_elf_asm_output_external): New.
(maybe_assemble_visibility): New.

* toplev.c (compile_file): Update comment.

* varasm.c (assemble_external): Always put it on
pending_assemble_externals.
(maybe_assemble_visibility): Make it extern and return int.
(default_elf_asm_output_external): New.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/cgraphunit.c
trunk/gcc/config/elfos.h
trunk/gcc/config/ia64/hpux.h
trunk/gcc/config/ia64/ia64.c
trunk/gcc/output.h
trunk/gcc/toplev.c
trunk/gcc/varasm.c


-- 


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



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

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


--- Comment #46 from hjl at gcc dot gnu dot org  2006-12-12 03:59 ---
Subject: Bug 20218

Author: hjl
Date: Tue Dec 12 03:58:52 2006
New Revision: 119764

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=119764
Log:
2006-12-11  H.J. Lu  [EMAIL PROTECTED]

PR middle-end/17982
PR middle-end/20218
* cgraphunit.c (cgraph_optimize): Remove call to
process_pending_assemble_externals.

* config/elfos.h (ASM_OUTPUT_EXTERNAL): New.

* config/ia64/hpux.h (TARGET_ASM_FILE_END): Removed.

* config/ia64/ia64.c (ia64_asm_output_external): Rewritten.
(ia64_hpux_add_extern_decl): Removed.
(ia64_hpux_file_end): Likewise.
(extern_func_list): Likewise.
(extern_func_head): Likewise.

* output.h (assemble_external): Update comments.
(default_elf_asm_output_external): New.
(maybe_assemble_visibility): New.

* toplev.c (compile_file): Update comment.

* varasm.c (assemble_external): Always put it on
pending_assemble_externals.
(maybe_assemble_visibility): Make it extern and return int.
(default_elf_asm_output_external): New.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/cgraphunit.c
trunk/gcc/config/elfos.h
trunk/gcc/config/ia64/hpux.h
trunk/gcc/config/ia64/ia64.c
trunk/gcc/output.h
trunk/gcc/toplev.c
trunk/gcc/varasm.c


-- 


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



[Bug libfortran/30162] New: I/O with named pipes does not work

2006-12-11 Thread jvdelisle at gcc dot gnu dot org
Reduced test case frim Bud Davis

$ cat a.f
  integer status
  integer i
  open(unit=20,file='np',action='write',
  form='unformatted',iostat=status);
  print*,'status from open is ',status
  do i = 1,5
 write(20)i
  end do
  end



$ cat b.f
  integer status
  integer i
  integer val
  open(unit=21,file='np',action='read',
  form='unformatted',iostat=status);
  print*,'status from open is ',status
  do i = 1,5
 read(21)val
 print*,val
  end do



Here is what I get:

$ mkfifo np
$ ./b 
[1] 18730
$ ./a
 status from open is0
At line 7 of file a.f
Fortran runtime error: Illegal seek
 status from open is0
At line 8 of file b.f
Fortran runtime error: End of file


-- 
   Summary: I/O with named pipes does not work
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jvdelisle at gcc dot gnu dot org


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



[Bug libstdc++/28265] iconv-related errors while building a cross-compiler for MinGW

2006-12-11 Thread rmathew at gcc dot gnu dot org


--- Comment #4 from rmathew at gcc dot gnu dot org  2006-12-12 04:52 ---
Thanks for looking into this Ben. Unfortunately, I no longer build GCC for
MinGW (or for Linux, for that matter) regularly so I'm unable to test your
patch. :-(


-- 


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



[Bug c++/30108] internal compiler error: in make_decl_rtl, at varasm.c:890

2006-12-11 Thread bangerth at dealii dot org


--- Comment #8 from bangerth at dealii dot org  2006-12-12 05:09 ---
Confirmed. The code is valid. The code would have undefined runtime
behavior if the default argument is a) actually used in a call to
commonEventProcessing, and b) is used without any further cast. Neither
is the case here, so the code is perfectly valid. In particular, it
shouldn't ICE the compiler.

This is a regression on all active branches w.r.t. 3.4.x.

W.


-- 

bangerth at dealii dot org changed:

   What|Removed |Added

 CC||bangerth at dealii dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
  Known to fail||4.0.2 4.1.1 4.2.0
   Last reconfirmed|-00-00 00:00:00 |2006-12-12 05:09:58
   date||


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



[Bug c/30163] New: error at combine pass

2006-12-11 Thread hth94 at cs dot ccu dot edu dot tw
I build a new target for experiment, and my GCC version is 4.1.1 

I have one question

at combine pass , if 

(set ( reg 1) 
   (and (reg 2)
(const_int 0x8001)))

(cmp (reg1 )(const_0)

if compare code is GE  or LT 
and  src2 is  zero

the const_int will be 0x8000  
because it just need significant bit

but 

if reg 1 will be used by following  insns

the const_int  shouldn't be modified.

following message  are  -daP result

at insn 13 that is my problem

-JASON-

--life pass

;; Function foo (foo)   

120 registers.

Register 107 used 4 times across 6 insns; set 3 times.

Register 109 used 2 times across 2 insns in block 0; set 1 time; pointer.

Register 111 used 2 times across 2 insns in block 0; set 1 time.

Register 112 used 9 times across 11 insns; set 4 times.

Register 113 used 2 times across 2 insns in block 0; set 1 time.

Register 115 used 11 times across 17 insns; set 4 times.

Register 116 used 2 times across 2 insns in block 2; set 1 time.

Register 117 used 2 times across 2 insns in block 4; set 1 time.

Register 118 used 2 times across 2 insns in block 5; set 1 time.

10 basic blocks, 15 edges.

Basic block 0 prev -1, next 1, loop_depth 0, count 0, freq 1, maybe hot.
Predecessors:  ENTRY [100.0%]  (fallthru)
Successors:  2 [50.0%]  1 [50.0%]  (fallthru)
Registers live at start: 12 [fp] 14 [sp] 98 [sfp] 99 [afp]
Registers live at end: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 112

Basic block 1 prev 0, next 2, loop_depth 0, count 0, freq 5000, maybe hot.
Predecessors:  0 [50.0%]  (fallthru)
Successors:  2 [100.0%]  (fallthru)
Registers live at start: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 112
Registers live at end: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 112

Basic block 2 prev 1, next 3, loop_depth 0, count 0, freq 1, maybe hot.
Predecessors:  0 [50.0%]  1 [100.0%]  (fallthru)
Successors:  4 [50.0%]  3 [50.0%]  (fallthru)
Registers live at start: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 112
Registers live at end: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 115

Basic block 3 prev 2, next 4, loop_depth 0, count 0, freq 5000, maybe hot.
Predecessors:  2 [50.0%]  (fallthru)
Successors:  4 [100.0%]  (fallthru)
Registers live at start: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 115
Registers live at end: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 115

Basic block 4 prev 3, next 5, loop_depth 0, count 0, freq 1, maybe hot.
Predecessors:  2 [50.0%]  3 [100.0%]  (fallthru)
Successors:  8 [29.0%]  5 [71.0%]  (fallthru)
Registers live at start: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 115
Registers live at end: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 115

Basic block 5 prev 4, next 6, loop_depth 0, count 0, freq 7100, maybe hot.
Predecessors:  4 [71.0%]  (fallthru)
Successors:  7 [71.0%]  6 [29.0%]  (fallthru)
Registers live at start: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 115
Registers live at end: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 115

Basic block 6 prev 5, next 7, loop_depth 0, count 0, freq 2059, maybe hot.
Predecessors:  5 [29.0%]  (fallthru)
Successors:  9 [100.0%] 
Registers live at start: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 115
Registers live at end: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 107

Basic block 7 prev 6, next 8, loop_depth 0, count 0, freq 5041, maybe hot.
Predecessors:  5 [71.0%] 
Successors:  9 [100.0%] 
Registers live at start: 12 [fp] 14 [sp] 98 [sfp] 99 [afp]
Registers live at end: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 107

Basic block 8 prev 7, next 9, loop_depth 0, count 0, freq 2900, maybe hot.
Predecessors:  4 [29.0%] 
Successors:  9 [100.0%]  (fallthru)
Registers live at start: 12 [fp] 14 [sp] 98 [sfp] 99 [afp]
Registers live at end: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 107

Basic block 9 prev 8, next -2, loop_depth 0, count 0, freq 1, maybe hot.
Predecessors:  8 [100.0%]  (fallthru) 6 [100.0%]  7 [100.0%] 
Successors:  EXIT [100.0%]  (fallthru)
Registers live at start: 12 [fp] 14 [sp] 98 [sfp] 99 [afp] 107
Registers live at end: 0 [r0] 12 [fp] 14 [sp] 98 [sfp] 99 [afp]



try_optimize_cfg iteration 1

(note 2 0 6 NOTE_INSN_DELETED)

(note 6 2 9 NOTE_INSN_FUNCTION_BEG)

;; Start of basic block 0, registers live: 12 [fp] 14 [sp] 98 [sfp] 99 [afp]
(note 9 6 11 0 [bb 0] NOTE_INSN_BASIC_BLOCK)

(insn 11 9 12 0 (set (reg/f:SI 109)
(symbol_ref:SI (a) [flags 0x2] var_decl 0xb7dba0b0 a)) 68
{*movsi_var} (nil)
(nil))

(insn 12 11 13 0 (set (reg:SI 111 [ a ])
(mem/c/i:SI (reg/f:SI 109) [0 a+0 S4 A32])) 70 {*movsi}
(insn_list:REG_DEP_TRUE 11 (nil))
(expr_list:REG_DEAD (reg/f:SI 109)
(nil)))

(insn 13 12 14 0 (set (reg:SI 112)
(and:SI (reg:SI 111 [ a ])
(const_int -2147483647 [0x8001]))) 124 {andsi3}
(insn_list:REG_DEP_TRUE 12 (nil))
(expr_list:REG_DEAD (reg:SI 111 [ a ])
(nil)))

(insn 14 13 15 0 (set (reg:SI 113)
(const_int 0 [0x0])) 69 {*movsi_const} (nil)
(nil))

(insn 15 14 16 0 (set (reg:CC 97 r0cc)
(compare:CC (reg:SI 112)
(reg:SI 113))) 147 {*unicore_cmpsi_insn} (insn_list:REG_DEP_TRUE 13
(insn_list:REG_DEP_TRUE 14 

[Bug tree-optimization/13962] [tree-ssa] make fold use alias information to optimize pointer comparisons

2006-12-11 Thread dann at ics dot uci dot edu


--- Comment #4 from dann at ics dot uci dot edu  2006-12-12 06:01 ---
Subject: Re:  [tree-ssa] make fold use alias information to optimize pointer
comparisons

steven at gcc dot gnu dot org [EMAIL PROTECTED] writes:

   --- Comment #3 from steven at gcc dot gnu dot org  2006-12-10 18:18
---
   Is this fixed?

No, it's not.


-- 


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



[Bug tree-optimization/30105] reassoc can sometimes get in the way of PRE

2006-12-11 Thread dann at godzilla dot ics dot uci dot edu


--- Comment #6 from dann at godzilla dot ics dot uci dot edu  2006-12-12 
06:07 ---
(In reply to comment #5)
 (In reply to comment #1)
  Confirmed (but it's not PRE).
  

 The second is smaller, and no more or less efficient since the addition is
 calculated on both paths anyway.
 
 Both are valid results, and what RTL does with them is it's business.
 
 I don't believe you can claim they should generate identical assembly.
 
 The actual thing this testcase is trying to test, that load-PRE is performed,
 has succeeded.
 Thus i am closing this bug as WORKSFORME.
 If you see something *actually wrong* with the result, rather than just
 disassembly, please feel free to reopen.

Here is a slightly modified example that shows that there's still a PRE
opportunity 

void motion_test22(int * data, int i)
{
  int j;
  if (data[1]) {
data[data[2]] = 2;
j = data[0] *   data[3];
i = i *  j;
  }
  data[4] = data[0] * data[3];
  data[5] = i;
}

L0:;
  *((int *) ((unsigned int) *(data + 8B) * 4) + data) = 2;
  prephitmp.26 = *data;
  prephitmp.31 = *(data + 12B);
  i = prephitmp.26 * i * prephitmp.31;

L1:;
  *(data + 16B) = prephitmp.31 * prephitmp.26;
  *(data + 20B) = i;
  return;

There are 3 multiplications on the L0-L1 path. It should be possible
to only have 2 multiplications on that path.


-- 

dann at godzilla dot ics dot uci dot edu changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|WORKSFORME  |


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



[Bug debug/30161] GCC should generate dwarf info about template parameters

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-12-12 06:33 ---
This seems related to PR 7932.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||7932
  nThis||


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



[Bug middle-end/30151] [4.3 Regression] /usr/ccs/bin/ld: Duplicate symbol global destructors keyed to _ZNSt3tr112_GLOBAL__N_16ignoreE

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


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|/usr/ccs/bin/ld: Duplicate  |[4.3 Regression]
   |symbol global destructors  |/usr/ccs/bin/ld: Duplicate
   |keyed to|symbol global destructors
   |_ZNSt3tr112_GLOBAL__N_16igno|keyed to
   |reE|_ZNSt3tr112_GLOBAL__N_16igno
   ||reE
   Target Milestone|--- |4.3.0


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



[Bug middle-end/30164] New: Gimplifier does not produce valid gimple for global_vectora = CONSTRUCTOR

2006-12-11 Thread pinskia at gcc dot gnu dot org
Testcase (only with the C++ front-end because there is no other way to produce
this kind of internal IR, reduced from g++.dg/init/vector1.C):
typedef signed char v8qi __attribute__ ((vector_size (8)));
int num (void);
v8qi b = (v8qi){ num (), num (), num (), num (), 6, 6, 6, 6 };


-- 
   Summary: Gimplifier does not produce valid gimple for
global_vectora = CONSTRUCTOR
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
OtherBugsDependingO 30142
 nThis:


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



[Bug middle-end/30165] New: Gimplifier does not produce valid gimple for (int)real_val

2006-12-11 Thread pinskia at gcc dot gnu dot org
Fortran testcase:
res = selected_int_kind (int (t))
end program


This is a related issue to PR 30132 which got me started on this whole mess in
the first place.


-- 
   Summary: Gimplifier does not produce valid gimple for
(int)real_val
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
 BugsThisDependsOn: 30132
OtherBugsDependingO 30142
 nThis:


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



[Bug middle-end/30165] Gimplifier does not produce valid gimple for (int)real_val

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


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-12-12 07:20 ---
I have a fix for this issue.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-12-12 07:20:32
   date||


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



[Bug middle-end/30166] New: Gimplifier sometimes does not produce valid gimple for addressable = VIEW_CONVERT_EXPRscalar(a)

2006-12-11 Thread pinskia at gcc dot gnu dot org
Fortran testcase (at -O1 and above because of the conversion of memcpy to VCE):
  ix = transfer(x,ix)
end program


I cannot find a C testcase for this issue.


-- 
   Summary: Gimplifier sometimes does not produce valid gimple for
addressable = VIEW_CONVERT_EXPRscalar(a)
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
OtherBugsDependingO 30142
 nThis:


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



[Bug middle-end/30167] New: OpenMP can produce invalid gimple (for indirect references)

2006-12-11 Thread pinskia at gcc dot gnu dot org
Fortran Testcase:
  SUBROUTINE A13( X, XOLD, N, TOL )
!$OMP PARALLEL
DO WHILE( TOOBIG  0 )
!$OMP MASTER
PRINT *, Iteration , C,  TOOBIG=, TOOBIG
!$OMP END MASTER
ENDDO
!$OMP END PARALLEL
  END SUBROUTINE A12


We get:
  D.1056 = *(.omp_data_i-toobig);
Which is obviously not gimple.
Again the testcase in PR 30142 is used to test for this.


-- 
   Summary: OpenMP can produce invalid gimple (for indirect
references)
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
OtherBugsDependingO 30142
 nThis:


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



  1   2   >