[Bug c++/47208] [4.6 Regression] [C++0x] ICE: in decl_constant_var_p, at cp/decl2.c:3563 with missing #include

2011-02-18 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47208

--- Comment #2 from Dodji Seketeli  2011-02-18 
08:48:00 UTC ---
Author: dodji
Date: Fri Feb 18 08:47:56 2011
New Revision: 170268

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170268
Log:
PR c++/47208

gcc/cp/

PR c++/47208
* pt.c (do_auto_deduction): Do not mention error_mark_node in
diagnostics.
* semantics.c (finish_id_expression): Do not pass erroneous decl
to decl_constant_var_p.

gcc/testsuite/

PR c++/47208
* g++.dg/cpp0x/auto21.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/auto21.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/47208] [4.6 Regression] [C++0x] ICE: in decl_constant_var_p, at cp/decl2.c:3563 with missing #include

2011-02-18 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47208

Dodji Seketeli  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||dodji at gcc dot gnu.org
 Resolution||FIXED

--- Comment #3 from Dodji Seketeli  2011-02-18 
08:49:39 UTC ---
Fixed in trunk (4.6).


[Bug web/47718] bugzilla: commit mails mentioning binutils PR wrongly linked to GCC bug

2011-02-18 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47718

--- Comment #5 from Andreas Schwab  2011-02-18 09:11:01 
UTC ---
See bug 4334 for an old example.  Or bugs 921/1646/2175/2176 for another one. 
These are the only pre-existing binutils/gdb examples.


[Bug fortran/47767] [OOP] SELECT TYPE fails to execute correct TYPE IS block

2011-02-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47767

--- Comment #4 from janus at gcc dot gnu.org 2011-02-18 10:04:33 UTC ---
Author: janus
Date: Fri Feb 18 10:04:30 2011
New Revision: 170269

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170269
Log:
2011-02-18  Janus Weil  

PR fortran/47767
* gfortran.h (gfc_check_access): Removed prototype.
(gfc_check_symbol_access): Added prototype.
* module.c (gfc_check_access): Renamed to 'check_access', made static.
(gfc_check_symbol_access): New function, basically a shortcut for
'check_access'.
(write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
'gfc_check_symbol_access'.
(write_operator,write_module): Renamed 'gfc_check_access'.
* resolve.c (resolve_fl_procedure,resolve_fl_derived,
resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
'gfc_check_symbol_access'.

2011-02-18  Janus Weil  

PR fortran/47767
* gfortran.dg/class_40.f03: New.

Added:
trunk/gcc/testsuite/gfortran.dg/class_40.f03
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/module.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/47767] [OOP] SELECT TYPE fails to execute correct TYPE IS block

2011-02-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47767

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #5 from janus at gcc dot gnu.org 2011-02-18 10:07:03 UTC ---
Fixed with r170269. Closing.

Thanks for the report, Andrew!


[Bug fortran/47775] Wrong code with allocatable function RESULT and GENERIC interfaces

2011-02-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47775

--- Comment #7 from janus at gcc dot gnu.org 2011-02-18 10:12:06 UTC ---
(In reply to comment #6)
> Janus, Paul: Do you think the patch in comment 5 (with added "||") is OK? Or
> does one need to take care about thinks like intrinsics, proc-pointer
> (components) and type-bound procedures?

Well, it will surely not handle PPCs (and TBPs). Normal proc-pointers should be
ok, I guess. Maybe 'gfc_expr_attr' will help here?


[Bug libstdc++/47792] [4.6 Regression] concurrence.h:292:9: error: '__gthread_mutex_destroy' was not declared in this scope

2011-02-18 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47792

--- Comment #9 from Jonathan Wakely  2011-02-18 
10:13:40 UTC ---
Great - I guess it's up to a gthreads maintainer whether they are happy to fix
the typo in the existing function name or want to fix it by adding a new
function


[Bug fortran/47797] New: Debug: Odd first break point for subroutine breakp w/ allocatables

2011-02-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47797

   Summary: Debug: Odd first break point for subroutine breakp w/
allocatables
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: wrong-debug
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
Blocks: 24546


(gdb) b MAIN__
Breakpoint 1 at 0x40079c: file test.f90, line 5.
(gdb) run
Starting program: /dev/shm/a.out

Breakpoint 1, MAIN__ () at test.f90:6
5   end program test


Expected a break point in the first line "program test" - or in some other line
before "str1 =", e.g. if there is no "program" line.

  program test
character(len=8) :: str1
character(len=:), allocatable :: str2
str1 = '1234'
str2 = 'Hello World'
  end program test


>From the dump w/o allocatables:

test ()
[test.f90 : 6] {
  character(kind=1) str1[1:8];


>From the dump with allocatable (and w/o deferred string length):

test ()
[test.f90 : 6] {
  character(kind=1) str1[1:8];
  character(kind=1)[1:3] * str2;

  [test.f90 : 6] try
{
  [test.f90 : 6] str2 = 0B; /* This is the break point.  */
  [test.f90 : 4] [test.f90 : 4] __builtin_memcpy /* str1 = '1234'. */


[Bug fortran/47789] [OOP] Structure constructor of type extending DT with no components

2011-02-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47789

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.02.18 10:17:47
 CC||janus at gcc dot gnu.org
 Ever Confirmed|0   |1

--- Comment #1 from janus at gcc dot gnu.org 2011-02-18 10:17:47 UTC ---
Confirmed. Reduced test case:

type:: one
end type

type, extends(one) :: two
real :: a
endtype

type(two) :: wo = two(6.7)

end


[Bug debug/47780] [4.5/4.6 Regression] -fcompare-debug failure with -O -fgcse -fgcse-las -fstack-protector-all

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47780

--- Comment #2 from Jakub Jelinek  2011-02-18 
10:42:51 UTC ---
Author: jakub
Date: Fri Feb 18 10:42:48 2011
New Revision: 170270

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170270
Log:
PR debug/47780
* cfgexpand.c (expand_debug_expr) : Call copy_rtx to
avoid invalid rtx sharing.

* gcc.target/i386/pr47780.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr47780.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgexpand.c
trunk/gcc/testsuite/ChangeLog


[Bug debug/47620] [4.6 Regression] Profiledbootstrap failure on powerpc-linux

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47620

--- Comment #15 from Jakub Jelinek  2011-02-18 
10:48:25 UTC ---
(In reply to comment #14)
> Created attachment 23390 [details]
> Patch that kills the bug harder

While with the previous patch gcc didn't profiledbootstrap on s390-linux, nor
apparently s390x-linux and ppc-linux too (yet bootstrap went fine),
with this patch instead of the previous one gcc successfully
profiledbootstrapped
on {x86_64,i686,ppc,ppc64,s390,s390x}-linux with no regressions against the
bootstrap regtest results without that patch.


[Bug debug/47780] [4.5 Regression] -fcompare-debug failure with -O -fgcse -fgcse-las -fstack-protector-all

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47780

Jakub Jelinek  changed:

   What|Removed |Added

  Known to work||4.6.0
Summary|[4.5/4.6 Regression]|[4.5 Regression]
   |-fcompare-debug failure |-fcompare-debug failure
   |with -O -fgcse -fgcse-las   |with -O -fgcse -fgcse-las
   |-fstack-protector-all   |-fstack-protector-all
  Known to fail|4.6.0   |

--- Comment #3 from Jakub Jelinek  2011-02-18 
10:50:27 UTC ---
Fixed on the trunk so far.


[Bug tree-optimization/47737] [4.6 Regression] wrong code with -funswitch-loops -fno-tree-dominator-opts -fgraphite-identity

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47737

Richard Guenther  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|rguenther at suse dot de|rguenth at gcc dot gnu.org

--- Comment #4 from Richard Guenther  2011-02-18 
11:00:47 UTC ---
Looking.


[Bug fortran/47775] Wrong code with allocatable function RESULT and GENERIC interfaces

2011-02-18 Thread pault at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47775

--- Comment #8 from Paul Thomas  2011-02-18 11:06:14 
UTC ---
(In reply to comment #7)
> (In reply to comment #6)
> > Janus, Paul: Do you think the patch in comment 5 (with added "||") is OK? Or
> > does one need to take care about thinks like intrinsics, proc-pointer
> > (components) and type-bound procedures?
> 
> Well, it will surely not handle PPCs (and TBPs). Normal proc-pointers should 
> be
> ok, I guess. Maybe 'gfc_expr_attr' will help here?

Tobias and Janus,

I think that Janus's remarks are correct - especially wrt to gfc_expr_attr.

Paul


[Bug target/47764] The constant load instruction should be hoisted out of loop

2011-02-18 Thread ibolton at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47764

Ian Bolton  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.02.18 11:36:27
 CC||ibolton at gcc dot gnu.org
 Ever Confirmed|0   |1
  Known to fail||4.6.0

--- Comment #1 from Ian Bolton  2011-02-18 11:36:27 
UTC ---
I have confirmed this for r170052 of trunk.

Any ideas of how this improvement could be implemented, Carrot?


[Bug tree-optimization/47737] [4.6 Regression] wrong code with -funswitch-loops -fno-tree-dominator-opts -fgraphite-identity

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47737

--- Comment #5 from Richard Guenther  2011-02-18 
11:41:40 UTC ---
The code tries to use existing dominance information to answer the edge
dominance question but indeed gets it wrong by using the dest/src blocks
of the edges without verifying that doing so will not affect the dominance
check.

I am testing a fix along

Index: tree-ssa-loop-im.c
===
--- tree-ssa-loop-im.c  (revision 170249)
+++ tree-ssa-loop-im.c  (working copy)
@@ -676,31 +676,38 @@ extract_true_false_args_from_phi (basic_
  by the true edge of the predicate block and the other edge
  dominated by the false edge.  This ensures that the PHI argument
  we are going to take is completely determined by the path we
- take from the predicate block.  */
+ take from the predicate block.
+ We can only use BB dominance checks below if the destination of
+ the true/false edges are dominated by their edge, thus only
+ have a single predecessor.  */
   extract_true_false_edges_from_block (dom, &true_edge, &false_edge);
   tem = EDGE_PRED (bb, 0);
   if (tem == true_edge
-  || tem->src == true_edge->dest
-  || dominated_by_p (CDI_DOMINATORS,
-tem->src, true_edge->dest))
+  || (single_pred_p (true_edge->dest)
+ && (tem->src == true_edge->dest
+ || dominated_by_p (CDI_DOMINATORS,
+tem->src, true_edge->dest
 arg0 = PHI_ARG_DEF (phi, tem->dest_idx);

...


[Bug driver/47795] [4.5/4.6 Regression] internal compiler error: tree check: expected record_type or union_type or qual_union_type, have error_mark in finish_non_static_data_member, at cp/semantics.c:

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47795

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Keywords||error-recovery,
   ||ice-checking,
   ||ice-on-invalid-code
   Last reconfirmed||2011.02.18 11:49:12
 Ever Confirmed|0   |1
Summary|internal compiler error:|[4.5/4.6 Regression]
   |tree check: expected|internal compiler error:
   |record_type or union_type   |tree check: expected
   |or qual_union_type, have|record_type or union_type
   |error_mark in   |or qual_union_type, have
   |finish_non_static_data_memb |error_mark in
   |er, at cp/semantics.c:1513  |finish_non_static_data_memb
   ||er, at cp/semantics.c:1513
   Target Milestone|--- |4.5.3

--- Comment #1 from Richard Guenther  2011-02-18 
11:49:12 UTC ---
Confirmed.


[Bug driver/47787] [4.6 Regression] GCC with -flto combines preprocessed C sources

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47787

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.02.18 11:55:26
 CC||rguenth at gcc dot gnu.org
   Target Milestone|--- |4.6.0
Summary|GCC with -flto combines |[4.6 Regression] GCC with
   |preprocessed C sources  |-flto combines preprocessed
   ||C sources
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2011-02-18 
11:55:26 UTC ---
Confirmed.  It is not.


[Bug driver/47785] GCC with -flto does not pass options to the assembler

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47785

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.02.18 12:00:41
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2011-02-18 
12:00:41 UTC ---
Confirmed.


[Bug fortran/47768] ICE: printing a derived-type variable with proc-pointer components

2011-02-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47768

--- Comment #5 from janus at gcc dot gnu.org 2011-02-18 12:24:01 UTC ---
Author: janus
Date: Fri Feb 18 12:23:56 2011
New Revision: 170271

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170271
Log:
2011-02-18  Janus Weil  

PR fortran/47768
* resolve.c (resolve_transfer): Reject variables with procedure pointer
components.

2011-02-18  Janus Weil  

PR fortran/47768
* gfortran.dg/proc_ptr_comp_30.f90: New.

Added:
trunk/gcc/testsuite/gfortran.dg/proc_ptr_comp_30.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/47768] ICE: printing a derived-type variable with proc-pointer components

2011-02-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47768

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #6 from janus at gcc dot gnu.org 2011-02-18 12:26:51 UTC ---
Fixed with r170271. Closing.


[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

2011-02-18 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #51 from Martin Jambor  2011-02-18 
12:30:08 UTC ---
I tried again on a machine with more RAM and LTO build succeeded for me as
well.  Thanks a lot.


[Bug lto/47798] New: LTO debuginfo for globals wrong

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47798

   Summary: LTO debuginfo for globals wrong
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


1) global statics are never put into lto_global_var_decls and thus never end up
being handed to dwarf2out.

2) global statics are also unconditionally mangled leading to odd names.

3) privatized globals are emitted as externs with their original name to
debuginfo, referencing bogus information.

Fixing just 1) makes globals work.


[Bug tree-optimization/47737] [4.6 Regression] wrong code with -funswitch-loops -fno-tree-dominator-opts -fgraphite-identity

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47737

--- Comment #6 from Richard Guenther  2011-02-18 
13:22:21 UTC ---
Author: rguenth
Date: Fri Feb 18 13:22:17 2011
New Revision: 170272

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170272
Log:
2011-02-18  Richard Guenther  

PR tree-optimization/47737
* tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
edge dominance check.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-im.c


[Bug tree-optimization/47737] [4.6 Regression] wrong code with -funswitch-loops -fno-tree-dominator-opts -fgraphite-identity

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47737

Richard Guenther  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #7 from Richard Guenther  2011-02-18 
13:23:06 UTC ---
Fixed.


[Bug lto/47799] New: LTO debug info for early inlined functions missing

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47799

   Summary: LTO debug info for early inlined functions missing
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: lto
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org


FAIL: gcc.dg/guality/pr43329-1.c  -O2 -flto  line 12 argx == 25

is because we inline foo during early inlining and the BLOCKs of the
inline instance are not emitted.  With -fno-early-inlining it succeeds.
That is, the effect of

  /* Output the inlining info for this abstract function, since it has been
 inlined.  If we don't do this now, we can lose the information about the
 variables in the function when the blocks get blown away as soon as we
 remove the cgraph node.  */
  (*debug_hooks->outlining_inline_function) (cg_edge->callee->decl);

isn't reflected in the LTO IL and thus gets lost.

The information should still be there in the inlined BLOCKs abstract
origins though, no?


[Bug target/47744] [x32] ICE: in reload_cse_simplify_operands, at postreload.c:403

2011-02-18 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47744

--- Comment #3 from H.J. Lu  2011-02-18 14:05:00 
UTC ---
Another testcase:

[hjl@gnu-33 ilp32-24]$ cat x.i
typedef long unsigned int size_t;
typedef long int ssize_t;
typedef ssize_t index_type;
typedef __int128_t GFC_INTEGER_16;
typedef struct descriptor_dimension
{
  index_type _stride;
  index_type _lbound;
  index_type _ubound;
}
descriptor_dimension;
typedef struct { GFC_INTEGER_16 *data; size_t offset; index_type dtype;
descriptor_dimension dim[7];} gfc_array_i16;
void
matmul_i16 (gfc_array_i16 * const restrict retarray,
gfc_array_i16 * const restrict a,
GFC_INTEGER_16 bbase_yn)
{
  GFC_INTEGER_16 * restrict dest;
  index_type rxstride, rystride;
  index_type x, y, n, count, xcount;
  GFC_INTEGER_16 * restrict dest_y;
  GFC_INTEGER_16 s;
  const GFC_INTEGER_16 * restrict abase_n;
  rxstride = ((retarray)->dim[0]._stride);
  rystride = ((retarray)->dim[1]._stride);
  xcount = ((a)->dim[0]._ubound + 1 - (a)->dim[0]._lbound);
  dest = retarray->data;
  dest_y = &dest[y*rystride];
  for (x = 0; x < xcount; x++)
dest_y[x] += abase_n[x] * bbase_yn;
  for (x = 0; x < xcount; x++)
{
  for (n = 0; n < count; n++)
dest_y[x*rxstride] = (GFC_INTEGER_16) 0;
}
}
[hjl@gnu-33 ilp32-24]$ make
/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -S -o x.s -mx32 -O2
-std=gnu99 -ftree-vectorize   x.i
x.i: In function \u2018matmul_i16\u2019:
x.i:36:1: error: insn does not satisfy its constraints:
(insn 113 65 66 4 (set (reg:TI 0 ax)
(mem:TI (zero_extend:DI (plus:SI (reg:SI 4 si [orig:112 ivtmp.28 ]
[112])
(reg:SI 39 r10 [orig:98 dest_y ] [98]))) [6 MEM[base:
dest_y_18, index: ivtmp.28_57, offset: 0B]+0 S16 A128])) x.i:30 60
{*movti_internal_rex64}
 (nil))
x.i:36:1: internal compiler error: in reload_cse_simplify_operands, at
postreload.c:403
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
make: *** [x.s] Error 1
[hjl@gnu-33 ilp32-24]$


[Bug target/47800] New: [4.6 Regression] i?86 peephole related ICE

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47800

   Summary: [4.6 Regression] i?86 peephole related ICE
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: ja...@gcc.gnu.org
ReportedBy: ja...@gcc.gnu.org
Target: x86_64-linux


int
foo (unsigned char *x, unsigned char *y)
{
  unsigned char a;
  for (a = 0; x < y; x++)
if (a & 0x80)
  a = (unsigned char) (a << 1) + 1 + *x;
else
  a = (unsigned char) (a << 1) + *x;
  return a;
}

ICEs at -O2 -march=nocona:
rh678530.i: In function 'foo':
rh678530.i:11:1: error: unrecognizable insn:
(insn 79 29 80 5 (set (subreg:SI (reg:DI 2 cx) 0)
(mem:QI (reg/v/f:DI 5 di [orig:85 x ] [85]) [0 *x_21+0 S1 A8]))
rh678530.i:7 -1
 (nil))
rh678530.i:11:1: internal compiler error: in extract_insn, at recog.c:2109
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

starting with
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=161570


[Bug target/47800] [4.6 Regression] i?86 peephole related ICE

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47800

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.02.18 15:01:52
   Target Milestone|--- |4.6.0
 Ever Confirmed|0   |1


[Bug debug/47801] New: guality tests have issues with LTO / -fwhole-program

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47801

   Summary: guality tests have issues with LTO / -fwhole-program
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rgue...@gcc.gnu.org
CC: aol...@gcc.gnu.org


As when using the linker plugin we effectively use -fwhole-program we get
guality FAILs like

FAIL: gcc.dg/guality/pr41353-1.c  -O2 -flto  line 17 vari1 == 2 * 17
FAIL: gcc.dg/guality/pr41353-1.c  -O2 -flto  line 17 vari2 == 3 * 17
FAIL: gcc.dg/guality/pr41353-1.c  -O2 -flto  line 17 vari3 == 2 * 17
FAIL: gcc.dg/guality/pr41353-1.c  -O2 -flto  line 17 vari4 == 3 * 17
FAIL: gcc.dg/guality/pr41353-1.c  -O2 -flto  line 17 vari5 == 4 * 17
FAIL: gcc.dg/guality/pr41353-1.c  -O2 -flto  line 17 vari6 == 5 * 17

this is because we promote the global var vari to static and do not
output it.  That causes dwarf2out.c:resolve_one_addr () to reject
the built location expression as it still references vari (and is
not constant folded).

With -fwhole-program I see similar

FAIL: gcc.dg/guality/pr41353-1.c  -O1  line 17 vari == 17
FAIL: gcc.dg/guality/pr41353-1.c  -O1  line 17 vari1 == 2 * 17
FAIL: gcc.dg/guality/pr41353-1.c  -O1  line 17 vari2 == 3 * 17
FAIL: gcc.dg/guality/pr41353-1.c  -O1  line 17 vari3 == 2 * 17
FAIL: gcc.dg/guality/pr41353-1.c  -O1  line 17 vari4 == 3 * 17
FAIL: gcc.dg/guality/pr41353-1.c  -O1  line 17 vari5 == 4 * 17
FAIL: gcc.dg/guality/pr41353-1.c  -O1  line 17 vari6 == 5 * 17

The promotion to static const happens during IPA optimizations when
the debug statements are already there and nothing folds them later.


[Bug target/47800] [4.6 Regression] i?86 peephole related ICE

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47800

--- Comment #1 from Jakub Jelinek  2011-02-18 
15:11:16 UTC ---
Created attachment 23394
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23394
gcc46-pr47800-1.patch

The problem is that for QImode and HImode the peephole2 creates the first of
the two insns with mode mismatch.  Either we can make the first insn zero
extend from QI/HI to SImode, as in this patch...


[Bug fortran/47789] [OOP] Structure constructor of type extending DT with no components

2011-02-18 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47789

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu.org
  Known to fail||4.4.6, 4.5.3, 4.6.0

--- Comment #2 from kargl at gcc dot gnu.org 2011-02-18 15:14:15 UTC ---
(In reply to comment #1)
> Confirmed. Reduced test case:
> 
> type:: one
> end type
> 
> type, extends(one) :: two
> real :: a
> endtype
> 
> type(two) :: wo = two(6.7)
> 
> end

Note, the code compiles if one uses the keyword
form for the constructor.  That is, 

type(two) :: wo = two(a = 6.7)


[Bug target/47800] [4.6 Regression] i?86 peephole related ICE

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47800

--- Comment #2 from Jakub Jelinek  2011-02-18 
15:19:16 UTC ---
Created attachment 23395
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23395
gcc46-pr47800-2.patch

Or just do the first insn completely in QI/HImode and the second in SImode, as
done in this patch.  The assembly in the testcase happens to be identical
because even for the QImode move gcc decides to emit it as movzbl, but that
doesn't have to be always.  IMHO if we leave garbage in the upper bits, it
shouldn't matter, as from the lea only the low 8 or 16 bits are meaningful
anyway for QI/HImode.


[Bug middle-end/47653] [4.6 Regression] gcc.c-torture/execute/930614-2.c FAILs with -fstack-check=generic -fgraphite-identity

2011-02-18 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47653

Jeffrey A. Law  changed:

   What|Removed |Added

   Priority|P3  |P2
 CC||law at redhat dot com
 AssignedTo|unassigned at gcc dot   |spop at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Jeffrey A. Law  2011-02-18 15:36:46 
UTC ---
This appears to be a bug in the graphite transformations. Prior to graphite
transformations we have the following function with two nested loops:

  # BLOCK 2 freq:139
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  # .MEM_13 = VDEF <.MEM_12(D)>
  saved_stack.1_3 = __builtin_stack_save ();
  # .MEM_14 = VDEF <.MEM_13>
  x.0_4 = __builtin_alloca (256);
  goto ;
  # SUCC: 8 [100.0%]  (fallthru,exec)

  # BLOCK 3 freq:7901
  # PRED: 4 [88.9%]  (true,exec)
  # SUCC: 4 [100.0%]  (fallthru,exec)

  # BLOCK 4 freq:8889
  # PRED: 3 [100.0%]  (fallthru,exec) 9 [100.0%]  (fallthru,exec)
  # j_23 = PHI 
  # .MEM_24 = PHI <.MEM_15(3), .MEM_6(9)>
  # .MEM_15 = VDEF <.MEM_24>
  *x.0_4[j_5][j_23] = 0;
  j_7 = j_23 + 1;
  if (j_7 <= 7)
goto ;
  else
goto ;
  # SUCC: 3 [88.9%]  (true,exec) 5 [11.1%]  (false,exec)

  # BLOCK 5 freq:988
  # PRED: 4 [11.1%]  (false,exec)
  # .MEM_19 = PHI <.MEM_15(4)>
  # SUCC: 6 [100.0%]  (fallthru,exec)

  # BLOCK 6 freq:
  # PRED: 5 [100.0%]  (fallthru,exec) 8 [11.1%]  (false,exec)
  # .MEM_25 = PHI <.MEM_19(5), .MEM_6(8)>
  i_8 = j_5 + 1;
  if (i_8 <= 7)
goto ;
  else
goto ;
  # SUCC: 7 [88.9%]  (true,exec) 10 [11.1%]  (false,exec)

  # BLOCK 7 freq:988
  # PRED: 6 [88.9%]  (true,exec)
  # SUCC: 8 [100.0%]  (fallthru,exec)

  # BLOCK 8 freq:
  # PRED: 7 [100.0%]  (fallthru,exec) 2 [100.0%]  (fallthru,exec)
  # j_5 = PHI 
  # .MEM_6 = PHI <.MEM_25(7), .MEM_14(2)>
  if (j_5 <= 7)
goto ;
  else
goto ;
  # SUCC: 9 [88.9%]  (true,exec) 6 [11.1%]  (false,exec)

  # BLOCK 9 freq:988
  # PRED: 8 [88.9%]  (true,exec)
  goto ;
  # SUCC: 4 [100.0%]  (fallthru,exec)

  # BLOCK 10 freq:139
  # PRED: 6 [11.1%]  (false,exec)
  # .MEM_16 = VDEF <.MEM_25>
  __builtin_stack_restore (saved_stack.1_3);
  return 0;
  # SUCC: EXIT [100.0%]

Pretty simple stuff.

Graphite transforms it into:

  # BLOCK 2 freq:313
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  # .MEM_13 = VDEF <.MEM_12(D)>
  saved_stack.1_3 = __builtin_stack_save ();
  # .MEM_14 = VDEF <.MEM_13>
  x.0_4 = __builtin_alloca (256);
  # SUCC: 3 [100.0%]  (fallthru)

  # BLOCK 3 freq:2500
  # PRED: 2 [100.0%]  (fallthru) 8 [100.0%]  (fallthru,dfs_back)
  # graphite_IV.5_11 = PHI <0(2), graphite_IV.5_1(8)>
  # .MEM_33 = PHI <.MEM_14(2), .MEM_34(8)>
  D.2701_22 = 8 - graphite_IV.5_11;
  D.2702_21 = D.2701_22 > 0;
  if (D.2702_21 != 0)
goto ;
  else
goto ;
  # SUCC: 4 [50.0%]  (true) 7 [50.0%]  (false)

  # BLOCK 4 freq:1250
  # PRED: 3 [50.0%]  (true)
  D.2704_10 = () graphite_IV.5_11;
  D.2705_2 = D.2704_10 * 4294967295;
  D.2706_18 = D.2705_2 + 7;
  # SUCC: 5 [100.0%]  (fallthru)

  # BLOCK 5 freq:1
  # PRED: 4 [100.0%]  (fallthru) 6 [100.0%]  (fallthru,dfs_back)
  # graphite_IV.6_17 = PHI <0(4), graphite_IV.6_26(6)>
  # .MEM_35 = PHI <.MEM_33(4), .MEM_27(6)>
  D.2707_28 = (int) graphite_IV.5_11;
  D.2708_29 = (int) graphite_IV.5_11;
  D.2709_30 = (int) graphite_IV.6_17;
  D.2710_31 = D.2708_29 + D.2709_30;
  # .MEM_27 = VDEF <.MEM_35>
  *x.0_4[D.2707_28][D.2710_31] = 0;
  graphite_IV.6_26 = graphite_IV.6_17 + 1;
  if (graphite_IV.6_17 < D.2706_18)
goto ;
  else
goto ;
  # SUCC: 6 [87.5%]  (true) 7 [12.5%]  (loop_exit,false)

  # BLOCK 6 freq:8750
  # PRED: 5 [87.5%]  (true)
  goto ;
  # SUCC: 5 [100.0%]  (fallthru,dfs_back)

  # BLOCK 7 freq:2500
  # PRED: 5 [12.5%]  (loop_exit,false) 3 [50.0%]  (false)
  # .MEM_34 = PHI <.MEM_27(5), .MEM_33(3)>
  graphite_IV.5_1 = graphite_IV.5_11 + 1;
  if (graphite_IV.5_11 < 7)
goto ;
  else
goto ;
  # SUCC: 8 [87.5%]  (true) 9 [12.5%]  (loop_exit,false)

  # BLOCK 8 freq:2188
  # PRED: 7 [87.5%]  (true)
  goto ;
  # SUCC: 3 [100.0%]  (fallthru,dfs_back)

  # BLOCK 9 freq:313
  # PRED: 7 [12.5%]  (loop_exit,false)
  # .MEM_32 = PHI <.MEM_34(7)>
  # .MEM_16 = VDEF <.MEM_32>
  __builtin_stack_restore (saved_stack.1_3);
  return 0;
  # SUCC: EXIT [100.0%]


Of particular interest is the assignment to D.2705_2 in block #4:

  D.2705_2 = D.2704_10 * 4294967295;
  D.2706_18 = D.2705_2 + 7;

That makes absolutely no sense.  Particularly since D.2706_18 is later used to
control loop termination in BB5.Note D.2706 is a 64bit type, so we really
are multiplying by 4294967295.  Needless to say this causes the loop
termination condition to do something different than was originally intended.


[Bug web/47718] bugzilla: commit mails mentioning binutils PR wrongly linked to GCC bug

2011-02-18 Thread LpSolit at netscape dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47718

--- Comment #6 from Frédéric Buclin  2011-02-18 
15:53:42 UTC ---
So if I understand correctly, this case is rare enough to not care?


[Bug fortran/47750] testsuite/gfortran.dg: dg-warning and dg-error should be distinguished

2011-02-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47750

--- Comment #2 from Tobias Burnus  2011-02-18 
16:04:15 UTC ---
Author: burnus
Date: Fri Feb 18 16:04:10 2011
New Revision: 170273

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170273
Log:
2011-02-15  Tobias Burnus  

PR fortran/47750
* lib/gfortran.exp (gfortran_init): Set gcc_error_prefix and
gcc_warning_prefix.
* lib/gfortran-dg.exp (gfortran-dg-test): Update regexp for
normalizing the error/warning output.
* gfortran.dg/Wall.f90: Update dg-error/warning.
* gfortran.dg/argument_checking_15.f90: Update dg-error/warning.
* gfortran.dg/argument_checking_3.f90: Update dg-error/warning.
* gfortran.dg/argument_checking_6.f90: Update dg-error/warning.
* gfortran.dg/bounds_temporaries_1.f90: Update dg-error/warning.
* gfortran.dg/class_30.f90: Update dg-error/warning.
* gfortran.dg/continuation_1.f90: Update dg-error/warning.
* gfortran.dg/continuation_9.f90: Update dg-error/warning.
* gfortran.dg/do_check_5.f90: Update dg-error/warning.
* gfortran.dg/entry_17.f90: Update dg-error/warning.
* gfortran.dg/entry_19.f90: Update dg-error/warning.
* gfortran.dg/fmt_error.f90: Update dg-error/warning.
* gfortran.dg/fmt_read_2.f90: Update dg-error/warning.
* gfortran.dg/g77/12632.f: Update dg-error/warning.
* gfortran.dg/g77/970625-2.f: Update dg-error/warning.
* gfortran.dg/g77/980615-0.f: Update dg-error/warning.
* gfortran.dg/generic_actual_arg.f90: Update dg-error/warning.
* gfortran.dg/global_references_1.f90: Update dg-error/warning.
* gfortran.dg/goto_8.f90: Update dg-error/warning.
* gfortran.dg/initialization_1.f90: Update dg-error/warning.
* gfortran.dg/io_constraints_1.f90: Update dg-error/warning.
* gfortran.dg/io_constraints_2.f90: Update dg-error/warning.
* gfortran.dg/io_constraints_3.f90: Update dg-error/warning.
* gfortran.dg/iostat_3.f90: Update dg-error/warning.
* gfortran.dg/public_private_module.f90: Update
* dg-error/warning.
* gfortran.dg/volatile3.f90: Update dg-error/warning.
* gfortran.dg/warning-directive-2.F90: Update dg-error/warning.
* gfortran.dg/warnings_are_errors_1.f: Update dg-error/warning.
* gfortran.dg/whole_file_1.f90: Update dg-error/warning.
* gfortran.dg/whole_file_2.f90: Update dg-error/warning.
* gfortran.dg/whole_file_3.f90: Update dg-error/warning.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/Wall.f90
trunk/gcc/testsuite/gfortran.dg/argument_checking_15.f90
trunk/gcc/testsuite/gfortran.dg/argument_checking_3.f90
trunk/gcc/testsuite/gfortran.dg/argument_checking_6.f90
trunk/gcc/testsuite/gfortran.dg/bounds_temporaries_1.f90
trunk/gcc/testsuite/gfortran.dg/class_30.f90
trunk/gcc/testsuite/gfortran.dg/continuation_1.f90
trunk/gcc/testsuite/gfortran.dg/continuation_9.f90
trunk/gcc/testsuite/gfortran.dg/do_check_5.f90
trunk/gcc/testsuite/gfortran.dg/entry_17.f90
trunk/gcc/testsuite/gfortran.dg/entry_19.f90
trunk/gcc/testsuite/gfortran.dg/fmt_error.f90
trunk/gcc/testsuite/gfortran.dg/fmt_read_2.f90
trunk/gcc/testsuite/gfortran.dg/g77/12632.f
trunk/gcc/testsuite/gfortran.dg/g77/970625-2.f
trunk/gcc/testsuite/gfortran.dg/g77/980615-0.f
trunk/gcc/testsuite/gfortran.dg/generic_actual_arg.f90
trunk/gcc/testsuite/gfortran.dg/global_references_1.f90
trunk/gcc/testsuite/gfortran.dg/goto_8.f90
trunk/gcc/testsuite/gfortran.dg/initialization_1.f90
trunk/gcc/testsuite/gfortran.dg/io_constraints_1.f90
trunk/gcc/testsuite/gfortran.dg/io_constraints_2.f90
trunk/gcc/testsuite/gfortran.dg/io_constraints_3.f90
trunk/gcc/testsuite/gfortran.dg/iostat_3.f90
trunk/gcc/testsuite/gfortran.dg/public_private_module.f90
trunk/gcc/testsuite/gfortran.dg/volatile3.f90
trunk/gcc/testsuite/gfortran.dg/warning-directive-2.F90
trunk/gcc/testsuite/gfortran.dg/warnings_are_errors_1.f
trunk/gcc/testsuite/gfortran.dg/whole_file_1.f90
trunk/gcc/testsuite/gfortran.dg/whole_file_2.f90
trunk/gcc/testsuite/gfortran.dg/whole_file_3.f90
trunk/gcc/testsuite/lib/gfortran-dg.exp
trunk/gcc/testsuite/lib/gfortran.exp


[Bug fortran/47750] testsuite/gfortran.dg: dg-warning and dg-error should be distinguished

2011-02-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47750

Tobias Burnus  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #3 from Tobias Burnus  2011-02-18 
16:06:51 UTC ---
FIXED on the 4.6 trunk, hooray!


[Bug lto/47798] LTO debuginfo for globals wrong

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47798

--- Comment #1 from Richard Guenther  2011-02-18 
16:24:47 UTC ---
Author: rguenth
Date: Fri Feb 18 16:24:40 2011
New Revision: 170274

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170274
Log:
2011-02-18  Richard Guenther  

PR lto/47798
* lto-streamer.h (lto_global_var_decls): Declare.
* lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
statics for global var processing.

lto/
* lto-tree.h (lto_global_var_decls): Do not declare here.
* lto-lang.c: Include lto-streamer.h.
* Make-lang.in (lto-lang.o): Adjust dependencies.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-streamer-in.c
trunk/gcc/lto-streamer.h
trunk/gcc/lto/ChangeLog
trunk/gcc/lto/Make-lang.in
trunk/gcc/lto/lto-lang.c
trunk/gcc/lto/lto-tree.h


[Bug lto/47798] LTO debuginfo for globals wrong

2011-02-18 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47798

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.0

--- Comment #2 from Richard Guenther  2011-02-18 
16:26:42 UTC ---
Fixed.


[Bug libfortran/47802] New: libgfortran/intrinsics/ctime.c:75:3: error: too few arguments to function 'ctime_r'

2011-02-18 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47802

   Summary: libgfortran/intrinsics/ctime.c:75:3: error: too few
arguments to function 'ctime_r'
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa1.1-hp-hpux10.20
Target: hppa1.1-hp-hpux10.20
 Build: hppa1.1-hp-hpux10.20


libtool: compile:  /xxx/gnu/gcc/objdir/./gcc/xgcc -B/xxx/gnu/gcc/objdir/./gcc/
-
B/opt/gnu/gcc/gcc-4.6/hppa1.1-hp-hpux10.20/bin/
-B/opt/gnu/gcc/gcc-4.6/hppa1.1-h
p-hpux10.20/lib/ -isystem /opt/gnu/gcc/gcc-4.6/hppa1.1-hp-hpux10.20/include
-isy
stem /opt/gnu/gcc/gcc-4.6/hppa1.1-hp-hpux10.20/sys-include -DHAVE_CONFIG_H -I.
-
I../../../../gcc/libgfortran -iquote../../../../gcc/libgfortran/io
-I../../../..
/gcc/libgfortran/../gcc -I../../../../gcc/libgfortran/../gcc/config
-I../../../.
./gcc/libgfortran/../libquadmath -I../../.././gcc -D_GNU_SOURCE -std=gnu99
-Wall
 -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra
-Wwrite
-strings -fcx-fortran-rules -g -O2 -threads -MT ctime.lo -MD -MP -MF
.deps/ctime
.Tpo -c ../../../../gcc/libgfortran/intrinsics/ctime.c  -fPIC -DPIC -o
.libs/cti
me.o
../../../../gcc/libgfortran/intrinsics/ctime.c: In function 'fdate':
../../../../gcc/libgfortran/intrinsics/ctime.c:75:3: error: too few arguments
to
 function 'ctime_r'
/usr/include/sys/time.h:157:13: note: declared here
...

It seems HP-UX 10.20 has a different declaration for ctime_r:

  int ctime_r(const time_t *timer, char *buffer, int buflen);


[Bug c++/47795] [4.5/4.6 Regression] internal compiler error: tree check: expected record_type or union_type or qual_union_type, have error_mark in finish_non_static_data_member, at cp/semantics.c:151

2011-02-18 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47795

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com

--- Comment #2 from Paolo Carlini  2011-02-18 
16:36:08 UTC ---
I have a patch.


[Bug fortran/47803] New: [F95+] Constant inquiry function rejected in PARAMETER definition

2011-02-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47803

   Summary: [F95+] Constant inquiry function rejected in PARAMETER
definition
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org


I think the following program could be valid. It came up in an IR and my
understanding is that following program is valid - while the version in the IR
is invalid. -- Given that all other compilers accept it, I think it should be
valid F95.

Cf. http://j3-fortran.org/doc/year/11/11-101.txt - and look for updates
(11-101r1.txt etc.)

INTEGER PURE FUNCTION F1(I)
  INTEGER :: A(int(1))
  INTEGER, PARAMETER :: KIND = SIZE(A)   ! KIND == 1
  INTEGER(KIND), INTENT(IN) :: I

  F1 = 17
END FUNCTION F1

ifort, g95, NAG f95, pathf95 compile the program but gfortran rejects it with:

  INTEGER, PARAMETER :: KIND = SIZE(A)   ! KIND == 1
1
Error: Array 'a' at (1) is a variable, which does not reduce to a constant
expression


[Bug middle-end/47653] [4.6 Regression] gcc.c-torture/execute/930614-2.c FAILs with -fstack-check=generic -fgraphite-identity

2011-02-18 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47653

Sebastian Pop  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #3 from Sebastian Pop  2011-02-18 16:58:02 
UTC ---
Thanks jeff for analyzing the cause of this bug: indeed
D.2705_2 = D.2704_10 * 4294967295;
doesn't seem to be correct.

Looking at the patch that introduced this bug, it is clear that this stmt
should have been:
D.2705_2 = D.2704_10 * -1;


[Bug libgomp/47804] New: libgomp LD_LIBRARY_PATH doesn't include path to libgfortran

2011-02-18 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47804

   Summary: libgomp LD_LIBRARY_PATH doesn't include path to
libgfortran
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dang...@gcc.gnu.org
  Host: hppa-unknown-linux-gnu
Target: hppa-unknown-linux-gnu
 Build: hppa-unknown-linux-gnu


Executing on host: /home/dave/gnu/gcc/objdir/gcc/xgcc
-B/home/dave/gnu/gcc/objdi
r/gcc/
/home/dave/gnu/gcc/gcc/libgomp/testsuite/libgomp.fortran/appendix-a/a.16.
1.f90  -B/home/dave/gnu/gcc/objdir/hppa-linux/./libgomp/
-B/home/dave/gnu/gcc/ob
jdir/hppa-linux/./libgomp/.libs
-I/home/dave/gnu/gcc/objdir/hppa-linux/./libgomp
 -I/home/dave/gnu/gcc/gcc/libgomp/testsuite/.. -fmessage-length=0 -fopenmp  -O0
  -B/home/dave/gnu/gcc/objdir/hppa-linux/./libgomp/../libgfortran/.libs  
-L/hom
e/dave/gnu/gcc/objdir/hppa-linux/./libgomp/.libs -lgomp
-L/home/dave/gnu/gcc/obj
dir/hppa-linux/./libgomp/../libgfortran/.libs -lgfortran -lm   -o ./a.16.1.exe
  (timeout = 300)
PASS: libgomp.fortran/appendix-a/a.16.1.f90  -O0  (test for excess errors)
Setting LD_LIBRARY_PATH to
.:/home/dave/gnu/gcc/objdir/hppa-linux/./libgomp/.lib
s:/home/dave/gnu/gcc/objdir/gcc:.:/home/dave/gnu/gcc/objdir/hppa-linux/./libgomp
/.libs:/home/dave/gnu/gcc/objdir/gcc:/home/dave/gnu/gcc/objdir/hppa-linux/libstd
c++-v3/src/.libs:/home/dave/gnu/gcc/objdir/hppa-linux/libmudflap/.libs:/home/dav
e/gnu/gcc/objdir/hppa-linux/libssp/.libs:/home/dave/gnu/gcc/objdir/hppa-linux/li
bgomp/.libs:/home/dave/gnu/gcc/objdir/./gcc:/home/dave/gnu/gcc/objdir/./prev-gcc
./a.16.1.exe: /usr/lib/libgfortran.so.3: version `GFORTRAN_1.4' not found
(requi
red by ./a.16.1.exe)
FAIL: libgomp.fortran/appendix-a/a.16.1.f90  -O0  execution test

Also causes numerous other fails.


[Bug fortran/47692] Numeric inaccuracy reported in testing lapack-3.3.0 BLAS module

2011-02-18 Thread jrt at worldlinc dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47692

--- Comment #14 from John T  2011-02-18 16:58:45 UTC 
---
Sorry for not responding sooner, had a health issue.

Here's the error message with the -static flag:
gfortran -g  -o testieee tstiee.o
gfortran -fimplicit-none -g -static -O -c ilaver.f -o ilaver.o
gfortran -fimplicit-none -g -static -O -c LAPACK_version.f -o LAPACK_version.o
gfortran -g  -o testversion ilaver.o LAPACK_version.o
make[1]: Leaving directory `/home/dilbert/Download/linear/lapack-3.3.0/INSTALL'
./testlsame: /usr/lib/libgfortran.so.3: version `GFORTRAN_1.4' not found
(required by ./testlsame)
./testslamch: /usr/lib/libgfortran.so.3: version `GFORTRAN_1.4' not found
(required by ./testslamch)
./testdlamch: /usr/lib/libgfortran.so.3: version `GFORTRAN_1.4' not found
(required by ./testdlamch)
./testsecond: /usr/lib/libgfortran.so.3: version `GFORTRAN_1.4' not found
(required by ./testsecond)
./testdsecnd: /usr/lib/libgfortran.so.3: version `GFORTRAN_1.4' not found
(required by ./testdsecnd)
./testversion: /usr/lib/libgfortran.so.3: version `GFORTRAN_1.4' not found
(required by ./testversion)
make: *** [lapack_install] Error 1

The LD_LIBRARY_PATH specification worked.


[Bug fortran/47805] New: [OOP] Overridding hidden (private) TPB is rejected

2011-02-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47805

   Summary: [OOP] Overridding hidden (private) TPB is rejected
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: ja...@gcc.gnu.org


See http://j3-fortran.org/doc/year/11/11-141.txt and watch out for updates
(11-141r1.txt etc.), approved by J3 meeting.

Overriding a TBP seems to OK, if the TBP is hidden through accessibility
(PRIVATE).

Note (cf. example 2 in the IR): Abstract DT with private deferred TBP cannot be
extended as one cannot implement the deferred TBP.


The first example given in the file is rejected with:

  PROCEDURE,NOPASS :: p => p2 ! (2).
   1
Error: 'p' at (1) must have the same number of formal arguments as the
overridden procedure


  MODULE example1_m1
TYPE t1
CONTAINS
  PROCEDURE,PRIVATE,NOPASS :: p ! (1).
END TYPE
  CONTAINS
SUBROUTINE p
  PRINT *,'p'
END SUBROUTINE
SUBROUTINE do_p(x)
  CLASS(t1) x
  CALL x%p
END SUBROUTINE
  END MODULE
  MODULE example1_m2
USE example1_m1
TYPE,EXTENDS(t1) :: t2
CONTAINS
  PROCEDURE,NOPASS :: p => p2 ! (2).
END TYPE
  CONTAINS
SUBROUTINE p2(n)
  PRINT *,'p2',n
END SUBROUTINE
  END MODULE
  PROGRAM example1
USE example1_m2
TYPE(t2),TARGET :: x
CLASS(t1),POINTER :: y
y => x
CALL do_p(x) ! (3): I expect this to print 'p'.
CALL do_p(y) ! (4): I expect this to print 'p'.
CALL x%p(13) ! (5): I expect this to print 'p2 13'.
  END PROGRAM


[Bug fortran/47805] [OOP] Overridding hidden (private) TPB is rejected

2011-02-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47805

--- Comment #1 from Tobias Burnus  2011-02-18 
17:05:35 UTC ---
Forgot to link to http://j3-fortran.org/pipermail/j3/2011-February/004197.html
which is about the J3 ballot of those items; it also contains an updated
version of the paper.

The IR has been approved by the J3 meeting and currently a J3 ballot is running
(cf. link); if accepted, it moves on to June's WG5 meeting in Garching.


[Bug libfortran/47802] [4.6 Regression] libgfortran/intrinsics/ctime.c:75:3: error: too few arguments to function 'ctime_r'

2011-02-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47802

Tobias Burnus  changed:

   What|Removed |Added

   Keywords||build
 CC||burnus at gcc dot gnu.org,
   ||jb at gcc dot gnu.org
   Target Milestone|--- |4.6.0
Summary|libgfortran/intrinsics/ctim |[4.6 Regression]
   |e.c:75:3: error: too few|libgfortran/intrinsics/ctim
   |arguments to function   |e.c:75:3: error: too few
   |'ctime_r'   |arguments to function
   ||'ctime_r'


[Bug fortran/47803] [F95+] Constant inquiry function rejected in PARAMETER definition

2011-02-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47803

--- Comment #1 from Tobias Burnus  2011-02-18 
17:07:03 UTC ---
Forgot to link to http://j3-fortran.org/pipermail/j3/2011-February/004197.html
which is about the J3 ballot of those items; it also contains an updated
version of the paper.

The IR has been approved by the J3 meeting and currently a J3 ballot is running
(cf. link); if accepted, it moves on to June's WG5 meeting in Garching.


[Bug driver/47787] [4.6 Regression] GCC with -flto combines preprocessed C sources

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47787

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Jakub Jelinek  2011-02-18 
17:06:47 UTC ---
Created attachment 23396
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23396
gcc46-pr47787.patch

The http://gcc.gnu.org/viewcvs?view=revision&revision=164357
patch removed combinable just from ".i", ".c", "@c", but not from
"@cpp-output".
I doubt that was intentionally left out.


[Bug bootstrap/47806] New: Failure to build cross-combiner to powerpc-ibm-aix6.0

2011-02-18 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47806

   Summary: Failure to build cross-combiner to powerpc-ibm-aix6.0
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ste...@gcc.gnu.org


Trying to build a cross compiler from x86_64-unknown-linux-gnu (Ubuntu 10.04
LTS) to powerpc-ibm-aix6.0 fails while building libgcc as follows:

# If this is the top-level multilib, build all the other
# multilibs.
# @multilib_flags@ is still needed because this may use
# /home/stevenb/devel/cross-aix/build/./gcc/xgcc
-B/home/stevenb/devel/cross-aix/build/./gcc/
-B/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/bin/
-B/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/lib/ -isystem
/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/include -isystem
/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/sys-include
-L/home/stevenb/devel/cross-aix/build/./ldand -O2  -g -O2 -DIN_GCC
-DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -mlong-double-128 -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector -Dinhibit_libc directly.
# @multilib_dir@ is not really necessary, but sometimes it has
# more uses than just a directory name.
/bin/bash ../../../combined/libgcc/../mkinstalldirs .
/home/stevenb/devel/cross-aix/build/./gcc/xgcc
-B/home/stevenb/devel/cross-aix/build/./gcc/
-B/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/bin/
-B/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/lib/ -isystem
/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/include -isystem
/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/sys-include
-L/home/stevenb/devel/cross-aix/build/./ld-O2  -g -O2 -DIN_GCC
-DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -mlong-double-128 -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector -Dinhibit_libc -shared
-nodefaultlibs -Wl,-bE:libgcc.map -o ./shr.o -g -O2 -B./ _muldi3_s.o
_negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o
_clear_cache_s.o _enable_execute_stack_s.o _trampoline_s.o __main_s.o
_absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o
_mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o
_ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o
_popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o
_paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o
_muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o
_divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o
_fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixtfdi_s.o
_fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _fixunstfdi_s.o _floatdisf_s.o
_floatdidf_s.o _floatdixf_s.o _floatditf_s.o _floatundisf_s.o _floatundidf_s.o
_floatundixf_s.o _floatunditf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o
_umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o _pack_sf_s.o _unpack_sf_s.o
_addsub_sf_s.o _mul_sf_s.o _div_sf_s.o _fpcmp_parts_sf_s.o _compare_sf_s.o
_eq_sf_s.o _ne_sf_s.o _gt_sf_s.o _ge_sf_s.o _lt_sf_s.o _le_sf_s.o _unord_sf_s.o
_si_to_sf_s.o _sf_to_si_s.o _negate_sf_s.o _make_sf_s.o _sf_to_df_s.o
_thenan_sf_s.o _sf_to_usi_s.o _usi_to_sf_s.o _pack_df_s.o _unpack_df_s.o
_addsub_df_s.o _mul_df_s.o _div_df_s.o _fpcmp_parts_df_s.o _compare_df_s.o
_eq_df_s.o _ne_df_s.o _gt_df_s.o _ge_df_s.o _lt_df_s.o _le_df_s.o _unord_df_s.o
_si_to_df_s.o _df_to_si_s.o _negate_df_s.o _make_df_s.o _df_to_sf_s.o
_thenan_df_s.o _df_to_usi_s.o _usi_to_df_s.o ppc64-fp_s.o darwin-ldouble_s.o
unwind-dw2_s.o unwind-dw2-fde_s.o unwind-sjlj_s.o gthr-gnat_s.o unwind-c_s.o
emutls_s.o -lc `case . in *pthread*) echo -L/usr/lib/threads -lpthreads -lc_r
/usr/lib/libc.a ;; *) echo -lc ;; esac` ; rm -f ./tmp-libgcc_s.a ;
/home/stevenb/devel/cross-aix/build/./binutils/ar -X32_64 -X32_64 rc
./tmp-libgcc_s.a ./shr.o ; mv ./tmp-libgcc_s.a ./libgcc_s.a ; rm -f ./shr.o
/home/stevenb/devel/cross-aix/build/gcc/../ld/ld-new: cannot find -lc
/home/stevenb/devel/cross-aix/build/gcc/../ld/ld-new: cannot find -lc
collect2: ld returned 1 exit status
/home/stevenb/devel/cross-aix/build/./binutils/ar: ./shr.o: No such file or
directory
mv: cannot stat `./tmp-libgcc_s.a': No such file or directory
# Now that we have built all the objects, we need to copy
# them back to the GCC directory.  Too many things (other
# in-tree libraries, and DejaGNU) know about the layout
# of the build tree, for now.
make install-leaf DESTDIR=../.././gcc \
  slibdir= libsubdir= MULTIOSDIR=.
make[3]: Entering directory
`/home/stevenb/devel/cross-aix/build/powerpc-ibm-aix6.0/libgcc'
Make

[Bug bootstrap/47806] Failure to build cross-combiner to powerpc-ibm-aix6.0

2011-02-18 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47806

Steven Bosscher  changed:

   What|Removed |Added

   Keywords||build
 CC||dje at gcc dot gnu.org

--- Comment #1 from Steven Bosscher  2011-02-18 
17:11:07 UTC ---
I found this while trying to add xcoff64 support to libiberty for LTO support
on AIX.


[Bug libstdc++/47792] [4.6 Regression] concurrence.h:292:9: error: '__gthread_mutex_destroy' was not declared in this scope

2011-02-18 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47792

--- Comment #10 from Paolo Carlini  2011-02-18 
17:11:58 UTC ---
... and the gthread maintainer is? (should be also in CC).

Arguably, this PR could be also re-categorized as something non-libstdc++, like
target or other, I don't know.


[Bug c++/47795] [4.5/4.6 Regression] internal compiler error: tree check: expected record_type or union_type or qual_union_type, have error_mark in finish_non_static_data_member, at cp/semantics.c:151

2011-02-18 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47795

--- Comment #3 from paolo at gcc dot gnu.org  
2011-02-18 17:22:19 UTC ---
Author: paolo
Date: Fri Feb 18 17:22:14 2011
New Revision: 170275

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170275
Log:
/cp
2011-02-18  Paolo Carlini  

PR c++/47795
* semantics.c (finish_non_static_data_member): Early return if
object is error_mark_node.

/testsuite
2011-02-18  Paolo Carlini  

PR c++/47795
* g++.dg/cpp0x/lambda/lambda-ice3.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice3.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c


[Bug bootstrap/47806] Failure to build cross-combiner to powerpc-ibm-aix6.0

2011-02-18 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47806

--- Comment #2 from Steven Bosscher  2011-02-18 
17:23:44 UTC ---
Also fails, but in a different way, if "--disable-multilib" is removed from the
configure options:

# If this is the top-level multilib, build all the other
# multilibs.
/home/stevenb/devel/cross-aix/build/./gcc/xgcc
-B/home/stevenb/devel/cross-aix/build/./gcc/
-B/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/bin/
-B/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/lib/ -isystem
/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/include -isystem
/home/stevenb/devel/cross-aix/install/powerpc-ibm-aix6.0/sys-include
-L/home/stevenb/devel/cross-aix/build/./ld-g -O2 -pthread -O2  -g -O2
-DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -mlong-double-128 -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector -Dinhibit_libc  -I. -I.
-I../../.././gcc -I../../../../combined/libgcc -I../../../../combined/libgcc/.
-I../../../../combined/libgcc/../gcc -I../../../../combined/libgcc/../include  
 -o unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c
../../../../combined/libgcc/../gcc/unwind-dw2.c 
In file included from ../../../../combined/libgcc/../gcc/gthr-aix.h:30:0,
 from ../../.././gcc/gthr-default.h:1,
 from ../../../../combined/libgcc/../gcc/gthr.h:162,
 from ../../../../combined/libgcc/../gcc/unwind-dw2.c:37:
../../../../combined/libgcc/../gcc/gthr-posix.h:41:21: fatal error: pthread.h:
No such file or directory
compilation terminated.
make[4]: *** [unwind-dw2.o] Error 1
make[4]: Leaving directory
`/home/stevenb/devel/cross-aix/build/powerpc-ibm-aix6.0/pthread/libgcc'
make[3]: *** [multi-do] Error 1
make[3]: Leaving directory
`/home/stevenb/devel/cross-aix/build/powerpc-ibm-aix6.0/libgcc'
make[2]: *** [all-multi] Error 2
make[2]: *** Waiting for unfinished jobs
make[2]: Leaving directory
`/home/stevenb/devel/cross-aix/build/powerpc-ibm-aix6.0/libgcc'
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory `/home/stevenb/devel/cross-aix/build'
make: *** [all] Error 2
$ cat gcc/configargs.h 
/* Generated automatically. */
static const char configuration_arguments[] = "../combined/configure
--enable-languages=c --disable-checking --target=powerpc-ibm-aix6.0
--with-mpc=/opt/ --disable-nls
--prefix=/home/stevenb/devel/cross-aix/install/";
static const char thread_model[] = "aix";

static const struct {
  const char *name, *value;
} configure_default_options[] = { { NULL, NULL} };
$


[Bug c++/47795] [4.5/4.6 Regression] internal compiler error: tree check: expected record_type or union_type or qual_union_type, have error_mark in finish_non_static_data_member, at cp/semantics.c:151

2011-02-18 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47795

--- Comment #4 from paolo at gcc dot gnu.org  
2011-02-18 17:24:35 UTC ---
Author: paolo
Date: Fri Feb 18 17:24:29 2011
New Revision: 170276

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170276
Log:
/cp
2011-02-18  Paolo Carlini  

PR c++/47795
* semantics.c (finish_non_static_data_member): Early return if
object is error_mark_node.

/testsuite
2011-02-18  Paolo Carlini  

PR c++/47795
* g++.dg/cpp0x/lambda/lambda-ice3.C: New.

Modified:
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/46178] gcc.target/i386/(u)divmod-[58].c FAIL: ICE: in dec_register_pressure, at ira-lives.c:215 with -fira-algorithm=priority

2011-02-18 Thread cltang at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46178

--- Comment #1 from Chung-Lin Tang  2011-02-18 
17:26:37 UTC ---
Author: cltang
Date: Fri Feb 18 17:26:31 2011
New Revision: 170277

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170277
Log:
2011-02-18  Chung-Lin Tang  

PR rtl-optimization/46178
* ira.c (setup_hard_regno_class): Use ira_class_translate[] to
compute ira_hard_regno_cover_class[].

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


[Bug c++/47795] [4.5 Regression] internal compiler error: tree check: expected record_type or union_type or qual_union_type, have error_mark in finish_non_static_data_member, at cp/semantics.c:1513

2011-02-18 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47795

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|NEW
 AssignedTo|paolo.carlini at oracle dot |unassigned at gcc dot
   |com |gnu.org
Summary|[4.5/4.6 Regression]|[4.5 Regression] internal
   |internal compiler error:|compiler error: tree check:
   |tree check: expected|expected record_type or
   |record_type or union_type   |union_type or
   |or qual_union_type, have|qual_union_type, have
   |error_mark in   |error_mark in
   |finish_non_static_data_memb |finish_non_static_data_memb
   |er, at cp/semantics.c:1513  |er, at cp/semantics.c:1513

--- Comment #5 from Paolo Carlini  2011-02-18 
17:27:30 UTC ---
Fixed for 4.6.0. The patch doesn't seem to work as-is in 4_5-branch: being just
an ICE on invalid, I'm not going to further fiddle with that branch.


[Bug debug/47794] [4.6 Regression] New debug failures

2011-02-18 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47794

H.J. Lu  changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|WORKSFORME  |

--- Comment #3 from H.J. Lu  2011-02-18 17:38:15 
UTC ---
It is a GDB issue.  I installed GDB trunk by accident.


[Bug bootstrap/47807] New: [4.6 Regression] Failed to bootstrap

2011-02-18 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47807

   Summary: [4.6 Regression] Failed to bootstrap
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: rgue...@gcc.gnu.org


On Linux/x86-64, revision 170274 failed to bootstrap:

http://gcc.gnu.org/ml/gcc-regression/2011-02/msg00270.html

when configured with

--enable-clocale=gnu --with-system-zlib --enable-shared --with-demangler-in-ld
--enable-cloog-backend=isl --with-ppl-include=/opt/gnu/include
--with-ppl-lib=/opt/gnu/lib64 --with-cloog-include=/opt/gnu/include
--with-cloog-lib=/opt/gnu/lib64 --with-build-config=bootstrap-lto
--with-fpmath=sse --enablelanguages=c,c++,fortran,java,lto,objc

In file included from ../../src-trunk/gcc/lto-streamer.h:34:0,
 from ../../src-trunk/gcc/lto/lto-lang.c:37:
../../src-trunk/gcc/gcov-io.h:282:22: fatal error: gcov-iov.h: No such file or
directory
compilation terminated.
make[6]: *** [lto/lto-lang.o] Error 1
make[6]: *** Waiting for unfinished jobs


[Bug target/47792] [4.6 Regression] concurrence.h:292:9: error: '__gthread_mutex_destroy' was not declared in this scope

2011-02-18 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47792

John David Anglin  changed:

   What|Removed |Added

  Component|libstdc++   |target

--- Comment #11 from John David Anglin  2011-02-18 
17:42:48 UTC ---
It appears gthr-dce.h is only used by the pa target.


[Bug libgomp/47804] libgomp LD_LIBRARY_PATH doesn't include path to libgfortran

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47804

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.02.18 17:48:11
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from Jakub Jelinek  2011-02-18 
17:48:11 UTC ---
Created attachment 23397
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23397
gcc46-pr47804.patch

Only very lightly tested fix.


[Bug bootstrap/47807] [4.6 Regression] Failed to bootstrap

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47807

--- Comment #1 from Jakub Jelinek  2011-02-18 
17:57:50 UTC ---
Author: jakub
Date: Fri Feb 18 17:57:47 2011
New Revision: 170279

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170279
Log:
PR bootstrap/47807
* Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
of lto-streamer.h.

Modified:
trunk/gcc/lto/ChangeLog
trunk/gcc/lto/Make-lang.in


[Bug middle-end/47653] [4.6 Regression] gcc.c-torture/execute/930614-2.c FAILs with -fstack-check=generic -fgraphite-identity

2011-02-18 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47653

--- Comment #4 from Sebastian Pop  2011-02-18 18:28:13 
UTC ---
http://gcc.gnu.org/viewcvs?view=revision&revision=168211
removed all the uses of int_cst_value and replaced them with
tree_int_to_gmp, and here is what happens:

Breakpoint 5, scan_tree_for_params_right_scev (s=0x190a300, e=0x77ec96b8,
var=1, expr=0x190cb20) at ../../gcc/graphite-sese-to-poly.c:637
(gdb) p e
$1 = (tree) 0x77ec96b8
(gdb) pgs
4294967295

(gdb) p int_cst_value (e)
$2 = -1
(gdb) p e
$3 = (tree) 0x77ec96b8
(gdb) pt
 
constant 4294967295>

The reason int_cst_value returns -1 is that it sign extends the value:

  unsigned HOST_WIDE_INT val = TREE_INT_CST_LOW (x);
  bool negative = ((val >> (bits - 1)) & 1) != 0;
  if (negative)
val |= (~(unsigned HOST_WIDE_INT) 0) << (bits - 1) << 1;


[Bug c++/47808] New: internal compiler error: in tsubst_copy_and_build, at cp/pt.c:13326

2011-02-18 Thread schnetter at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47808

   Summary: internal compiler error: in tsubst_copy_and_build, at
cp/pt.c:13326
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: schnet...@gmail.com


Created attachment 23398
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23398
failing source code

I receive an internal compiler error with gcc version (on Mac OS X, the current
gcc46 version from MacPorts)

g++-mp-4.6 (GCC) 4.6.0 20110212 (experimental)

I execute the command

g++-mp-4.6 -fopenmp -Wall -g3 -m128bit-long-double -march=native -std=gnu++0x
-fbounds-check -fstack-protector-all -ftrapv -O0 -fopenmp -Wall -Wshadow
-Wpointer-arith -Wcast-qual -Wcast-align -Woverloaded-virtual -c iobasic.ii

and receive the output

/Users/eschnett/EinsteinToolkit-hg/arrangements/Carpet/CarpetIOBasic/src/iobasic.cc:
In function 'bool CarpetIOBasic::UseScientificNotation(const T&) [with T =
int]':/Users/eschnett/EinsteinToolkit-hg/arrangements/Carpet/CarpetLib/src/typecase.hh:149:118:
  instantiated from
here/Users/eschnett/EinsteinToolkit-hg/arrangements/Carpet/CarpetIOBasic/src/iobasic.cc:703:22:
internal compiler error: in tsubst_copy_and_build, at cp/pt.c:13326Please
submit a full bug report,with preprocessed source if appropriate.See
 for instructions.

I attach the preprocessed source code.


[Bug c/47809] New: ICE in gimplify_expr, at gimplify.c:7291 [4.6]

2011-02-18 Thread svfuerst at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47809

   Summary: ICE in gimplify_expr, at gimplify.c:7291 [4.6]
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: svfue...@gmail.com


gcc-4.6 --version 
gcc-4.6.real (Debian 4.6-20110216-1) 4.6.0 20110216 (experimental) [trunk
revision 170225]


gcc-4.6 test_ice.c -lm -o test_ice
test_ice.c: In function 'foo':
test_ice.c:8:4: internal compiler error: in gimplify_expr, at gimplify.c:7291


double pow(double, double);
typedef long long __m128i __attribute__ ((__vector_size__ (16),
__may_alias__));
typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));

__m128d foo(__m128d x)
{
x *= (__m128d) {pow(1.0, 1.0), 0.0};

return (__m128d) ((__m128i) x ^ (__m128i) {0, 0});
}


[Bug libgomp/47804] libgomp LD_LIBRARY_PATH doesn't include path to libgfortran

2011-02-18 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47804

--- Comment #2 from dave at hiauly1 dot hia.nrc.ca 2011-02-18 18:54:59 UTC ---
On Fri, 18 Feb 2011, jakub at gcc dot gnu.org wrote:

> Created attachment 23397
>   --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23397
> gcc46-pr47804.patch

Works for me.

Dave


[Bug lto/47810] New: [4.6 Regression] New LTO/debug failures

2011-02-18 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47810

   Summary: [4.6 Regression] New LTO/debug failures
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: rgue...@gcc.gnu.org


On Linux/x86, revision 170274:

http://gcc.gnu.org/ml/gcc-cvs/2011-02/msg00819.html

caused:

FAIL: gcc.dg/guality/pr41353-1.c  -O2 -flto  line 17 vari == 17
FAIL: gcc.dg/guality/pr43077-1.c  -O2 -flto  line 42 varb == 2


[Bug bootstrap/47807] [4.6 Regression] Failed to bootstrap

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47807

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution||FIXED
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.6.0

--- Comment #2 from Jakub Jelinek  2011-02-18 
18:57:55 UTC ---
Fixed.


[Bug target/47792] [4.6 Regression] concurrence.h:292:9: error: '__gthread_mutex_destroy' was not declared in this scope

2011-02-18 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47792

--- Comment #12 from John David Anglin  2011-02-18 
19:02:34 UTC ---
Author: danglin
Date: Fri Feb 18 19:02:31 2011
New Revision: 170281

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170281
Log:
PR target/47792
* gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/gthr-dce.h


[Bug target/47792] [4.6 Regression] concurrence.h:292:9: error: '__gthread_mutex_destroy' was not declared in this scope

2011-02-18 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47792

John David Anglin  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #13 from John David Anglin  2011-02-18 
19:09:38 UTC ---
Fixed by change.


[Bug target/47811] New: ARM asm branch to direct address

2011-02-18 Thread aleksazr at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47811

   Summary: ARM asm branch to direct address
   Product: gcc
   Version: 4.5.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: aleks...@gmail.com


Created attachment 23399
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23399
source

source assembled:
reset:b 0x30
b 0x30

generates:
   0:   ea0bfffeb   30 <_ebss+0x20>
   4:   ea0bfffcb   2c <_ebss+0x2fffec>

^^ both should jump to same address


[Bug target/47744] [x32] ICE: in reload_cse_simplify_operands, at postreload.c:403

2011-02-18 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47744

--- Comment #4 from hjl at gcc dot gnu.org  2011-02-18 
19:13:06 UTC ---
Author: hjl
Date: Fri Feb 18 19:13:03 2011
New Revision: 170282

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170282
Log:
Add ix86_simplify_base_disp and use it for x32.

gcc/

2011-02-18  H.J. Lu  

PR target/47744
* config/i386/i386.c (ix86_simplify_base_disp): New.
(ix86_decompose_address): Use it for TARGET_X32 after reload
is completed.

gcc/testsuite/

2011-02-18  H.J. Lu  

PR target/47744
* gcc.dg/torture/pr47744-2.c: New.

Added:
branches/x32/gcc/testsuite/gcc.dg/torture/pr47744-2.c
Modified:
branches/x32/gcc/ChangeLog.x32
branches/x32/gcc/config/i386/i386.c
branches/x32/gcc/testsuite/ChangeLog.x32


[Bug middle-end/47654] [4.6 Regression] gcc.dg/vect/no-section-anchors-vect-outer-4h.c FAILs with -floop-block

2011-02-18 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47654

Jeffrey A. Law  changed:

   What|Removed |Added

   Priority|P3  |P2
 CC||law at redhat dot com
 AssignedTo|unassigned at gcc dot   |spop at gcc dot gnu.org
   |gnu.org |

--- Comment #2 from Jeffrey A. Law  2011-02-18 19:35:31 
UTC ---
Looks to be a graphite problem as well.  I'm not 100% sure I've got the root
cause of the problem, but there's definitely something fishy in the code
graphite generated.

Prior to graphite we had this nice little loop nest:

 # BLOCK 2 freq:3
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  goto ;
  # SUCC: 7 [100.0%]  (fallthru,exec)

  # BLOCK 3 freq:9801
  # PRED: 4 [99.0%]  (true,exec)
  # SUCC: 4 [100.0%]  (fallthru,exec)

  # BLOCK 4 freq:9900
  # PRED: 3 [100.0%]  (fallthru,exec) 7 [100.0%]  (fallthru,exec)
  # j_16 = PHI 
  # .MEM_17 = PHI <.MEM_10(3), .MEM_4(7)>
  # .MEM_10 = VDEF <.MEM_17>
  a[j_16][i_13] = 4;
  j_5 = j_16 + 1;
  if (j_5 <= 127)
goto ;
  else
goto ;
  # SUCC: 3 [99.0%]  (true,exec) 5 [1.0%]  (false,exec)

  # BLOCK 5 freq:100
  # PRED: 4 [1.0%]  (false,exec)
  i_6 = i_13 + 1;
  if (i_6 <= 39)
goto ;
  else
goto ;
  # SUCC: 6 [97.6%]  (true,exec) 8 [2.4%]  (false,exec)

  # BLOCK 6 freq:98
  # PRED: 5 [97.6%]  (true,exec)
  # SUCC: 7 [100.0%]  (fallthru,exec)

  # BLOCK 7 freq:100
  # PRED: 6 [100.0%]  (fallthru,exec) 2 [100.0%]  (fallthru,exec)
  # .MEM_4 = PHI <.MEM_10(6), .MEM_9(D)(2)>
  # i_13 = PHI 
  goto ;
  # SUCC: 4 [100.0%]  (fallthru,exec)

  # BLOCK 8 freq:3
  # PRED: 5 [2.4%]  (false,exec)
  return;
  # SUCC: EXIT [100.0%]


After graphite blocking the loop we have:

# BLOCK 2 freq:15
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  # SUCC: 3 [100.0%]  (fallthru)

  # BLOCK 3 freq:45
  # PRED: 2 [100.0%]  (fallthru) 11 [100.0%]  (fallthru,dfs_back)
  # graphite_IV.1_18 = PHI <0(2), graphite_IV.1_3(11)>
  # .MEM_30 = PHI <.MEM_9(D)(2), .MEM_31(11)>
  D.2713_8 = graphite_IV.1_18 * 51;
  D.2714_1 = MAX_EXPR ;
  D.2713_15 = graphite_IV.1_18 * 51;
  D.2715_14 = D.2713_15 + 50;
  D.2716_7 = MIN_EXPR ;
  D.2717_2 = D.2716_7 + 1;
  D.2718_12 = D.2714_1 < D.2717_2;
  if (D.2718_12 != 0)
goto ;
  else
goto ;
  # SUCC: 4 [50.0%]  (true) 10 [50.0%]  (false)

  # BLOCK 4 freq:22
  # PRED: 3 [50.0%]  (true)
  D.2720_11 = graphite_IV.1_18 * 51;
  graphite_IV.2_19 = MAX_EXPR ;
  D.2721_20 = graphite_IV.1_18 * 51;
  D.2722_21 = D.2721_20 + 50;
  D.2723_22 = MIN_EXPR ;
  # SUCC: 5 [100.0%]  (fallthru)

  # BLOCK 5 freq:250
  # PRED: 4 [100.0%]  (fallthru) 9 [100.0%]  (fallthru,dfs_back)
  # graphite_IV.2_23 = PHI 
  # .MEM_32 = PHI <.MEM_30(4), .MEM_33(9)>
  # SUCC: 6 [100.0%]  (fallthru)

  # BLOCK 6 freq:1
  # PRED: 5 [100.0%]  (fallthru) 7 [100.0%]  (fallthru,dfs_back)
  # graphite_IV.3_25 = PHI <0(5), graphite_IV.3_26(7)>
  # .MEM_34 = PHI <.MEM_32(5), .MEM_27(7)>
  D.2725_28 = (int) graphite_IV.2_23;
  D.2726_29 = (int) graphite_IV.3_25;
  # .MEM_27 = VDEF <.MEM_34>
  a[D.2725_28][D.2726_29] = 4;
  graphite_IV.3_26 = graphite_IV.3_25 + 1;
  if (graphite_IV.3_25 < 39)
goto ;
  else
goto ;
  # SUCC: 7 [97.5%]  (true) 8 [2.5%]  (loop_exit,false)

  # BLOCK 7 freq:9750
  # PRED: 6 [97.5%]  (true)
  goto ;
  # SUCC: 6 [100.0%]  (fallthru,dfs_back)

  # BLOCK 8 freq:250
  # PRED: 6 [2.5%]  (loop_exit,false)
  # .MEM_33 = PHI <.MEM_27(6)>
  graphite_IV.2_24 = graphite_IV.2_23 + 1;
  if (graphite_IV.2_23 < D.2723_22)
goto ;
  else
goto ;
  # SUCC: 9 [91.0%]  (true) 10 [9.0%]  (loop_exit,false)

  # BLOCK 9 freq:227
  # PRED: 8 [91.0%]  (true)
  goto ;
  # SUCC: 5 [100.0%]  (fallthru,dfs_back)

  # BLOCK 10 freq:45
  # PRED: 8 [9.0%]  (loop_exit,false) 3 [50.0%]  (false)
  # .MEM_31 = PHI <.MEM_33(8), .MEM_30(3)>
  graphite_IV.1_3 = graphite_IV.1_18 + 1;
  if (graphite_IV.1_18 < 2)
goto ;
  else
goto ;
  # SUCC: 11 [66.7%]  (true) 12 [33.3%]  (loop_exit,false)

The first thing I've noticed is we're using relational comparisons on signed
values that are overflowing.   Consider just about everything in block #3. 
Most of the variables are 8 bit signed integers and overflow on this testcase,
including the test for terminating or iterating the loop.

I don't know if that's the root cause of the problem, but I am certain that we
are exiting the middle or outer loop too early, resulting in a partially
initialized array that ultimately triggers the abort.


[Bug middle-end/47655] [4.6 Regression] gcc.dg/vect/no-scevccp-slp-30.c FAILs with -floop-block

2011-02-18 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47655

Jeffrey A. Law  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||law at redhat dot com
 Resolution||DUPLICATE

--- Comment #2 from Jeffrey A. Law  2011-02-18 19:38:32 
UTC ---
Appears to be a duplicate

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


[Bug middle-end/47654] [4.6 Regression] gcc.dg/vect/no-section-anchors-vect-outer-4h.c FAILs with -floop-block

2011-02-18 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47654

--- Comment #3 from Jeffrey A. Law  2011-02-18 19:38:32 
UTC ---
*** Bug 47655 has been marked as a duplicate of this bug. ***


[Bug fortran/45586] [4.6 Regression] ICE non-trivial conversion at assignment

2011-02-18 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45586

--- Comment #48 from Michael Matz  2011-02-18 19:52:19 
UTC ---
Author: matz
Date: Fri Feb 18 19:52:16 2011
New Revision: 170284

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170284
Log:
PR fortran/45586
* gfortran.h (struct gfc_component): Add norestrict_decl member.
* trans.h (struct lang_type): Add nonrestricted_type member.
* trans-expr.c (gfc_conv_component_ref): Search fields with correct
parent type.
* trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
(gfc_sym_type): Use it.

testsuite/
PR fortran/45586
* gfortran.dg/lto/pr45586_0.f90: New test.
* gfortran.dg/typebound_proc_20.f90: Ditto.
* gfortran.dg/typebound_proc_21.f90: Ditto.

Added:
trunk/gcc/testsuite/gfortran.dg/lto/pr45586_0.f90
trunk/gcc/testsuite/gfortran.dg/typebound_proc_20.f90
trunk/gcc/testsuite/gfortran.dg/typebound_proc_21.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-types.c
trunk/gcc/fortran/trans.h


[Bug libfortran/47802] [4.6 Regression] libgfortran/intrinsics/ctime.c:75:3: error: too few arguments to function 'ctime_r'

2011-02-18 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47802

Jeffrey A. Law  changed:

   What|Removed |Added

 CC||law at redhat dot com

--- Comment #1 from Jeffrey A. Law  2011-02-18 19:53:35 
UTC ---
Is there no way to get a posix compliant ctime?  Alternatively, we'll need
autoconf magic to detect the extra arg.  I know at one time it was relatively
common, so autoconf magic might be around somewhere.  Assuming it is you just
have to do something like


#if defined (oddballctime)
  *date = ctime_r (&now, cbuf, CSZ);
#else
  *date = ctime_r (&now, cbuf);
#endif


[Bug libfortran/47802] [4.6 Regression] libgfortran/intrinsics/ctime.c:75:3: error: too few arguments to function 'ctime_r'

2011-02-18 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47802

Jeffrey A. Law  changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug fortran/45586] [4.6 Regression] ICE non-trivial conversion at assignment

2011-02-18 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45586

Michael Matz  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #49 from Michael Matz  2011-02-18 19:55:00 
UTC ---
Fixed.


[Bug fortran/47789] [OOP] Structure constructor of type extending DT with no components

2011-02-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47789

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |janus at gcc dot gnu.org
   |gnu.org |

--- Comment #3 from janus at gcc dot gnu.org 2011-02-18 20:16:20 UTC ---
The following patch fixes it (not regtested):

Index: gcc/fortran/primary.c
===
--- gcc/fortran/primary.c   (revision 170270)
+++ gcc/fortran/primary.c   (working copy)
@@ -2310,6 +2310,12 @@ gfc_match_structure_constructor (gfc_symbol *sym,
{
  gfc_component *this_comp = NULL;

+ if (comp == sym->components && sym->attr.extension
+ && comp->ts.type == BT_DERIVED
+ && comp->ts.u.derived->attr.zero_comp)
+   /* Skip empty parents.  */ 
+   comp = comp->next;
+
  if (!comp_head)
comp_tail = comp_head = gfc_get_structure_ctor_component ();
  else


[Bug lto/47788] [4.6 Regression] New LTO failures

2011-02-18 Thread aoliva at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47788

Alexandre Oliva  changed:

   What|Removed |Added

 CC||aoliva at gcc dot gnu.org

--- Comment #1 from Alexandre Oliva  2011-02-18 
20:20:50 UTC ---
It looks like another regression from this patch is that tmp-runtime.m in
libobjc fails -fcompare-debug when building runtime-info.h.


[Bug target/47811] ARM asm branch to direct address

2011-02-18 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47811

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Andrew Pinski  2011-02-18 
20:28:36 UTC ---
This is not the correct place to file assembly issues, please file them with
the binutils project.  GCC is not involved in this case as you are passing the
.s file directly to the assembler.  Also I think this is correct really due to
where you place the .text section.


[Bug target/47811] ARM asm branch to direct address

2011-02-18 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47811

--- Comment #2 from Andrew Pinski  2011-02-18 
20:29:02 UTC ---
Also I think b takes a relative address.


[Bug middle-end/18038] addition in a multibit bitfield is inefficient

2011-02-18 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18038

--- Comment #2 from Andrew Pinski  2011-02-18 
20:32:51 UTC ---
We generated now:
.cfi_startproc
movzbl(%eax), %ecx
addl%ecx, %edx
andl$-4, %ecx
andl$3, %edx
orl%edx, %ecx
movb%cl, (%eax)
ret


[Bug middle-end/18038] addition in a multibit bitfield is inefficient

2011-02-18 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18038

Andrew Pinski  changed:

   What|Removed |Added

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

--- Comment #3 from Andrew Pinski  2011-02-18 
20:35:51 UTC ---
This has been fixed since at least 4.1.3.


[Bug middle-end/47654] [4.6 Regression] gcc.dg/vect/no-section-anchors-vect-outer-4h.c FAILs with -floop-block

2011-02-18 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47654

Sebastian Pop  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #4 from Sebastian Pop  2011-02-18 20:41:23 
UTC ---
I don't think that the code generated by CLooG is wrong here:

Breakpoint 8, gloog (scop=0x19052f0, bb_pbb_mapping=0x1905570) at
../../gcc/graphite-clast-to-gimple.c:1524
(gdb) p debug_clast_stmt (pc.stmt)
for (scat_1=0;scat_1<=2;scat_1++) {
  for (scat_3=51*scat_1;scat_3<=min(127,51*scat_1+50);scat_3++) {
for (scat_5=0;scat_5<=39;scat_5++) {
  S4(scat_5,scat_3);
}
  }
}

This is not a loop blocking transform: it's just a strip mine of one of the
loops and an interchange of the outermost loop.  That is all legal.

First, we should have stopped the loop blocking when we knew that one of the
loops does not have enough iterations to be strip-mined.  I have a patch for
this one, but that's not the root cause of this bug...

On the overflow side, 51*scat_1+50 could be overflowing: when scat_1 is equal
to 2, the expression is equal to 152, and that overflows on char types.


[Bug middle-end/47654] [4.6 Regression] gcc.dg/vect/no-section-anchors-vect-outer-4h.c FAILs with -floop-block

2011-02-18 Thread spop at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47654

--- Comment #5 from Sebastian Pop  2011-02-18 20:42:58 
UTC ---
Created attachment 23400
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23400
first patch

This patch works around the bug by undoing the transform.


[Bug libgomp/47804] libgomp LD_LIBRARY_PATH doesn't include path to libgfortran

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47804

--- Comment #3 from Jakub Jelinek  2011-02-18 
20:44:48 UTC ---
Author: jakub
Date: Fri Feb 18 20:44:44 2011
New Revision: 170285

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170285
Log:
PR libgomp/47804
* testsuite/libgomp.fortran/fortran.exp: Check for both
libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
but $blddir != "", still append ${blddir}/${lang_library_path}
to ld_library_path.

Modified:
trunk/libgomp/ChangeLog
trunk/libgomp/testsuite/libgomp.fortran/fortran.exp


[Bug lto/47788] [4.6 Regression] New LTO failures

2011-02-18 Thread aoliva at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47788

--- Comment #2 from Alexandre Oliva  2011-02-18 
20:44:52 UTC ---
Sorry, #c1 is a false alarm, git bisect pilot error.  The failure is caused by
r170260.


[Bug middle-end/47790] [4.5/4.6 Regression] optimize_bitfield_assignment_op no longer works in 4.5.x

2011-02-18 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47790

Andrew Pinski  changed:

   What|Removed |Added

  Attachment #23391|0   |1
is obsolete||

--- Comment #1 from Andrew Pinski  2011-02-18 
20:47:55 UTC ---
Created attachment 23401
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23401
New patch which fixes one check dealing with code


[Bug c++/47666] [4.6 Regression] ICE in dfs_walk_once

2011-02-18 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47666

Dodji Seketeli  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||dodji at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |dodji at gcc dot gnu.org
   |gnu.org |


[Bug libfortran/47802] [4.6 Regression] libgfortran/intrinsics/ctime.c:75:3: error: too few arguments to function 'ctime_r'

2011-02-18 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47802

--- Comment #2 from dave at hiauly1 dot hia.nrc.ca 2011-02-18 20:56:54 UTC ---
> Is there no way to get a posix compliant ctime?  Alternatively, we'll need
> autoconf magic to detect the extra arg.  I know at one time it was relatively
> common, so autoconf magic might be around somewhere.  Assuming it is you just
> have to do something like
> 
> 
> #if defined (oddballctime)
>   *date = ctime_r (&now, cbuf, CSZ);
> #else
>   *date = ctime_r (&now, cbuf);
> #endif

Using ctime_r is a bit of a can of worms.  The GNU autoconf manual recommends
not using ctime_r unless the inputs are known to be within certain limits.

It seems HP-UX and Solaris have both forms.  In the HP-UX 11 case,
which form is used at compilation time depends on _PTHREADS_DRAFT4:

#  ifndef _PTHREADS_DRAFT4
 extern char *ctime_r(const __time_t *, char *);
#  else /* _PTHREADS_DRAFT4 */
 extern int ctime_r(const __time_t *, char *, int);
#  endif /* _PTHREADS_DRAFT4 */

Potential autoconf test:

# ctime_r --
#
# There are two versions of ctime_r, one of which takes a buffer length as a
# third argument, and one which only takes two arguments.  (There is also a
# difference in return values, but we handle that in the code itself.)
AC_CHECK_FUNCS(ctime_r)
if test "$ac_cv_func_ctime_r" = "yes"; then
AC_CACHE_CHECK([for 2 or 3 argument version of ctime_r], db_cv_ctime_r_3arg, [
AC_TRY_LINK([
#include ], [
ctime_r(NULL, NULL, 100);
],  [db_cv_ctime_r_3arg="3-argument"], [db_cv_ctime_r_3arg="2-argument"])])
fi
if test "$db_cv_ctime_r_3arg" = "3-argument"; then
AC_DEFINE(HAVE_CTIME_R_3ARG)
AH_TEMPLATE(HAVE_CTIME_R_3ARG,
[Define to 1 if ctime_r takes a buffer length as a third argument.])
fi

Dave


[Bug libgomp/47804] libgomp LD_LIBRARY_PATH doesn't include path to libgfortran

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47804

Jakub Jelinek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #4 from Jakub Jelinek  2011-02-18 
21:02:37 UTC ---
Fixed.


[Bug fortran/46459] ICE (segfault): Invalid read in compare_actual_formal [error recovery]

2011-02-18 Thread mikael at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46459

Mikael Morin  changed:

   What|Removed |Added

   Keywords||patch
 CC||mikael at gcc dot gnu.org

--- Comment #1 from Mikael Morin  2011-02-18 
21:13:11 UTC ---
low hanging fruit:

diff --git a/interface.c b/interface.c
index 1e5df61..32c8b6e 100644
--- a/interface.c
+++ b/interface.c
@@ -2292,6 +2292,7 @@ compare_actual_formal (gfc_actual_arglist **ap,
gfc_formal
 shape array, if the dummy argument has the VOLATILE attribute.  */

   if (f->sym->attr.volatile_
+ && a->expr->expr_type == EXPR_VARIABLE
  && a->expr->symtree->n.sym->as
  && a->expr->symtree->n.sym->as->type == AS_ASSUMED_SHAPE
  && !(f->sym->as && f->sym->as->type == AS_ASSUMED_SHAPE))
@@ -2321,6 +2322,7 @@ compare_actual_formal (gfc_actual_arglist **ap,
gfc_formal
 dummy argument has the VOLATILE attribute.  */

   if (f->sym->attr.volatile_
+ && a->expr->expr_type == EXPR_VARIABLE
  && a->expr->symtree->n.sym->attr.pointer
  && a->expr->symtree->n.sym->as
  && !(f->sym->as


[Bug fortran/46459] ICE (segfault): Invalid read in compare_actual_formal [error recovery]

2011-02-18 Thread mikael at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46459

--- Comment #2 from Mikael Morin  2011-02-18 
21:16:03 UTC ---
By the way the conditions should not test against
 a->expr->symtree->n.sym->as->type
as it does not support derived type components.


[Bug driver/47787] [4.6 Regression] GCC with -flto combines preprocessed C sources

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47787

--- Comment #3 from Jakub Jelinek  2011-02-18 
21:17:18 UTC ---
Author: jakub
Date: Fri Feb 18 21:17:14 2011
New Revision: 170286

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170286
Log:
PR driver/47787
* gcc.c (default_compilers): Clear combinable field for "@cpp-output".

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


[Bug driver/47787] [4.6 Regression] GCC with -flto combines preprocessed C sources

2011-02-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47787

Jakub Jelinek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #4 from Jakub Jelinek  2011-02-18 
21:18:38 UTC ---
Fixed.


[Bug fortran/45797] ICE (segfault): Invalid read in gfc_use_derived

2011-02-18 Thread mikael at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45797

Mikael Morin  changed:

   What|Removed |Added

   Keywords||patch
 CC||mikael at gcc dot gnu.org

--- Comment #2 from Mikael Morin  2011-02-18 
21:26:55 UTC ---
quick fix

diff --git a/symbol.c b/symbol.c
index 71aa518..ac274d6 100644
--- a/symbol.c
+++ b/symbol.c
@@ -1939,6 +1939,10 @@ gfc_use_derived (gfc_symbol *sym)
   gfc_symtree *st;
   int i;

+  /* Something went bad earlier, bail out.  */
+  if (sym == NULL)
+return NULL;
+
   if (sym->components != NULL || sym->attr.zero_comp)
 return sym;   /* Already defined.  */


[Bug fortran/47775] Wrong code with allocatable function RESULT and GENERIC interfaces

2011-02-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47775

--- Comment #9 from Tobias Burnus  2011-02-18 
21:35:47 UTC ---
Author: burnus
Date: Fri Feb 18 21:35:44 2011
New Revision: 170289

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170289
Log:
2011-02-18  Tobias Burnus

PR fortran/47775
* trans-expr.c (arrayfunc_assign_needs_temporary): Use
esym to check whether the specific procedure returns an
allocatable or pointer.

2011-02-18  Tobias Burnus

PR fortran/47775
* gfortran.dg/func_result_6.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/func_result_6.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-expr.c
trunk/gcc/testsuite/ChangeLog


  1   2   >