[Bug other/40302] [4.5 Regression] GCC must hard-require MPC before release

2009-06-01 Thread ghazi at gcc dot gnu dot org


--- Comment #2 from ghazi at gcc dot gnu dot org  2009-06-01 06:02 ---
Remember to update the webpage:
http://gcc.gnu.org/gcc-4.5/changes.html

Add the MPC library dependency in the Caveats section, and add the benefits
of using MPC in the General Optimizer Improvements section.


-- 


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



[Bug fortran/40318] New: Complex division by zero in gfortran returns wrong results

2009-06-01 Thread ghazi at gcc dot gnu dot org
Complex division by zero in gfortran returns NaN.  This is expected for 0/0,
but other finite/zero should return Inf.  This impacts the testcase
gfortran.dg/real_const_3.f90 in two values incorrectly computed:

  complex :: z = (-0.1,-2.2)/(0.0,0.0)
  complex :: z2 = (0.1,1)/0

See: http://gcc.gnu.org/ml/fortran/2009-05/msg00423.html

This should be fixed in gcc-4.5 by using MPC for division, but older versions
of GCC should add special case handling in the fortran frontend simplification
code.


-- 
   Summary: Complex division by zero in gfortran returns wrong
results
   Product: gcc
   Version: 4.3.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ghazi at gcc dot gnu dot org


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2009-06-01 06:54 ---
(In reply to comment #0)
 Complex division by zero in gfortran returns NaN.  This is expected for 0/0,
 but other finite/zero should return Inf.  This impacts the testcase
 gfortran.dg/real_const_3.f90 in two values incorrectly computed:
 
   complex :: z = (-0.1,-2.2)/(0.0,0.0)
   complex :: z2 = (0.1,1)/0
 
 See: http://gcc.gnu.org/ml/fortran/2009-05/msg00423.html
 
 This should be fixed in gcc-4.5 by using MPC for division, but older versions
 of GCC should add special case handling in the fortran frontend simplification
 code.
 

Kaveh,

After looking into the problem, I think (nan + i nan) is
an acceptable result for z = (-0.1,-2.2)/(0.0,0.0) 
because of the standard definition of complex division.
For z2 = (0.1,1)/0, I think that you are correct, and
gfortran should give (inf + i inf).


-- 


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-06-01 Thread burnus at gcc dot gnu dot org


--- Comment #9 from burnus at gcc dot gnu dot org  2009-06-01 07:00 ---
Subject: Bug 40309

Author: burnus
Date: Mon Jun  1 07:00:35 2009
New Revision: 148035

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148035
Log:
2009-06-01  Tobias Burnus  bur...@net-b.de

   PR fortran/40309
   * trans-decl.c (gfc_sym_identifier): Use MAIN__ for PROGRAM main.
   (create_main_function): Set main_identifier_node.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-decl.c


-- 


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-06-01 Thread burnus at gcc dot gnu dot org


--- Comment #10 from burnus at gcc dot gnu dot org  2009-06-01 07:34 ---
FIXED on the trunk (4.5).


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/40309] gfortran does not support static c/d-tors.

2009-06-01 Thread dave dot korn dot cygwin at gmail dot com


--- Comment #11 from dave dot korn dot cygwin at gmail dot com  2009-06-01 
08:05 ---
I checked the fix and it works.  Verified.


-- 

dave dot korn dot cygwin at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|VERIFIED


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



[Bug tree-optimization/39129] The meaning of 'BB' in too many BBs in loop

2009-06-01 Thread irar at gcc dot gnu dot org


--- Comment #8 from irar at gcc dot gnu dot org  2009-06-01 08:15 ---
Subject: Bug 39129

Author: irar
Date: Mon Jun  1 08:15:01 2009
New Revision: 148036

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148036
Log:

PR tree-optimization/39129
* tree-vect-loop-manip.c (conservative_cost_threshold): Change the 
printed message.
(vect_do_peeling_for_loop_bound): Use 
LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT and
LOOP_REQUIRES_VERSIONING_FOR_ALIAS macros.
(vect_loop_versioning): Likewise.
(vect_create_cond_for_alias_checks): Fix indentation.
* tree-vectorizer.h (struct _loop_vec_info): Fix indentation of the 
macros.
(LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT): Define.
(LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Likewise.
* tree-vect-loop.c (vect_analyze_loop_form): Change too many BBs to 
control flow in loop.
(vect_estimate_min_profitable_iters): Use 
LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT and
LOOP_REQUIRES_VERSIONING_FOR_ALIAS macros.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
(vect_create_data_ref_ptr): Don't mention array dimension in printing.
* tree-vect-stmts.c (vectorizable_store): Replace the check that the 
statement belongs to a group of strided accesses with the exact code 
check.
(vectorizable_load): Likewise.
* tree-vect-slp.c (vect_analyze_slp_instance): Spell out basic block.
(vect_slp_analyze_bb, vect_slp_transform_bb): Likewise.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-vect-data-refs.c
trunk/gcc/tree-vect-loop-manip.c
trunk/gcc/tree-vect-loop.c
trunk/gcc/tree-vect-slp.c
trunk/gcc/tree-vect-stmts.c
trunk/gcc/tree-vectorizer.h


-- 


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



[Bug tree-optimization/39129] The meaning of 'BB' in too many BBs in loop

2009-06-01 Thread irar at il dot ibm dot com


--- Comment #9 from irar at il dot ibm dot com  2009-06-01 08:20 ---
Fixed.


-- 

irar at il dot ibm dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread ghazi at gcc dot gnu dot org


--- Comment #2 from ghazi at gcc dot gnu dot org  2009-06-01 08:35 ---
(In reply to comment #1)
 Kaveh,
 After looking into the problem, I think (nan + i nan) is
 an acceptable result for z = (-0.1,-2.2)/(0.0,0.0) 
 because of the standard definition of complex division.
 For z2 = (0.1,1)/0, I think that you are correct, and
 gfortran should give (inf + i inf).

Why is one different than the other?  I don't know fortan promotion rules, but
in C, the latter case promotes to (0.1,1.0)/(0.0,0.0) which looks very much
like the first case.  Does fortran handle type promotion differently?

Regardless, I don't know that any standard definition of complex division
applies here.  The canonical algebraic formula is undefined mathematically in
the presence of division by zero.  So at least in C there are rules telling us
what to do, and they say return Inf.  Does fortran follow a standard here we
can compare against or are we guessing? :-)


-- 


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread dominiq at lps dot ens dot fr


--- Comment #3 from dominiq at lps dot ens dot fr  2009-06-01 10:19 ---
In http://gcc.gnu.org/ml/fortran/2009-06/msg6.html, Dennis Wassel 
wrote:
 Complex numbers have a well-defined concept of infinity, which I like to
 visualise as the infinite-diameter ring around the finite complex
 numbers, so its argument is, of course, not well-defined.  This is
 conceptually somewhat different from the two points +/-Inf on the real
 line, and it is not signed.

My understanding of infinity in the complex plane is what is called (I
call?)  directed inifinity: if abs((a,b)) goes to +Inf and atan2(a,b) has
a defined value in this limit, then (a,b) goes to infinity in the direction
given by atan2(a,b).  However (+/-Inf,+/-Inf) defines only four directions
and is unable to represent general directed inifinity.  So I think that
from a mathematical point of view the problem is ill-posed,
(+/-Inf,+/-Inf) is in the same class of undefined values as 0/0 or
Inf/Inf, and should give NaNs.

Now atan2(a,b) is DEFINED such that atan2(+0,+/-0)=+/-0,
atan2(-0,+/-0)=+/-Pi, atan2(+Inf,+/-Inf)=+/-Pi/4,
atan2(-Inf,+/-Inf)=+/-3*Pi/4 (it seems that it is even built in the Intel
hardware).  With this definition of atan2, it is possible to give a
definition of (+/-Inf,+/-Inf) as the directions of the corners of the
infinite square.  I have nothing against this defintion, except it should
be documented.

Part of the problem originates from the optimization of (a,b)/(c,0.0) as
(a/c,b/c), see pr30482, and it limit when c goes to 0 (the latter giving
(+/-Inf,+/-Inf) if b/=0.0 or has a unknown value at compile time,
(+/-Inf,+/-0) if b known to be zero at compile time, optimized as
(a/c,+/-0.0), or (+/-Inf,-/+Nan) if b==0 at run time).

Note that due to the definition of atan2(+/-0,+/-0),
(+/-0,+/-0)=0*exp((+/-k*Pi,+/-0)) (k being 0 or 1), then to be consistent
1.0/(+/-0.0,+/-0.0) should give 1/0.0*exp((-/+k*Pi,-/+0))=(+/-Inf,-/+Nan).

Last remark, if I remember correctly (I cannot find the right pointer) C99 
defines precisely how complex multiplications should behave in the 
exception limits, with the drawback of a large increase of the computation 
cost avoided with the -fcx-fortran-rules option.

As far as I can tell:

(1) Without the IEEE module, using or producing Inf or NaN makes the code 
non (fortran) standard comforming, so the processor can give any answer.

(2) With the IEEE module, Inf and NaN are part of the numerical model, 
however I did not find any definition of the values that intrinsincs 
should return in such cases.

To conclude, I'll repeat that in my opinion the only relevant answer for
overflow, divide by zero, or invalid argument exceptions is call abort().
Since I know that it is a lost battle, I think at least the behavior shall
not increase the computation time with complex numbers (or provide a way to
avoid the penalty).  Now if the f standard does not define the expected
result, but the C99 does, the best answer to this ill-posed problem is
probably to follow the C99 standard if possible (I have no idea of what
does mpc).  In this case the results at compile and run times should be the
same (least surprising approach).


-- 


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



[Bug c++/11764] [DR147] g++ does not treat injected class name correctly.

2009-06-01 Thread Woebbeking at web dot de


--- Comment #15 from Woebbeking at web dot de  2009-06-01 10:28 ---
Ian, I know open source and I also know that some parts are more interesting
than others :-) 


Most the time I'm a happy GCC user (sure, it could be faster but that's what
compile farms are for). But this bug is assigned for nearly 6 years now that
makes me a bit sad.


-- 


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread burnus at gcc dot gnu dot org


--- Comment #4 from burnus at gcc dot gnu dot org  2009-06-01 11:09 ---
Regarding the run-time evaluation, note that Fortran sets (internally) the
-fcx-fortran-rules flag, which modifies the complex evaluation.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu dot
   ||org
   Keywords||wrong-code


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread dominiq at lps dot ens dot fr


--- Comment #5 from dominiq at lps dot ens dot fr  2009-06-01 11:24 ---
(In reply to comment #2)
 Does fortran follow a standard here we can compare against 
 or are we guessing? :-)

What the fortran standard says is you shall not divide by zero! anything else
is just a matter of choice of the implementation, but it won't make the code
valid.


-- 


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread dennis dot wassel at googlemail dot com


--- Comment #6 from dennis dot wassel at googlemail dot com  2009-06-01 
12:14 ---
(In reply to comment #3)

 My understanding of infinity in the complex plane is what is called (I
 call?)  directed inifinity: if abs((a,b)) goes to +Inf and atan2(a,b) has
 a defined value in this limit, then (a,b) goes to infinity in the direction
 given by atan2(a,b).  However (+/-Inf,+/-Inf) defines only four directions
 and is unable to represent general directed inifinity.  So I think that
 from a mathematical point of view the problem is ill-posed,
 (+/-Inf,+/-Inf) is in the same class of undefined values as 0/0 or
 Inf/Inf, and should give NaNs.

Then this is the gist of the matter - my FA textbook does not require the
argument to converge, but just the modulus, so our understandings of infinity
differ.
I agree with Dominique in that mathematically (+/-Inf,+/-Inf) is not
well-defined, because the limit of a/b is unknown.

 Now atan2(a,b) is DEFINED such that atan2(+0,+/-0)=+/-0,
 atan2(-0,+/-0)=+/-Pi, atan2(+Inf,+/-Inf)=+/-Pi/4,
 atan2(-Inf,+/-Inf)=+/-3*Pi/4 (it seems that it is even built in the Intel
 hardware).  With this definition of atan2, it is possible to give a
 definition of (+/-Inf,+/-Inf) as the directions of the corners of the
 infinite square.  I have nothing against this defintion, except it should
 be documented.

The mathematicians among us will writhe in agony, but I think this serves the
purpose best :)

 [...]
 In this case the results at compile and run times should be the
 same (least surprising approach).

I strongly support that point, because everything else would be a very nasty
gotcha for an average Fortran user like myself.


-- 


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread dominiq at lps dot ens dot fr


--- Comment #7 from dominiq at lps dot ens dot fr  2009-06-01 12:25 ---
 Then this is the gist of the matter - my FA textbook does not require the
 argument to converge, but just the modulus, so our understandings of infinity 
 differ.

Think of something like \rho\exp(i\rho\sin(\pi\rho)): it is going to infinity
when \rho goes to +infinity, but you cannot define a directed infinity since
the argument keeps oscillating when \rho increases.


-- 


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



[Bug libfortran/40319] New: write (*,'(A1)') 65 should generate an error/warning

2009-06-01 Thread tkoenig at gcc dot gnu dot org
$ cat foo.f
  write (*,'(A1)') 65
  end
$ gfortran -std=f95 -pedantic -Wall foo.f
$ ./a.out
A
$ 

We might want to permit this with -std=legacy, though.  g77 also accepts it.


-- 
   Summary: write (*,'(A1)') 65 should generate an error/warning
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: enhancement
  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=40319



[Bug bootstrap/40320] New: [4.5 Regression] broken bootstrap again: gcc/java/verify-impl.c:1280: ICE: in extract_insn, at recog.c:2078

2009-06-01 Thread dominiq at lps dot ens dot fr
Bootstrapping revision 148039 on i686-apple-darwin9 fails with:

/opt/gcc/i686-darwin/./prev-gcc/xgcc -B/opt/gcc/i686-darwin/./prev-gcc/
-B/opt/gcc/gcc4.5w/i686-apple-darwin9/bin/
-B/opt/gcc/gcc4.5w/i686-apple-darwin9/bin/
-B/opt/gcc/gcc4.5w/i686-apple-darwin9/lib/ -isystem
/opt/gcc/gcc4.5w/i686-apple-darwin9/include -isystem
/opt/gcc/gcc4.5w/i686-apple-darwin9/sys-include-c  -g -O2
-fomit-frame-pointer -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat
-Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -Ijava
-I../../gcc-4.5-work/gcc -I../../gcc-4.5-work/gcc/java
-I../../gcc-4.5-work/gcc/../include -I./../intl
-I../../gcc-4.5-work/gcc/../libcpp/include -I/opt/mpc/build/include 
-I/sw/include  -I../../gcc-4.5-work/gcc/../libdecnumber
-I../../gcc-4.5-work/gcc/../libdecnumber/dpd -I../libdecnumber -I/sw/include 
-I/sw/include -DCLOOG_PPL_BACKEND   ../../gcc-4.5-work/gcc/java/win32-host.c -o
java/win32-host.o
/opt/gcc/i686-darwin/./prev-gcc/xgcc -B/opt/gcc/i686-darwin/./prev-gcc/
-B/opt/gcc/gcc4.5w/i686-apple-darwin9/bin/
-B/opt/gcc/gcc4.5w/i686-apple-darwin9/bin/
-B/opt/gcc/gcc4.5w/i686-apple-darwin9/lib/ -isystem
/opt/gcc/gcc4.5w/i686-apple-darwin9/include -isystem
/opt/gcc/gcc4.5w/i686-apple-darwin9/sys-include-c  -g -O2
-fomit-frame-pointer -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat
-Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -Ijava
-I../../gcc-4.5-work/gcc -I../../gcc-4.5-work/gcc/java
-I../../gcc-4.5-work/gcc/../include -I./../intl
-I../../gcc-4.5-work/gcc/../libcpp/include -I/opt/mpc/build/include 
-I/sw/include  -I../../gcc-4.5-work/gcc/../libdecnumber
-I../../gcc-4.5-work/gcc/../libdecnumber/dpd -I../libdecnumber -I/sw/include 
-I/sw/include -DCLOOG_PPL_BACKEND   ../../gcc-4.5-work/gcc/java/jcf-parse.c -o
java/jcf-parse.o
../../gcc-4.5-work/gcc/java/verify-impl.c: In function 'get_variable_t':
../../gcc-4.5-work/gcc/java/verify-impl.c:1280: error: unrecognizable insn:
(insn 81 80 82 13 ../../gcc-4.5-work/gcc/java/verify-impl.c:1279 (set (mem:SI
(plus:SI (reg/f:SI 56 virtual-outgoing-args)
(const_int 4 [0x4])) [0 S4 A32])
(plus:SI (reg/f:SI 113)
(reg:SI 66 [ D.14606 ]))) -1 (nil))
../../gcc-4.5-work/gcc/java/verify-impl.c:1280: internal compiler error: in
extract_insn, at recog.c:2078


-- 
   Summary: [4.5 Regression] broken bootstrap again:
gcc/java/verify-impl.c:1280: ICE: in extract_insn, at
recog.c:2078
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


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



[Bug c++/40321] New: internal compiler error: in compute_antic, at tree-ssa-pre.c:2501

2009-06-01 Thread ich at az2000 dot de
This is with GCC trunk, revision 148003:

...
[ 69%] Building CXX object
CMakeFiles/openlierox.dir/src/common/PhysicsLX56_Projectiles.o
[ 70%] Building CXX object CMakeFiles/openlierox.dir/src/common/HTTP.o
[ 70%] Building CXX object CMakeFiles/openlierox.dir/src/common/Networking.o
/home/az/Programmierung/openlierox/src/common/PhysicsLX56_Projectiles.cpp: In
function 'ProjCollisionType FinalWormCollisionCheck(CProjectile*, const
LX56ProjAttribs, const CVec, const CVec, CWorm*, TimeDiff,
ProjCollisionType)':
/home/az/Programmierung/openlierox/src/common/PhysicsLX56_Projectiles.cpp:129:
internal compiler error: in compute_antic, at tree-ssa-pre.c:2501
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
make[2]: *** [CMakeFiles/openlierox.dir/src/common/PhysicsLX56_Projectiles.o]
Fehler 1
make[2]: *** Warte auf noch nicht beendete Prozesse...


-- 
   Summary: internal compiler error: in compute_antic, at tree-ssa-
pre.c:2501
   Product: gcc
   Version: tree-ssa
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ich at az2000 dot de
  GCC host triplet: amd64
GCC target triplet: amd64


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



[Bug bootstrap/40320] [4.5 Regression] broken bootstrap again: gcc/java/verify-impl.c:1280: ICE: in extract_insn, at recog.c:2078

2009-06-01 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2009-06-01 14:16 ---
See also Gcc [trunk revision 148039] failed to boostrap on i686! at
http://gcc.gnu.org/ml/gcc-regression/2009-06/msg7.html
and NEW GCC build failure, h...@148039 on native at
http://gcc.gnu.org/ml/gcc-regression/2009-06/msg6.html


-- 

dominiq at lps dot ens dot fr changed:

   What|Removed |Added

 CC||hjl dot tools at gmail dot
   ||com


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread jb at gcc dot gnu dot org


--- Comment #8 from jb at gcc dot gnu dot org  2009-06-01 14:21 ---
Whatever you do, as long as the Fortran standard is silent on this matter, can
you hide it behind some -fC99-wankery or such option and not enable it by
default, so that those of us who care less about which of (NaN, NaN) and (Inf,
Inf) is the better error indicator than the roughly factor of 4 in performance
for complex arithmetic can get on with our lives?


-- 

jb at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jb at gcc dot gnu dot org


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



[Bug bootstrap/40320] [4.5 Regression] Revision 148039 caused ICE: in extract_insn, at recog.c:2078

2009-06-01 Thread hjl dot tools at gmail dot com


--- Comment #2 from hjl dot tools at gmail dot com  2009-06-01 14:26 ---
Revision 148039:

http://gcc.gnu.org/ml/gcc-cvs/2009-06/msg00016.html

is the cause.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 CC||mkuvyrkov at gmail dot com
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|i686-apple-darwin9  |
   GCC host triplet|i686-apple-darwin9  |
 GCC target triplet|i686-apple-darwin9  |x86
   Last reconfirmed|-00-00 00:00:00 |2009-06-01 14:26:00
   date||
Summary|[4.5 Regression] broken |[4.5 Regression] Revision
   |bootstrap again:|148039 caused  ICE: in
   |gcc/java/verify-impl.c:1280:|extract_insn, at
   |ICE: in extract_insn, at|recog.c:2078
   |recog.c:2078|


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



[Bug bootstrap/40320] [4.5 Regression] Revision 148039 caused ICE: in extract_insn, at recog.c:2078

2009-06-01 Thread hjl dot tools at gmail dot com


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

   Severity|normal  |blocker
   Priority|P3  |P1
   Target Milestone|--- |4.5.0


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



[Bug c++/40321] internal compiler error: in compute_antic, at tree-ssa-pre.c:2501

2009-06-01 Thread ich at az2000 dot de


--- Comment #1 from ich at az2000 dot de  2009-06-01 14:40 ---
Sorry, it was revision 148004.

I also tried with rev 148039, same error:

/home/az/Programmierung/openlierox/src/common/PhysicsLX56_Projectiles.cpp: In
function 'ProjCollisionType FinalWormCollisionCheck(CProjectile*, const
LX56ProjAttribs, const CVec, const CVec, CWorm*, TimeDiff,
ProjCollisionType)':
/home/az/Programmierung/openlierox/src/common/PhysicsLX56_Projectiles.cpp:129:
internal compiler error: in compute_antic, at tree-ssa-pre.c:2501
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 


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



[Bug bootstrap/40320] [4.5 Regression] Revision 148039 caused ICE: in extract_insn, at recog.c:2078

2009-06-01 Thread hjl dot tools at gmail dot com


--- Comment #3 from hjl dot tools at gmail dot com  2009-06-01 14:43 ---
On Linux/ia32, I got

/export/gnu/import/svn/gcc-test/bld/./gcc/xgcc
-B/export/gnu/import/svn/gcc-test/bld/./gcc/
-B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/
-isystem /usr/local/i686-pc-linux-gnu/include -isystem
/usr/local/i686-pc-linux-gnu/sys-include-g -O2 -O2  -g -O2 -DIN_GCC   -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED   -I. -I. -I../.././gcc
-I../../../src-trunk/libgcc -I../../../src-trunk/libgcc/.
-I../../../src-trunk/libgcc/../gcc -I../../../src-trunk/libgcc/../include
-I../../../src-trunk/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT
-DHAVE_CC_TLS -DUSE_TLS -o _powitf2.o -MT _powitf2.o -MD -MP -MF _powitf2.dep
-DL_powitf2 -c ../../../src-trunk/libgcc/../gcc/libgcc2.c \
  -fvisibility=hidden -DHIDE_EXPORTS
../../../src-trunk/libgcc/../gcc/libgcc2.c: In function '__powitf2':
../../../src-trunk/libgcc/../gcc/libgcc2.c:1739: error: unrecognizable insn:
(insn 48 47 49 7 ../../../src-trunk/libgcc/../gcc/libgcc2.c:1734 (set (mem:SI
(reg/f:SI 56 virtual-outgoing-args) [0 S4 A32])
(plus:SI (reg/f:SI 54 virtual-stack-vars)
(const_int -16 [0xfff0]))) -1 (nil))
../../../src-trunk/libgcc/../gcc/libgcc2.c:1739: internal compiler error: in
extract_insn, at recog.c:2078
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 


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



[Bug bootstrap/40320] [4.5 Regression] Revision 148039 caused ICE: in extract_insn, at recog.c:2078

2009-06-01 Thread mkuvyrkov at gcc dot gnu dot org


--- Comment #4 from mkuvyrkov at gcc dot gnu dot org  2009-06-01 14:50 
---
I've reverted the patch that caused the bootstrap failure.


-- 

mkuvyrkov at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug c++/40321] internal compiler error: in compute_antic, at tree-ssa-pre.c:2501

2009-06-01 Thread ich at az2000 dot de


--- Comment #2 from ich at az2000 dot de  2009-06-01 14:50 ---
The specific file which fails has a lot of inline code, perhaps that is the
reason for failing. There are certain reasons why we want to have that inline.

This is the file if you want to take a look:
http://openlierox.svn.sourceforge.net/viewvc/openlierox/src/common/PhysicsLX56_Projectiles.cpp?view=markup

I guess it cannot really be reproduced with a simple example as the problem is
probably the complexitiy here.


-- 


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread sgk at troutmask dot apl dot washington dot edu


--- Comment #9 from sgk at troutmask dot apl dot washington dot edu  
2009-06-01 14:56 ---
Subject: Re:  Complex division by zero in gfortran returns wrong results

On Mon, Jun 01, 2009 at 08:35:05AM -, ghazi at gcc dot gnu dot org wrote:
 
 
 --- Comment #2 from ghazi at gcc dot gnu dot org  2009-06-01 08:35 ---
 (In reply to comment #1)
  Kaveh,
  After looking into the problem, I think (nan + i nan) is
  an acceptable result for z = (-0.1,-2.2)/(0.0,0.0) 
  because of the standard definition of complex division.
  For z2 = (0.1,1)/0, I think that you are correct, and
  gfortran should give (inf + i inf).
 
 Why is one different than the other?  I don't know fortan promotion rules, but
 in C, the latter case promotes to (0.1,1.0)/(0.0,0.0) which looks very much
 like the first case.  Does fortran handle type promotion differently?
 
 Regardless, I don't know that any standard definition of complex division
 applies here.  The canonical algebraic formula is undefined mathematically in
 the presence of division by zero.  So at least in C there are rules telling us
 what to do, and they say return Inf.  Does fortran follow a standard here we
 can compare against or are we guessing? :-)
 
 

Let's deal with the z = (-0.1,-2.2)/(0.0,0.0) case.  This program, IMHO, needs
to give a consistent answer.

   subroutine sub(z1, z2)
 implicit none
 complex z1, z2
 print *, z1 / z2
   end subroutine sub

   program a
 implicit none
 complex :: z1 = (-0.1,-2.2), z2 = (0.0,0.0)
 complex :: z3 = (-0.1,-2.2) / (0.0,0.0)
 call sub(z1, z2)
 print *, z3
   end program a

If one wants z3 to be inf or (inf + i inf) or anything other than (nan + i
nan),
then the complex division in sub() will cause an unacceptably large drop in
performance because GCC would need to generate code to check all the special
cases i.e.,

   subroutine sub(z1, z2)
 implicit none
 complex z1, z2
 if (real(z2) == 0. .and. aimag(z2) == 0.) then
if (real(z1) == 0. .and. aimag(z1) then
   nan + i nan
else if (aimag(z1) == 0.) then
   inf + i nan
else if (real(z1) == 0.) then
   nan + i inf
end if
 else
print *, z1 / z2
 end if
   end subroutine sub

As for the second case of z = (0.1, 1) / 0, Fortran indeed has promotion
rules (see Sec. 7.1.2 in Fortran 2003).  This is transformed to
z = (0.1, 1) / (0., 0.), so once again my above argument for a consistent
result applies.   

PS: Please do not consider -ffast-math as a method to disable all of the
checking.  -ffast-math has too much baggage to be used with impunity.

If MPC returns inf or (inf + i inf) and the MPC developers do not consider
this to be a bug in their library, then gfortran will need to handle the
division by zero during constant folding as a special case.


-- 


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



[Bug c++/40321] internal compiler error: in compute_antic, at tree-ssa-pre.c:2501

2009-06-01 Thread ich at az2000 dot de


--- Comment #3 from ich at az2000 dot de  2009-06-01 16:34 ---
I have commented out the check in tree-ssa-pre.c:2501, and then, after eating
up about 8GB memory (that was all available), I got this:

c++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See http://gcc.gnu.org/bugs.html for instructions.

Btw., I have some similar problem with GCC 4.4.0. It's also eating up all
memory there and dies in the end, for the same source file. It doesn't occur
with GCC 4.3 though.


-- 


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



[Bug other/40322] New: make clean fails (/bin/bash: -/: invalid option)

2009-06-01 Thread ich at az2000 dot de
In revision 148041:

...
make[2]: Verlasse Verzeichnis
'/home/az/Programmierung/gcc-trunk/build/libiberty'
rm -f *.a required-list tmpmulti.out
rm -f libiberty.dvi libiberty.pdf libiberty.info* libiberty.html
make[1]: Verlasse Verzeichnis
'/home/az/Programmierung/gcc-trunk/build/libiberty'
/bin/bash: -/: invalid option
Usage:  /bin/bash [GNU long option] [option] ...
/bin/bash [GNU long option] [option] script-file ...
GNU long options:
--debug
--debugger
--dump-po-strings
--dump-strings
--help
--init-file
--login
--noediting
--noprofile
--norc
--posix
--protected
--rcfile
--restricted
--verbose
--version
--wordexp
Shell options:
-irsD or -c command or -O shopt_option  (invocation only)
-abefhkmnptuvxBCHP or -o option
/bin/bash: -/: invalid option
Usage:  /bin/bash [GNU long option] [option] ...
/bin/bash [GNU long option] [option] script-file ...
GNU long options:
--debug
--debugger
--dump-po-strings
--dump-strings
--help
--init-file
--login
--noediting
--noprofile
--norc
--posix
--protected
--rcfile
--restricted
--verbose
--version
--wordexp
Shell options:
-irsD or -c command or -O shopt_option  (invocation only)
-abefhkmnptuvxBCHP or -o option
/bin/bash: -/: invalid option
Usage:  /bin/bash [GNU long option] [option] ...
/bin/bash [GNU long option] [option] script-file ...
GNU long options:
--debug
--debugger
--dump-po-strings
--dump-strings
--help
--init-file
--login
--noediting
--noprofile
--norc
--posix
--protected
--rcfile
--restricted
--verbose
--version
--wordexp
Shell options:
-irsD or -c command or -O shopt_option  (invocation only)
-abefhkmnptuvxBCHP or -o option
/bin/bash: line 0: test: !=: unary operator expected
make[1]: Betrete Verzeichnis
'/home/az/Programmierung/gcc-trunk/build/x86_64-unknown-linux-gnu/libgcc'
rm -f config.h stamp-h stmp-ldirs libgcc.map
Makefile:147: *** Rekursive Variable »AR_FOR_TARGET« referenziert sich
(schließlich) selbst.  Schluss.
make[1]: Verlasse Verzeichnis
'/home/az/Programmierung/gcc-trunk/build/x86_64-unknown-linux-gnu/libgcc'
make: *** [clean-stage3-target-libgcc] Fehler 2


-- 
   Summary: make clean fails (/bin/bash: -/: invalid option)
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ich at az2000 dot de


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



[Bug tree-optimization/40321] [4.5 Regression] internal compiler error: in compute_antic, at tree-ssa-pre.c:2501

2009-06-01 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
  Component|c++ |tree-optimization
   Keywords||ice-on-valid-code
Summary|internal compiler error: in |[4.5 Regression] internal
   |compute_antic, at tree-ssa- |compiler error: in
   |pre.c:2501  |compute_antic, at tree-ssa-
   ||pre.c:2501
   Target Milestone|--- |4.5.0
Version|tree-ssa|4.5.0


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



[Bug tree-optimization/40321] [4.5 Regression] internal compiler error: in compute_antic, at tree-ssa-pre.c:2501

2009-06-01 Thread ich at az2000 dot de


--- Comment #4 from ich at az2000 dot de  2009-06-01 16:52 ---
Created an attachment (id=17941)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17941action=view)
source file after preprocessor

I just created the temporary source file (via -save-temps) and attached it.


-- 


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



[Bug middle-end/40316] [4.5 Regression] Revision 147995 breaks gcc.target/i386/lea.c

2009-06-01 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2009-06-01 17:13 ---
Subject: Bug 40316

Author: jakub
Date: Mon Jun  1 17:13:04 2009
New Revision: 148055

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148055
Log:
PR middle-end/40316
* recog.c (peep2_reinit_state): New function.
(peephole2_init_state): Use it at the end of a basic block and also
when seeing a RTX_FRAME_RELATED_P insn.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/recog.c


-- 


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



[Bug middle-end/40316] [4.5 Regression] Revision 147995 breaks gcc.target/i386/lea.c

2009-06-01 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2009-06-01 17:15 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug libfortran/40319] write (*,'(A1)') 65 should generate an error/warning

2009-06-01 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2009-06-01 17:41 ---
If we can have a warning/error at compile time it would be great.

However, I'm inclined to allow it for -std=gnu at run time. (I'm personally
against too much standard diagnostics at run time. If such an error appears
after a lengthy calculation or if the user does not have the source code, such
diagnostics are rather unfriendly. While compile-time errors are OK - they can
easily worked around using -std=legacy or by changing the source code.)


-- 


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



[Bug other/40302] [4.5 Regression] GCC must hard-require MPC before release

2009-06-01 Thread ghazi at gcc dot gnu dot org


--- Comment #3 from ghazi at gcc dot gnu dot org  2009-06-01 17:45 ---
Remember to upload the MPC tarball (whatever version we settle on) to:
ftp://gcc.gnu.org/pub/gcc/infrastructure/


-- 


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



[Bug fortran/40011] Problems with -fwhole-file

2009-06-01 Thread pault at gcc dot gnu dot org


--- Comment #28 from pault at gcc dot gnu dot org  2009-06-01 18:00 ---
Created an attachment (id=17942)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17942action=view)
A progression of -fwhole-file

This patch is as far as I have got.  It incorporates module procedures and this
is where I have run into problems.  I have posted an appeal for help on the
list.

It should be noted that -fwhole-file is fixed to be on all the time in parse.c
so that the regtesting goes correctly.

Paul


-- 


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



[Bug tree-optimization/40321] [4.5 Regression] internal compiler error: in compute_antic, at tree-ssa-pre.c:2501

2009-06-01 Thread ich at az2000 dot de


--- Comment #5 from ich at az2000 dot de  2009-06-01 18:02 ---
Perhaps that was anyway clear from the report, but I didn't noted the most
important point directly: The problem occurs only with -O3. If I don't set a
specific optimisation, it works.


-- 


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



[Bug other/40024] trunk/gcc-4.3/gcc: * emutls.c (emutls_destroy): Don' t fall out of the array bound.

2009-06-01 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2009-06-01 18:03 ---
Subject: Bug 40024

Author: jakub
Date: Mon Jun  1 18:03:26 2009
New Revision: 148061

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148061
Log:
PR other/40024
* emutls.c (__emutls_get_address): Change arr-size to mean number
of allocated arr-data entries instead of # of slots + 1.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/emutls.c


-- 


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread ghazi at gcc dot gnu dot org


--- Comment #10 from ghazi at gcc dot gnu dot org  2009-06-01 18:14 ---
(In reply to comment #9)
 If MPC returns inf or (inf + i inf) and the MPC developers do not consider
 this to be a bug in their library, then gfortran will need to handle the
 division by zero during constant folding as a special case.

I believe the goals for MPC are to follow C99 rules for special cases.  Thus
the return value of (inf + i inf) is intentional for MPC and not a bug in their
thinking.

I entirely agree that the compile-time and runtime results should be identical.
 If it is your intention to preserve the existing runtime behavior, then we
should do the same in the fortran folder and special case this if/when
converting complex division to use MPC.

Does this mean this PR should be closed as invalid ?


-- 


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



[Bug c++/40323] New: compiling just takes forever and doesn't really process

2009-06-01 Thread ich at az2000 dot de
This is with GCC trunk, rev 148041:

I have a cpp file where g++ just takes forever with 100% CPU usage and constant
(low) memory usage. I am waiting now for 20 minutes without any visible
progress.

I attached with GDB to the process and this is some of the details I am seeing:

a...@gcomputer:~$ gdb
/opt/gcc4.4-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus 32654
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type show copying
and show warranty for details.
This GDB was configured as x86_64-linux-gnu...
Really redefine built-in command frame? (y or n) [answered Y; input not from
terminal]
Really redefine built-in command thread? (y or n) [answered Y; input not from
terminal]
Really redefine built-in command start? (y or n) [answered Y; input not from
terminal]
Attaching to program:
/opt/gcc4.4-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus, process
32654
Reading symbols from /usr/lib/libmpfr.so.1...done.
Loaded symbols for /usr/lib/libmpfr.so.1
Reading symbols from /usr/lib/libgmp.so.3...done.
Loaded symbols for /usr/lib/libgmp.so.3
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
___
Error while running hook_stop:
Value can't be converted to integer.
0x00a6ebd4 in ipa_compute_jump_functions (cs=value optimized out) at
../../gcc/ipa-prop.c:437
437   while (TREE_CODE (rhs) == SSA_NAME  !SSA_NAME_IS_DEFAULT_DEF (rhs))
gdb bt ful
#0  0x00a6ebd4 in ipa_compute_jump_functions (cs=value optimized out)
at ../../gcc/ipa-prop.c:437
info = value optimized out
__FUNCTION__ = ipa_compute_jump_functions
call = value optimized out
#1  0x0002 in ?? ()
No symbol table info available.
#2  0x7f11dcc99480 in ?? ()
No symbol table info available.
#3  0x02394010 in ?? ()
No symbol table info available.
#4  0x0002 in ?? ()
No symbol table info available.
#5  0x7f11df850360 in ?? ()
No symbol table info available.
#6  0x7f11dd0b6c80 in ?? ()
No symbol table info available.
#7  0x7f11dd0b6d20 in ?? ()
No symbol table info available.
#8  0x02394040 in ?? ()
No symbol table info available.
#9  0x7f11dc83b160 in ?? ()
No symbol table info available.
#10 0x7f11ddb0f400 in ?? ()
No symbol table info available.
#11 0x7f11dc8865a0 in ?? ()
No symbol table info available.
#12 0x003b in ?? ()
No symbol table info available.
#13 0x7f11dd0b6d20 in ?? ()
No symbol table info available.
#14 0x7f11dd0b6c80 in ?? ()
No symbol table info available.
#15 0x00a6d0d0 in ?? ()
No locals.
#16 0x7f11dc898600 in ?? ()
No symbol table info available.
#17 0x7f11dc833600 in ?? ()
No symbol table info available.
#18 0x in ?? ()
No symbol table info available.
gdb c


^C
Program received signal SIGINT, Interrupt.
___
Error while running hook_stop:
Value can't be converted to integer.
gimple_assign_single_p (gs=0x7f11dc839be0) at ../../gcc/gimple.c:1831
1831}
gdb bt 
#0  gimple_assign_single_p (gs=0x7f11dc839be0) at ../../gcc/gimple.c:1831
#1  0x00a6ebee in ipa_compute_jump_functions (cs=value optimized out)
at ../../gcc/ipa-prop.c:441
#2  0x0002 in ?? ()
#3  0x7f11dcc99480 in ?? ()
#4  0x02394010 in ?? ()
#5  0x0002 in ?? ()
#6  0x7f11df850360 in ?? ()
#7  0x7f11dd0b6c80 in ?? ()
#8  0x7f11dd0b6d20 in ?? ()
#9  0x02394040 in ?? ()
#10 0x7f11dc83b160 in ?? ()
#11 0x7f11ddb0f400 in ?? ()
#12 0x7f11dc8865a0 in ?? ()
#13 0x003b in ?? ()
#14 0x7f11dd0b6d20 in ?? ()
#15 0x7f11dd0b6c80 in ?? ()
#16 0x00a6d0d0 in ?? ()
#17 0x7f11dc898600 in ?? ()
#18 0x7f11dc833600 in ?? ()
#19 0x in ?? ()
gdb c
^C
Program received signal SIGINT, Interrupt.
___
Error while running hook_stop:
Value can't be converted to integer.
0x00a6ebdf in ipa_compute_jump_functions (cs=value optimized out) at
../../gcc/ipa-prop.c:437
437   while (TREE_CODE (rhs) == SSA_NAME  !SSA_NAME_IS_DEFAULT_DEF (rhs))
gdb list
432return the rhs of its defining statement.  */
433 
434 static inline tree
435 get_ssa_def_if_simple_copy (tree rhs)
436 {
437   while (TREE_CODE (rhs) == SSA_NAME  !SSA_NAME_IS_DEFAULT_DEF (rhs))
438 {
439   gimple def_stmt = SSA_NAME_DEF_STMT (rhs);
440 
441   

[Bug c++/40323] compiling just takes forever and doesn't really process

2009-06-01 Thread ich at az2000 dot de


--- Comment #1 from ich at az2000 dot de  2009-06-01 18:32 ---
gdb c
q
^C
Program received signal SIGINT, Interrupt.
___
Error while running hook_stop:
Value can't be converted to integer.
0x00780a0f in gimple_assign_single_p (gs=0x7f11dc839be0) at
../../gcc/gimple.c:1831
1831}
gdb list
1826gimple_assign_single_p (gimple gs)
1827{
1828  return (gimple_code (gs) == GIMPLE_ASSIGN
1829   get_gimple_rhs_class (gimple_assign_rhs_code (gs))
1830 == GIMPLE_SINGLE_RHS);
1831}
1832
1833/* Return true if GS is an assignment with a unary RHS, but the
1834   operator has no effect on the assigned value.  The logic is adapted
1835   from STRIP_NOPS.  This predicate is intended to be used in
tuplifying
gdb print gs
$4 = (gimple) 0x7f11dc839be0
gdb print *gs
$5 = {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0,
nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad
= 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb =
0x7f11dc8865a0, block = 0x7f11dc83a120}, gsops = {opbase = {gsbase = {code =
GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf =
0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid =
0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, def_ops = 0x7f11db7df1d0, use_ops = 0x0}, op = {0x0}}, gsmem =
{membase = {opbase = {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited
= 0x0, nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops =
0x0, pad = 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2,
bb = 0x7f11dc8865a0, block = 0x7f11dc83a120}, def_ops = 0x7f11db7df1d0, use_ops
= 0x0}, vdef = 0x0, vuse = 0x0}, op = {0x7f11db7dccc0}}, omp = {gsbase = {code
= GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf =
0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid =
0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, body = 0x7f11db7df1d0}, gimple_bind = {gsbase = {code =
GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf =
0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid =
0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, vars = 0x7f11db7df1d0, block = 0x0, body = 0x0}, gimple_catch
= {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0,
nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad
= 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb =
0x7f11dc8865a0, block = 0x7f11dc83a120}, types = 0x7f11db7df1d0, handler =
0x0}, gimple_eh_filter = {gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0,
visited = 0x0, nontemporal_move = 0x0, plf = 0x0, modified = 0x0,
has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid = 0x0, location =
0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block = 0x7f11dc83a120}, types =
0x7f11db7df1d0, failure = 0x0}, gimple_phi = {gsbase = {code = GIMPLE_ASSIGN,
no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf = 0x0, modified =
0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid = 0x0, location =
0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block = 0x7f11dc83a120}, capacity
= 0xdb7df1d0, nargs = 0x7f11, result = 0x0, args = {{imm_use = {prev = 0x0,
next = 0x0, loc = {stmt = 0x7f11db7dccc0, ssa_name = 0x7f11db7dccc0}, use =
0x7f11dcb59a80}, def = 0x202205}}}, gimple_resx = {gsbase = {code =
GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf =
0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid =
0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, region = 0xdb7df1d0}, gimple_try = {gsbase = {code =
GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0, plf =
0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74, uid =
0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, eval = 0x7f11db7df1d0, cleanup = 0x0}, gimple_wce = {gsbase =
{code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0, nontemporal_move = 0x0,
plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad = 0x0, subcode = 0x74,
uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb = 0x7f11dc8865a0, block =
0x7f11dc83a120}, cleanup = 0x7f11db7df1d0}, gimple_asm = {membase = {opbase =
{gsbase = {code = GIMPLE_ASSIGN, no_warning = 0x0, visited = 0x0,
nontemporal_move = 0x0, plf = 0x0, modified = 0x0, has_volatile_ops = 0x0, pad
= 0x0, subcode = 0x74, uid = 0x0, location = 0x6480dd, num_ops = 0x2, bb =
0x7f11dc8865a0, block = 0x7f11dc83a120}, def_ops = 0x7f11db7df1d0, use_ops =
0x0}, vdef = 0x0, vuse = 0x0}, string = 0x7f11db7dccc0 \216, ni = 0x80, no =
0x9a, nc = 0xdcb5, op = {0x202205}}, gimple_omp_critical = {omp 

[Bug c++/40323] compiling just takes forever and doesn't really process

2009-06-01 Thread ich at az2000 dot de


--- Comment #2 from ich at az2000 dot de  2009-06-01 18:35 ---
This only happens with -O3. Without specific optimisation, it compiles just
fine. With all other GCC versions I have tried so far (GCC 4.4, GCC 4.3, GCC
4.0 and a lot others) it works fine (with any possible optimisation).


-- 

ich at az2000 dot de changed:

   What|Removed |Added

  Component|tree-optimization   |c++


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



[Bug c++/40323] compiling just takes forever and doesn't really process

2009-06-01 Thread ich at az2000 dot de


--- Comment #3 from ich at az2000 dot de  2009-06-01 18:36 ---
Created an attachment (id=17943)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17943action=view)
source file after preprocessor

This is the specific source after the preprocessor.


-- 


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



[Bug c++/38089] [4.3/4.4/4.5 Regression] g++ crash on invalid code

2009-06-01 Thread simartin at gcc dot gnu dot org


--- Comment #4 from simartin at gcc dot gnu dot org  2009-06-01 19:02 
---
Patch posted here:
  http://gcc.gnu.org/ml/gcc-patches/2009-06/msg00102.html


-- 

simartin at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||simartin at gcc dot gnu dot
   ||org
   Last reconfirmed|2008-12-24 04:35:02 |2009-06-01 19:02:25
   date||


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



[Bug libstdc++/40299] Rope + C++0x mode = build error

2009-06-01 Thread paolo dot carlini at oracle dot com


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |paolo dot carlini at oracle
   |dot org |dot com
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-06-01 19:09:59
   date||


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread sgk at troutmask dot apl dot washington dot edu


--- Comment #11 from sgk at troutmask dot apl dot washington dot edu  
2009-06-01 19:16 ---
Subject: Re:  Complex division by zero in gfortran returns wrong results

On Mon, Jun 01, 2009 at 06:14:52PM -, ghazi at gcc dot gnu dot org wrote:
 
 - Comment #10 from ghazi at gcc dot gnu dot org  2009-06-01 18:14 ---
 (In reply to comment #9)
  If MPC returns inf or (inf + i inf) and the MPC developers do not consider
  this to be a bug in their library, then gfortran will need to handle the
  division by zero during constant folding as a special case.
 
 I believe the goals for MPC are to follow C99 rules for special cases.
 Thus the return value of (inf + i inf) is intentional for MPC and not
 a bug in their thinking.
 
 I entirely agree that the compile-time and runtime results should be
 identical.  If it is your intention to preserve the existing runtime
 behavior, then we should do the same in the fortran folder and special
 case this if/when converting complex division to use MPC.

Oh yuck.  I just checked n1124.pdf  In Annex G.5.1, it explicitly
defines this behavior:
   if the first operand is a nonzero finite number or an infinity
and the second operand is a zero, then the result of the / operator
is an infinity.

Combining this with G.3:
   A complex or imaginary value is a zero if each of its parts is a zero.

What is disturbing is Example 2 in G.5.1 on page 470!  Does gcc's runtime
implementation of complex division mirror Example 2?  I can understand
the need to avoid under/overflow, but _Cdivd() seems overly complicated.   

 Does this mean this PR should be closed as invalid ?

I think we should leave it open, perhaps in a suspended state, 
as a reminder (to me) that soemthing needs to be done with
gfortran an z/(0,0).


-- 


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



[Bug fortran/40011] Problems with -fwhole-file

2009-06-01 Thread jv244 at cam dot ac dot uk


--- Comment #29 from jv244 at cam dot ac dot uk  2009-06-01 19:34 ---
(In reply to comment #28)
 Created an attachment (id=17942)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17942action=view) [edit]
 A progression of -fwhole-file
 This patch is as far as I have got.  

this seems to have some memory problem somewhere, compiling the normal version
of cp2k (i.e. one module per file), at least 10Gb of memory is needed in
several cases.


-- 


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



[Bug fortran/40011] Problems with -fwhole-file

2009-06-01 Thread jv244 at cam dot ac dot uk


--- Comment #30 from jv244 at cam dot ac dot uk  2009-06-01 19:43 ---
Created an attachment (id=17944)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17944action=view)
testcase

attached is a testcase, this actually causes a segfault outside of the build
infrastructure, but consumes XGb within:

gfortran -v -ffree-form btree_i8_k_i4_v.F

(gdb) bt
#0  0x7ffe74a0efb0 in strcmp () from /lib64/libc.so.6
#1  0x0051bcbd in gfc_find_symtree (st=0x13f4460, name=0x7ffe741dba90
btree_node_p)
at /data03/vondele/gcc_trunk/gcc/gcc/fortran/symbol.c:2306
#2  0x0051bedb in gfc_find_sym_tree (name=0x7ffe741dba90
btree_node_p, ns=0x132b490, parent_flag=0,
result=0x7fff7d54e068) at
/data03/vondele/gcc_trunk/gcc/gcc/fortran/symbol.c:2466
#3  0x0051bf82 in gfc_find_symbol (name=0x7ffe741dba90 btree_node_p,
ns=0x7ffe741dbbd0, parent_flag=0,
result=0x7fff7d54e098) at
/data03/vondele/gcc_trunk/gcc/gcc/fortran/symbol.c:2502
#4  0x005724dd in gfc_get_derived_type (derived=0x13309f0)
at /data03/vondele/gcc_trunk/gcc/gcc/fortran/trans-types.c:1945
#5  0x00572861 in copy_dt_decls_ifequal (from=value optimized out,
to=value optimized out,
from_gsym=value optimized out) at
/data03/vondele/gcc_trunk/gcc/gcc/fortran/trans-types.c:1864
#6  0x00572506 in gfc_get_derived_type (derived=0x132fc30)
at /data03/vondele/gcc_trunk/gcc/gcc/fortran/trans-types.c:1948
#7  0x00572861 in copy_dt_decls_ifequal (from=value optimized out,
to=value optimized out,
from_gsym=value optimized out) at
/data03/vondele/gcc_trunk/gcc/gcc/fortran/trans-types.c:1864
#8  0x00572506 in gfc_get_derived_type (derived=0x13309f0)
at /data03/vondele/gcc_trunk/gcc/gcc/fortran/trans-types.c:1948
#9  0x00572861 in copy_dt_decls_ifequal (from=value optimized out,
to=value optimized out,
from_gsym=value optimized out) at
/data03/vondele/gcc_trunk/gcc/gcc/fortran/trans-types.c:1864
#10 0x00572506 in gfc_get_derived_type (derived=0x132fc30)
at /data03/vondele/gcc_trunk/gcc/gcc/fortran/trans-types.c:1948


-- 


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



[Bug target/32340] [arm] libjava build failure due to missing thread synchronization primitives

2009-06-01 Thread eduardo dot m dot costa at gmail dot com


--- Comment #8 from eduardo dot m dot costa at gmail dot com  2009-06-01 
19:48 ---
(In reply to comment #7)
 Subject: Re:  [arm] libjava build failure due to missing
  thread synchronization primitives
 
  I'm not quite sure what you're trying to do.
 
  What did you change to support arm-eabi* ?
  
  I changed libjava/configure.host to also support arm-eabi
  (arm*-elf|arm*-eabi)but that probably wasn't enough. Given that arm-elf 
  appears
  to be supported for this as per the last comment in the bug report, I 
  thought
  it would make sense to have it working for arm-eabi.
  
  I decided to go back and try an arm-elf build as well just now. I get a 
  failure
  with jni-libjvm.cc with an error about ParkHelper not naming a type. Hence 
  this
  appears to be broken on trunk as revision 146222 for arm-elf as well as
  arm-eabi.
 
 Probably.  The java.lang.concurrent library requires thread support,
 so the only way you're going to get it to run with no threads is to
 create dummy definitions for ParkHelper.  That should be easy, since
 null definitions for park() and unpark() will be fine.
 
 Just add these to libjava/no-threads.cc and libjava/include/no-threads.h.
 
 Andrew.
 

I tryed this:

libjava/include/no-threads.h

struct ParkHelper
{
  void init ();
  void deactivate ();
  void destroy ();
  void park (jboolean isAbsolute, jlong time);
  void unpark ();
};

libjava/no-threads.cc

void ParkHelper::init () {}
void ParkHelper::deactivate () {}
void ParkHelper::destroy () {}
void ParkHelper::park (jboolean isAbsolute, jlong time) {}
void ParkHelper::unpark () {}

But I got more errors on libjava/sysdep/arm/locks.h (thumb mode does not
recognize swp and swpne). 


-- 


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



[Bug libmudflap/18244] libmudflap installs include/mf-runtime.h in version-independent path

2009-06-01 Thread gerald at pfeifer dot com


--- Comment #3 from gerald at pfeifer dot com  2009-06-01 20:32 ---
This has been fixed for GCC 4.2.0, I believe by the following patch:

2006-06-21  Frank Ch. Eigler  f...@redhat.com

PR 21274
mf-runtime.h installation based on ssp patch for PR 26473 from
Mark Mitchell  m...@codesourcery.com.
* configure.ac (ACX_NONCANONICAL_TARGET): Use it.
* Makefile.am (target_noncanonical): Define.
(libsubincludedir): New variable.
(nobase_libsubinclude_HEADERS): Add mf-runtime.h.
(include_HEADERS): Remove.
* configure, aclocal.m4, config.h.in: Regenerated.
* Makefile.in, testsuite/Makefile.in: Likewise.
* mf-runtime.h: Add #ifndef protection for conflicting _REENTRANT
and _THREAD_SAFE redefinition values.

Thus marking as fixed, after all those years.


-- 

gerald at pfeifer dot com changed:

   What|Removed |Added

  Known to work||4.2.0
   Target Milestone|--- |3.1.x/3.2.x


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



[Bug fortran/40318] Complex division by zero in gfortran returns wrong results

2009-06-01 Thread burnus at gcc dot gnu dot org


--- Comment #12 from burnus at gcc dot gnu dot org  2009-06-01 20:33 ---
 Oh yuck.  I just checked n1124.pdf  In Annex G.5.1, it explicitly
 defines this behavior:

Note: Annex G is only informative and not normative; still it makes probably
sense to follow the informative parts of a standard unless they clash with a
normative part - or are intolerably expensive in implementation, compile, or
run time.


-- 


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



[Bug c/40325] New: C frontend permits setting a function pointer to a function with different parameter type

2009-06-01 Thread ian at airs dot com
This C program is compiled with no warning or error by mainline.

enum E { A };
void foo(unsigned int);
void (*pfn)(enum E) = foo;

My reading of ISO C says that these function pointers are not compatible types.
 I think the compiler should report something like

warning: initialization from incompatible pointer type


-- 
   Summary: C frontend permits setting a function pointer to a
function with different parameter type
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ian at airs dot com


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



[Bug libmudflap/18244] libmudflap installs include/mf-runtime.h in version-independent path

2009-06-01 Thread gerald at pfeifer dot com


-- 

gerald at pfeifer dot com changed:

   What|Removed |Added

   Target Milestone|3.1.x/3.2.x |---


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



[Bug c/40325] C frontend permits setting a function pointer to a function with different parameter type

2009-06-01 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2009-06-01 20:40 ---
Actually I think they are compatible.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=6024#c3 explains why they are. 
The reason why they are compatible is explicitly explained in 6.7.2.2#4 (which
specifies that enumerated types are  compatible with char or a signed or
unsigned integer type).

Since enum E is compatible with unsigned int, the function pointer is
compatible as the functions arguments are compatible.


-- 

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



[Bug tree-optimization/40323] compiling just takes forever and doesn't really process

2009-06-01 Thread ich at az2000 dot de


--- Comment #4 from ich at az2000 dot de  2009-06-01 21:36 ---
It runs now for 200 minutes, so I really think this is not normal.


-- 


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



[Bug debug/40012] [4.5 Regression] Revision 146817 generated bad debug info for local variables

2009-06-01 Thread dje at gcc dot gnu dot org


--- Comment #4 from dje at gcc dot gnu dot org  2009-06-01 21:49 ---
Local variable debugging is broken for AIX stabs as well.

On AIX, the DECL and the insn contain different offsets from virtual-stack-vars
for the same variable:

(mem/c/i:SI (plus:SI (reg/f:SI 115 virtual-stack-vars)
(const_int 8 [0x8])) [0 a+0 S4 A128])

versus

(insn 11 10 12 3 ad.c:11 (set (reg:SI 123)
(mem/c/i:SI (reg/f:SI 115 virtual-stack-vars) [0 a+0 S4 A32])) -1
(nil))


-- 

dje at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dje at gcc dot gnu dot org


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



[Bug c++/38089] [4.3/4.4/4.5 Regression] g++ crash on invalid code

2009-06-01 Thread simartin at gcc dot gnu dot org


--- Comment #5 from simartin at gcc dot gnu dot org  2009-06-02 05:37 
---
Subject: Bug 38089

Author: simartin
Date: Tue Jun  2 05:37:17 2009
New Revision: 148069

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=148069
Log:
gcc/cp/

2009-06-02  Simon Martin  simar...@users.sourceforge.net

PR c++/38089
* pt.c (register_specialization): Properly setup DECL_CONTEXT for
specializations in an invalid namespace.

gcc/testsuite/

2009-06-02  Simon Martin  simar...@users.sourceforge.net

PR c++/38089
* g++.dg/template/spec36.C: New test.

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


-- 


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