[Bug tree-optimization/34147] internal compiler error: in set_iv, at tree-ssa-loop-ivopts.c:936

2007-11-20 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2007-11-20 08:01 ---
(In reply to comment #2)
> I build the toolchains use buildroot, the gcc version is 4.1.2, the target
> platform is arm, host platform is cygwin. The busybox version is 1.1.3
> If i uncomment some configure of busybox, a new error will show as following:

Go into directory /home/mahua/opt/test/busybox-1.1.3/editors/ and type:

gcc  -save-temps vi.c, where

 is something like arm-elf- or arm-linux-elf-

and

 is complete compile flags, copied from the compile log, since
these usually span several lines.

Please post _complete_ command how gcc was invoked (so we can use your compile
flags) and attach generated vi.i from
/home/mahua/opt/test/busybox-1.1.3/editors/ to this report.


-- 


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



[Bug fortran/34159] New: Checkbound could warn about unallocated arrays

2007-11-20 Thread P dot Schaffnit at access dot rwth-aachen dot de
Hi!

I don't seem to get gfortran to warn when assigning to an unallocated array
(I've tried '-g -fbounds-check -Wall -pedantic', which I take it should cover
it all), it only segfaults at run-time...

While this is obviously menial stuff, the Lahey compiler for one nicely warns
both at compile- and run-time.

Just for the record...

Thanks!

Philippe

PS: a reduced example:
!
PROGRAM Test
!
INTEGER, ALLOCATABLE :: Array(:)
!
Array = 256
!
END PROGRAM Test
!

PPS: I've tried with
GNU Fortran (GCC) 4.3.0 20071119 (experimental) [trunk revision 130286]


-- 
   Summary: Checkbound could warn about unallocated arrays
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: P dot Schaffnit at access dot rwth-aachen dot de


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



[Bug tree-optimization/34140] [4.3 Regression] ICE in is_hidden_global_store, at tree-ssa-sink.c:207

2007-11-20 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-11-20 09:08 ---
(In reply to comment #3)
> WTF?  tree if-conversion generates this crap.

It split up the store to rc.aec[i].fCubeful .


-- 


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



[Bug c/34146] [4.1/4.2/4.3 Regression] Inefficient code with compound literals inside a CONSTRUCTO

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2007-11-20 10:36 ---
Subject: Bug 34146

Author: jakub
Date: Tue Nov 20 10:36:03 2007
New Revision: 130311

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130311
Log:
PR c/34146
* c-gimplify.c (optimize_compound_literals_in_ctor): New function.
(c_gimplify_expr): Use it.

PR c/34146
* gcc.dg/tree-ssa/pr34146.c: New test.

PR testsuite/33978
* gcc.dg/tree-ssa/pr33723.c: Adjust scan pattern to make it less
dependent on target settings like move_by_pieces etc.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr34146.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-gimplify.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr33723.c


-- 


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



[Bug middle-end/32624] [4.3 Regression] r126198 causes tramp3d slowdown w/o leafify

2007-11-20 Thread steven at gcc dot gnu dot org


--- Comment #5 from steven at gcc dot gnu dot org  2007-11-20 09:57 ---
-ENONEWSFORMONTHS


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug tree-optimization/34140] [4.3 Regression] ICE in is_hidden_global_store, at tree-ssa-sink.c:207

2007-11-20 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2007-11-20 09:13 ---
Well I don't think ifcvt is fully to be blamed here:

  if (D.1542_49 != 0)
goto ;
  else
goto ;

:
  # prephitmp.14_44 = PHI <1(13), 0(11)>
  # rc_45 = PHI 

Why do we have that last PHI anyways?  Unswitch creates it.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rakdver at gcc dot gnu dot
   ||org


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



[Bug testsuite/33978] FAIL: gcc.dg/tree-ssa/pr33723.c scan-tree-dump-times t.f.f1 = 1 4

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2007-11-20 10:36 ---
Subject: Bug 33978

Author: jakub
Date: Tue Nov 20 10:36:03 2007
New Revision: 130311

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130311
Log:
PR c/34146
* c-gimplify.c (optimize_compound_literals_in_ctor): New function.
(c_gimplify_expr): Use it.

PR c/34146
* gcc.dg/tree-ssa/pr34146.c: New test.

PR testsuite/33978
* gcc.dg/tree-ssa/pr33723.c: Adjust scan pattern to make it less
dependent on target settings like move_by_pieces etc.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr34146.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-gimplify.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr33723.c


-- 


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



[Bug tree-optimization/34123] [4.3 Regression] verify_ssa failed with -ftree-loop-linear

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2007-11-20 10:59 ---
The testcase is wrong, static unsigned char sbox[] = {}; means zero sized
array.
But using sbox[256] makes the testcase valid and the problem is still there.
This looks like a bug in can_convert_to_perfect_nest, this loop (at least
unless
earlier passes don't realize that sbox[i] == 0 for any i) can't be converted
into a perfect nest.
The basic block which is after the inner loop is:

:
# t_30 = PHI 
D.1558_19 = (unsigned char) i_39;
t_20 = t_30 + D.1558_19;
i_21 = i_39 + 1;
if (i_21 <= 15)
  goto ;
else
  goto ;

:

:
# i_39 = PHI <0(2), i_21(6)>
# SMT.4_10 = PHI 
# t_29 = PHI <0(2), t_20(6)>
goto ;

can_convert_to_perfect_nest walks the statements of these bbs and is satisfied
with all of them, the first two stmts in bb5 are satisfied by:

2234  tree step = evolution_part_in_loop_num (scev,
loop->num);
2235  if (step && step != chrec_dont_know 
2236  && TREE_CODE (step) == INTEGER_CST)
2237continue;

- step is for both integer_one_node, the third stmt is of course correctly a
stmt_is_bumper_for_loop and the last one is exit_condition.  But nothing scans
the PHIs which are relevant here.  # t_30 = PHI  in bb5 sets t_30 to
t_16, which is computed by inner loop.  And # t_29 = PHI <0(2), t_20(6)>
in bb7 sets t_29 used in the inner loop to t_20 set in bb5 (i.e. in the bb
which prevents perfect nest).  Should the PHIs be walked similarly to how
stmts are walked?


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dberlin at gcc dot gnu dot
   ||org


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



[Bug fortran/34133] Bind(c,name="") should be rejected for dummies; F2008: allow bind(c) for internal procs

2007-11-20 Thread burnus at gcc dot gnu dot org


--- Comment #7 from burnus at gcc dot gnu dot org  2007-11-20 10:55 ---
Assign bug to myself. I have a patch, which does:
- rejects bind(c) with -std=f2003 for internal function (was missing!)
- Allows for -std=gnu bind(c) for internal procedures, but
  rejects bind(c,name=...)
- Rejects binding names for dummy procedures
Now I only need to create a bunch of test cases.


-- 

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 |2007-11-20 10:55:48
   date||


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



[Bug c/34146] [4.1/4.2 Regression] Inefficient code with compound literals inside a CONSTRUCTO

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2007-11-20 11:00 ---
Fixed on the trunk.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.1/4.2/4.3 Regression]|[4.1/4.2 Regression]
   |Inefficient code with   |Inefficient code with
   |compound literals inside a  |compound literals inside a
   |CONSTRUCTO  |CONSTRUCTO


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



[Bug testsuite/33978] FAIL: gcc.dg/tree-ssa/pr33723.c scan-tree-dump-times t.f.f1 = 1 4

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2007-11-20 11:00 ---
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=33978



Re: [Bug c++/34073] New: overloaded template function resolves differently if one type is included in a namespace

2007-11-20 Thread mahmoodn

Where are "temp1.cc" and "temp2.cc" so that I correct them? are they part of
the compiler?

Thanks,


pinskia at gcc dot gnu dot org wrote:
> 
> Two files are appended at the end of this report: temp1.cc and temp2.cc.
> 
> temp1.cc is the only file that causes a problem with recent releases
> of GCC.  It contains :
> 
> 1. a template definition of  Structure
> 2. a template definition of  op_is_finite(const Structure*)
> 3. a template definition of  algebra::AlphabetSet inheriting from
> Structure
> 4. a template definition of  Element 
>that calls op_is_finite(const algebra::AlphabetSet*) in its ctor
> 5. a template overloaded definition for 
>  op_is_finite(const
> algebra::AlphabetSet*)
> 6. a main function that instantiate Element.
> 
> Because all definitions but main() are template, I expect the call to
> op_is_finite() in the ctor of Element (#4) to be resolved during the 
> instantiation of Element (#6) after the second definition
> of op_is_finite() (#5) has been read.  So the call would be bound
> to that second definition and not to the first.
> 
> I have tested three GCC versions :
> g++-3.4 (GCC) 3.4.6 (Debian 3.4.6-6)
> g++-4.1 (GCC) 4.1.3 20070718 (prerelease) (Debian 4.1.2-14)
> g++-4.2 (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)
> 
> Both 4.1 and 4.2 behave identically: they seem to ignore the second
> definition of op_is_finite and try to call the first.
> 
> 3.4 does what we expect: it calls the second definition.
> 
> 
> We have found at least two ways to alter temp1.cc such that 4.2 will
> compile it.
> 
> - One is to move the second definition of op_is_finite() (#5) before its
>   use in the constructor of Element (#4).  
> 
>   This ordering would make sense to me if the functions were not
>   template, but it's not clear why this would change anything in
>   the resolution of template overloaded functions.  I might be
>   missing something.
> 
> - Another possibility is to move AlphabetSet struct out of 
>   the "algebra::" namespace.  temp2.cc contains the updated
>   code.  
> 
>   I'm really surprized that 4.2 compiles temp2.cc
>   without problem and fails on temp1.cc.
> 
> 
> 
> 
> //
>  temp1.cc starts here 
> //
> 
> template struct Structure {};
> 
> template
> bool op_is_finite (const Structure*)
> {
>   // Error on purpose, this function is not expected to be instantiated.
>   return Structure();
> }
> 
> namespace algebra
> {
>   template 
>   struct AlphabetSet : public Structure > {};
> }
> 
> template 
> struct Element
> {
>   Element()
>   {
> op_is_finite(static_cast*>(0));
>   }
> };
> 
> template 
> bool op_is_finite(const algebra::AlphabetSet*)
> {
>   // This is the function we want to be called.
>   return true;
> }
> 
> int main()
> {
>   Element alpha;
> }
> 
> // % g++-3.4 -Wall -W temp1.cc
> // % g++-4.2 -Wall -W temp1.cc
> // temp1.cc: In function 'bool op_is_finite(const Structure*) [with S =
> algebra::AlphabetSet]':
> // temp1.cc:21:   instantiated from 'Element::Element() [with L =
> char]'
> // temp1.cc:34:   instantiated from here
> // temp1.cc:7: error: cannot convert 'Structure
> >'
> to 'bool' in return
> 
> //
>  temp2.cc starts here 
> //
> 
> template struct Structure {};
> 
> template
> bool op_is_finite (const Structure*)
> {
>   // Error on purpose, this function is not expected to be instantiated.
>   return Structure();
> }
> 
> template 
> struct AlphabetSet : public Structure > {};
> 
> template 
> struct Element
> {
>   Element()
>   {
> op_is_finite(static_cast*>(0));
>   }
> };
> 
> template 
> bool op_is_finite(const AlphabetSet*)
> {
>   // This is the function that is called, as we expected.
>   return true;
> }
> 
> int main()
> {
>   Element alpha;
> }
> 
> // % g++-3.4 -Wall -W temp2.cc
> // % g++-4.2 -Wall -W temp2.cc
> 
> 
> -- 
>Summary: overloaded template function resolves differently if
> one
> type is included in a namespace
>Product: gcc
>Version: 4.2.3
> Status: UNCONFIRMED
>   Severity: normal
>   Priority: P3
>  Component: c++
> AssignedTo: unassigned at gcc dot gnu dot org
> ReportedBy: adl at gnu dot org
>  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=34073
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/-Bug-c%2B%2B-34073---New%3A-overloaded-template-function-resolves-differently-if-one-type-is-included-in-a-namespace-tf4791742.html#a13855273
Sent from the gcc - bugs mailing list archive at Nabble.com.



[Bug fortran/34153] Debugging: Cannot set breakpoint in comment lines or "END PROGRAM"

2007-11-20 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2007-11-20 11:34 ---
The problem is that you end up in the wrong file. If you enter "break 3" you
are debugging the wrapping program not the Fortran "program test", which is the
reason that there is no "i" available.

Try: break file.f:line, e.g.
(gdb) b b.f:2

However, there is another problem: One cannot set the break point after the
assignment:

  program test! Breakpoint possible
  i = 1   ! Breakpoint possible
! Breakpoint here ! No breakpoint possible
  end ! No breakpoint possible

Setting a breakpoint in line 2, one can print the value "i" before the
assignment; however, doing a "step" one ends in the wrapping main() program and
can thus never read the value after the assignment.

Using g77 or ifort, one can set a break point in line 3 or 4 and gdb shows
then:

Breakpoint 1, test () at b.f:4
4 end


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

   GCC host triplet|i386-apple-darwin   |
Summary|Unable to debug code|Debugging: Cannot set
   |compiled with gfortran on   |breakpoint in comment lines
   |MacOSX 10.4.11  |or "END PROGRAM"


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



[Bug rtl-optimization/34085] ICE with -freorder-blocks-and-partition

2007-11-20 Thread patchapp at dberlin dot org


--- Comment #18 from patchapp at dberlin dot org  2007-11-20 11:45 ---
Subject: Bug number PR rtl-optimization/34085

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


-- 


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



[Bug tree-optimization/34029] [4.3 Regression] internal compiler error: verify_stmts failed

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2007-11-20 11:50 ---
While it would be nice if that got folded, I believe the problem is elsewhere.
Consider:
static const char s[] = "ab.cd.efghijk";
static const char t[] = "abcde";

long
foo (const char *x)
{
  const char *a;
  long b = 0;

  a = __builtin_strchr (s, '.');
  return ((long) a) + (1 - (long) t);
}


(ok, not really kosher code, because there are two unrelated pointers
involved).

This ICEs the same way, and really fold can't fold &s[2] p+ (1 - (long int)
&t[0]) to anything meaningful (well, perhaps it could avoid creating the
ADDR_EXPR.

The problem is IMHO in is_gimple_min_invariant blindly allowing any ADDR_EXPRs
with TREE_INVARIANT set, yet the checking code in verify_expr insists that also
TREE_OPERAND (addr_ref, 1) is is_gimple_val.
Either the checking code should be made less stricter and allow any
TREE_INVARIANT ADDR_EXPRs (likely very bad idea), or is_gimple_min_invariant
should enforce it:
case ADDR_EXPR:
  return TREE_INVARIANT (t) && is_gimple_val (TREE_OPERAND (t, 1));


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||amacleod at redhat dot com,
   ||dnovillo at gcc dot gnu dot
   ||org


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



[Bug tree-optimization/34160] New: Useful loop invariant motion missing

2007-11-20 Thread amonakov at gmail dot com
int main()
{
  static int i, n;
  static double a[200], b[200];
  ... (more variables and control flow)
  for (i = 0; i < n; i++)
a[i] = b[i];
  ...
}

Tree-level optimisations do not pull out loads of i and n and store to i out of
loop. As a result, GCC generates five memory accesses on ia64 for each
iteration (4.3.0 20071112):

.L9:
.mii
nop 0
sxt4 r14 = r16
nop 0
.mmi
ld4 r15 = [r32]
ld4 r58 = [r33]
nop 0
;;
.mii
shladd r14 = r14, 3, r0
adds r16 = 1, r15
;;
add r15 = r35, r14
.mmi
add r14 = r34, r14
st4 [r32] = r16
cmp4.lt p6, p7 = r16, r58
;;
.mmi
nop 0
ldfd f6 = [r15]
nop 0
;;
.mib
stfd [r14] = f6
nop 0
(p6) br.cond.dptk .L9

On x86_64 situation is better (4.3.0 20070930), but not good:
.L13:
movslq  %eax,%rdx
movqb.3894(,%rdx,8), %rax
movq%rax, x.3895(,%rdx,8)
leal1(%rcx), %eax
cmpl%eax, %edi
movl%eax, %ecx
movl%eax, i.3912(%rip)
jg  .L13

but the optimization happened on RTL level, as final_cleanup dump reads:

:
  # MPT.140_429 = VDEF 
  x[i.265] = b[i.265];
  # VUSE 
  i.23 = i;
  i.265 = i.23 + 1;
  # MPT.140_430 = VDEF 
  i = i.265;
  # VUSE 
  n.274 = n;
  if (n.274 > i.265)
goto ;
  else
goto ;


-- 
   Summary: Useful loop invariant motion missing
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amonakov at gmail dot com


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



[Bug tree-optimization/34160] Useful loop invariant motion missing

2007-11-20 Thread amonakov at gmail dot com


--- Comment #1 from amonakov at gmail dot com  2007-11-20 12:06 ---
Created an attachment (id=14584)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14584&action=view)
Preprocessed source

Testcase attached.


-- 


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



[Bug tree-optimization/34148] [4.3 Regression] Too many VOPs, too deep tree-ssa-sccvn.c recursion

2007-11-20 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2007-11-20 12:20 ---
http://gcc.gnu.org/ml/gcc-patches/2007-11/msg01046.html fixes the miscompile
of the C++ frontend.

-fno-strict-aliasing makes the testcase consume a lot more memory than
-fstrict-aliasing.  Which is why -O is also a lot worse than -O2.

What one can also notice is that we create lots of unpartitionable SFTs for
structures with just _one_ SFT -- we should not need to create SFTs for those
at all.


-- 


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



[Bug tree-optimization/34148] [4.3 Regression] Too many VOPs, too deep tree-ssa-sccvn.c recursion

2007-11-20 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2007-11-20 12:21 ---
Created an attachment (id=14585)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14585&action=view)
worse testcase


-- 


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



[Bug ada/34118] Please enable stack checking (-fstack-check) by default

2007-11-20 Thread ludovic at ludovic-brenta dot org


--- Comment #4 from ludovic at ludovic-brenta dot org  2007-11-20 12:31 
---
Questions:

1) If Targparm.Stack_Check_Probes_On_Target is False (i.e. the "GNAT
Stack-limit checking" is in effect), what circumstances would cause the stack
check to not detect an overflow (i.e. "unreliable stack checking")?

2) If Targparm.Stack_Check_Probes_On_Target is True (i.e. the "GCC Probing
Mechanism" is in effect, using the guard pages), would it take much effort to
make it "reliable" on all targets, not just Alpha/Tru64, spu-elf and maybe some
others?


-- 


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



[Bug fortran/34143] alloc_comp_constructor.f90 fails with -fdefault-integer-8

2007-11-20 Thread fxcoudert at gcc dot gnu dot org


--- Comment #4 from fxcoudert at gcc dot gnu dot org  2007-11-20 13:03 
---
The Intel and Sun compilers complain that this code is not legal, because you
can't do "x = mytype(yy, bar)" if yy is not allocated.

Otherwise, a reduced testcase on x86_64-linux is:

  type t
integer, allocatable :: a(:)
  end type t

  type(t) :: x
  integer(kind=8), allocatable :: yy(:)

  x = t(yy)
  if (allocated(x%a)) print *, "bug"
end


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-11-20 13:03:36
   date||


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



[Bug target/34081] [4.3 Regression] ICE in s390_function_value, at config/s390/s390.c:7880

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #9 from jakub at gcc dot gnu dot org  2007-11-20 12:58 ---
Calling middle-end aggregate_value_p on a dependent type certainly is not the
right thing to do.  It can't possibly do the right thing for various C++
specific type tree codes anyway.

I wonder if the easiest fix wouldn't be adding a bool argument to
allocate_struct_function, which would prohibit calling aggregate_value_p in
there and setting current_function_returns_{,pcc_}struct.
The C++ frontend would then pass dependent_type_p (restype) as this argument,
all other FEs and middle-end would pass false.
The C++ FE certainly doesn't need current_function_returns_pcc_struct value
in templates and current_function_returns_struct, while used once in the FE,
can't make much sense for dependent types.


-- 


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



[Bug c/34161] New: -Os produces 32-bit load from 16-bit variable

2007-11-20 Thread vegard at peltkore dot net
When compiling the following program with -Os, the short member x of struct a
is read using a movl instruction instead of movzwl.

struct a {
int dummy;
short x;
};

struct b {
unsigned short x;
};

extern void dummy(struct b *b);

void f(struct a *a, struct b *b)
{
dummy(b);

if (a) {
asm("/* THIS FIELD IS ONLY 16 BITS */");
b->x = a->x;
}
}

With -O3:
movzwl  4(%ebx), %eax
movw%ax, (%esi)

And -Os:
movl4(%ebx), %eax
movw%ax, (%esi)


-- 
   Summary: -Os produces 32-bit load from 16-bit variable
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: vegard at peltkore dot net
 GCC build triplet: i386-redhat-linux
  GCC host triplet: i386-redhat-linux
GCC target triplet: i386-redhat-linux


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



[Bug fortran/34153] Debugging: Cannot set breakpoint in comment lines or "END PROGRAM"

2007-11-20 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2007-11-20 13:10 
---
(In reply to comment #1)
> The problem is that you end up in the wrong file. If you enter "break 3" you
> are debugging the wrapping program not the Fortran "program test", which is 
> the
> reason that there is no "i" available.

This part of the bug was fixed by a recent commit of mine (and a gdb patch).
With development versions of gfortran and gdb, breaking by "b 2" will break at
line 2 of the Fortran main program.

> However, there is another problem: One cannot set the break point after the
> assignment:
> 
>   program test! Breakpoint possible
>   i = 1   ! Breakpoint possible
> ! Breakpoint here ! No breakpoint possible
>   end ! No breakpoint possible

It's also possible in C with GCC mainline:

(gdb) l
1   int main(void)
2   {
3 int i;
4 i = 1;
5 /* That's all, folks!  */
6   }
(gdb) b 5
Breakpoint 1 at 0x400467: file z.c, line 5.
(gdb) r
Starting program: /home/fxcoudert/devel/debug2/irun/a.out

Breakpoint 1, main () at z.c:6
6   }


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
OtherBugsDependingO||24546
  nThis||
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||wrong-debug
   Last reconfirmed|-00-00 00:00:00 |2007-11-20 13:10:19
   date||


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



[Bug fortran/34162] New: F2008: Allow internal procedures as actual argument

2007-11-20 Thread burnus at gcc dot gnu dot org
I actually only fill this to ensure my test case does not get lost.

Fortran 2003 contains ("12.4 Procedure reference"):

"C1229 (R1221) A procedure-name shall be the name of an external procedure, a
dummy procedure, a module procedure, a procedure pointer, or a specific
intrinsic function that is listed in 13.6 and not marked with a bullet(*).

NOTE 12.16 -- This standard does not allow internal procedures to be used as
actual arguments, in part to simplify the problem of ensuring that internal
procedures with recursive hosts access entities from the correct instance
(12.5.2.3) of the host."

In Fortran 2008 (draft 07-007r3) this restriction is gone:

"C1235 (R1223) A procedure-name shall be the name of an external, internal,
module, or dummy procedure, a specific intrinsic function listed in 13.6 and
not marked with a bullet (*), or a procedure pointer."


Test program (initially created for PR 34133):

! { dg-do run }
! PR fortran/34133
!
! Test of using internal bind(C) procedures as
! actual argument. Bind(c) on internal procedures and
! internal procedures are actual argument are
! Fortran 2008 (draft) extension.
!
module test_mod
  use iso_c_binding
  implicit none
contains
  subroutine test_sub(a, arg, res)
interface
  subroutine a(x) bind(C)
import
integer(c_int), intent(inout) :: x
  end subroutine a
end interface
integer(c_int), intent(inout) :: arg
integer(c_int), intent(in) :: res
call a(arg)
if(arg /= res) call abort()
  end subroutine test_sub
  subroutine test_func(a, arg, res)
interface
  integer(c_int) function a(x) bind(C)
import
integer(c_int), intent(in) :: x
  end function a
end interface
integer(c_int), intent(in) :: arg
integer(c_int), intent(in) :: res
if(a(arg) /= res) call abort()
  end subroutine test_func
end module test_mod

program main
  use test_mod
  implicit none
  call test_sub (one, 33, 7*33)
  call test_func(two, 23, -123*23)
contains
  subroutine one(x) bind(c)
 integer(c_int),intent(inout) :: x
 x = 7*x
  end subroutine one
  integer(c_int) function two(y) bind(c)
 integer(c_int),intent(in) :: y
 two = -123*y
  end function two
end program main
! { dg-final { cleanup-modules "test_mod" } }


-- 
   Summary: F2008: Allow internal procedures as actual argument
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug fortran/34159] Checkbound could warn about unallocated arrays

2007-11-20 Thread fxcoudert at gcc dot gnu dot org


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords|ice-on-invalid-code |
   Last reconfirmed|-00-00 00:00:00 |2007-11-20 13:11:02
   date||


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



[Bug fortran/34133] Bind(c,name="") should be rejected for dummies; F2008: allow bind(c) for internal procs

2007-11-20 Thread patchapp at dberlin dot org


--- Comment #8 from patchapp at dberlin dot org  2007-11-20 14:01 ---
Subject: Bug number PR34133

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


-- 


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



[Bug tree-optimization/34140] [4.3 Regression] ICE in is_hidden_global_store, at tree-ssa-sink.c:207

2007-11-20 Thread rakdver at kam dot mff dot cuni dot cz


--- Comment #6 from rakdver at kam dot mff dot cuni dot cz  2007-11-20 
13:56 ---
Subject: Re:  [4.3 Regression] ICE in is_hidden_global_store, at
tree-ssa-sink.c:207

> 
> 
> --- Comment #5 from pinskia at gcc dot gnu dot org  2007-11-20 09:13 
> ---
> Well I don't think ifcvt is fully to be blamed here:
> 
>   if (D.1542_49 != 0)
> goto ;
>   else
> goto ;
> 
> :
>   # prephitmp.14_44 = PHI <1(13), 0(11)>
>   # rc_45 = PHI 
> 
> Why do we have that last PHI anyways?  Unswitch creates it.

I think more important question is why we do not optimize it out (many
other optimizations, e.g. copy propagation, may create such phi nodes).


-- 


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



[Bug ada/23487] Assignment from incompatible pointer warning in __gnat_install_handler kills bootstrap

2007-11-20 Thread sam at rfc1149 dot net


--- Comment #7 from sam at rfc1149 dot net  2007-11-20 13:56 ---
This issue can be closed as the code in init.c has changed and those warnings
have been taken care of.


-- 

sam at rfc1149 dot net changed:

   What|Removed |Added

 CC||sam at rfc1149 dot net


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



[Bug ada/34117] Please enable range checks by default (-gnato)

2007-11-20 Thread bauhaus at futureapps dot de


--- Comment #4 from bauhaus at futureapps dot de  2007-11-20 14:49 ---
I can't resist pointing out that right now I am seeing an
update to widely used free software where once again an integer
overflow is creating a security hole in the system. (CVE-2007-4619)


-- 


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



[Bug target/34163] New: 10% performance regression since Nov 1 on Polyhedron's "NF" on AMD64

2007-11-20 Thread burnus at gcc dot gnu dot org
According to http://www.suse.de/~gcctest/c++bench/polyhedron/, the run time of
"NF" increased from 37.70s to 41.57s (+10%) between 071031 and 071101. This is
an AMD Opteron system.

The same result I obtained at
http://physik.fu-berlin.de/~tburnus/gcc-trunk/benchmark/
also on an AMD64. Interestingly, while x86-64 (-m64) gets slower, using -m32 I
don't see any change (apart of noise) - neither for x87 nor for SSE(3).

To boil it down to version numbers, I believe the change must have happened
between the following versions:
Fast:
  4.3.0 20071031 (experimental) [trunk revision 129791]
Slow:
  4.3.0 20071031 (experimental) [trunk revision 129797]

As culpits there are essentially only the following checkins possible:

- PR tree-optimization/32377 (compute_overlap_steps_for_affine_univar)
  Make it work also for unknown number of iterations.  [Sebastian Pop]

- PR middle-end/33779 fold-const.c (extract_muldiv_1): Make sure to not
  introduce new undefined integer overflow.  [Richard Guenther]

- PR fortran/33897 decl.c (gfc_match_entry): Do not make ENTRY name
  global for contained procedures.
  parse.c (gfc_fixup_sibling_symbols): Fix code for determining whether
  a procedure is external. [Paul Thomas]

The Polyhedron test case is available from:
http://www.polyhedron.co.uk/MFL6VW74649


-- 
   Summary: 10% performance regression since Nov 1 on Polyhedron's
"NF" on AMD64
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug c++/34164] New: Inconsistent size used for allocate/deallocate for std::string

2007-11-20 Thread Aaron dot m dot camac at boeing dot com
Looking at 4.1.1 
/data_storage/obj-4.1.1/i686-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc

It looks as though the size is incorrectly figured for the deallocate.   
_M_destroy uses sizeof(_Rep_base) where _S_create uses sizeof(_Rep) to
determine the size of the allocation. Based on the header it looks like _Rep is
larger.

I can't say I've had an errror with this, but I was just dumpster diving the
code to figure out a purify error and came across this inconsitency. It doesn't
really do anything when you use the default allocator, since deallocate doesn't
use the size in the default.

  template
void
basic_string<_CharT, _Traits, _Alloc>::_Rep::
_M_destroy(const _Alloc& __a) throw ()
{
  const size_type __size = sizeof(_Rep_base) +
   (this->_M_capacity + 1) * sizeof(_CharT);
  _Raw_bytes_alloc(__a).deallocate(reinterpret_cast(this), __size);
}

  template
typename basic_string<_CharT, _Traits, _Alloc>::_Rep*
basic_string<_CharT, _Traits, _Alloc>::_Rep::
_S_create(size_type __capacity, size_type __old_capacity,
  const _Alloc& __alloc)
{
  // _GLIBCXX_RESOLVE_LIB_DEFECTS
  // 83.  String::npos vs. string::max_size()
  if (__capacity > _S_max_size)
__throw_length_error(__N("basic_string::_S_create"));
  const size_type __pagesize = 4096;
  const size_type __malloc_header_size = 4 * sizeof(void*);

  if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
__capacity = 2 * __old_capacity;

  size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);

  const size_type __adj_size = __size + __malloc_header_size;
  if (__adj_size > __pagesize && __capacity > __old_capacity)
{
  const size_type __extra = __pagesize - __adj_size % __pagesize;
  __capacity += __extra / sizeof(_CharT);
  // Never allocate a string bigger than _S_max_size.
  if (__capacity > _S_max_size)
__capacity = _S_max_size;
  __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);
}

  // NB: Might throw, but no worries about a leak, mate: _Rep()
  // does not throw.
  void* __place = _Raw_bytes_alloc(__alloc).allocate(__size);
  _Rep *__p = new (__place) _Rep;
  __p->_M_capacity = __capacity;
  return __p;
}


-- 
   Summary: Inconsistent size used for allocate/deallocate for
std::string
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Aaron dot m dot camac at boeing dot com


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



[Bug middle-end/34154] gcc 4.1.1 bug / case ranges / unsigned long long

2007-11-20 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-11-20 15:36 ---
Confirmed.  HWI32 problem.  The middle-end uses HWI for computing with the
case values.  Up to 4.1.1, gcc ICEs for me on the testcase, from 4.1.1 on wrong
code is emitted.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|c   |middle-end
 Ever Confirmed|0   |1
   GCC host triplet|i686-pc-linux-gnu   |hwi32
   Keywords||wrong-code
  Known to fail||4.1.3 4.2.2 4.3.0
   Last reconfirmed|-00-00 00:00:00 |2007-11-20 15:36:30
   date||
Summary| gcc 4.1.1 bug / case ranges|gcc 4.1.1 bug / case ranges
   |/ unsigned long long|/ unsigned long long


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



[Bug c/34161] -Os produces 32-bit load from 16-bit variable

2007-11-20 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-11-20 15:41 ---
What's wrong?  The x member is properly aligned, so a load beyond it is valid.
If you make struct a packed, then the load uses movw.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug tree-optimization/34160] Useful loop invariant motion missing

2007-11-20 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-11-20 15:43 ---
Alias got in the way here.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
   Keywords||alias, missed-optimization


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



[Bug ada/34118] Please enable stack checking (-fstack-check) by default

2007-11-20 Thread ebotcazou at gcc dot gnu dot org


--- Comment #5 from ebotcazou at gcc dot gnu dot org  2007-11-20 15:37 
---
> 1) If Targparm.Stack_Check_Probes_On_Target is False (i.e. the "GNAT
> Stack-limit checking" is in effect), what circumstances would cause the
> stack check to not detect an overflow (i.e. "unreliable stack checking")?

If the static frame size of a function is too large (typically > 4KB).

> 2) If Targparm.Stack_Check_Probes_On_Target is True (i.e. the "GCC Probing
> Mechanism" is in effect, using the guard pages), would it take much effort
> to make it "reliable" on all targets, not just Alpha/Tru64, spu-elf and
> maybe some others?

It's not difficult, but you have to do it on a per-architecture basis.

AdaCore has done it on 7 architectures and is ready to contribute this code,
see http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01846.html


-- 


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



[Bug c++/34089] [4.1/4.2/4.3 regression] Segfault on specialization using struct instead of template function.

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2007-11-20 16:19 ---
Subject: Bug 34089

Author: jakub
Date: Tue Nov 20 16:19:40 2007
New Revision: 130316

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130316
Log:
PR c++/34089
* parser.c (cp_parser_class_head): Reject function template ids.

* g++.dg/template/crash74.C: New test.

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


-- 


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



[Bug c++/34089] [4.1/4.2 regression] Segfault on specialization using struct instead of template function.

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2007-11-20 16:20 ---
Fixed on the trunk.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.1/4.2/4.3 regression]|[4.1/4.2 regression]
   |Segfault on specialization  |Segfault on specialization
   |using struct instead of |using struct instead of
   |template function.  |template function.


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



[Bug bootstrap/34165] New: gcc directory fails to configure on solaris 8

2007-11-20 Thread warren dot l dot dodge at tektronix dot com
I am trying to build gcc-4.2.2 using binutils 2.18. binutils seems to build
fine. gcc fails when it hits the gcc directory configuration step. It seems the
problem is that binutils as version string has changed from the past.

I am not sure if it is a gcc or binutils problem. I also wonder if it is more
wide spread in other configure scripts.

2.14: GNU assembler 2.14 20030612
2.18: GNU assembler (GNU Binutils) 2.18


There is a sed command in configure that fails because of this

+ /proj/wdtold/warrend/wdt_try7_tmp/gnu_sun5.8/gcc-4.2.2/bin/as --version 
+ sed 1q 
as_ver=GNU assembler (GNU Binutils) 2.18
+ echo GNU assembler (GNU Binutils) 2.18 
+ grep GNU 
+ echo GNU assembler (GNU Binutils) 2.18 
+ sed -e s/GNU assembler \([0-9.][0-9.]*\).*/\1/ 
as_ver=GNU assembler (GNU Binutils) 2.18
+ echo GNU assembler (GNU Binutils) 2.18 
+ sed s/\..*// 
as_major=GNU assembler (GNU Binutils) 2
+ echo GNU assembler (GNU Binutils) 2.18 
+ sed s/[^.]*\.\([0-9]*\).*/\1/ 
as_minor=18
+ test GNU assembler (GNU Binutils) 2 -eq 2 
/proj/wdtold/warrend/gnusrc_new/30-gcc-4.2.2/gcc-4.2.2/gcc/configure: test:
unknown operator assembler

This is right after the check for .sleb128 and .uleb128 

I am going to change the sed command and try to proceed. If there is a good
reason to stop please let me know.


-- 
   Summary: gcc directory fails to configure on solaris 8
   Product: gcc
   Version: 4.2.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: warren dot l dot dodge at tektronix dot com
 GCC build triplet: sparc-sun-solaris2.8
  GCC host triplet: sparc-sun-solaris2.8
GCC target triplet: sparc-sun-solaris2.8


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



[Bug libstdc++/34164] Inconsistent size used for allocate/deallocate for std::string

2007-11-20 Thread pcarlini at suse dot de


--- Comment #1 from pcarlini at suse dot de  2007-11-20 17:49 ---
No, no, don't worry about that, the syntactic difference is an old workaround
for a front-end limitation, doesn't matter, _Rep doesn't have any non-static
member and the size is the same. By the way, we already received from time to
time reports about spurious messages from purify, I would suggest
double-checking with valgrind, which, to my best knowledge, is happy with our
implementation (not just in the basic_string area) also because includes
specific "suppressions" (see the docs about that).


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug fortran/34162] F2008: Allow internal procedures as actual argument

2007-11-20 Thread fxcoudert at gcc dot gnu dot org


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-11-20 17:49:57
   date||


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



[Bug c++/34094] [4.2/4.3 Regression] Undefined static data member in anonymous namespace can acquire a definition anyway

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2007-11-20 18:00 ---
Testing a fix.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-11-19 05:22:22 |2007-11-20 18:00:56
   date||


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



[Bug fortran/31560] improve error message for using components of later decl. variables in specification expressions

2007-11-20 Thread fxcoudert at gcc dot gnu dot org


--- Comment #8 from fxcoudert at gcc dot gnu dot org  2007-11-20 18:03 
---
Here is a minimal testcase that reproduces the unclear error message:

subroutine prirelval(nobs, dataset)
  type ped_data
integer :: maxsiz
  end type ped_data

  integer, dimension(dataset%maxsiz) :: nobs
  type (ped_data) :: dataset
end subroutine prirelval


$ gfortran z.f90
z.f90:6.28:

  integer, dimension(dataset%maxsiz) :: nobs
   1
Error: Expected another dimension in array declaration at (1)


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2007-05-22 18:01:33 |2007-11-20 18:03:32
   date||


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



[Bug libstdc++/34164] Inconsistent size used for allocate/deallocate for std::string

2007-11-20 Thread pcarlini at suse dot de


--- Comment #2 from pcarlini at suse dot de  2007-11-20 17:53 ---
... also, I can tell you that at least a couple of times I saw either valgrind
or purify stumbling on basic_string where the actual (real) memory leak was in
user code, elsewhere, the memory was just unpredictably tainted...


-- 


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



[Bug other/31088] Building cross-compiler with newlib-1.15.0 and binutils-2.17 fails in libssp

2007-11-20 Thread rask at gcc dot gnu dot org


--- Comment #1 from rask at gcc dot gnu dot org  2007-11-20 19:30 ---
If you don't build in a combined tree, you'll have to build and install
binutils and newlib before you can build some of the gcc components, such as
libssp. This means building gcc twice; first with --disable-libssp and so on,
then build and install newlib and finally build gcc again without
--disable-libssp and so on. IOW using a combined tree is much easier, but see
also bug 32154, which was only fixed for GCC 4.3.


-- 

rask at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Component|c   |other
 Resolution||INVALID


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



[Bug middle-end/29749] [4.0/4.1/4.2/4.3 regression] Missing byte swap optimizations

2007-11-20 Thread jakub at gcc dot gnu dot org


--- Comment #10 from jakub at gcc dot gnu dot org  2007-11-20 19:38 ---
Guess you should ping that on gcc-patches, or better resend after such a long
while.  If you are going to do the latter, I think you should move the
testcase into gcc.dg/, add
/* { dg-do run { target { int32plus } } } */
/* { dg-options "-O2" } */
to make embedded folks happy and fix up comment formatting in the patch.


-- 


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



[Bug bootstrap/32287] gas version style changed causes warnings with configure

2007-11-20 Thread rask at gcc dot gnu dot org


--- Comment #7 from rask at gcc dot gnu dot org  2007-11-20 19:46 ---
*** Bug 34165 has been marked as a duplicate of this bug. ***


-- 

rask at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||warren dot l dot dodge at
   ||tektronix dot com


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



[Bug bootstrap/34165] gcc directory fails to configure on solaris 8

2007-11-20 Thread rask at gcc dot gnu dot org


--- Comment #1 from rask at gcc dot gnu dot org  2007-11-20 19:46 ---


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


-- 

rask at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/34166] New: -fleading-underscore duplicate underscore in some template cases

2007-11-20 Thread shockenhull at niceberg dot com
we get duplicate underscore prefixes on std::string template function calls
generated when using -fleading-underscore

the .stabs entries are fine ("_ZNSs7reserveEm") but the generated assembler
code calls "__ZNSs7reserveEm" with two underscores instead
so the linker gives us a undefined symbol "__ZNSs7reserveEm" error

we tried with -O2, -O1, and -O0 and get the same result

other templates compile fine
--
Using built-in specs.
Target: i386-unknown-elf
Configured with: ../configure --with-mpfr-dir=../../mpfr-2.2.1/
--target=i386-unknown-elf --prefix=/home/shockenhull/bin/i386-unknown-elf
--enable-targets=all
Thread model: single
gcc version 4.1.1
Linux shockenhull 2.6.16.13-4-smp #1 SMP Wed May 3 04:53:23 UTC 2006 i686
athlon i386 GNU/Linux

---

i386-unknown-elf-g++ -c -fleading-underscore -g -O0 -D__cpluscplus -D__CYGWIN__
-I../externals/include/w32api -D__cdecl= -Ddllimport= -DDECLSPEC_NORETURN= 
--save-temps -DTARGET_WIN32 -DTARGET_OS="WIN32" -DPRAY_WINDOWS_DOESNT_CRASH=1
-DTARGET_IA32 -DTARGET_CPU="IA32" -D__cdecl= -D__declspec= -Ddllimport=
-D__INSIDE_CYGWIN__ -Wno-pmf-conversions -I../ -I../../../
-I/home/shockenhull/projects/sqrlen/base  
-I/home/shockenhull/projects/sqrlen/base/win32  
-I/home/shockenhull/projects/sqrlen/base/ia32   -I../externals/include
-I../../../src -I/home/shockenhull/projects/sqrlen/drivers/video_out
-I/home/shockenhull/projects/sqrlen/drivers/video_out/win32_gl_hack
-I/home/shockenhull/projects/sqrlen/drivers/pc_misc/xml
-I/home/shockenhull/projects/sqrlen/drivers/pc_misc/ministring
-I/home/shockenhull/projects/sqrlen/drivers/fs 
-I/home/shockenhull/projects/sqrlen/drivers/fs/win32 -include windef.h  -o
pc_misc/xml/test.o
/home/shockenhull/projects/sqrlen/drivers/pc_misc/xml/test.cpp

---
#include 
#include 

void bob(void)
{
std::string s;
s = "biby";
s.replace(1, 4, "ob");
printf("%s\n", s.c_str());
}

---

I have the the test.ii file but it is 424KiB so I cannot post it here.
please email me for the file, I will email it back.


-- 
   Summary: -fleading-underscore duplicate underscore in some
template cases
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: shockenhull at niceberg dot com
 GCC build triplet: i386-linux-elf
  GCC host triplet: i386-linux-elf
GCC target triplet: i386-unknown-elf


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



[Bug middle-end/29749] [4.0/4.1/4.2/4.3 regression] Missing byte swap optimizations

2007-11-20 Thread rask at gcc dot gnu dot org


--- Comment #11 from rask at gcc dot gnu dot org  2007-11-20 20:04 ---
>  /* { dg-do run { target { int32plus } } } */

Or even better, use types such as uint_least32_t from stdint.h, then use this
dg directive:
/* { dg-do run { target { stdint_types } } } */


-- 


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



[Bug c/34167] New: [4.3 regression] gcc fails to compile Linux kernel

2007-11-20 Thread ismail at pardus dot org dot tr
Trying to compile latest linux-2.6.git with gcc 4.3 trunk as of today results
in :

kernel/built-in.o: In function `getnstimeofday':
(.text+0x1c315): undefined reference to `__umoddi3'
kernel/built-in.o: In function `do_gettimeofday':
(.text+0x1c3cd): undefined reference to `__udivdi3'
kernel/built-in.o: In function `do_gettimeofday':
(.text+0x1c3f0): undefined reference to `__umoddi3'
kernel/built-in.o: In function `timekeeping_resume':
timekeeping.c:(.text+0x1c572): undefined reference to `__udivdi3'
timekeeping.c:(.text+0x1c595): undefined reference to `__umoddi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1cb9f): undefined reference to `__udivdi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1cbc2): undefined reference to `__umoddi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1cc5c): undefined reference to `__udivdi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1cc86): undefined reference to `__umoddi3'
make: *** [.tmp_vmlinux1] Error 1

It works fine with gcc 4.2, so it seems to be a 4.3 regression.


-- 
   Summary: [4.3 regression] gcc fails to compile Linux kernel
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ismail at pardus dot org dot tr


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



[Bug middle-end/32044] [4.3 regression] udivdi3 counterproductive, unwarranted use

2007-11-20 Thread ismail at pardus dot org dot tr


--- Comment #26 from ismail at pardus dot org dot tr  2007-11-20 21:19 
---
*** Bug 34167 has been marked as a duplicate of this bug. ***


-- 

ismail at pardus dot org dot tr changed:

   What|Removed |Added

 CC||ismail at pardus dot org dot
   ||tr


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



[Bug c/34167] [4.3 regression] gcc fails to compile Linux kernel

2007-11-20 Thread ismail at pardus dot org dot tr


--- Comment #1 from ismail at pardus dot org dot tr  2007-11-20 21:19 
---


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


-- 

ismail at pardus dot org dot tr changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug middle-end/34154] gcc 4.1.1 bug / case ranges / unsigned long long

2007-11-20 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2007-11-20 21:27 ---
One bug is in gimplification which uses signed comparison to detect and
discard empty ranges.  But then expand breaks it again for the same reason.
And then for a different reason, that it segfaults on 

Program received signal SIGSEGV, Segmentation fault.
0x0848381b in balance_case_nodes (head=0xbfcb4454, parent=0x0)
at /home/richard/src/trunk/gcc/stmt.c:2713
2713cost += COST_TABLE (TREE_INT_CST_LOW (np->high));

because np->high is 0x8ac7230489e7 and obviously the cost_table is not
that large.  Another case of the unsigned failure.

And that's enough to fix this PR.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-11-20 15:36:30 |2007-11-20 21:27:11
   date||


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



[Bug c/33076] Warning when passing a pointer to a const array to a function that expects a pointer to a non-cast one

2007-11-20 Thread m-matti-a dot lehtonen at iki dot fi


--- Comment #10 from m-matti-a dot lehtonen at iki dot fi  2007-11-20 21:53 
---
This code piece cannot compiled without warnings or errors.

/*! Presentation of transformation matrix */
typedef coordinate_ttransform_matrix_t[ 4 ][ 4 ];
...
void
  transform_concat
  (
transform_matrix_ttransform,
transform_matrix_t const  transform1,
transform_matrix_t const  transform2
  );
...
void
  transform_rotate
  (
transform_matrix_ttransform,
real_t const  angles[ 3 ]
  )
{
  transform_matrix_t
temp;

...
  transform_concat( transform, transform, temp );
...
}
Without casts I got two warnings:
warning: passing argument 2 of ‘transform_concat’ from incompatible
pointer type
warning: passing argument 3 of ‘transform_concat’ from incompatible
pointer type

And if arument 2 and 3 are casted as
  transform_concat( transform, (const transform_matrix_t) transform, (const
transform_matrix_t) temp );

Then I got two errors:
error: cast specifies array type
error: cast specifies array type


-- 

m-matti-a dot lehtonen at iki dot fi changed:

   What|Removed |Added

 CC||m-matti-a dot lehtonen at
   ||iki dot fi


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



[Bug libfortran/32770] [Meta-bug] -fdefault-integer-8 issues

2007-11-20 Thread tkoenig at gcc dot gnu dot org


--- Comment #32 from tkoenig at gcc dot gnu dot org  2007-11-20 21:57 
---
Subject: Bug 32770

Author: tkoenig
Date: Tue Nov 20 21:57:04 2007
New Revision: 130322

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130322
Log:
2007-11-20  Thomas Koenig  <[EMAIL PROTECTED]>

PR fortran/32770
* gfortran.dg/record_marker_1.f90:  Explicitly set kinds
so test passes with -frecord-marker=8.
* gfortran.dg/integer_exponentiation_1.f90:  Likewise.
* gfortran.dg/integer_exponentiation_2.f90:  Likewise.
* gfortran.dg/integer_exponentiation_3.F90:  Likewise.
* gfortran.dg/integer_exponentiation_5.F90:  Likewise.
* gfortrand.dg/modulo_1.f90:  Likewise.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90
trunk/gcc/testsuite/gfortran.dg/integer_exponentiation_2.f90
trunk/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90
trunk/gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90
trunk/gcc/testsuite/gfortran.dg/modulo_1.f90
trunk/gcc/testsuite/gfortran.dg/record_marker_1.f90


-- 


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



[Bug testsuite/34168] New: dg-require-effective-target vect_double doesn't work

2007-11-20 Thread tkoenig at gcc dot gnu dot org
I get

FAIL: gfortran.dg/vect/fast-math-pr33299.f90 execution test

Apparently, the check for  dg-require-effective-target vect_double
doesn't work.

This is on my Athlon XP 2600+, which does not have SSE2.  The
options for that test case do include the -msse2 flag, which is wrong:

Executing on host:
/home/ig25/gcc-bin/trunk/gcc/testsuite/gfortran/../../gfortran
-B/home/ig25/gcc-bin/trunk/gcc/tests
uite/gfortran/../../
/home/ig25/gcc/trunk/gcc/testsuite/gfortran.dg/vect/fast-math-pr33299.f90   -O2
-ftree-vectorize 
-ftree-vectorizer-verbose=4 -fdump-tree-vect-stats -msse2 -ffast-math 
-L/home/ig25/gcc-bin/trunk/i686-pc-linux-gnu/./
libgfortran/.libs
-L/home/ig25/gcc-bin/trunk/i686-pc-linux-gnu/./libgfortran/.libs
-L/home/ig25/gcc-bin/trunk/i686-pc-
linux-gnu/./libiberty  -lm   -o ./fast-math-pr33299.exe(timeout = 300)

When I run the options by hand, I get an "illegal instruction"
error:

 gfortran -O2 -ftree-vectorize -ftree-vectorizer-verbose=4
-fdump-tree-vect-stats -msse2 -ffast-math fast-math-pr33299.f90 
$ ./a.out
Illegal instruction

$ cat /proc/cpuinfo 
processor   : 0
vendor_id   : AuthenticAMD
cpu family  : 6
model   : 8
model name  : AMD Athlon(TM) XP 2600+
stepping: 1
cpu MHz : 2083.200
cache size  : 256 KB
fdiv_bug: no
hlt_bug : no
f00f_bug: no
coma_bug: no
fpu : yes
fpu_exception   : yes
cpuid level : 1
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow up ts
bogomips: 4170.03
clflush size: 32


-- 
   Summary: dg-require-effective-target vect_double doesn't work
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tkoenig at gcc dot gnu dot org


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



[Bug middle-end/34154] gcc 4.1.1 bug / case ranges / unsigned long long

2007-11-20 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-11-20 22:51 ---
Subject: Bug 34154

Author: rguenth
Date: Tue Nov 20 22:51:23 2007
New Revision: 130324

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130324
Log:
2007-11-20  Richard Guenther  <[EMAIL PROTECTED]>

PR middle-end/34154
* gimplify.c (gimplify_switch_expr): Use tree_int_cst_lt instead
of the signed INT_CST_LT.
* stmt.c (expand_case): Likewise.
(estimate_case_costs): Likewise.

* testsuite/gcc.c-torture/execute/pr34154.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr34154.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/stmt.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/34154] gcc 4.1.1 bug / case ranges / unsigned long long

2007-11-20 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2007-11-20 22:52 ---
Fixed.  Not a regression.  2.95 ICEs for me.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
  Known to fail|4.1.3 4.2.2 4.3.0   |2.95.4 4.1.3 4.2.2
  Known to work||4.3.0
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug ada/34149] GNAT crash - deeply inrerited function

2007-11-20 Thread sam at rfc1149 dot net


--- Comment #2 from sam at rfc1149 dot net  2007-11-20 23:02 ---
Confirmed with current SVN trunk, tentative patch sent to the submitter for
testing.


-- 


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



[Bug tree-optimization/34169] New: Bad code generated with -O2

2007-11-20 Thread unaiur at gmail dot com
$ gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1
--enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug
--enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
$ gcc -O2 -w p.c -o p ; ./p
Bad
$ gcc -O2 -fno-tree-pre -w p.c -o p ; ./p
$ gcc -O2 -fno-strict-aliasing -w p.c -o p ; ./p
$ cat p.c
int bmemcmp(void *a1, void *a2, unsigned len)
{
int dwlen = len / 4;
while (dwlen)
{
int res = *(int *)a1 - *(int *)a2;
if (res)
return res;

--dwlen;
++*(int **)&a1;
++*(int **)&a2;
}
return 0;
}

int main(int argc, char *argv[])
{
int *p1 = (int*)calloc(sizeof(int), 1024 * 1024 * 4);
int *p2 = (int*)calloc(sizeof(int), 1024 * 1024 * 4);
p1[3] = 1;
if (bmemcmp(p1, p2, 1024 * 1024 * 4) == 0)
printf("Bad\n");
return 0;
}


-- 
   Summary: Bad code generated with -O2
   Product: gcc
   Version: 4.1.3
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: unaiur at gmail dot com


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



[Bug c/34170] New: wrong code: mmx operation changes double to nan

2007-11-20 Thread tijl at ulyssis dot org
I was working on a little routine to generate random vectors of two doubles,
but it produced nothing but {nan,nan}. It was a simple linear congruential
random number generator, so all it did was operate on a seed (a vector of two
integers) and then convert that to double using an SSE2 intrinsic. The result
was then multiplied by (1.0 / 2147483648.0) to give random numbers between -1
and 1. It was (1.0 / 2147483648.0) that turned out to be converted to nan.

I've reduced it to a minimal test case below. It prints out nan instead of 1.0.
You can compile it with: `cc -O0 -Wall -mmmx -o test test.c`

--- begin test.c ---
#include 
#include 

static __m64 s;
int main( int argc, char **argv ) {
__m64 a;
double d;
d = 1.0;
s = a + a;
printf( "%e\n", d );
return 0;
}
--- end test.c ---


-- 
   Summary: wrong code: mmx operation changes double to nan
   Product: gcc
   Version: 4.2.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tijl at ulyssis dot org
 GCC build triplet: i386-unknown-freebsd7
  GCC host triplet: i386-unknown-freebsd7
GCC target triplet: i386-unknown-freebsd7


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



[Bug tree-optimization/34169] Bad code generated with -O2

2007-11-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-11-21 00:18 ---
++*(int **)&a1;
++*(int **)&a2;

you are accessing a void* as an int* which violates C/C++ aliasing rules so you
are invoking undefined behavior.

*** 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=34169



[Bug c/21920] aliasing violations

2007-11-20 Thread pinskia at gcc dot gnu dot org


--- Comment #122 from pinskia at gcc dot gnu dot org  2007-11-21 00:18 
---
*** Bug 34169 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||unaiur at gmail dot com


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



[Bug c/34170] wrong code: mmx operation changes double to nan

2007-11-20 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-11-21 00:19 ---
Not really a bug since you forgot to flush the mmx/x87 registers for fp usage.


-- 

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



[Bug tree-optimization/34147] internal compiler error: in set_iv, at tree-ssa-loop-ivopts.c:936

2007-11-20 Thread huamama at gmail dot com


--- Comment #4 from huamama at gmail dot com  2007-11-21 02:01 ---
Created an attachment (id=14586)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14586&action=view)
the temp vi.c using -save-temps file

the temp vi.c using -save-temps file when compile busybox using
CONFIG_BUILD_AT_ONCE=y.


-- 


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



[Bug tree-optimization/34147] internal compiler error: in set_iv, at tree-ssa-loop-ivopts.c:936

2007-11-20 Thread huamama at gmail dot com


--- Comment #5 from huamama at gmail dot com  2007-11-21 02:02 ---
I found when i compile busybox using CONFIG_BUILD_AT_ONCE=y, the error will
happen, but if do not use CONFIG_BUILD_AT_ONCE=y, the compile will success.
The temp file using -save-temps is attached with CONFIG_BUILD_AT_ONCE=y.


-- 


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



[Bug tree-optimization/34147] internal compiler error: in set_iv, at tree-ssa-loop-ivopts.c:936

2007-11-20 Thread huamama at gmail dot com


--- Comment #6 from huamama at gmail dot com  2007-11-21 02:08 ---
Created an attachment (id=14587)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14587&action=view)
the temp vi.c using -save-temps file, using 4.1.2

the temp vi.c using -save-temps file


-- 

huamama at gmail dot com changed:

   What|Removed |Added

  Attachment #14586|0   |1
is obsolete||


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



[Bug ada/34117] Please enable overflow checks by default (-gnato)

2007-11-20 Thread charlet at gcc dot gnu dot org


--- Comment #5 from charlet at gcc dot gnu dot org  2007-11-21 06:55 ---
This report is confused: range checking is enabled by default.

-gnato is about overflow checking, not range checking.

Arno


-- 

charlet at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|Please enable range checks  |Please enable overflow
   |by default (-gnato) |checks by default (-gnato)


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



[Bug tree-optimization/34147] internal compiler error: in set_iv, at tree-ssa-loop-ivopts.c:936

2007-11-20 Thread ubizjak at gmail dot com


--- Comment #7 from ubizjak at gmail dot com  2007-11-21 07:34 ---
(In reply to comment #6)

> the temp vi.c using -save-temps file

Thanks, but we also need flags that were passed to gcc when editors/vi.c was
compiled. Probably you have to enable verbose output from your compile scripts.


-- 


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



[Bug testsuite/34168] dg-require-effective-target vect_double doesn't work

2007-11-20 Thread ubizjak at gmail dot com


--- Comment #1 from ubizjak at gmail dot com  2007-11-21 07:18 ---
No, the problem is that vectorizer runtime tests require some special
treatment. You can look at gcc.dg/vect/vect-2.c, where check_vect is called to
check for SSE2 support (on x86 targets).

I think that kind of C glue function that would call check_vect() from
gcc.dg/vect/tree-vect.h is needed for fortran runtime vectorizer tests.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-11-21 07:18:47
   date||


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