[Bug fortran/27304] gfortran: Warn/abort when format in write does not fit passed arguments

2006-04-27 Thread jvdelisle at gcc dot gnu dot org


--- Comment #7 from jvdelisle at gcc dot gnu dot org  2006-04-27 06:02 
---
Tobias, I hope this is what you were looking for.  I don't really think we need
a compile time check.  That would be pretty involved to do and the error is
caught at runtime.

What do you think?


-- 


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



[Bug testsuite/27274] execution test of gcc.dg/i386-sse-9.c fails on non-SSE CPU

2006-04-27 Thread hjl at gcc dot gnu dot org


--- Comment #3 from hjl at gcc dot gnu dot org  2006-04-27 06:13 ---
Subject: Bug 27274

Author: hjl
Date: Thu Apr 27 06:13:40 2006
New Revision: 113296

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

PR testsuite/27274:
* gcc.target/i386/sse-9.c: Include ../../gcc.dg/i386-cpuid.h.
(main): Exit if processor doesn't support SSE.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/i386/sse-9.c


-- 


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



[Bug rtl-optimization/27291] [4.2 regression] verify_flow_info failed: too many outgoing branch edges from bb 4

2006-04-27 Thread rakdver at gcc dot gnu dot org


-- 

rakdver at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rakdver at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-04-25 01:30:12 |2006-04-27 06:26:58
   date||


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



[Bug bootstrap/27334] gcc/Makefile.in:s-macro_list sed fails with make 3.81 due to POSIX support changes

2006-04-27 Thread debian-gcc at lists dot debian dot org


--- Comment #1 from debian-gcc at lists dot debian dot org  2006-04-27 
07:33 ---
thanks for pointing that out, my mistake to check that in. Mark, ok keep that
change and document that change in the existing changelog entry?

  * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted strings

Matthias


-- 

debian-gcc at lists dot debian dot org changed:

   What|Removed |Added

 CC||mark at codesourcery dot com


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



[Bug fortran/27304] gfortran: Warn/abort when format in write does not fit passed arguments

2006-04-27 Thread burnus at net-b dot de


--- Comment #8 from burnus at net-b dot de  2006-04-27 08:09 ---
Subject: Re:  gfortran: Warn/abort when format in write
 does not fit passed arguments

(In reply to comment #7)
 Tobias, I hope this is what you were looking for.  I don't really
think we need
 a compile time check.  That would be pretty involved to do and the
error is
 caught at runtime.
I think it is ok (though Brooks wording is probably better).

Still it would be nice if it would be detected during compile time. In
my case it was burried in an
   if(something that rarely happens) write(*,'(''n'')') n
which I wouldn't have found easily without the compile-time warning of
the NAG compiler.


-- 


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



[Bug tree-optimization/25148] compare_values assumes that CST in a + CST (and a - CST) is always postive

2006-04-27 Thread patchapp at dberlin dot org


--- Comment #8 from patchapp at dberlin dot org  2006-04-27 08:40 ---
Subject: Bug number PR25148

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


-- 


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



[Bug tree-optimization/27335] New: [4.0/4.1 regression] ICE in get_loop_body

2006-04-27 Thread jakub at gcc dot gnu dot org
extern void bar () __attribute__ ((noreturn));

inline double
baz (double *x, unsigned int y)
{
  if (y = 6)
bar ();
  return x[y];
}

double *a, *b;

void
foo ()
{
  unsigned int r, s, t;

  for (r = 0; r  2; r++)
for (t = 0; t  2; t++)
  {
for (s = 0; s  3; s++)
  b[r * 2 + t] += baz (a, 3 * s + t);
  }
}

ICEs with -O2 -funroll-loops in get_loop_body, loop-num_nodes is 0.


-- 
   Summary: [4.0/4.1 regression] ICE in get_loop_body
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug tree-optimization/27335] [4.0/4.1 regression] ICE in get_loop_body

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-04-27 09:38 ---
Confirmed.  Also with -O -funroll-loops (or -fpeel-loops, or -fprofile-use).


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-27 09:38:21
   date||


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



[Bug tree-optimization/27335] [4.0/4.1 regression] ICE in get_loop_body

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-04-27 09:44 ---
Note that loop information looks corrupt:

(gdb) print *loop
$2 = {num = 144085752, header = 0xb7fbb178, latch = 0xb7e4c3c0, 
  lpt_decision = {decision = LPT_NONE, times = 0}, ninsns = 0, av_ninsns = 0, 
  num_nodes = 0, depth = -1, pred = 0x0, level = 2, outer = 0x0, inner = 0x0, 
  next = 0x0, copy = 0x0, aux = 0x0, nb_iterations = 0x0, 
  estimated_nb_iterations = 0x69, bounds = 0xb7fbb178, 
  single_exit = 0x894, parallel_p = 1 '\001'}
(gdb) print *loop-header
$3 = {stmt_list = 0x0, preds = 0x0, succs = 0x896ad70, aux = 0x894, 
  loop_father = 0x896d608, dom = {0x896d608, 0xb7fbb188}, 
  prev_bb = 0xb7fbb188, next_bb = 0xb7fbb190, il = {rtl = 0xb7fbb190}, 
  phi_nodes = 0x896d750, predictions = 0x8947938, 
  count = -5189358841774755424, index = -1208241752, loop_depth = -1208241752, 
  frequency = -1208241744, flags = -1208241744}

The loop walking in peel_loops_completely looks bogus, as we're modifying
the loop tree.


-- 


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



[Bug fortran/25681] ICE with len of array of derived type

2006-04-27 Thread fxcoudert at gcc dot gnu dot org


--- Comment #6 from fxcoudert at gcc dot gnu dot org  2006-04-27 09:49 
---
(In reply to comment #5)
 This bug is one of the issues preventing cp2k from compiling. I get this error
 in timings.f90:335.

This bug is still there. With mainline, on i686-linux, it seems to be the only
remaining bug preventing cp2k from building.

I might have an idea for a partial patch. I'll try to clean it up a bit and
post it to the list soon.

[Adding Joost in CC list]


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org, jv244 at cam dot ac dot
   ||uk
   Last reconfirmed|2006-02-06 18:30:57 |2006-04-27 09:49:21
   date||


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



[Bug tree-optimization/27218] [4.1 regression] ICE in get_indirect_ref_operands, at tree-ssa-operands.c:1515, inlining produces non-gimple

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2006-04-27 09:58 
---
Fixed on the mainline.


-- 

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
   Keywords||patch
  Known to fail|4.2.0   |4.1.1
  Known to work||4.2.0
   Last reconfirmed|2006-04-19 15:53:29 |2006-04-27 09:58:43
   date||
Summary|[4.1/4.2 regression] ICE in |[4.1 regression] ICE in
   |get_indirect_ref_operands,  |get_indirect_ref_operands,
   |at tree-ssa-operands.c:1515,|at tree-ssa-operands.c:1515,
   |inlining produces non-gimple|inlining produces non-gimple


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



[Bug tree-optimization/27151] [4.1/4.2 Regression] ICE with -ftree-vectorize with mixed types

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2006-04-27 10:16 ---
The vectorizer doesn't seem to handle differing types for COND_EXPRs.  So
something along

*** tree-vect-transform.c   (revision 113296)
--- tree-vect-transform.c   (working copy)
*** vectorizable_condition (tree stmt, block
*** 2115,2120 
--- 2115,2125 
then_clause = TREE_OPERAND (op, 1);
else_clause = TREE_OPERAND (op, 2);

+   /* We do not handle two different vector types for the condition
+  and the values.  */
+   if (TREE_TYPE (TREE_OPERAND (cond_expr, 0)) != TREE_TYPE (vectype))
+ return false;
+ 
if (!vect_is_simple_cond (cond_expr, loop_vinfo))
  return false;

should fix it.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-04-14 01:01:38 |2006-04-27 10:16:44
   date||


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



[Bug tree-optimization/26969] [4.1/4.2 Regression] ICE with -O1 -funswitch-loops -ftree-vectorize

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-04-27 10:38 ---
We ICE in rename_use_op on

  if (TREE_CODE (USE_FROM_PTR (op_p)) != SSA_NAME)
return;

because *op_p-use is NULL and the stmt is broken:

(gdb) call debug_generic_expr(op_p-stmt)
SMT.6D.1867_40 = PHI (13);

#0  0x081ed569 in rename_use_op (op_p=0xb7de40a0)
at /space/rguenther/src/svn/trunk/gcc/tree-vectorizer.c:201
#1  0x081ed840 in rename_variables_in_bb (bb=0xb7d35a50)
at /space/rguenther/src/svn/trunk/gcc/tree-vectorizer.c:243
#2  0x081ee0d4 in rename_variables_in_loop (loop=0x896e8f0)
at /space/rguenther/src/svn/trunk/gcc/tree-vectorizer.c:259
#3  0x081eff18 in slpeel_tree_peel_loop_to_edge (loop=0x8961658, 
loops=0x8948690, e=0xb7dd6820, first_niters=0xb7de3138, niters=0xb7dded68, 
update_first_loop_count=1 '\001')
at /space/rguenther/src/svn/trunk/gcc/tree-vectorizer.c:1135
#4  0x08203066 in vect_do_peeling_for_alignment (loop_vinfo=0x895ff18, 
loops=0x8948690)
at /space/rguenther/src/svn/trunk/gcc/tree-vect-transform.c:2813
#5  0x08203978 in vect_transform_loop (loop_vinfo=0x895ff18, loops=0x8948690)
at /space/rguenther/src/svn/trunk/gcc/tree-vect-transform.c:3045
#6  0x081f29e5 in vectorize_loops (loops=0x8948690)
at /space/rguenther/src/svn/trunk/gcc/tree-vectorizer.c:2046
#7  0x081dbdf1 in tree_vectorize ()


-- 


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



[Bug fortran/27324] Initialized module equivalence member causes assembler error

2006-04-27 Thread paul dot thomas at jet dot uk


--- Comment #1 from paul dot thomas at jet dot uk  2006-04-27 10:44 ---
This one is marvelous - it's one of Sherlock Holme's three pipers.

If the initialization is removed, all works correctly.  If the module is
compiled separately and the object file linked with the main program, it works
correctly, as it stands.

The root of the problem is in build_common_decl, where the backend_decl for the
equivalence union seems to get lost for some reason.  In consequence, two decls
get made, which possess ASSEMBLER_DECL_NAMEs. For some reason that I do not yet
see, it matters if they are initilized or not.  This latter is slightly
academic, in that the solution will be to get the existing backend_decl to
subsequent calls.

Paul


-- 


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



[Bug tree-optimization/26969] [4.1/4.2 Regression] ICE with -O1 -funswitch-loops -ftree-vectorize

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-04-27 11:05 ---
slpeel_update_phis_for_duplicate_loop does not do its job properly.  It fails
to
update the PHI nodes of at least the new loops latch block:

(gdb) call debug_bb (new_loop-latch)
;; basic block 14, loop depth 1, count 0
;; prev block 13, next block 4
;; pred:   13 [98.8%]  (dfs_back,true,exec)
;; succ:   13 [100.0%]  (fallthru,exec)
# SMT.6_40 = PHI (13);
# j_41 = PHI (13);
L23:;
goto bb 13 (L24);


-- 


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



[Bug middle-end/26729] [4.0/4.1 regression] bad bitops folding

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #16 from rguenth at gcc dot gnu dot org  2006-04-27 11:21 
---
This is fixed on the mainline.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail|3.3.6 3.4.3 4.0.2 4.1.0 |3.3.6 3.4.3 4.0.2 4.1.0
   |4.2.0   |
  Known to work|2.95.4  |2.95.4 4.2.0
Summary|[4.0/4.1/4.2 regression] bad|[4.0/4.1 regression] bad
   |bitops folding  |bitops folding


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



[Bug tree-optimization/26719] [4.1/4.2 Regression] Computed (integer) table changes with -O

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2006-04-27 11:23 ---
Still happens.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
   Last reconfirmed|2006-03-16 18:24:54 |2006-04-27 11:23:56
   date||


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



[Bug c++/27336] New: this pointer is not assumed to be not null

2006-04-27 Thread guillaume dot melquiond at ens-lyon dot fr
I noticed that GCC tends to litter the assembly code with null checks and jumps
(especially for dynamic casts) even when the pointer cannot be null. This is
especially true for this: unless I am mistaken, calling a nonstatic member
with this not pointing to an object of the correct type (or a derived type)
is undefined behavior. So GCC should assume it is not null. I tried the
following testcase with 3.4.6, 4.0.3, and 4.1.0; GCC was never able to optimize
the return value to true when compiling with -O3.

struct A { bool g(); };
bool A::g() { return this; }


-- 
   Summary: this pointer is not assumed to be not null
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: guillaume dot melquiond at ens-lyon dot fr


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



[Bug awt/22163] scrollbars appear and disappear

2006-04-27 Thread gnu_andrew at member dot fsf dot org


-- 

gnu_andrew at member dot fsf dot org changed:

   What|Removed |Added

   Target Milestone|--- |0.91


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



[Bug fortran/25681] ICE with len of array of derived type

2006-04-27 Thread patchapp at dberlin dot org


--- Comment #7 from patchapp at dberlin dot org  2006-04-27 11:50 ---
Subject: Bug number PR fortran/25681

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


-- 


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



[Bug fortran/25681] ICE with len of array of derived type

2006-04-27 Thread fxcoudert at gcc dot gnu dot org


--- Comment #8 from fxcoudert at gcc dot gnu dot org  2006-04-27 11:50 
---
Patch (at least partial) submitted for approval. The patch allows CP2K to
compile.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||04/msg01033.html
   Keywords||patch


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



[Bug crypto/27111] SecureRandom isn't seeded on creation

2006-04-27 Thread gnu_andrew at member dot fsf dot org


-- 

gnu_andrew at member dot fsf dot org changed:

   What|Removed |Added

   Target Milestone|--- |0.91


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



[Bug libgomp/27337] New: OpenMP ICE in expand_expr_real_1 at expr.c:6814

2006-04-27 Thread Klaas dot Vantournhout at UGent dot be
Hi,

I have obtained an ICE in expand_expr_real_1, at expr.c:6814 when trying to
build my code using OpenMP.  I am using gcc version 4.2.0 20060422
(experimental) on target x86_64-unknown-linux-gnu.

The problem appears also in the FC5 gcc4.1.0 version gcc (GCC) 4.1.0 20060304
(Red Hat 4.1.0-3).

Below you find to pieces of code which produce the problem, as well as the
output of gcc -v -save-temps.

The ICE disapears when removing all openmp directives and headerfiles.  The ICE
disapears also when the function is a void instead of T1, and also if T1 is a
normal 'old' type.

If you need more info, just contact me.
With kind regards,
Klaas

BEGIN code.cpp
#include t1.h
#include omp.h

T1 function (void) {
  int ii,N;
  T1 temp(N);

#pragma omp parallel for
  for (ii = 0; ii  N; ii++) {
temp(ii,ii) = ii;
  }

  return temp;
}
END code.cpp

BEGIN t1.h
#ifndef LINALG_H
#define T1_H

class T1 {
 public :
  T1(int);
  ~T1(void);
  double operator()(int, int) const;
 private :
  double *a;
};

#endif
END t1.h

[EMAIL PROTECTED] src]$ /usr/local/gcc4.2/bin/x86_64-unknown-linux-gnu-g++ -v
-save-temps -fopenmp -c code.cpp
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: /usr/local/src/gcc-4.2-20060422/configure
--prefix=/usr/local/gcc4.2 --enable-languages=c,c++
Thread model: posix
gcc version 4.2.0 20060422 (experimental)
 /usr/local/gcc4.2/libexec/gcc/x86_64-unknown-linux-gnu/4.2.0/cc1plus -E -quiet
-v -D_GNU_SOURCE -D_REENTRANT code.cpp -mtune=generic -fopenmp -fpch-preprocess
-o code.ii
ignoring nonexistent directory
/usr/local/gcc4.2/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/../../../../x86_64-unknown-linux-gnu/include
#include ... search starts here:
#include ... search starts here:

/usr/local/gcc4.2/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/../../../../include/c++/4.2.0

/usr/local/gcc4.2/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/../../../../include/c++/4.2.0/x86_64-unknown-linux-gnu

/usr/local/gcc4.2/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/../../../../include/c++/4.2.0/backward
 /usr/local/include
 /usr/local/gcc4.2/include
 /usr/local/gcc4.2/lib/gcc/x86_64-unknown-linux-gnu/4.2.0/include
 /usr/include
End of search list.
 /usr/local/gcc4.2/libexec/gcc/x86_64-unknown-linux-gnu/4.2.0/cc1plus
-fpreprocessed code.ii -quiet -dumpbase code.cpp -mtune=generic -auxbase code
-version -fopenmp -o code.s
GNU C++ version 4.2.0 20060422 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.2.0 20060422 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 99a2733c59c8f6d329de89f75af46282
code.cpp: In function âT1 function()â:
code.cpp:6: internal compiler error: in expand_expr_real_1, at expr.c:6814
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions


-- 
   Summary: OpenMP ICE in expand_expr_real_1 at expr.c:6814
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Klaas dot Vantournhout at UGent dot be


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



[Bug classpath/24632] java.util.HashMap$HashIterator.hasNext throws ConcurrentModificationException

2006-04-27 Thread gnu_andrew at member dot fsf dot org


-- 

gnu_andrew at member dot fsf dot org changed:

   What|Removed |Added

   Target Milestone|--- |0.91


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



[Bug classpath/26707] lib/Makefile.am should ignore .svn directories

2006-04-27 Thread gnu_andrew at member dot fsf dot org


-- 

gnu_andrew at member dot fsf dot org changed:

   What|Removed |Added

   Target Milestone|--- |0.91


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



[Bug libgomp/27337] OpenMP ICE in expand_expr_real_1 at expr.c:6814

2006-04-27 Thread Klaas dot Vantournhout at UGent dot be


--- Comment #1 from Klaas dot Vantournhout at UGent dot be  2006-04-27 
12:19 ---
I forgot to state that in the FC5 version gcc (GCC) 4.1.0 20060304
(Red Hat 4.1.0-3) the ICE appears in expand_expr_real_1, at expr.c:6694.

Klaas


-- 


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



[Bug middle-end/27337] OpenMP ICE in expand_expr_real_1 at expr.c:6814

2006-04-27 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2006-04-27 12:22 ---
OMP gimplification and lowering needs to handle RESULT_DECLs.
Simplified testcases e.g.:
struct S
{
  S ();
  ~S ();
  double operator* () const;
};

S
foo ()
{
  int i;
  S ret;

#pragma omp parallel for
  for (i = 0; i  2; i++)
*ret += i;

  return ret;
}

or

struct S
{
  S ();
  ~S ();
  int i;
};

S
foo ()
{
  int i;
  S ret;

#pragma omp parallel for firstprivate (ret) lastprivate (ret)
  for (i = 0; i  2; i++)
ret.i += i;

  return ret;
}


-- 

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|UNCONFIRMED |ASSIGNED
  Component|libgomp |middle-end
 Ever Confirmed|0   |1
   Keywords||openmp
   Last reconfirmed|-00-00 00:00:00 |2006-04-27 12:22:43
   date||


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



[Bug tree-optimization/24609] [4.1/4.2 regression] Same value duplicated in two different registers

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2006-04-27 12:36 
---
I cannot reproduce this anymore on 4.1 or mainline.  (I can however see the
const duplication by PRE)


-- 


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



[Bug classpath/26688] Classpath Makefiles assume CVS source control

2006-04-27 Thread gnu_andrew at member dot fsf dot org


-- 

gnu_andrew at member dot fsf dot org changed:

   What|Removed |Added

   Target Milestone|--- |0.91


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



[Bug tree-optimization/27151] [4.1/4.2 Regression] ICE with -ftree-vectorize with mixed types

2006-04-27 Thread patchapp at dberlin dot org


--- Comment #7 from patchapp at dberlin dot org  2006-04-27 12:50 ---
Subject: Bug number PR27151

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


-- 


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



[Bug fortran/25681] ICE with len of array of derived type

2006-04-27 Thread jv244 at cam dot ac dot uk


--- Comment #9 from jv244 at cam dot ac dot uk  2006-04-27 12:53 ---
 [Adding Joost in CC list]

Thanks. Any idea if it runs properly with the patch in place (have a look at
the script cp2k/tools/do_regtest for setting up a testing run) ?


-- 


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



[Bug rtl-optimization/26685] [4.1/4.2 regression] documentation refer to nonexisting --param max-cse-insns

2006-04-27 Thread patchapp at dberlin dot org


--- Comment #2 from patchapp at dberlin dot org  2006-04-27 12:55 ---
Subject: Bug number PR26685

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


-- 


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



[Bug middle-end/27337] OpenMP ICE in expand_expr_real_1 at expr.c:6814

2006-04-27 Thread Klaas dot Vantournhout at UGent dot be


--- Comment #3 from Klaas dot Vantournhout at UGent dot be  2006-04-27 
13:09 ---
The first test case gives me the same error when using the flags -fopenmp -c. 
When I don't use -fopenmp, the code will compile.

The second test case gives me an other ICE.

code2.c: In function S foo():
code2.c:14: internal compiler error: tree check: expected tree that contains
decl common structure, have indirect_ref  in omp_add_variable, at
gimplify.c:4286

I don't know if this comment was usefull, or if these errors were obvious.

Greets
Klaas


-- 


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



[Bug c++/27336] this pointer is not assumed to be not null

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2006-04-27 13:10 ---
Confirmed.  The frontend needs to tell the middle-end that the argument is
non-NULL.  Like by making the methods __attribute__((nonnull(1))).


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization
  Known to fail||4.2.0
   Last reconfirmed|-00-00 00:00:00 |2006-04-27 13:10:59
   date||


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



[Bug target/27338] New: Violation of mips o64 ABI

2006-04-27 Thread niva at niisi dot msk dot ru
According to http://gcc.gnu.org/projects/mipso64-abi.html
if the first and second arguments floating-point arguments 
to a function are 32-bit values, they are passed in $f12 
and $f14. The assembler file obtained as a result of
compilation with mips64-none-elf-gcc-4.1.0 of the following 
file (o64.c), shows that a pair of float parameters is 
passed on $f12 and $f13 instead of $f12 and $f14.

When I compile the same file with mips64-none-elf-gcc-3.4.5,
I get assembler code where the parameters are passed on 
$f12 and $f14.


extern float g01f; 

int checkf (float x, float v) 
{ if (x != v + 90.0) 
  { return 1; } 
  else 
  { return 0; }
} 

void checkgf (void) { 
  checkf (g01f, 1);
}

void initf (float *p, float v) 
  { *p = v + 90.0; }


-- 
   Summary: Violation of mips o64 ABI
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: niva at niisi dot msk dot ru
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: mips64-none-elf


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



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-04-27 Thread fxcoudert at gcc dot gnu dot org


--- Comment #15 from fxcoudert at gcc dot gnu dot org  2006-04-27 13:14 
---
(In reply to comment #11)
 The only solution in these cases it to remove the assert and let it
 generate bad code, but I want to fix other issues first before removing
 the assert.

What's the status on this? It makes libgfortran build crash with a patch I'd
like to submit.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
   Last reconfirmed|2006-03-09 22:52:29 |2006-04-27 13:14:03
   date||


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



[Bug fortran/27324] Initialized module equivalence member causes assembler error

2006-04-27 Thread paul dot thomas at jet dot uk


--- Comment #2 from paul dot thomas at jet dot uk  2006-04-27 13:24 ---
Holmes was wrong - it was a one piper.

The symbol for the module equivalence was being scrubbed for the lack of a
gfc_commit_symbols. Interchanging lines 1061 and 1064 in trans-common.c does
the job. Thus:

  /* Translate local equivalence.  */
  finish_equivalences (ns);

  /* Commit the newly created symbols for common blocks and module
 equivalences.  */
  gfc_commit_symbols ();

This regtests together with the fix for pr27269 on Cygwin_NT.  As soon as I
figure out why I cannot free the gfc_expr's in this latter fix, I will submit a
combined patch and testcase.

Paul 


-- 


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



[Bug tree-optimization/25148] compare_values assumes that CST in a + CST (and a - CST) is always postive

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2006-04-27 13:52 ---
Subject: Bug 25148

Author: rguenth
Date: Thu Apr 27 13:52:44 2006
New Revision: 113298

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=113298
Log:
2006-04-27  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/25148
* tree-vrp.c (compare_values): Remove code dealing with
comparisons against type min/max value.  Honour overflow
and negative constants in code dealing with comparisons
of plus and minus expressions.
(value_inside_range): Use fold_binary with LE_EXPR and
GE_EXPR rather than compare_values.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-vrp.c


-- 


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



[Bug tree-optimization/25148] compare_values assumes that CST in a + CST (and a - CST) is always postive

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2006-04-27 13:53 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug rtl-optimization/26685] [4.1/4.2 regression] documentation refer to nonexisting --param max-cse-insns

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-04-27 14:24 ---
Subject: Bug 26685

Author: rguenth
Date: Thu Apr 27 14:24:15 2006
New Revision: 113299

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=113299
Log:
2006-04-27  Richard Guenther  [EMAIL PROTECTED]

PR rtl-optimization/26685
* params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
this one max-flow-memory-locations.

Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/params.def


-- 


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



[Bug rtl-optimization/26685] [4.1/4.2 regression] documentation refer to nonexisting --param max-cse-insns

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2006-04-27 14:25 ---
Subject: Bug 26685

Author: rguenth
Date: Thu Apr 27 14:25:49 2006
New Revision: 113300

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=113300
Log:
2006-04-27  Richard Guenther  [EMAIL PROTECTED]

PR rtl-optimization/26685
* params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
this one max-flow-memory-locations.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/params.def


-- 


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



[Bug rtl-optimization/26685] [4.1/4.2 regression] documentation refer to nonexisting --param max-cse-insns

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2006-04-27 14:26 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/27283] [4.2 regression] ICE: SSA corruption - Conflict across an abnormal edge

2006-04-27 Thread rakdver at gcc dot gnu dot org


--- Comment #4 from rakdver at gcc dot gnu dot org  2006-04-27 15:00 ---
Patch:

http://gcc.gnu.org/ml/gcc-patches/2006-04/msg01044.html


-- 

rakdver at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||04/msg01044.html
   Keywords||patch


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



[Bug middle-end/27226] Compiler looses track of alignment for emit_block_move

2006-04-27 Thread amylaar at gcc dot gnu dot org


--- Comment #10 from amylaar at gcc dot gnu dot org  2006-04-27 15:35 
---
(In reply to comment #6)
 Created an attachment (id=11305)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11305action=view) [edit]
 proposed patch for 4.1
 

The assignment
  inner = max_align;
must come before the
  if (handled_component_p (exp))
test.


-- 


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



[Bug middle-end/27328] ICE with -fopenmp and goto

2006-04-27 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2006-04-27 15:38 ---
This is not specific to goto, any OMP structured block which the initial cfg
pass proves it will never return is a problem.  In that case, the corresponding
OMP_RETURN is optimized out as unreachable.  The first ICE is fairly easy
to fix:
--- omp-low.c.jj2   2006-04-27 16:35:04.0 +0200
+++ omp-low.c   2006-04-27 17:29:32.0 +0200
@@ -2231,6 +2231,11 @@ remove_exit_barrier (struct omp_region *

   exit_bb = region-exit;

+  /* If the parallel region doesn't return, we don't have REGIOn-EXIT
+ block at all.  */
+  if (! exit_bb)
+return;
+
   /* The last insn in the block will be the parallel's OMP_RETURN.  The
  workshare's OMP_RETURN will be in a preceding block.  The kinds of
  statements that can appear in between are extremely limited -- no
but with this, we ICE in move_sese_region_to_fn and there it will be harder
to deal with it.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu dot org,
   ||dnovillo at gcc dot gnu dot
   ||org


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



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-04-27 Thread dberlin at dberlin dot org


--- Comment #16 from dberlin at gcc dot gnu dot org  2006-04-27 15:39 
---
Subject: Re:  [4.2 Regression] ICE in in
add_virtual_operand


 What's the status on this? It makes libgfortran build crash with a patch I'd
 like to submit.

Uh, okay, so, until someone debugs the other real problems this exposes,
i'm not going to remove the assert.
In particular, whenever that assert triggers, it's going to generate bad
code because somebody somewhere (either user or compiler pass, it
varies) has done something wrong.

So if it's triggering during your libgfortran builds with a patch, you
really need to examine where it's triggering.

If it is triggering because there is a bare NMT there, then something
has screwed up aliasing.

 
 


-- 


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



[Bug tree-optimization/26726] -fivopts producing out of bounds array refs

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2006-04-27 15:47 ---
One thing is, that find_interesting_uses_address () produces bases that look
like (a[0])-s.  I.e. they are not folded during IV base insertion via

  if (!for_each_index (base, idx_find_step, ifs_ivopts_data)
  || zero_p (step))
goto fail;

Also we don't see that *a[0] is an ARRAY_REF in idx_find_step, which may cause
other problems.

Another problem is that we record both

(const Foo*)a[0]

and

a[0]

as biv's which confuses IVOPTs a lot.

Stripping useless type conversions during biv discovery and folding after the
substitution above fixes the two problems.  What remains is the use of an
out-of-bound array index and a (useless) offset:

bb 2:
  ivtmp.39_2 = x[1];

  # ivtmp.39_4 = PHI ivtmp.39_1(4), ivtmp.39_2(2);
L0:;
  D.2068_10 = (int *) ivtmp.39_4;
  MEM[base: D.2068_10, offset: -4B]{this-s} = 1;
  ivtmp.39_1 = ivtmp.39_4 + 4B;
  if (ivtmp.39_1 != x[5]) goto L5; else goto L2;

here I do not see how IVOPTs decided that using x[1] as base is better
than x[0] (well, the cost for the former is 1 while for the latter is 2(!?)

I have a patch for the first two problems in testing.


-- 


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



[Bug tree-optimization/26726] -fivopts producing out of bounds array refs

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2006-04-27 15:59 ---
The offset causes the assembler to be sub-optimal:

.LCFI2:
leal-12(%ebp), %eax
leal4(%ebp), %edx
.p2align 4,,7
.L2:
movl$1, -4(%eax)
addl$4, %eax
cmpl%edx, %eax
jne .L2

and I can imagine on auto-decrement targets it would be even worse (though
I didn't check).


-- 


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



[Bug tree-optimization/26726] -fivopts producing out of bounds array refs

2006-04-27 Thread rakdver at atrey dot karlin dot mff dot cuni dot cz


--- Comment #9 from rakdver at atrey dot karlin dot mff dot cuni dot cz  
2006-04-27 16:02 ---
Subject: Re:  -fivopts producing out of bounds array refs

 One thing is, that find_interesting_uses_address () produces bases that look
 like (a[0])-s.  I.e. they are not folded during IV base insertion via
 
   if (!for_each_index (base, idx_find_step, ifs_ivopts_data)
   || zero_p (step))
 goto fail;
 
 Also we don't see that *a[0] is an ARRAY_REF in idx_find_step, which may 
 cause
 other problems.
 
 Another problem is that we record both
 
 (const Foo*)a[0]
 
 and
 
 a[0]
 
 as biv's which confuses IVOPTs a lot.
 
 Stripping useless type conversions during biv discovery and folding after the
 substitution above fixes the two problems.

I also have some patches for similar problems (in killloop-branch),
unfortunately
they mostly depend on http://gcc.gnu.org/ml/gcc-patches/2006-03/msg00345.html
that seems hopelessly stuck.

 What remains is the use of an
 out-of-bound array index and a (useless) offset:
 
 bb 2:
   ivtmp.39_2 = x[1];
 
   # ivtmp.39_4 = PHI ivtmp.39_1(4), ivtmp.39_2(2);
 L0:;
   D.2068_10 = (int *) ivtmp.39_4;
   MEM[base: D.2068_10, offset: -4B]{this-s} = 1;
   ivtmp.39_1 = ivtmp.39_4 + 4B;
   if (ivtmp.39_1 != x[5]) goto L5; else goto L2;
 
 here I do not see how IVOPTs decided that using x[1] as base is better
 than x[0] (well, the cost for the former is 1 while for the latter is 2(!?)

Welcome to the wonderful world of cost arithmetics :-) x86 backend
pretends that more complicated memory addressing modes are cheaper,
in order to persuade CSE to create them.  Thus, given several equally
costly ways how to express a memory reference, ivopts will choose the
most complicated one.


-- 


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



[Bug tree-optimization/27144] [4.2 regression] segfault with -O2 on x86_64 (and powerpc64)

2006-04-27 Thread rakdver at gcc dot gnu dot org


-- 

rakdver at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rakdver at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-04-13 17:01:44 |2006-04-27 16:04:28
   date||


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



[Bug tree-optimization/26726] -fivopts producing out of bounds array refs

2006-04-27 Thread rguenther at suse dot de


--- Comment #10 from rguenther at suse dot de  2006-04-27 16:09 ---
Subject: Re:  -fivopts producing out of bounds
 array refs

On Thu, 27 Apr 2006, rakdver at atrey dot karlin dot mff dot cuni dot cz wrote:

  Stripping useless type conversions during biv discovery and folding after 
  the
  substitution above fixes the two problems.
 
 I also have some patches for similar problems (in killloop-branch),
 unfortunately
 they mostly depend on http://gcc.gnu.org/ml/gcc-patches/2006-03/msg00345.html
 that seems hopelessly stuck.

I thought there was consensus and approval on the generic parts.  Maybe
it's time to ping these again, as they were clearly submitted before 
stage3.

  What remains is the use of an
  out-of-bound array index and a (useless) offset:
  
  bb 2:
ivtmp.39_2 = x[1];
  
# ivtmp.39_4 = PHI ivtmp.39_1(4), ivtmp.39_2(2);
  L0:;
D.2068_10 = (int *) ivtmp.39_4;
MEM[base: D.2068_10, offset: -4B]{this-s} = 1;
ivtmp.39_1 = ivtmp.39_4 + 4B;
if (ivtmp.39_1 != x[5]) goto L5; else goto L2;
  
  here I do not see how IVOPTs decided that using x[1] as base is better
  than x[0] (well, the cost for the former is 1 while for the latter is 2(!?)
 
 Welcome to the wonderful world of cost arithmetics :-) x86 backend
 pretends that more complicated memory addressing modes are cheaper,
 in order to persuade CSE to create them.  Thus, given several equally
 costly ways how to express a memory reference, ivopts will choose the
 most complicated one.

*sigh* :/

Richard.


-- 


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



[Bug bootstrap/27334] [4.0/4.1 onlly] gcc/Makefile.in:s-macro_list sed fails with make 3.81 due to POSIX support changes

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-04-27 16:11 ---
I should note that this is not a regression and maybe someone over at GNU make
should have tested building GCC.  Note also this is going to be another
poltical mess.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |minor
Summary|gcc/Makefile.in:s-macro_list|[4.0/4.1 onlly]
   |sed fails with make 3.81 due|gcc/Makefile.in:s-macro_list
   |to POSIX support changes|sed fails with make 3.81 due
   ||to POSIX support changes
   Target Milestone|--- |4.1.1


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



[Bug target/27333] internal compiler error: Segmentation fault

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-27 16:26 ---
This works for me and many other people.  Make sure you don't have bad memory
or hardware.


-- 


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



[Bug c++/27339] New: defining out-of-class specialization of value template parameter with private type

2006-04-27 Thread dirkmoermans at gmail dot com
Following code does not compile with gcc 4.1.
It compiles with gcc 3.4.0 and gcc 4.0.2 and comeau online.

=
class A 
{
private: 
  enum private_enum {a};

  templateA::private_enum v  // OK 
  struct B
  {
void bm();
  }; 
public: 
  void am() 
  { 
Ba instance; //OK
instance.bm();
  }
};

templateA::private_enum v  // FAIL
void
A::Bv::bm(){}
=
The error message is:
a.cc:4: error: 'enum A::private_enum' is private
a.cc:19: error: within this context

If the member template function gets defined inline, the code compiles. 
I don't have the c++ standard available, but a technicality like an
inline/outline definition should have no impact on the validity of the code
imho. 

The same error occurrs if the enum gets replaced by a function template
typedef, or if the inner-class gets replaced by a member-function-template.

A related bug is 10849


-- 
   Summary: defining out-of-class specialization of value template
parameter with private type
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dirkmoermans at gmail dot com


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



[Bug target/25514] [m68k] internal consistency failure

2006-04-27 Thread rsandifo at gcc dot gnu dot org


--- Comment #5 from rsandifo at gcc dot gnu dot org  2006-04-27 16:41 
---
Subject: Bug 25514

Author: rsandifo
Date: Thu Apr 27 16:41:51 2006
New Revision: 113312

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=113312
Log:
PR rtl-optimization/25514
* combine.c (replaced_rhs_insn): New variable.
(combine_instructions): Set replaced_rhs_insn when trying to replace
a SET_SRC with a REG_EQUAL note.
(distribute_notes): Use replaced_rhs_insn when determining the live
range of a REG_DEAD register.

gcc/testsute
* gcc.c-torture/compile/pr25514.c: New test.

Modified:
branches/csl/coldfire-4_1/ChangeLog.csl
branches/csl/coldfire-4_1/gcc/combine.c


-- 


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



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #17 from rguenth at gcc dot gnu dot org  2006-04-27 16:43 
---
As followup to comment #9, copyprop propagates pretmp.23_2 into rv.0_1-d, and
in
may_propagate_copy we see that rv.0_1 has both an SMT and NMT associated with,
while pretmp.23_2 has none of the two.


-- 


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



[Bug target/25514] [m68k] internal consistency failure

2006-04-27 Thread rsandifo at gcc dot gnu dot org


--- Comment #6 from rsandifo at gcc dot gnu dot org  2006-04-27 16:43 
---
Subject: Bug 25514

Author: rsandifo
Date: Thu Apr 27 16:43:10 2006
New Revision: 113313

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=113313
Log:
PR rtl-optimization/25514
* combine.c (replaced_rhs_insn): New variable.
(combine_instructions): Set replaced_rhs_insn when trying to replace
a SET_SRC with a REG_EQUAL note.
(distribute_notes): Use replaced_rhs_insn when determining the live
range of a REG_DEAD register.

gcc/testsute
* gcc.c-torture/compile/pr25514.c: New test.

Added:
branches/csl/coldfire-4_1/gcc/testsuite/gcc.c-torture/compile/pr25514.c


-- 


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



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-04-27 Thread dberlin at dberlin dot org


--- Comment #18 from dberlin at gcc dot gnu dot org  2006-04-27 16:55 
---
Subject: Re:  [4.2 Regression] ICE in in
add_virtual_operand

On Thu, 2006-04-27 at 16:43 +, rguenth at gcc dot gnu dot org wrote:
 
 --- Comment #17 from rguenth at gcc dot gnu dot org  2006-04-27 16:43 
 ---
 As followup to comment #9, copyprop propagates pretmp.23_2 into rv.0_1-d, and
 in
 may_propagate_copy we see that rv.0_1 has both an SMT and NMT associated with,
 while pretmp.23_2 has none of the two.

Except that may_alias is rerun right after PRE, so it should have the
same symbols :)


-- 


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



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #19 from rguenth at gcc dot gnu dot org  2006-04-27 16:56 
---
This one ICEs the same way, already during the first copyprop pass:

typedef union {
int d;
} U;

int rv;
void breakme()
{
U *rv0;
U *pretmp = (U*)rv;
rv0 = pretmp;
rv0-d = 42;
}


-- 


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



[Bug tree-optimization/26626] [4.2 Regression] ICE in in add_virtual_operand

2006-04-27 Thread rguenth at gcc dot gnu dot org


--- Comment #20 from rguenth at gcc dot gnu dot org  2006-04-27 17:08 
---
Happens with  -O -quiet t.c -dumpbase t.c -fdump-tree-alias1-vops
-fstrict-aliasing -fno-tree-fre -fno-tree-ccp -fdump-tree-all -fno-tree-dce
-fno-tree-copyrename -fno-tree-salias and manually disabled forwprop.

So that leaves may_alias and copyprop itself to blame.  -fno-strict-aliasing
fixes it, too.


-- 


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



[Bug tree-optimization/27144] [4.2 regression] segfault with -O2 on x86_64 (and powerpc64)

2006-04-27 Thread rakdver at gcc dot gnu dot org


--- Comment #5 from rakdver at gcc dot gnu dot org  2006-04-27 17:42 ---
This is more or less dup of PR23434 (the fix for it is not quite correct). I am
testing a patch.


-- 


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



Re: Typecast bug

2006-04-27 Thread Gabriel Dos Reis
[EMAIL PROTECTED] writes:

| On 26 Apr 2006, Gabriel Dos Reis wrote:
| 
|  [EMAIL PROTECTED] writes:
| 
|  | It is gcc 4.1.0, --target=arm-elf compiled on an Intel platform and
|  | GNU/Linux.
|  |
|  | The following construct:
|  |
|  | void *p;
|  |
|  |   ((char *)p)++;
|  |
|  | makes the compiler to issue an error message, namely
|  | invalid lvalue in increment
|  |
|  | The ((char *)p) construct is perfectly valid object, a char pointer which
|  | can be lvalue and rvalue alike. For some reason gcc 4.1.0 (and 4.0.2 as
|  | well) treats ((SOME_TYPE *)p) as if it could not be an lvalue;
| 
|  indeed, it is not; in any ISO C version I know of.
| 
| OK - my bad. Wrote first thought later. Old gcc accepted the construct and
| legacy code broke on the new compiler. My sincere apologies.
| 
| The question, however, remains: (how) can I tell the compiler to treat a
| pointer declared as void *p; as if it was a SOME_TYPE *p pointer without
| introducing temporaries?

You have to use a cast, and the result is not an lvalue.  Period.

Or, use the original pointer SOME_TYPE *p.

-- Gaby


[Bug libstdc++/27340] New: valarray uses __cos which may conflict with libm functions

2006-04-27 Thread marc dot glisse at normalesup dot org
valarray defines structs with names like __cos, __sin, etc. It is often the
case (glibc, solaris) that the libc declares functions with those same names.
In the current situation we are lucky because the structs are in namespace std
and the functions in the global namespace. But playing around with namespace
std soon brings something like this:

namespace std {
double __cos(double);
struct __cos
{
templatetypename _Tp
_Tp operator()(const _Tp __t) const;
};
}
template class T struct A {};
int main(){
Astd::__cos a;
}

which results in:

error: type/value mismatch at argument 1 in template parameter list for
'templateclass T struct A'
error:   expected a type, got 'std::__cos'
error: invalid type in declaration before ';' token


It would be preferable to use a less conflict-prone name.


-- 
   Summary: valarray uses __cos which may conflict with libm
functions
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: marc dot glisse at normalesup dot org


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



[Bug c++/27102] [4.0/4.1 regression] ICE with invalid class name in function template

2006-04-27 Thread mmitchel at gcc dot gnu dot org


--- Comment #10 from mmitchel at gcc dot gnu dot org  2006-04-27 19:03 
---
Subject: Bug 27102

Author: mmitchel
Date: Thu Apr 27 19:02:54 2006
New Revision: 113320

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=113320
Log:
PR c++/27102
* typeck2.c (cxx_incomplete_type_diagnostic): Handle
TYPENAME_TYPE.
PR c++/27102
* g++.dg/template/crash47.C: New test.

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


-- 


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



[Bug c++/27102] [4.0/4.1 regression] ICE with invalid class name in function template

2006-04-27 Thread mmitchel at gcc dot gnu dot org


--- Comment #11 from mmitchel at gcc dot gnu dot org  2006-04-27 19:06 
---
The problem in Comment #9 has been resolved in 4.2.


-- 


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



[Bug libstdc++/27340] valarray uses __cos which may conflict with libm functions

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-27 19:07 ---
Both libc and libstdc++ are considered part of the implementation which means
both are valid to use this name space.


-- 


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



[Bug middle-end/19466] [meta-bug] bit-fields are non optimal

2006-04-27 Thread steven at gcc dot gnu dot org


--- Comment #2 from steven at gcc dot gnu dot org  2006-04-27 19:10 ---
Patches addressing some of the issues:
http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00969.html
http://gcc.gnu.org/ml/gcc-patches/2006-04/msg01049.html

I'm linking them from here for reference.


-- 


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



[Bug tree-optimization/27341] New: [4.2 Regression] ICE in in add_virtual_operand with complex types

2006-04-27 Thread pinskia at gcc dot gnu dot org
Reduced testcase (-O2 to invoke the ICE):
void zgemm_ (const int*, const double*);
extern void matmul_c8 (_Complex double * dest)
{
  const int  ldc = 0;
  const double zero = 0;
  zgemm_ ( zero, ldc);
  dest[1] += 1 ;
}
-
Unlike PR26626, the code above is not questionable code if it is undefined or
not.


-- 
   Summary: [4.2 Regression] ICE  in in add_virtual_operand with
complex types
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org


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



[Bug tree-optimization/27341] [4.2 Regression] ICE in in add_virtual_operand with complex types

2006-04-27 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.2.0


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



[Bug tree-optimization/27341] [4.2 Regression] ICE in in add_virtual_operand with complex types

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-27 19:11 ---
Confirmed, since this is a reducetion from PR 26626 #13.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-27 19:11:20
   date||


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



[Bug tree-optimization/27341] [4.2 Regression] ICE in in add_virtual_operand with complex types

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-04-27 19:14 ---
Note fixing the prototype of zgemm_ to:
void zgemm_ (const double*, const int*);

We Still ICE (I had messed the order up before).


-- 


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



[Bug tree-optimization/27341] [4.2 Regression] ICE in in add_virtual_operand with complex types

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-04-27 19:17 ---
And this is fully complex types related, the ICE comes right after cplxlower,
most likely caused by the complex type getting split up into two different
loads.  (I have not checked that theory yet).


-- 


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



[Bug c++/27339] [4.1/4.2 Regression]defining out-of-class specialization of value template parameter with private type

2006-04-27 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|minor   |normal
   Keywords||rejects-valid
Summary|defining out-of-class   |[4.1/4.2 Regression]defining
   |specialization of value |out-of-class specialization
   |template parameter with |of value template parameter
   |private type|with private type
   Target Milestone|--- |4.1.1


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



[Bug tree-optimization/26854] Inordinate compile times on large routines

2006-04-27 Thread amacleod at gcc dot gnu dot org


--- Comment #15 from amacleod at redhat dot com  2006-04-27 20:22 ---
Subject: Bug 26854

Author: amacleod
Date: Thu Apr 27 20:22:17 2006
New Revision: 113321

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=113321
Log:
Implement new immediate use iterators.

2006-04-27  Andrew MacLeod  [EMAIL PROTECTED]

PR tree-optimization/26854
* tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
* doc/tree-ssa.texi: Update immuse iterator documentation.
* tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
* tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
first_safe_imm_use, next_safe_imm_use): Remove.
(end_imm_use_stmt_p): New.  Check for end of immuse stmt traversal.
(end_imm_use_stmt_traverse): New.  Terminate immuse stmt traversal.
(move_use_after_head): New.  Helper function to sort immuses in a stmt.
(link_use_stmts_after): New.  Link all immuses in a stmt
consescutively.
(first_imm_use_stmt): New.  Get first stmt in an immuse list.
(next_imm_use_stmt): New.  Get next stmt in an immuse list.
(first_imm_use_on_stmt): New.  Get first immuse on a stmt.
(end_imm_use_on_stmt_p): New.  Check for end of immuses on a stmt.
(next_imm_use_on_stmt): New.  Move to next immuse on a stmt.
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
(perfect_nestify): Use new iterator.
* tree-vect-transform.c (vect_create_epilog_for_reduction): Use new 
iterator.
* tree-flow.h (struct immediate_use_iterator_d): Add comments.
(next_imm_name): New field in struct immediate_use_iterator_d.
(FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
(FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT, 
FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
* tree-cfg.c (replace_uses_by): Use new iterator.
* tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
* tree-ssa-operands.c (correct_use_link): Remove.
(finalize_ssa_use_ops): No longer call correct_use_link.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/tree-ssa.texi
trunk/gcc/lambda-code.c
trunk/gcc/tree-cfg.c
trunk/gcc/tree-flow-inline.h
trunk/gcc/tree-flow.h
trunk/gcc/tree-ssa-dom.c
trunk/gcc/tree-ssa-forwprop.c
trunk/gcc/tree-ssa-math-opts.c
trunk/gcc/tree-ssa-operands.c
trunk/gcc/tree-ssa-threadedge.c
trunk/gcc/tree-vect-transform.c
trunk/gcc/tree-vrp.c


-- 


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



[Bug c/27342] New: GCC-bootstrap using ./xgcc on libgcov.c with -DL_gcov (1st of several libgcov.c

2006-04-27 Thread malitzke at metronets dot com
./xgcc -v -save-temps -B./ -B/usr/i686-pc-linux-gnu/bin/ -isystem
/usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include
-L/slackw/gcc-r41/gcc.build.lnx9/gcc/../ld -O2  -O2 -O2 -pipe
-fomit-frame-pointer -march=pentium3 -fno-strict-aliasing  -DIN_GCC-W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
 -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED  -I. -I. -I../../gcc-4.1.1/gcc -I../../gcc-4.1.1/gcc/.
-I../../gcc-4.1.1/gcc/../include -I../../gcc-4.1.1/gcc/../libcpp/include
-I/usr/lib/include -I/usr/lib/include -I/l3/gmp-4.2  -DL_gcov -c libgcov.c -o
libgcov.i 21 |tee rmg.out

xgcc: warning: -pipe ignored because -save-temps specified
Reading specs from ./specs
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.1.1/configure --prefix=/usr
--enable-version-specific-runtime-libs --with-java-home=/usr
--infodir=/usr/share/gcc-420 --datadir=/usr/share/gcc-420
--mandir=/usr/share/gcc-420 --program-suffix=-420 --enable-shared --enable-gomp
--enable-mudflap --enable-libgfortran --enable-threads=posix
--enable-__cxa_atexit --disable-checking --disable-multilib --disable-nls
--disable-werror --with-gnu-ld --enable-libgcc-math
--with-mpfr-dir=/l3/mpfr-2.2.0 --with-mpfr=/usr/lib --with-gmp-dir=/l3/gmp-4.2
--with-gmp=/usr/lib --enable-languages=c,c++,fortran,java,objc
--with-cpu=pentium3 --enable-clocale=gnu
Thread model: posix
gcc version 4.1.1 20060427 (prerelease)
 ./cc1 -E -quiet -v -I. -I. -I../../gcc-4.1.1/gcc -I../../gcc-4.1.1/gcc/.
-I../../gcc-4.1.1/gcc/../include -I../../gcc-4.1.1/gcc/../libcpp/include
-I/usr/lib/include -I/usr/lib/include -I/l3/gmp-4.2 -iprefix
/slackw/gcc-r41/gcc.build.lnx9/gcc/../lib/gcc/i686-pc-linux-gnu/4.1.1/ -isystem
./include -DIN_GCC -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
-DL_gcov -isystem /usr/i686-pc-linux-gnu/include -isystem
/usr/i686-pc-linux-gnu/sys-include -isystem ./include libgcov.c -march=pentium3
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -fomit-frame-pointer -fno-strict-aliasing -fPIC
-fworking-directory -O2 -O2 -O2 -fpch-preprocess -o libgcov.i
ignoring nonexistent directory /usr/i686-pc-linux-gnu/include
ignoring nonexistent directory /usr/i686-pc-linux-gnu/sys-include
ignoring duplicate directory ./include
ignoring nonexistent directory
/slackw/gcc-r41/gcc.build.lnx9/gcc/../lib/gcc/i686-pc-linux-gnu/4.1.1/include
ignoring nonexistent directory
/slackw/gcc-r41/gcc.build.lnx9/gcc/../lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/include
ignoring nonexistent directory /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include
ignoring nonexistent directory /usr/lib/gcc/../../i686-pc-linux-gnu/include
ignoring duplicate directory .
ignoring duplicate directory ../../gcc-4.1.1/gcc/.
ignoring nonexistent directory /usr/lib/include
ignoring nonexistent directory /usr/lib/include
#include ... search starts here:
#include ... search starts here:
 .
 ../../gcc-4.1.1/gcc
 ../../gcc-4.1.1/gcc/../include
 ../../gcc-4.1.1/gcc/../libcpp/include
 /l3/gmp-4.2
 ./include
 /usr/local/include
 /usr/include
End of search list.
 ./cc1 -fpreprocessed libgcov.i -quiet -dumpbase libgcov.c -march=pentium3
-auxbase-strip libgcov.i -g -O2 -O2 -O2 -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -version
-fomit-frame-pointer -fno-strict-aliasing -fPIC -o libgcov.s
GNU C version 4.1.1 20060427 (prerelease) (i686-pc-linux-gnu)
compiled by GNU C version 4.1.0 20060226 (prerelease).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 3c1c0ca8dc7131f4b263707b4c318e14
libgcov.c: In function 'gcov_exit':
libgcov.c:161: error: 'else' label does not match edge at end of bb 140
libgcov.c:161: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: GCC-bootstrap using  ./xgcc on libgcov.c with -DL_gcov
(1st of several libgcov.c
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: malitzke at metronets dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug c/27342] GCC-bootstrap using ./xgcc on libgcov.c with -DL_gcov (1st of several libgcov.c

2006-04-27 Thread malitzke at metronets dot com


--- Comment #1 from malitzke at metronets dot com  2006-04-27 20:40 ---
Created an attachment (id=11341)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11341action=view)
Preprocessed file


-- 


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



[Bug tree-optimization/18031] OR of a bitfield and a constant is not optimized at tree level

2006-04-27 Thread steven at gcc dot gnu dot org


--- Comment #5 from steven at gcc dot gnu dot org  2006-04-27 20:46 ---
So I asked myself, why are we not catching this in vrp?  I know we can derive
ranges from types, so why don't we derive a [0,1] range from the bitfield load?

It turns out that we make _all_ loads VARYING right away, so we end up with:


Value ranges after VRP:

b_1: ~[0B, 0B]  EQUIVALENCES: { b_2 } (1 elements)
b_2: VARYING
D.1882_3: VARYING
D.1883_4: [0, 1]  EQUIVALENCES: { } (0 elements)
D.1884_5: [0, +INF]  EQUIVALENCES: { } (0 elements)
D.1885_6: [0, 127]  EQUIVALENCES: { } (0 elements)
D.1886_7: [0, +INF]  EQUIVALENCES: { } (0 elements)


ior (b)
{
  unnamed type D.1886;
  unsigned char D.1885;
  signed char D.1884;
  signed char D.1883;
  unnamed type D.1882;

bb 2:
  D.1882_3 = b_2-bit;
  D.1883_4 = (signed char) D.1882_3;
  D.1884_5 = D.1883_4 | 1;
  D.1885_6 = (unsigned char) D.1884_5;
  D.1886_7 = (unnamed type) D.1885_6;
  b_2-bit = D.1886_7;
  return;

}


where, at least so it seems to me, we could find something like,
D.1882_3: [0, 1] (etc.)


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2006-02-18 18:24:49 |2006-04-27 20:46:04
   date||


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



[Bug c/27342] GCC-bootstrap using ./xgcc on libgcov.c with -DL_gcov (1st of several libgcov.c

2006-04-27 Thread malitzke at metronets dot com


--- Comment #2 from malitzke at metronets dot com  2006-04-27 20:49 ---
I got it once and did a svn update to 113320 for good measure but still got
apparently the same segmentation fault. However, libgcov.c is processed about
14 times with a different -DLgcove_xxx each time and the error message does not
specify which.


-- 


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



[Bug middle-end/27342] GCC-bootstrap using ./xgcc on libgcov.c with -DL_gcov (1st of several libgcov.c

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-04-27 21:02 ---
if you run the preprocessed source again, do you run into the segfault/error?

If so then this is a hardware problem with your machine.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c   |middle-end


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



[Bug tree-optimization/18031] OR of a bitfield and a constant is not optimized at tree level

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-04-27 21:14 ---
(In reply to comment #5)
 So I asked myself, why are we not catching this in vrp?  I know we can derive
 ranges from types, so why don't we derive a [0,1] range from the bitfield 
 load?
 D.1883_4: [0, 1]  EQUIVALENCES: { } (0 elements)
 D.1884_5: [0, +INF]  EQUIVALENCES: { } (0 elements)

   D.1884_5 = D.1883_4 | 1;

Shouldn't we find that D.1884_5 is 1 at this point because _4 was [0,1]
and [0, 1] | 1 is just 1?


-- 


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



[Bug c/27342] GCC-bootstrap using ./xgcc on libgcov.c with -DL_gcov (1st of several libgcov.c

2006-04-27 Thread malitzke at metronets dot com


--- Comment #4 from malitzke at metronets dot com  2006-04-27 21:25 ---
Well, Andy, not so fast. Doing:
./xgcc -B./ -c libgcov,i 
I get no message and a get a libgcov,o
Anyhow that machine is a four processor server with 2G error corrected memory.
Also I have about 13 other commands processing libgcov.c, but each time with a
different -DLgcov_xxx and none of them turns up any errors.


-- 

malitzke at metronets dot com changed:

   What|Removed |Added

  Component|middle-end  |c


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



[Bug tree-optimization/18031] OR of a bitfield and a constant is not optimized at tree level

2006-04-27 Thread steven at gcc dot gnu dot org


--- Comment #7 from steven at gcc dot gnu dot org  2006-04-27 21:32 ---
Yes, BIT_IOR_EXPR is also not handled.


-- 


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



[Bug c/27342] GCC-bootstrap using ./xgcc on libgcov.c with -DL_gcov (1st of several libgcov.c

2006-04-27 Thread malitzke at metronets dot com


--- Comment #5 from malitzke at metronets dot com  2006-04-27 22:03 ---
Further:
I started the gcc-4.1.1 bootstrap with a different gcc (atually now a earlier
4.2.0) and it come up with the same else label does not match edge. The
xgcc now was generated by a different version of gcc.
While this boot was going on I retried the earlier ./xgcc to most likely hit a
different processor and a different memory region; same thing as before.

Most likely that particular define is triggering some otherwise hidden bug.


-- 


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



[Bug rtl-optimization/27291] [4.2 regression] verify_flow_info failed: too many outgoing branch edges from bb 4

2006-04-27 Thread rakdver at gcc dot gnu dot org


--- Comment #5 from rakdver at gcc dot gnu dot org  2006-04-27 22:21 ---
Patch:

http://gcc.gnu.org/ml/gcc-patches/2006-04/msg01058.html


-- 

rakdver at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||04/msg01058.html
   Keywords||patch


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



[Bug libgcj/27330] natSystemProperties.cc:213: error: 'getpwuid_r' was not declared in this scope

2006-04-27 Thread andreast at gcc dot gnu dot org


--- Comment #3 from andreast at gcc dot gnu dot org  2006-04-27 22:33 
---
I'll submit the patch tommorow. It has been in my queue for a longer time.

Index: configure.ac
===
--- configure.ac(revision 113320)
+++ configure.ac(working copy)
@@ -811,6 +811,14 @@
THREADLIBS='-lpthread -lrt'
THREADSPEC='-lpthread -lrt'
;;
+ hppa*-hp-hpux*)
+THREADCXXFLAGS=-pthread 
+   # boehm-gc needs some functions from librt, so link that too.
+   THREADLIBS='-lpthread -lrt'
+   THREADSPEC='-lpthread -lrt'
+   # HPUX needs REENTRANT for the _r calls.
+   AC_DEFINE(_REENTRANT, 1, [Required define if using POSIX threads])
+   ;;
  *)
THREADLIBS=-lpthread
THREADSPEC=-lpthread


-- 

andreast at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |andreast at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-27 22:33:19
   date||


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



[Bug c++/27344] New: associativity of * operator incorrect when compiled without optimization

2006-04-27 Thread mike dot clarkson at spacedev dot com
Here is the version and system info:

% g++ -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.5/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)


Here is the output from the test program (which is included below)
% g++ -o associativityTest -O3 associativityTest.cpp
% ./associativityTest
neg_50 = -50
% g++ -o associativityTest associativityTest.cpp
% ./associativityTest
neg_50 = 50

You can see the different answers above, as a result of compiling with and
without optimization. The answer of -50 is correct, based on the left to right
associativity of the * operator.

Here is the test file associativityTest.cpp:

#include iostream

using namespace std;

class Int
{
public:
  explicit Int(int value)
: _value(value)
  {
  }

  Int neg()
  {
_value *= -1;
return *this;
  }

  int value()
  {
return _value;
  }

  Int operator*(Int right)
  {
return Int(_value*right._value);
  }

private:
  int _value;
};

Int operator*(Int I, int i)
{
  return I*Int(i);
}

Int operator*(int i, Int I)
{
  return I*i;
}

int main()
{
  Int five(5);

  Int neg_50 = (five * 2 * five.neg());

  cout  neg_50 =   neg_50.value()  endl;
}


-- 
   Summary: associativity of * operator incorrect when compiled
without optimization
   Product: gcc
   Version: 3.4.5
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mike dot clarkson at spacedev dot com


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



[Bug c++/27344] associativity of * operator incorrect when compiled without optimization

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-28 00:00 ---
(five * 2 * five.neg());

This is equivlant to:
(five * 2) * (five.neg())
but the C and C++ standard do not specify which expression is evulated first.
In that (five * 2) might be evulated first or five.neg().  five.neg() has a
side effect of changing five (_value *= -1;) which makes the above statement
undefined as five is accessed and written to without a sequence point
inbetween.


And it makes it a duplicate of PR 11751.

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


-- 

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



[Bug c/11751] wrong evaluation order of an expression

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #71 from pinskia at gcc dot gnu dot org  2006-04-28 00:00 
---
*** Bug 27344 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mike dot clarkson at
   ||spacedev dot com


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



[Bug c++/27292] [4.2 regression] ICE on casts on bitfields

2006-04-27 Thread mmitchel at gcc dot gnu dot org


--- Comment #7 from mmitchel at gcc dot gnu dot org  2006-04-28 02:41 
---
Subject: Bug 27292

Author: mmitchel
Date: Fri Apr 28 02:40:58 2006
New Revision: 113339

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=113339
Log:
PR c++/27292
* tree.c (rvalue): Convert bitfields to their declared types.
PR c++/27292
* g++.dg/conversion/bitfield4.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/conversion/bitfield4.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/tree.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/27292] [4.2 regression] ICE on casts on bitfields

2006-04-27 Thread mmitchel at gcc dot gnu dot org


--- Comment #8 from mmitchel at gcc dot gnu dot org  2006-04-28 02:42 
---
Fixed in 4.2.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug testsuite/27274] execution test of gcc.dg/i386-sse-9.c fails on non-SSE CPU

2006-04-27 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-04-28 03:31 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.2.0


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



[Bug middle-end/27095] [4.1 Regression] O2 produces duplicate code

2006-04-27 Thread amodra at gcc dot gnu dot org


--- Comment #9 from amodra at gcc dot gnu dot org  2006-04-28 03:36 ---
Subject: Bug 27095

Author: amodra
Date: Fri Apr 28 03:36:15 2006
New Revision: 113340

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=113340
Log:
PR middle-end/27095
* gcc.dg/pr27095.c: New.


Added:
trunk/gcc/testsuite/gcc.dg/pr27095.c
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/27260] [4.1/4.2 Regression] ICE in expand_expr_real_1, at expr.c:6750

2006-04-27 Thread amodra at gcc dot gnu dot org


--- Comment #9 from amodra at gcc dot gnu dot org  2006-04-28 03:41 ---
Subject: Bug 27260

Author: amodra
Date: Fri Apr 28 03:41:34 2006
New Revision: 113341

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=113341
Log:
gcc/
PR middle-end/27260
* builtins.c (expand_builtin_memset): Expand val in original mode.
gcc/testsuite/
PR middle-end/27260
* gcc.c-torture/execute/pr27260.c: New.


Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr27260.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug bootstrap/27334] [4.0/4.1 onlly] gcc/Makefile.in:s-macro_list sed fails with make 3.81 due to POSIX support changes

2006-04-27 Thread mark at codesourcery dot com


--- Comment #3 from mark at codesourcery dot com  2006-04-28 05:02 ---
Subject: Re:  gcc/Makefile.in:s-macro_list sed fails
 with make 3.81 due to POSIX support changes

debian-gcc at lists dot debian dot org wrote:
 --- Comment #1 from debian-gcc at lists dot debian dot org  2006-04-27 
 07:33 ---
 thanks for pointing that out, my mistake to check that in. Mark, ok keep that
 change and document that change in the existing changelog entry?
 
   * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted 
 strings

Yes, that's OK.


-- 


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