[Bug c/29626] New: Code generation bug for aliased long long with -mpentium-m

2006-10-28 Thread gcc2eran at tromer dot org
The following C program gives incorrect results with vanilla gcc 4.1.1 (default
./configure options except --prefix, compiled on Fedora Core 5) and specific
compile options.


#include stdio.h

char buf[8] = {1,1,1,1,1,1,1,1};
char zero=0;

int main() {
int i;

*(long long*)buf  = 0;
*(short*)buf ^= (zero) ^ (zero1); 

for (i=0; i8; i++) printf(%x,, buf[i]);
return 0;
}


The buffer should contain all zeros after the two assignments, but it doesn't:

$ ~/gcc-4.1.1/bin/gcc -W -Wall -Wno-long-long -pedantic \
   -march=pentium-m -O2 -o gcc-bug  gcc-bug.c
$ ./gcc-bug
1,1,0,0,0,0,0,0,

Looks like some sort of aliasing issue for long longs; I don't see it happening
with ints. Twiddling compile options and further code simplification tends to
make the problem disappear.

The above is a (painfully) reduced version of useful code which exhibited the
problem, so it's actually something you can bump into.


-- 
   Summary: Code generation bug for aliased long long with -
mpentium-m
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc2eran at tromer dot org
 GCC build triplet: 4.1.1
GCC target triplet: i686-pc-linux-gnu


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



[Bug c/29626] Code generation bug for aliased long long with -mpentium-m

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-10-28 07:57 ---
You are violating C aliasing rules.
You are accessing a character array via something other than a character type
which is undefined.  The opposite way would have been defined in that accessing
an long long array (or a short array) via a character type.

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


-- 

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=29626



[Bug c/21920] alias violating

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #107 from pinskia at gcc dot gnu dot org  2006-10-28 07:57 
---
*** Bug 29626 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||gcc2eran at tromer dot org


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



[Bug middle-end/29335] transcendental functions with constant arguments should be resolved at compile-time

2006-10-28 Thread vincent at vinc17 dot org


--- Comment #18 from vincent at vinc17 dot org  2006-10-28 09:07 ---
(In reply to comment #17)
 Yes, I can reproduce the NaN.  In fact, any negative value 
 gives a NaN.

Not any negative value, but in lngamma.c:

  /* if x  0 and -2k-1 = x = -2k, then lngamma(x) = NaN */

probably because the gamma value is negative. This is because MPFR defines
lngamma as log(gamma(x)) while the C standard defines it as log|gamma(x)|. I
wonder if this should be regarded as a bug or if a new function (say,
mpfr_lgamma) should be defined in MPFR (in which case, not before 2.3.0). Do
other standards (other languages) define such a function, either as
log(gamma(x)) or as log|gamma(x)|?

Also, warning! The mpfr_erfc is incomplete for x = 4096: There is an infinite
loop in the 2.2 branch. This problem is now detected in the trunk, and until
this is completely fixed, a NaN is returned with the MPFR erange flag set. This
should be in the 2.2 branch in a few days (and a preversion of MPFR 2.2.1 will
come several days after that).


-- 


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



[Bug target/29377] Build for h8300-elf crashes on 64bit hosts due to int/HWI mismatch

2006-10-28 Thread uros at gcc dot gnu dot org


--- Comment #2 from uros at gcc dot gnu dot org  2006-10-28 09:41 ---
Subject: Bug 29377

Author: uros
Date: Sat Oct 28 09:41:41 2006
New Revision: 118102

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118102
Log:
PR target/29377
* config/h8300/h8300.c (h8300_emit_stack_adjustment): Change size
argument to HOST_WIDE_INT.  Update function prototype.
(round_frame_size): Change return type to HOST_WIDE_INT.  Change
size argument to HOST_WIDE_INT.  Update function prototype.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/h8300/h8300.c


-- 


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



[Bug target/29377] Build for h8300-elf crashes on 64bit hosts due to int/HWI mismatch

2006-10-28 Thread uros at kss-loka dot si


--- Comment #3 from uros at kss-loka dot si  2006-10-28 09:43 ---
Fixed on 4.3 mainline


-- 

uros at kss-loka dot si changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |uros at kss-loka dot si
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
  Known to fail||4.2.0
  Known to work||4.3.0
   Last reconfirmed|-00-00 00:00:00 |2006-10-28 09:43:15
   date||


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



[Bug target/29377] Build for h8300-elf crashes on 64bit hosts due to int/HWI mismatch

2006-10-28 Thread uros at gcc dot gnu dot org


--- Comment #4 from uros at gcc dot gnu dot org  2006-10-28 10:03 ---
Subject: Bug 29377

Author: uros
Date: Sat Oct 28 10:03:37 2006
New Revision: 118103

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118103
Log:
PR target/29377
* config/h8300/h8300.c (h8300_emit_stack_adjustment): Change size
argument to HOST_WIDE_INT.  Update function prototype.
(round_frame_size): Change return type to HOST_WIDE_INT.  Change
size argument to HOST_WIDE_INT.  Update function prototype.


Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/config/h8300/h8300.c


-- 


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



[Bug target/29377] Build for h8300-elf crashes on 64bit hosts due to int/HWI mismatch

2006-10-28 Thread uros at kss-loka dot si


--- Comment #5 from uros at kss-loka dot si  2006-10-28 10:04 ---
Fixed for 4.1.2.


-- 

uros at kss-loka dot si changed:

   What|Removed |Added

  Known to work|4.3.0   |4.1.2 4.3.0


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



[Bug c++/29618] argument dependent lookup: what about built-in types?

2006-10-28 Thread v dot vasaitis at sms dot ed dot ac dot uk


--- Comment #6 from v dot vasaitis at sms dot ed dot ac dot uk  2006-10-28 
11:08 ---
  OK thanks, it's quite clear now. My apologies for acting inappropriately.

Regards,
Vasilis


-- 


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



[Bug target/28806] lround is not expanded inline to SSE conversion sequence

2006-10-28 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-10-28 11:31 ---
Subject: Bug 28806

Author: rguenth
Date: Sat Oct 28 11:30:41 2006
New Revision: 118105

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118105
Log:
2006-10-28  Richard Guenther  [EMAIL PROTECTED]

PR target/28806
* builtins.c (expand_builtin_int_roundingfn_2): Expand
BUILT_IN_LROUND and BUILT_IN_LLROUND from here.
(expand_builtin): Adjust likewise.
* genopinit.c (optabs[]): Add lround optab.
* optabs.c (init_optabs): Initialize lround_optab.
* optabs.h (enum convert_optab_index): Add COI_lround.
(lround_optab): Define.
* config/i386/i386-protos.h (ix86_expand_lround): Declare.
* config/i386/i386.c (ix86_sse_copysign_to_positive): New
static function.
(ix86_expand_lround): New function.
* config/i386/i386.md (lroundmodedi2, lroundmodesi2):
New expanders.
* doc/md.texi (lroundMN2): Document.

* gcc.target/i386/math-torture/lround.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.target/i386/math-torture/lround.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/config/i386/i386-protos.h
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.md
trunk/gcc/doc/md.texi
trunk/gcc/genopinit.c
trunk/gcc/optabs.c
trunk/gcc/optabs.h
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/28970] [4.1 Regression] Wrong code for simple loop test case

2006-10-28 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2006-10-28 11:06 ---
Ah, no - I didn't look at the result of this first hunt and though it was the
switch from -floop-optimize to -floop-optimize2.  Sorry for the noise.


-- 


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



[Bug middle-end/29335] transcendental functions with constant arguments should be resolved at compile-time

2006-10-28 Thread ghazi at gcc dot gnu dot org


--- Comment #19 from ghazi at gcc dot gnu dot org  2006-10-28 13:28 ---
(In reply to comment #18)
 (In reply to comment #17)
  Yes, I can reproduce the NaN.  In fact, any negative value 
  gives a NaN.
 Not any negative value, but in lngamma.c:
   /* if x  0 and -2k-1 = x = -2k, then lngamma(x) = NaN */
 probably because the gamma value is negative. This is because MPFR defines
 lngamma as log(gamma(x)) while the C standard defines it as log|gamma(x)|. I
 wonder if this should be regarded as a bug or if a new function (say,
 mpfr_lgamma) should be defined in MPFR (in which case, not before 2.3.0).

The documenation in MPFR says:
 -- Function: int mpfr_lngamma (mpfr_t ROP, mpfr_t OP, mp_rnd_t RND)
 Set ROP to the value of the Gamma function on OP, and its
 logarithm respectively, rounded in the direction RND.  When OP is
 a negative integer, NaN is returned.

It only talked about negative integers, and I glossed over the fact that it
left out the absolute value that C does.  So it was pilot error, but I think a
clarification would help.  Many times in the docs MPFR takes pains to follow
the C99 standard, e.g. the inputs to atan2 or pow.  Where you deviate from it
should also be noted. 

Or you could consider it a bug and fix it. :-)

Anyway, I think I can hand wrap mpfr_log(mpfr_abs(mpfr_gamma)) myself right?


 Also, warning! The mpfr_erfc is incomplete for x = 4096: There is an infinite
 loop in the 2.2 branch. This problem is now detected in the trunk, and until
 this is completely fixed, a NaN is returned with the MPFR erange flag set. 
 This
 should be in the 2.2 branch in a few days (and a preversion of MPFR 2.2.1 will
 come several days after that).

If it returns NaN for now that's fine since GCC avoids any transformation that
returns NaN or Inf.

Glad to hear a new version is coming out.  If you make a prerelease tarball
available somewhere I'd like to try it with mainline GCC.


-- 


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



[Bug fortran/29625] Octal edit descriptors allow real variables, even with -std=f95

2006-10-28 Thread tobias dot burnus at physik dot fu-berlin dot de


--- Comment #1 from tobias dot burnus at physik dot fu-berlin dot de  
2006-10-28 13:34 ---
Probably the same for binary and hexadecimal?

io/transfer.c(formatted_transfer_scalar): case FMT_O: seems to be a good
place for adding notify_std (dtp-common, GFC_STD_GNU,...)


-- 


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



[Bug fortran/29267] different length non-constant strings in array constructors ICE

2006-10-28 Thread tobias dot burnus at physik dot fu-berlin dot de


--- Comment #14 from tobias dot burnus at physik dot fu-berlin dot de  
2006-10-28 13:09 ---
 Do g95 and ifort also compile the original testcase and do The Right Thing?

No. g95 has a run-time error, ifort garbage at the beginning (but no crash);
f95 and sunf95 don't compile.

gfortran: ICE for x, for x: compiles, but garbage (extra 1.000) at run
time, for x//31characters: ok like all the other compilers


 g95 ice29267.f90
 ./a.out
Fortran runtime error: Inconsistent string size in array constructor

 ifort ice4.f90
 ./a.out # with print *, a:
 xw~D##65533;*'@x$#65533;
  1.000

NAGf95:
Array constructor values have differing CHARACTER lengths (1 and 32)
sunf95:
Line = 3, Column = 23: ERROR: Array constructor values of type character must
all have the same length.


-- 


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



[Bug middle-end/29335] transcendental functions with constant arguments should be resolved at compile-time

2006-10-28 Thread vincent at vinc17 dot org


--- Comment #20 from vincent at vinc17 dot org  2006-10-28 14:05 ---
(In reply to comment #19)
 The documenation in MPFR says:
  -- Function: int mpfr_lngamma (mpfr_t ROP, mpfr_t OP, mp_rnd_t RND)
  Set ROP to the value of the Gamma function on OP, and its
  logarithm respectively, rounded in the direction RND.  When OP is
  a negative integer, NaN is returned.
 
 It only talked about negative integers,

AFAIK, this was mainly for Gamma(negative integer). But this is also true for
lngamma(negative integer). But the point is that if gamma(x) is negative, then
lngamma(x) is NaN since the logarithm of a negative value is NaN. But that's
why the C standard defines lgamma as log|gamma(x)| instead of log(gamma(x)).

 and I glossed over the fact that it
 left out the absolute value that C does.  So it was pilot error, but I think a
 clarification would help.  Many times in the docs MPFR takes pains to follow
 the C99 standard, e.g. the inputs to atan2 or pow.  Where you deviate from it
 should also be noted.

I agree. And I think that none of the MPFR developers were aware of this
problem (I didn't notice the difference when I was looking for C functions that
were missing in MPFR). I posted a mail about that on the MPFR mailing-list.

 Or you could consider it a bug and fix it. :-)

I think this is the best solution, in particular because this would change only
NaN values.

 Anyway, I think I can hand wrap mpfr_log(mpfr_abs(mpfr_gamma)) myself right?

Probably not a good idea, because I think that mpfr_gamma may overflow, though
the final result may be in the double-precision range.

 Glad to hear a new version is coming out.  If you make a prerelease tarball
 available somewhere I'd like to try it with mainline GCC.

OK, I hope I won't forget to announce it in the gcc dev mailing-list.


-- 


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



[Bug libgomp/26165] Cannot find libgomp.spec after 'make install' on x86_64 and ppc64

2006-10-28 Thread franke dot daniel at gmail dot com


--- Comment #9 from franke dot daniel at gmail dot com  2006-10-28 14:27 
---
I ran into this on a x86_64 running some flavour of debian. Since I can not
alter the system setup, I have to compile svn sources with multilib disabled
(otherwise the build process stops due to various errors). There wasn't any
problem up until recently when I tried to compile an OMP enabled fortran
program:

$ gfortran-4.2-svn -fopenmp foo.f
gfortran-4.2-svn: libgomp.spec: No such file or directory

$ cat foo.f
  PROGRAM main
  END PROGRAM

$ gfortran-4.2-svn
Using built-in specs.
Target: x86_64-linux
Configured with: ../../svn/gcc-4.2-branch/configure
--prefix=$(localpath)/gcc-4.2-svn --with-gmp=$(localpath)/gmp-4.2.1
--with-mpfr=$(localpath)/mpfr-2.2.0 --enable-bootstrap --enable-threads=posix
--enable-shared --with-system-zlib --program-suffix=-4.2-svn --disable-multilib
x86_64-linux --disable-nls --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.2.0 20061026 (prerelease)


Any suggestions how to work around this problem? Setting up my own toolchain
is, due to quota, not an option.


-- 

franke dot daniel at gmail dot com changed:

   What|Removed |Added

 CC||franke dot daniel at gmail
   ||dot com


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



[Bug middle-end/29335] transcendental functions with constant arguments should be resolved at compile-time

2006-10-28 Thread ghazi at gcc dot gnu dot org


--- Comment #21 from ghazi at gcc dot gnu dot org  2006-10-28 16:03 ---
(In reply to comment #20)
 I agree. And I think that none of the MPFR developers were aware of this
 problem (I didn't notice the difference when I was looking for C functions
 that were missing in MPFR). 

Since you mentioned C functions missing in MPFR, what are your plans for the
Bessel functions?  I'd like to hook up builtins j0/j1/jn/y0/y1/yn.  Thanks.


-- 


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



[Bug middle-end/29335] transcendental functions with constant arguments should be resolved at compile-time

2006-10-28 Thread vincent at vinc17 dot org


--- Comment #22 from vincent at vinc17 dot org  2006-10-28 16:58 ---
(In reply to comment #21)
 Since you mentioned C functions missing in MPFR, what are your plans for the
 Bessel functions?  I'd like to hook up builtins j0/j1/jn/y0/y1/yn.  Thanks.

They're in the TODO, but there are no plans yet to implement them.


-- 


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



[Bug fortran/28484] system_clock with real-type count_rate does not compile

2006-10-28 Thread patchapp at dberlin dot org


--- Comment #3 from patchapp at dberlin dot org  2006-10-28 16:39 ---
Subject: Bug number PR28484

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-10/msg01387.html


-- 


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



[Bug c++/29054] [4.0/4.1 Regression] ICE on friend template specialization

2006-10-28 Thread Thomas8675309 at yahoo dot com


--- Comment #3 from Thomas8675309 at yahoo dot com  2006-10-28 17:57 ---
If one clicks on the list of All regressions for GCC 4.1.1 from the main
page, http://gcc.gnu.org, this bug doesn't come up.  Any idea why?


-- 


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



[Bug middle-end/26899] Fold does not fold (i0 i1 + 1) || (i1 i0 - 1)

2006-10-28 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-10-28 18:03 ---
Subject: Bug 26899

Author: rguenth
Date: Sat Oct 28 18:03:21 2006
New Revision: 118106

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118106
Log:
2006-10-28  Richard Guenther  [EMAIL PROTECTED]

PR middle-end/26899
* fold-const.c (maybe_canonicalize_comparison_1): Helper
for maybe_canonicalize_comparison.
(maybe_canonicalize_comparison): New function for canonicalizing
comparison trees.
(fold_comparison): Call it to canonicalize comparisons with
constants involved.

* gcc.dg/tree-ssa/pr26899.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr26899.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/26899] Fold does not fold (i0 i1 + 1) || (i1 i0 - 1)

2006-10-28 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-10-28 18:04 ---
Fixed what is possible to fix.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/29054] [4.0/4.1 Regression] ICE on friend template specialization

2006-10-28 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.1.2


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



[Bug libfortran/29627] New: partial unformatted reads shouldn't succeed

2006-10-28 Thread tkoenig at gcc dot gnu dot org
$ cat partial.f90
program main
  character(len=1) a(2)
  open(10, form=unformatted,status=unknown)
  write (10) 'a'
  rewind 10
  a = 'b'
  read (10) a
  print *,a
end program main
$ gfortran -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../../gcc/trunk/configure --prefix=/home/ig25
--enable-languages=c,fortran
Thread model: posix
gcc version 4.2.0 20061020 (experimental)

This should generate a runtime error. ifort gets this right:

$ ifort partial.f90
$ ./a.out
forrtl: severe (67): input statement requires too much data, unit 10, file
/home/ig25/Krempel/Transfer/fort.10
Image  PCRoutineLineSource
a.out  08085958  Unknown   Unknown  Unknown
a.out  08085450  Unknown   Unknown  Unknown
a.out  08084A0D  Unknown   Unknown  Unknown
a.out  080648C8  Unknown   Unknown  Unknown
a.out  08064D6B  Unknown   Unknown  Unknown
a.out  08055937  Unknown   Unknown  Unknown
a.out  080554B1  Unknown   Unknown  Unknown
a.out  0804A239  Unknown   Unknown  Unknown
a.out  0804A13C  Unknown   Unknown  Unknown
UnknownA7E40EA8  Unknown   Unknown  Unknown
a.out  08049FF1  Unknown   Unknown  Unknown


-- 
   Summary: partial unformatted reads shouldn't succeed
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tkoenig at gcc dot gnu dot org


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



[Bug libfortran/29627] partial unformatted reads shouldn't succeed

2006-10-28 Thread tkoenig at gcc dot gnu dot org


--- Comment #1 from tkoenig at gcc dot gnu dot org  2006-10-28 18:11 ---
Uh, I forgot the actual output from the program:

$ gfortran partial.f90
$ ./a.out
 ab


-- 


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



[Bug target/28806] lround is not expanded inline to SSE conversion sequence

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-10-28 18:22 ---
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=28806



[Bug middle-end/26900] Number of iterations not know for simple loop

2006-10-28 Thread rguenth at gcc dot gnu dot org


--- Comment #13 from rguenth at gcc dot gnu dot org  2006-10-28 18:22 
---
Now that we do all possible canonicalization we still can not figure out # of
iterations here.

I'm revisiting the proposed patch for this PR and am going to attack
tree-ssa-loop-niter.c:simplify_using_initial_conditions again.

(Zdenek, I hope you don't mind if I take this bug from you again ;))


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|rakdver at gcc dot gnu dot  |rguenth at gcc dot gnu dot
   |org |org


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



[Bug target/28806] lround is not expanded inline to SSE conversion sequence

2006-10-28 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=28806



[Bug fortran/29617] gfortran testsuite failure

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-10-28 18:26 ---
Related to PR 21952.


-- 


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



[Bug c++/29615] Class can't be friends of itself?

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-10-28 18:44 ---
As far as I can tell this has been a pedwarning since the begining of the C++
front-end.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||rejects-valid


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



[Bug debug/29614] [4.2/4.3 Regression] DWARF information for function static variable is missing after unrelated code addition

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-10-28 18:49 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|i686-pc-linux-gnu   |
   GCC host triplet|i686-pc-linux-gnu   |
   Keywords||wrong-debug
   Last reconfirmed|-00-00 00:00:00 |2006-10-28 18:49:28
   date||
Summary|DWARF information for   |[4.2/4.3 Regression] DWARF
   |function static variable is |information for function
   |missing after unrelated code|static variable is missing
   |addition|after unrelated code
   ||addition
   Target Milestone|--- |4.2.0


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



[Bug libfortran/29627] partial unformatted reads shouldn't succeed

2006-10-28 Thread tkoenig at gcc dot gnu dot org


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |tkoenig at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-10-28 19:30:27
   date||


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



[Bug debug/29628] New: [32bit] unused argc/argv missing their DW_AT_location

2006-10-28 Thread jan dot kratochvil at redhat dot com
`main' function (the function with specific prologue/epilogue) is missing DWARF
`DW_AT_location' for its `argc' and `argv' on 32-bit targets - only if these
arguments are never unused.

affected: x86_64-redhat-linux with -m32, i386-redhat-linux
not affected: x86_64-redhat-linux (-m64)

32-bit broken for: gcc-4.1.1, SVN snapshot 4.3.0
always works: gcc-3.4.6

It causes gdb(1) to hide the arguments during backtrace:
#0  main () at test.c:3


correct [i386]:
echo 'int main (int argc, char **argv) { return argc + (int) argv; }' main.c
;gcc -o main.o main.c -ggdb3;readelf -a --debug main.o|grep -A5 -w argc

incorrect [i386]:
echo 'int main (int argc, char **argv) { return 0; }' main.c ;gcc -o main.o
main.c -ggdb3;readelf -a --debug main.o|grep -A5 -w argc


correct (gcc-3.4.6):
 1ee3: Abbrev Number: 33 (DW_TAG_subprogram)
 DW_AT_sibling : f63
 DW_AT_external: 1
 DW_AT_name: main
 DW_AT_decl_file   : 46
 DW_AT_decl_line   : 267
 DW_AT_prototyped  : 1
 DW_AT_type: c4
 DW_AT_low_pc  : 0x8048c0f
 DW_AT_high_pc : 0x8048e26
 DW_AT_frame_base  : 616(location list)
 2f02: Abbrev Number: 34 (DW_TAG_formal_parameter)
 DW_AT_name: argc
 DW_AT_decl_file   : 46
 DW_AT_decl_line   : 267
 DW_AT_type: c4
 DW_AT_location: 2 byte block: 91 0 (DW_OP_fbreg: 0)
 2f12: Abbrev Number: 34 (DW_TAG_formal_parameter)
 DW_AT_name: argv
 DW_AT_decl_file   : 46
 DW_AT_decl_line   : 267
 DW_AT_type: f63
 DW_AT_location: 2 byte block: 91 4 (DW_OP_fbreg: 4)

incorrect (gcc-4.1.1; appropriately for SVN snapshot - ~4.3.0):
 164: Abbrev Number: 2 (DW_TAG_subprogram)
 DW_AT_external: 1
 DW_AT_name: main
 DW_AT_decl_file   : 1
 DW_AT_decl_line   : 2
 DW_AT_prototyped  : 1
 DW_AT_type: 9b
 DW_AT_low_pc  : 0x8048324
 DW_AT_high_pc : 0x804833d
 DW_AT_frame_base  : 0  (location list)
 DW_AT_sibling : 9b
 282: Abbrev Number: 3 (DW_TAG_formal_parameter)
 DW_AT_name: argc
 DW_AT_decl_file   : 1
 DW_AT_decl_line   : 1
 DW_AT_type: 9b
 28e: Abbrev Number: 3 (DW_TAG_formal_parameter)
 DW_AT_name: argv
 DW_AT_decl_file   : 1
 DW_AT_decl_line   : 1
 DW_AT_type: a2



dwarf2.out.c mem_loc_descriptor () GET_CODE (rtl):
`case REG:' for i386 `argc'; it will fail on:
  if (REGNO (rtl)  FIRST_PSEUDO_REGISTER)
Checked there:
REGNO (rtl) == 61   /* Therefore pseudoreg.  */
ORIGINAL_REGNO (rtl) == REGNO (rtl)
reg_renumber [61] == -1

On i386 with the arguments used it is fine as:
REGNO (rtl) == 1   /* Therefore hard register.  */

On x86_64 it goes the `case PLUS:' way, not `case REG:'.


Could you advice where to find the location information for pseudoregisters
there?


-- 
   Summary: [32bit] unused argc/argv missing their DW_AT_location
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jan dot kratochvil at redhat dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug fortran/29625] Octal edit descriptors allow real variables, even with -std=f95

2006-10-28 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2006-10-28 21:05 ---
Subject: Bug 29625

Author: burnus
Date: Sat Oct 28 21:05:42 2006
New Revision: 118111

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118111
Log:
2006-10-28 Tobias Burnus [EMAIL PROTECTED]

PR fortran/29625
* io/transfer.c (formatted_transfer_scalar): Allow binary edit
  descriptors for real variables; give error for BOZ edit
  descriptor for non-integers when using -std=f*.


Modified:
trunk/libgfortran/ChangeLog
trunk/libgfortran/io/transfer.c


-- 


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



[Bug fortran/29629] New: ICE on OpenMP-enabled program (gfc_conv_variable, at fortran/trans-expr.c:404)

2006-10-28 Thread franke dot daniel at gmail dot com
There must be something inherently evil with the code below as both, gfortran
and ifort, crash.

If either func is not array valued or not listed in the REDUCE-clause,
everything is fine.

$ cat omp.f90
PROGRAM omp
  write (*,*) func(n)
  CONTAINS
   FUNCTION func(n)
INTEGER, INTENT(in)   :: n
INTEGER, DIMENSION(n) :: func
INTEGER   :: k
func = 0
!$OMP PARALLEL DO PRIVATE(k), REDUCTION(+:func)
DO k = 1, n
  func = func + 1
END DO
!$OMP END PARALLEL DO
   END FUNCTION
END PROGRAM

$ gfortran-svn -g -Wall -fopenmp omp.f90
omp.f90: In function 'func':
omp.f90:11: internal compiler error: in gfc_conv_variable, at
fortran/trans-expr.c:404
Please submit a full bug report,
with preprocessed source if appropriate.

$ gfortran-svn -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../../svn/gcc/configure
--prefix=/home/daniel/nfs/packages/i686-pc-linux-gnu/gcc-svn --disable-nls
--enable-threads=posix --enable-shared --enable-bootstrap --with-system-zlib
--program-suffix=-svn --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.3.0 20061026 (experimental)


$ ifort -g -warn all -check all -openmp omp.f90
fortcom: Severe: **Internal compiler error: segmentation violation signal
raised** Please report this error along with the circumstances in which it
occurred in a Software Problem Report.  Note: File and line given may not be
explicit cause of this error.

$ ifort -v
Version 9.0


-- 
   Summary: ICE on OpenMP-enabled program (gfc_conv_variable, at
fortran/trans-expr.c:404)
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: franke dot daniel at gmail dot com
  GCC host triplet: i686-pc-linux-gnu


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



[Bug fortran/29625] Octal edit descriptors allow real variables, even with -std=f95

2006-10-28 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2006-10-28 21:07 ---
Subject: Bug 29625

Author: burnus
Date: Sat Oct 28 21:07:19 2006
New Revision: 118112

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118112
Log:
2006-10-28  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/29625
* gfortran.dg/io_real_boz.f90: Add.
* gfortran.dg/io_real_boz2.f90: Add.


Added:
trunk/gcc/testsuite/gfortran.dg/io_real_boz.f90
trunk/gcc/testsuite/gfortran.dg/io_real_boz2.f90
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug libfortran/29627] partial unformatted reads shouldn't succeed

2006-10-28 Thread tkoenig at gcc dot gnu dot org


--- Comment #2 from tkoenig at gcc dot gnu dot org  2006-10-28 21:24 ---
Created an attachment (id=12504)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12504action=view)
preliminary patch


-- 


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



[Bug fortran/28224] gfortran should support namelist (nml) for internal file units

2006-10-28 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2006-10-28 21:46 ---
Accept.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |burnus at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-07-02 23:10:59 |2006-10-28 21:46:49
   date||


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



[Bug fortran/29625] Octal edit descriptors allow real variables, even with -std=f95

2006-10-28 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2006-10-28 21:43 ---
Fix checked in:

Author: burnus
Date: Sat Oct 28 21:05:42 2006
New Revision: 118111

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118111
Log:
2006-10-28 Tobias Burnus [EMAIL PROTECTED]

PR fortran/29625
* io/transfer.c (formatted_transfer_scalar): Allow binary edit
  descriptors for real variables; give error for BOZ edit
  descriptor for non-integers when using -std=f*.

Modified:
trunk/libgfortran/ChangeLog
trunk/libgfortran/io/transfer.c

Author: burnus
Date: Sat Oct 28 21:07:19 2006
New Revision: 118112

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118112
Log:
2006-10-28  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/29625
* gfortran.dg/io_real_boz.f90: Add.
* gfortran.dg/io_real_boz2.f90: Add.

Added:
trunk/gcc/testsuite/gfortran.dg/io_real_boz.f90
trunk/gcc/testsuite/gfortran.dg/io_real_boz2.f90
Modified:
trunk/gcc/testsuite/ChangeLog


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |burnus at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-10-28 21:43:44
   date||


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



[Bug fortran/29630] New: Unclassifiable statement with vector subscripts in initialization

2006-10-28 Thread eedelman at gcc dot gnu dot org
erik:~/gcc$ cat bug.f90 
program init
implicit none
integer, parameter :: a1(6) = [1, 2, 3, 4, 5, 6]
integer, parameter :: b1(3) = a1([1,2,3])
end program init
erik:~/gcc$ gfortran bug.f90 
 In file bug.f90:4

integer, parameter :: b1(3) = a1([1,2,3])
   1
Error: Unclassifiable statement at (1)


-- 
   Summary:  Unclassifiable statement with vector subscripts in
initialization
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: eedelman at gcc dot gnu dot org
ReportedBy: eedelman at gcc dot gnu dot org


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



[Bug fortran/29625] Octal edit descriptors allow real variables, even with -std=f95

2006-10-28 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2006-10-28 21:44 ---
Mark fixed.


-- 

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=29625



[Bug fortran/28224] gfortran should support namelist (nml) for internal file units

2006-10-28 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2006-10-28 21:59 ---
Subject: Bug 28224

Author: burnus
Date: Sat Oct 28 21:59:20 2006
New Revision: 118113

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118113
Log:
fortran/
2006-10-28  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/28224
* io.c (check_io_constraints): Allow namelists
  for internal files for Fortran 2003.

testsuite/
2006-10-28  Tobias Burnus  [EMAIL PROTECTED]

PR fortran/28224
* gfortran.dg/io_constraints_2.f90: Use -std=f95.
* gfortran.dg/namelist_internal.f90: New test.


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


-- 


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



[Bug fortran/28224] gfortran should support namelist (nml) for internal file units

2006-10-28 Thread burnus at gcc dot gnu dot org


--- Comment #7 from burnus at gcc dot gnu dot org  2006-10-28 21:59 ---
Fixed.


-- 

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=28224



[Bug fortran/28484] system_clock with real-type count_rate does not compile

2006-10-28 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2006-10-28 22:13 ---
Assign.

Preliminary patch at:
http://gcc.gnu.org/ml/gcc-patches/2006-10/msg01387.html


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |burnus at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-09-03 06:10:52 |2006-10-28 22:13:07
   date||


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



[Bug libstdc++/29529] purify with iostream reports 128 uninitialized memory reads

2006-10-28 Thread pcarlini at suse dot de


--- Comment #4 from pcarlini at suse dot de  2006-10-28 22:34 ---
Ok, I have double checked that both on 4.0.3 and the active branches everything
is fine per Valgrind (3.2.1). You may want to pass -v to Valgrind and look at
the supp: lines in the output, showing the used suppressions: interestingly,
one pretty commonly used is called Ubuntu-stripped-ld.so, that is, it has
been added to cope with Ubuntu-specific false positives...


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c++/29033] %s substituted with left/right can't be properly translated

2006-10-28 Thread mueller at gcc dot gnu dot org


--- Comment #2 from mueller at gcc dot gnu dot org  2006-10-28 22:34 ---
Subject: Bug 29033

Author: mueller
Date: Sat Oct 28 22:34:06 2006
New Revision: 118117

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118117
Log:
2006-10-29  Dirk Mueller  [EMAIL PROTECTED]

   PR c++/29033
  * typeck.c (build_binary_op): Duplicate warning message
   for better translation.


Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck.c


-- 


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



[Bug c++/29033] %s substituted with left/right can't be properly translated

2006-10-28 Thread mueller at gcc dot gnu dot org


--- Comment #3 from mueller at gcc dot gnu dot org  2006-10-28 22:41 ---
Fixed for 4.3.


-- 

mueller at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/29631] [4.1 regression] Incorrect zero extension of signed short IV

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-10-28 23:05 ---
What happens if you try -O2 -fno-loop-optimize?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|tree-optimization   |middle-end
  Known to work||4.2.0
   Target Milestone|--- |4.1.2


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



[Bug c++/29295] ++ operator with bool typedef increments or operator -- with bool typedef

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-10-28 23:02 ---
Subject: Bug 29295

Author: pinskia
Date: Sat Oct 28 23:01:59 2006
New Revision: 118118

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118118
Log:
2006-10-28  Andrew Pinski  [EMAIL PROTECTED]

PR C++/29295
* typeck.c (build_unary_op): Use same_type_p when comparing to
boolean type.

2006-10-28  Andrew Pinski  [EMAIL PROTECTED]

PR C++/29295
* g++.dg/expr/bool1.C: New test.
* g++.dg/expr/bool2.C: New test.




Added:
trunk/gcc/testsuite/g++.dg/expr/bool1.C
trunk/gcc/testsuite/g++.dg/expr/bool2.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/29631] New: [4.1 regression] Incorrect zero extension of signed short IV

2006-10-28 Thread falk at debian dot org
This is extracted from gnushogi (http://bugs.debian.org/393075).

[EMAIL PROTECTED]:~% cat bug.c
const signed char nunmap[] = { 17, -1, 1 };

__attribute__((noinline))
void ff(int i) {
asm volatile();
}

__attribute__((noinline))
void f(short delta) {
short p0 = 2, s;
for (s = 0; s  2; s++) {
p0 += delta;
ff(s);
if (nunmap[p0] == 17)
asm volatile(# nop);
}
}

int main() {
f(-1);
return 0;
}

[EMAIL PROTECTED]:~% gcc-3.4 -O2 bug.c  ./a.out   
[EMAIL PROTECTED]:~% gcc-4.2 -O2 bug.c  ./a.out
[EMAIL PROTECTED]:~% gcc-4.1 -O2 bug.c  ./a.out 
zsh: segmentation fault (core dumped)  ./a.out

Reason seems to be that delta is zero extended, not sign extended:

$f..ng:
lda $30,-32($30)
ldah $1,nunmap($29) !gprelhigh
lda $1,nunmap($1)   !gprellow
stq $9,8($30)
stq $10,16($30)
mov $31,$9
stq $11,24($30)
lda $10,3($1)# $10 = numap + 3
zapnot $16,3,$11 # $11 = zero extend delta (=65535)
stq $26,0($30)
.prologue 1
$L4:
addq $10,$11,$10 # $10 += $11
addl $31,$9,$16
bsr $26,ff  !samegp
ldq_u $1,-1($10) # access numap[65537] - SEGV
extqh $1,$10,$1
sra $1,56,$1
cmpeq $1,17,$1
bne $1,$L12
$L5:
lda $9,1($9)
cmpeq $9,2,$1
beq $1,$L4
ldq $26,0($30)
ldq $9,8($30)
ldq $10,16($30)
ldq $11,24($30)
lda $30,32($30)
ret $31,($26),1
.align 4
$L12:
.setmacro
# nop
.setnomacro
br $31,$L5


-- 
   Summary: [4.1 regression] Incorrect zero extension of signed
short IV
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: falk at debian dot org
 GCC build triplet: alpha-linux-gnu
  GCC host triplet: alpha-linux-gnu
GCC target triplet: alpha-linux-gnu


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



[Bug c++/29295] ++ operator with bool typedef increments or operator -- with bool typedef

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-10-28 23:02 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/29631] [4.1 regression] Incorrect zero extension of signed short IV

2006-10-28 Thread falk at debian dot org


--- Comment #2 from falk at debian dot org  2006-10-28 23:13 ---
(In reply to comment #1)
 What happens if you try -O2 -fno-loop-optimize?

No crash then.


-- 


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



[Bug rtl-optimization/29631] [4.1 regression] Incorrect zero extension of signed short IV

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-10-28 23:19 ---
 No crash then.
So this is another loop.c bug.  This is why it was removed, it was full of bugs
:).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||28970
  Component|middle-end  |rtl-optimization


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



[Bug c++/16307] -Wchar-subscripts does not warn on pointers

2006-10-28 Thread mueller at gcc dot gnu dot org


--- Comment #4 from mueller at gcc dot gnu dot org  2006-10-28 23:22 ---
Testing patch.


-- 

mueller at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mueller at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED


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



[Bug debug/29628] unused argc/argv missing their DW_AT_location

2006-10-28 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|minor   |normal
  GCC build triplet|i686-pc-linux-gnu   |
   GCC host triplet|i686-pc-linux-gnu   |
Summary|[32bit] unused argc/argv|unused argc/argv missing
   |missing their DW_AT_location|their DW_AT_location


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



[Bug c++/6321] no warning for bad main function declaration

2006-10-28 Thread mueller at gcc dot gnu dot org


--- Comment #4 from mueller at gcc dot gnu dot org  2006-10-28 23:45 ---
testing patch


-- 

mueller at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mueller at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED


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



[Bug fortran/29537] ICE in gfc_match_common for blank common in BLOCK DATA unit

2006-10-28 Thread sgk at troutmask dot apl dot washington dot edu


--- Comment #10 from sgk at troutmask dot apl dot washington dot edu  
2006-10-28 23:56 ---
Subject: Re:  ICE in gfc_match_common for blank common in BLOCK DATA unit

On Sun, Oct 22, 2006 at 09:08:02PM -, aldot at gcc dot gnu dot org wrote:
 
 Created an attachment (id=12476)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12476action=view)
  -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12476action=view)
 untested proposed fix
 
 I hope to test this patch soon.
 
 Note that it adds a warning about blank common in block data but -- unlike the
 patch in the previous comment -- does accept the common instead of abandoning
 it via goto cleanup. Please advise if not cleaning this up is acceptable or if
 blank commons should be ignored there.
 
 fortran/ChangeLog:
 2006-10-22  Bernhard Fischer  [EMAIL PROTECTED]
 
 PR fortran/29537
 * trans-common.c (gfc_trans_common): For unnamed block data the
 proc_name is null, so use the locus of the common.
 (gfc_sym_mangled_common_id): Fix whitespace.
 * match.c (gfc_match_common): Emit warning about blank common in
 block data.
 
 testsuite/ChangeLog:
 2006-10-22  Bernhard Fischer  [EMAIL PROTECTED]
 
 PR fortran/29537
 * blockdata_1.f90: Add warning about blank common in block data.
 * blockdata_2.f90: New testcase.
 
 

Bernhard, 

This is ok for trunk.


-- 


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



[Bug libfortran/29627] partial unformatted reads shouldn't succeed

2006-10-28 Thread jvdelisle at gcc dot gnu dot org


--- Comment #3 from jvdelisle at gcc dot gnu dot org  2006-10-28 23:21 
---
I had considered flipping the logic around on is_stream_io as you have done in
the  preliminary patch.  The first versions of stream_io I was leaving the
existing code completely untouched while testing out the overall approach.  Now
that we are in 4.3 this is a good time to do some cleanup.  Overall, the
prelminary patch approach looks good, but I have not tested yet.


-- 


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



[Bug other/29271] Incorrect -fdump-rtl-sched documentation

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-10-29 00:28 ---
Subject: Bug 29271

Author: pinskia
Date: Sun Oct 29 00:27:49 2006
New Revision: 118128

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118128
Log:
2006-10-28  Andrew Pinski  [EMAIL PROTECTED]

PR tree-opt/29271
* doc/invoke.texi (-fdump-rtl-sched2) Fix file extension number.
(-fdump-rtl-sched): Rename to ..
(-fdump-rtl-sched1): here.  Also fix file extension number.



Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/invoke.texi


-- 


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



[Bug other/29271] Incorrect -fdump-rtl-sched documentation

2006-10-28 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-10-29 00:28 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/29335] transcendental functions with constant arguments should be resolved at compile-time

2006-10-28 Thread ghazi at gcc dot gnu dot org


--- Comment #23 from ghazi at gcc dot gnu dot org  2006-10-29 02:02 ---
Subject: Bug 29335

Author: ghazi
Date: Sun Oct 29 02:02:10 2006
New Revision: 118129

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=118129
Log:
PR middle-end/29335
* builtins.c (do_mpfr_arg2, fold_builtin_hypot): New.
(fold_builtin_pow): Evaluate constant arguments at compile-time
using MPFR.
(fold_builtin_1): Handle BUILT_IN_ATAN2 and BUILT_IN_HYPOT.
(do_mpfr_ckconv): New helper function.
(do_mpfr_arg1): Use do_mpfr_ckconv.
(do_mpfr_arg2): New.

testsuite:
* gcc.dg/builtins-20.c: Add tests for hypot.
* gcc.dg/torture/builtin-math-2.c (TESTIT2): New.  Add tests for
two-argument builtins.
* gcc.dg/torture/builtin-math-3.c (TESTIT_R): Renamed from
TESTIT2.  Update all callers.
(TESTIT2, TESTIT2_R): New helper macros.
Add testcases for pow, hypot and atan2.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/builtins-20.c
trunk/gcc/testsuite/gcc.dg/torture/builtin-math-2.c
trunk/gcc/testsuite/gcc.dg/torture/builtin-math-3.c


-- 


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



[Bug c++/29632] New: ICE on invalid code: regenerate_decl_from_template, at cp/pt.c:10969

2006-10-28 Thread jkherciueh at gmx dot net
The following crashes g++:

struct nullptr_type {

  nullptr_type ( void ) {}

  template  typename T 
  operator T* ( void ) const {
return ( 0 );
  }

} const nullptr;

int main ( void ) {
  0 == nullptr;
}


g++ -v:
Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/specs
Configured with: /var/tmp/portage/gcc-3.4.6-r1/work/gcc-3.4.6/configure
--prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4.6
--includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/include
--datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6
--mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6/man
--infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.6/info
--with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/include/g++-v3
--host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec
--enable-nls --without-included-gettext --with-system-zlib --disable-checking
--disable-werror --disable-libunwind-exceptions --disable-multilib
--disable-libgcj --enable-languages=c,c++,f77 --enable-shared
--enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix


-- 
   Summary: ICE on invalid code: regenerate_decl_from_template, at
cp/pt.c:10969
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jkherciueh at gmx dot net


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



[Bug c++/29633] New: syntax error in do/while condition with templates reports incorrect line number

2006-10-28 Thread ceckak at alumni dot washington dot edu
The simplest way to explain this is with an example.  When compiling the
testcase below, g++ will report an error on lines 16, but it should report an
error on lines 18.  If you change just about anything about this example, it
will report the correct line number (e.g. using non-template classes for either
class, changing the pointer type to Class1int, removing tc_a  from the
condition).  So there's some interaction between a template member function
referencing the name/pointer of a templated class in a logic expression in a
do/while loop that is causing the wrong line number to be reported.  It's
definitely an obscure situation, but it left me scratching my head for a while
trying to figure out why my code wouldn't compile.

template typename T
struct Class1
{
  void testfn1(void);
};

template typename T
class Class2
{
public:
  void testfn2(void)
  {
Class1T * tc_a;
do
{
  int x = 0; //line 16
}
while (tc_a  tc_a-testfn1); //line 18
  }
};

int main(void)
{
  Class2int tc2;
  tc2.testfn2();
  return 0;
}


-- 
   Summary: syntax error in do/while condition with templates
reports incorrect line number
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ceckak at alumni dot washington dot edu
  GCC host triplet: g++ (GCC) 4.1.1 20060724 (prerelease) (4.1.1-3mdk)


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



[Bug c++/29633] syntax error in do/while condition with templates reports incorrect line number

2006-10-28 Thread ceckak at alumni dot washington dot edu


--- Comment #1 from ceckak at alumni dot washington dot edu  2006-10-29 
04:51 ---
Created an attachment (id=12505)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12505action=view)
testcase


-- 


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



[Bug fortran/24978] ICE in gfc_assign_data_value_range

2006-10-28 Thread jvdelisle at gcc dot gnu dot org


--- Comment #5 from jvdelisle at gcc dot gnu dot org  2006-10-29 05:16 
---
Should we simply avoid the ice, perhaps accepting the invalid code or do we
want to search for duplicates in the DATA statements and generate an error?

Also,

Is this valid?:

real :: a(5,5)
DATA a(1,1), a(3,1), a(1,2), a(3,3) /2*1.0, 2*2.0/
DATA a(2,1) /2.5/

In other words, no overlap in the DATA statements.  It is a big difference if
we have to search element by element.  I suspect this is why this is not a
constraint on the compiler, but is a restriction on the programmer, so to
speak.


-- 


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