[Bug target/35795] [4.4 Regression] Revision 133787 breaks ia64

2008-04-03 Thread hubicka at ucw dot cz


--- Comment #7 from hubicka at ucw dot cz  2008-04-03 06:12 ---
Subject: Re:  [4.4 Regression] Revision 133787 breaks ia64

 The patch is OK.
 
 But won't all targets that have similar code need the same fix?  If I cd 
 to the config dir, and try grep final_end_function */* it looks like 
 alpha, ia64, m68k, mips, rs6000, score (both score3 and score7), sh, and 
 sparc all have the same problem.  The rs6000 port has already been fixed 
 via PR 35801.  We have an ia64 patch here.  We also need patches for the 
 rest.

Thanks,
I've just noticed that too and send patch for all the backends.  Looks
like we was leaking memory here for ages, probably not that big deal
since thunks are pretty small functions, but still keeping all the RTL
register tables around seems bit expensive.

Honza
 
 Jim
 
 
 -- 
 
 
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35795
 
 --- You are receiving this mail because: ---
 You are on the CC list for the bug, or are watching someone who is.


-- 


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



[Bug rtl-optimization/35785] gcc.c-torture/compile/pr11832.c doesn't work for Linux/ia64

2008-04-03 Thread wilson at tuliptree dot org


--- Comment #1 from wilson at tuliptree dot org  2008-04-03 06:26 ---
Subject: Re:   New: gcc.c-torture/compile/pr11832.c
 doesn't work for Linux/ia64

hjl dot tools at gmail dot com wrote:
 (set (pc)^M
 (reg:DI 2 loc79)) 329 {indirect_jump} (nil))^M

This is a problem with the seqabstr pass, which is confusingly in the 
rtl-factoring.c file.  It is allocating a hard register, but not 
checking that the register is OK for a jump instruction.  On IA-64, we 
can't use a general reg here, we need one of the branch registers.

I see a REGNO_OK_FOR_INDIRECT_JUMP_P macro which we could define in the 
ia64.h file to fix the problem.  This macro is of course undocumented. 
Someone should file a PR for that and assign it to the author of this code.

I tried adding the obvious definition to ia64.h and now it fails in a 
different place.  rtl-factoring.c aka seqabstr is doing
   /* Emit an insn saving the return address to the link register before the   
   
  sequence.  */
   saveinsn = emit_insn_after (gen_move_insn (pattern_seqs-link_reg,
   gen_symbol_ref_rtx_for_label
   (retlabel)), BB_END (bb));
It is trying to load a label_ref directly into a branch register which 
is certainly not going to work on an IA-64.  Since this is after reload, 
there is nothing the ia64.md backend can do to fix this.  This requires 
a rtl-factoring.c aka seqabstr fix.  It needs to allocate two registers 
for a machine like IA-64, a general reg to load the label into, and a 
branch reg to move the label value to for the branch.

I tried writing a quick patch, taking advantage of the fact that 
REGNO_OK_FOR_INDIRECT_JUMP_P is undocumented and unused, hence I can 
redfine it anyway I need in order to make the IA-64 port work.  I didn't 
give this much thought; this can clearly be improved.

I'll attach the two patches I have.  I'm not sure if this will actually 
work, but at least the compiler doesn't crash anymore, and I don't see 
anything obviously wrong with the code.

Jim


-- 


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



[Bug rtl-optimization/35785] gcc.c-torture/compile/pr11832.c doesn't work for Linux/ia64

2008-04-03 Thread wilson at gcc dot gnu dot org


--- Comment #2 from wilson at gcc dot gnu dot org  2008-04-03 06:27 ---
Created an attachment (id=15418)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15418action=view)
ia64.h patch to define REGNO_OK_FOR_INDIRECT_JUMP_P

Obvious definition of the REGNO_OK_FOR_INDIRECT_JUMP_P macro.


-- 


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



[Bug rtl-optimization/35785] gcc.c-torture/compile/pr11832.c doesn't work for Linux/ia64

2008-04-03 Thread wilson at gcc dot gnu dot org


--- Comment #3 from wilson at gcc dot gnu dot org  2008-04-03 06:29 ---
Created an attachment (id=15419)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15419action=view)
rtl-factoring.c patch to allocate second reg for IA-64

This allocates a second register if REGNO_OK_FOR_INDIRECT_JUMP_P is defined,
and then adjusts the code appropriately to use the second reg.  This obviously
needs some cleanup, I didn't give it much thought.  It seems to be working for
the simple testcase though.


-- 


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



[Bug c++/35741] [4.2/4.3/4.4 regression] ICE with offsetof and references

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-04-03 07:44 ---
Subject: Bug 35741

Author: jakub
Date: Thu Apr  3 07:43:46 2008
New Revision: 133863

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133863
Log:
PR c++/35741
* semantics.c (finish_offsetof): Undo effect of convert_from_reference
before calling fold_offsetof.

* g++.dg/other/offsetof5.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/other/offsetof5.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/35741] [4.2/4.3/4.4 regression] ICE with offsetof and references

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2008-04-03 07:51 ---
Subject: Bug 35741

Author: jakub
Date: Thu Apr  3 07:51:01 2008
New Revision: 133864

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133864
Log:
PR c++/35741
* semantics.c (finish_offsetof): Undo effect of convert_from_reference
before calling fold_offsetof.

* g++.dg/other/offsetof5.C: New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/other/offsetof5.C
Modified:
branches/gcc-4_3-branch/gcc/cp/ChangeLog
branches/gcc-4_3-branch/gcc/cp/semantics.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/35741] [4.2/4.3/4.4 regression] ICE with offsetof and references

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2008-04-03 07:52 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/35785] gcc.c-torture/compile/pr11832.c doesn't work for Linux/ia64

2008-04-03 Thread loki at gcc dot gnu dot org


--- Comment #4 from loki at gcc dot gnu dot org  2008-04-03 08:24 ---
The patch from http://gcc.gnu.org/ml/gcc-patches/2008-03/msg00824.html should
fix this kind of problem.


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


-- 

loki at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug rtl-optimization/33642] unrecognizable insn for -frtl-abstract-sequences

2008-04-03 Thread loki at gcc dot gnu dot org


--- Comment #18 from loki at gcc dot gnu dot org  2008-04-03 08:24 ---
*** Bug 35785 has been marked as a duplicate of this bug. ***


-- 

loki at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug libstdc++/35588] [parallel mode] parallel std::sort and bind()

2008-04-03 Thread singler at gcc dot gnu dot org


--- Comment #2 from singler at gcc dot gnu dot org  2008-04-03 09:00 ---
Same thing for me.


-- 

singler at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |singler at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-04-03 09:00:24
   date||


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



[Bug tree-optimization/35811] New: [4.3/4.4 Regression] SCC VN endless recursion

2008-04-03 Thread jakub at gcc dot gnu dot org
On the attached testcase (from wine) at -O -m32 or higher GCC ICEs, because
very deep recursion in tree-ssa-sccvn.c's DFS:
...
#49137 0x0078fe7c in DFS (name=0x2aaab0a8dde0) at
../../gcc/tree-ssa-sccvn.c:1898
#49138 0x0078fe7c in DFS (name=0x2f5d7840) at
../../gcc/tree-ssa-sccvn.c:1898
#49139 0x0078fe7c in DFS (name=0x2aaab0add300) at
../../gcc/tree-ssa-sccvn.c:1898
#49140 0x0078fe7c in DFS (name=0x2aaab0ae0120) at
../../gcc/tree-ssa-sccvn.c:1898
#49141 0x00790f80 in run_scc_vn () at ../../gcc/tree-ssa-sccvn.c:2128
#49142 0x00783fc3 in execute_pre (do_fre=1 '\001') at
../../gcc/tree-ssa-pre.c:3923
#49143 0x007841cd in execute_fre () at ../../gcc/tree-ssa-pre.c:4022
#49144 0x00605e81 in execute_one_pass (pass=0xfd4fc0) at
../../gcc/passes.c:1122
#49145 0x00605fd9 in execute_pass_list (pass=0xfd4fc0) at
../../gcc/passes.c:1175
#49146 0x00605ff7 in execute_pass_list (pass=0xfd3b20) at
../../gcc/passes.c:1176
#49147 0x006f5e64 in tree_rest_of_compilation (fndecl=0x2e9fcea0)
at ../../gcc/tree-optimize.c:404
#49148 0x0084f7e0 in cgraph_expand_function (node=0x2e930700) at
../../gcc/cgraphunit.c:1157
#49149 0x0084f990 in cgraph_expand_all_functions () at
../../gcc/cgraphunit.c:1220
#49150 0x0084ff45 in cgraph_optimize () at ../../gcc/cgraphunit.c:1427
#49151 0x00418034 in c_write_global_declarations () at
../../gcc/c-decl.c:8080
#49152 0x006aed3f in compile_file () at ../../gcc/toplev.c:1055
#49153 0x006b092d in do_compile () at ../../gcc/toplev.c:2247
#49154 0x006b0991 in toplev_main (argc=4, argv=0x7fffbbedf868) at
../../gcc/toplev.c:2279
#49155 0x0047b0c3 in main (argc=4, argv=0x7fffbbedf868) at
../../gcc/main.c:35


-- 
   Summary: [4.3/4.4 Regression] SCC VN endless recursion
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: i686-linux


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



[Bug tree-optimization/35811] [4.3/4.4 Regression] SCC VN deep recursion

2008-04-03 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-04-03 09:53 ---
I suppose this is exactly PR35204.

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


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE
Summary|[4.3/4.4 Regression] SCC VN |[4.3/4.4 Regression] SCC VN
   |endless recursion   |deep recursion


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



[Bug fortran/35810] New: [F2003] Automatic reallocation on assignment to allocatable variables

2008-04-03 Thread burnus at gcc dot gnu dot org
The following is invalid Fortran 95 but valid Fortran 2003 as the variable is
reallocated:

integer, allocatable :: a(:)
allocate(a(1))
print *, size(a)
a = [1,2,3]  ! Implicit reallocation.
! Wrong: a(:) = [1,2,3] ! Out of bounds 1 vs. 3
print *, size(a)
end

The Intel compiler already supports this option. It provides the option -assume
[no]realloc_lhs to switch the support on/off. Off is useful for bound checks
and makes the program faster as the bounds do not need to be checked in that
case.

See also the comp.lang.fortran post at:
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/7d5d1e7f4a48071c/7c63fef65ba5ea70?lnk=gstq=realloc_lhs


-- 
   Summary: [F2003] Automatic reallocation on assignment to
allocatable variables
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
OtherBugsDependingO 20585
 nThis:


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



[Bug tree-optimization/35811] [4.3/4.4 Regression] SCC VN endless recursion

2008-04-03 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.1


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



[Bug middle-end/35204] [4.3/4.4 Regression] crash by too deep recursion in DFS tree-ssa-sccvn.c:1898

2008-04-03 Thread rguenth at gcc dot gnu dot org


--- Comment #24 from rguenth at gcc dot gnu dot org  2008-04-03 10:02 
---
It looks ugly as hell, but i have no problem with it  because i'm not
sure you can do better without completely replacing the algorithm :)

as it seems only wine is affected (and there is the -fno-tree-fre -fno-tree-pre
workaround) I didn't yet bother to apply this patch.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||02/msg00759.html


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



[Bug middle-end/35204] [4.3/4.4 Regression] crash by too deep recursion in DFS tree-ssa-sccvn.c:1898

2008-04-03 Thread rguenth at gcc dot gnu dot org


--- Comment #23 from rguenth at gcc dot gnu dot org  2008-04-03 09:53 
---
*** Bug 35811 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu dot org


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



[Bug fortran/35810] [F2003] Automatic reallocation on assignment to allocatable variables

2008-04-03 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2008-04-03 09:04 ---
One thing to add: Seemingly gfortran supports reallocation for allocatable
components (by itself a F2003 feature) using the constructor (see example), but
not without constructor.

Additionally, while a simple example (as below) works, the long example in the
thread above is failing in some cases. (See link.)

type t
  integer, allocatable :: a(:)
end type t
type(t) :: a
allocate(a%a(1))
print *, size(a%a) ! print 1  (OK)
a = t([1,2,3])
print *, size(a%a) ! prints 2 (OK)
end


-- 


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



[Bug c++/35758] [4.3/4.4 Regression] vector_size attribute lost in function arguments for templates

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #10 from jakub at gcc dot gnu dot org  2008-04-03 10:23 ---
See http://gcc.gnu.org/ml/gcc-patches/2008-04/msg00177.html
for details.
I guess before moving further along with this, attributes for parameter packs
should be decided upon.  Do we want to allow them at all?  What actually will
they mean, when they in fact change the type?

#define vector __attribute__((__vector_size__ (16)))

template typename... T void foo (int x, vector T... y) { }
void bar (vector long a, vector double b, vector long c, vector double d)
{
  foolong, double (5, a, b, c, d);
  foolong, double, long, double (6, a, b, c, d);
  foolong, double (7, 17, 18.0, 19L, 20.0);
}
ATM g++ will grok just the last foo call (and incorrectly, as the foo function
will expect to get int and 4 vectors as arguments, while the caller passes 5
scalars).


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug middle-end/35809] default case label for casesi should be spliced off from last element

2008-04-03 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-04-03 09:52 ---
Confirmed.


-- 

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 |2008-04-03 09:52:38
   date||


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



[Bug c++/35758] [4.3/4.4 Regression] vector_size attribute lost in function arguments for templates

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2008-04-03 11:28 ---
Actually, to clarify #c10, attributes on parameter packs just make things
harder on the compiler side, but even in C++98 the same issue is present:
#define vector __attribute__((__vector_size__ (16)))

template typename T void foo (int x, vector T y) { }
void bar (vector long a, vector double b)
{
  foolong (5, a);
  foo (5, b);
}

If we apply late template attributes in fn_type_unification, then the foolong
(5, a); call will work as expected, but should the second call deduce template
parameter double or vector double?  If the latter (which would be weird), then
it will fail, because vector_size attribute can't be applied to a VECTOR_TYPE.

Are there any attributes other than vector_size which affect the decls
similarly?
If not, I'd say that the C++ FE should hardcode some knowledge about this
attribute, e.g. know that it applies to the type, so if
processing_template_decl
move them from DECL_ATTRIBUTES to corresponding type's TYPE_ATTRIBUTES (either
the parameter type such that it would be in TYPE_ARG_TYPES too, or for
FUNCTION_TYPE/METHOD_TYPE stick it into return type's TYPE_ATTRIBUTES).
And in type_unification_real take it into account.


-- 


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



[Bug rtl-optimization/35812] New: redundant range check in trivial switch statements

2008-04-03 Thread mikpe at it dot uu dot se
The code generated for switch (n  7) which has all possible cases (0-7)
includes a redundant range check.

To illustrate, this source code:

void foo(unsigned int *d, const unsigned int *s, unsigned int n)
{
switch (n  7) {
  case 7:
d[7] = s[7];
break;
  case 6:
d[6] = s[6];
break;
  case 5:
d[5] = s[5];
break;
  case 4:
d[4] = s[4];
break;
  case 3:
d[3] = s[3];
break;
  case 2:
d[2] = s[2];
break;
  case 1:
d[1] = s[1];
break;
  case 0:
d[0] = s[0];
break;
}
}

compiles (gcc-4.2.3 -O2 -fomit-frame-pointer -S) to:

.text
.p2align 4,,15
.globl foo
.type   foo, @function
foo:
movl12(%esp), %eax
andl$7, %eax
cmpl$7, %eax
ja  .L12
jmp *.L11(,%eax,4)
.section.rodata
.align 4
.align 4
.L11:
.long   .L3
.long   .L4
.long   .L5
.long   .L6
.long   .L7
.long   .L8
.long   .L9
.long   .L10
(the rest omitted)

In the sequence:
andl$7, %eax
cmpl$7, %eax
ja  .L12
the compare-and-jump can never trigger.


-- 
   Summary: redundant range check in trivial switch statements
   Product: gcc
   Version: 4.2.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mikpe at it dot uu dot se
  GCC host triplet: i686-pc-linux-gnu


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



[Bug target/35795] [4.4 Regression] Revision 133787 breaks ia64

2008-04-03 Thread hjl at gcc dot gnu dot org


--- Comment #8 from hjl at gcc dot gnu dot org  2008-04-03 12:50 ---
Subject: Bug 35795

Author: hjl
Date: Thu Apr  3 12:49:27 2008
New Revision: 133868

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133868
Log:
2008-04-03  Jan Hubicka  [EMAIL PROTECTED]

PR tree-optimization/35795
* alpha/alpha.c (alpha_output_mi_thunk_osf): Free after compilation.
* sparc/sparc.c (sparc_output_mi_thunk): Likewise.
* ia64/ia64.c (ia64_output_mi_thunk): Likewise.
* m68k/m68k.c (m68k_output_mi_thunk): Likewise.
* score/score3.c (score3_output_mi_thunk): Likewise.
* score/score7.c (score7_output_mi_thunk): Likewise.
* mips/mips.c (mips_output_mi_thunk): Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/alpha/alpha.c
trunk/gcc/config/ia64/ia64.c
trunk/gcc/config/m68k/m68k.c
trunk/gcc/config/mips/mips.c
trunk/gcc/config/score/score3.c
trunk/gcc/config/score/score7.c
trunk/gcc/config/sparc/sparc.c


-- 


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



[Bug c++/35813] New: ICE with partial specialization of variadic templates

2008-04-03 Thread sultansharem at gmx dot ch
code,

template int N, typename... P struct i { typedef i t; };

template typename I struct n;

template typename... E, int N struct niN, E...  : iN+1, E... { };

template typename... E struct nisizeof...(E), E...  : isizeof...(E),
E... { };

typedef i1, char  t;
typedef nt::t x;

leads to internal compiler error: tree check: expected tree_vec, have
type_pack_expansion in tsubst_copy_and_build, at cp/pt.c:10829


-- 
   Summary: ICE with partial specialization of variadic templates
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sultansharem at gmx dot ch


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



[Bug c++/35814] New: demangler fails on variadic template with empty parameter pack

2008-04-03 Thread sultansharem at gmx dot ch
code:

#include typeinfo
#include cassert

namespace __cxxabi {
extern C char* __cxa_demangle(const char* mangled_name, char* buf,
size_t* n, int*status);
}

template typename...
struct p {};

int main()
{
int r;
assert(__cxxabi::__cxa_demangle(typeid(p).name(),0,0,r));
}


-- 
   Summary: demangler fails on variadic template with empty
parameter pack
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sultansharem at gmx dot ch


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



[Bug target/35795] [4.4 Regression] Revision 133787 breaks ia64

2008-04-03 Thread joel at gcc dot gnu dot org


--- Comment #9 from joel at gcc dot gnu dot org  2008-04-03 13:44 ---
I am pretty sure I saw this one targeting sparc-rtems.  Building an updated
tree now to confirm it is the fix. 

../../../../gcc/libstdc++-v3/src/iostream-inst.cc: In member function 'void
std::basic_iostreamchar, std::char_traitschar ::_ZThn8_NSdD1Ev()':
../../../../gcc/libstdc++-v3/src/iostream-inst.cc:51: internal compiler error:
in prepare_function_start, at function.c:3940


-- 

joel at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||joel at gcc dot gnu dot org


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



[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-03 Thread joel dot sherrill at oarcorp dot com


--- Comment #35 from joel dot sherrill at oarcorp dot com  2008-04-03 14:30 
---
Subject: Re:  Branch to 0x0 from Ada run-time

laurent at guerby dot net wrote:
 --- Comment #34 from laurent at guerby dot net  2008-04-03 03:47 ---
 May be other platform aligned the record 8 byte hence hiding the issue, and 
 x86
 only 4 bytes hence showing it.

   
That's got to be it but how so many tests would pass is baffling.
This seems like something that should have resulted in more
failures.

FYI PR35795 kept me from getting test results on the sparc.  It
was fixed overnight and I want to make sure sparc is OK before
submitting test results.

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


-- 


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



[Bug fortran/35786] OpenMP Fortran PRIVATE on parameter gives error in gfc_finish_var_decl

2008-04-03 Thread jakub at gcc dot gnu dot org


-- 

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 |
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||04/msg00269.html
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-04-01 13:22:13 |2008-04-03 14:57:20
   date||


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



[Bug c++/35815] New: partial specialization of variadic templates with different order of parameter results in different semantics

2008-04-03 Thread sultansharem at gmx dot ch
the static 2nd static assertion in x() fails. if the other partial
specialization of template d is used, the code works as expected. As you can
see the only difference between these d's is, that the T parameter is at a
different position which shouldn't make a difference to the outcome of typedef
T t;
code
template class...
   struct p;

template class A, class B struct i { typedef i t; };

template class I struct d;
template class I struct n;

template class... L, class T, class... R struct nipL..., pT, R...   :
ipL..., T, pR...  {};

#if 1
template class... L, class T, class... R
struct dipL..., pT, R...  
{
typedef T   t;
};

#else
template class T, class... L, class... R
struct dipL..., pT, R...  
{
typedef T   t;
};
#endif

template class A, class B struct is_same  { static const bool v=false; };

template class A struct is_sameA, A { static const bool v=true; };

void x()
{
typedef ip, pshort, int, bool i0;
static_assert(is_samedi0::t, short::v,);

typedef ni0::ti1;
static_assert(is_samedi1::t, int::v,);
}


-- 
   Summary: partial specialization of variadic templates with
different order of parameter results in different
semantics
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sultansharem at gmx dot ch


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



[Bug rtl-optimization/33642] unrecognizable insn for -frtl-abstract-sequences

2008-04-03 Thread dominiq at lps dot ens dot fr


--- Comment #19 from dominiq at lps dot ens dot fr  2008-04-03 15:04 ---
(In reply to comment #17)
 I tried the patch referenced in comment #16 on powerpc64-linux.  It
 allows tests pr11832.c and pr33009 to pass, but adding
 -frtl-abstract-sequences to all tests causes several tests to timeout on
 compilation, and gcc.dg/pr32912-1.c fails at execution for -m32.  I built
 the C tests from SPEC CPU2000 with -O2 -frtl-abstract-sequences using
 the patched compiler and ran them with the short test input.  A couple
 took a very long time to compile (try, for example, the file toke.c in
 test perlbmk) and four failed at execution time: vpr and crafty for -m32,
 gcc and gap for -m64.

I am not sure to understand: does it mean that the failures were 
introduced by the patch? i.e., did you do the same tests for without the 
patch? I don't know how '-frtl-abstract-sequences' is working, but I won't 
be surprised if its cost is quadratic in the size of the problem.

The gcc manual says:

...
-O3
Optimize yet more.  -O3 turns on all optimizations specified by -O2 and
also turns on the -finline-functions, -funswitch-loops,
-fpredictive-commoning, -fgcse-after-reload and -ftree-vectorize options.
...
-frtl-abstract-sequences
It is a size optimization method.  This option is to find identical
sequences of code, which can be turned into pseudo-procedures and then
replace all occurrences with calls to the newly created subroutine.  It is
kind of an opposite of -finline-functions.  This optimization runs at RTL
level.

Although I have no doubt that examples can be crafted that show a speed
increase with '-O3 -frtl-abstract-sequences', the net result of this
combination will probably a (much) longer compilation time and a poor
overall result.  It seems to me that '-frtl-abstract-sequences' is more
intended to complement the '-Os' option, so I did the following comparison
on the polyhedron benchmark (I don't have access to SPEC). Three tests 
failed to compile, two shown a less than 10% decrease in the executable 
size at the expense of more than a factor 3 in the compile time.

Core2Duo 2.16Ghz, i686-apple-darwin9, gcc version 4.4.0 20080403 (experimental)
(GCC) 
+ patches (including the patch referenced in comment #16):


Polyhedron Benchmark Validator
Copyright (C) Polyhedron Software Ltd - 2004 - All rights reserved



 -Os-Os -frtl-...   -m64 -O3
...

  Benchmark   Compile  Executable   Compile  Executable   Compile 
Executable
   Name(secs) (bytes)(secs) (bytes)(secs)
(bytes)
  -   ---  ---   ---  -   --- 
--
 ac  0.92   25748  1.82   25748  4.32  
46616
 aermod*80.06  980996298.68  931844106.97
1225304
air  4.24   56048  8.41   56048  6.97  
73200
   capacita  1.86   35232  1.91   35232  3.78  
64520
channel  0.85   25888  1.91   0  2.61  
42752
  doduc  8.47  117396  9.11  117396 15.18 
183600
fatigue* 2.94   6 18.51   51460  6.18  
76696
gas_dyn  2.20  646272  2.91  642176  6.39 
700392
 induct  8.50  131152 29.73   0 13.41 
160672
  linpk  0.78   17508  0.66   17508  1.58  
38400
   mdbx  2.52   47760  2.64   47760  3.92  
68856
 nf  0.90   21804  0.93   21804 24.34 
153240
protein  3.46   56228  6.49   0 11.10 
118240
 rnflow  4.07   55936  4.79   55936 11.31 
167240
   test_fpu  3.29   46996  3.89   46996 10.35 
154176
   tfft  0.62   17704  0.62   17704  1.42  
26392

  Benchmark   Ave Run  Number   Estim   Ave Run  Number   Estim   Ave Run 
Number   Estim
   Name(secs) Repeats   Err %(secs) Repeats   Err %(secs)
Repeats   Err %
  -   --- ---  ---   --- ---  -   ---
---  --
 ac 23.40   2  0.1197 23.45   2  0.0149 12.59  
2  0.0318
 aermod 44.30   2  0.0508 44.76   2  0.1251 29.77  
2  0.1411
air 14.43   2  0.0139 15.06   5  1.2305  8.57  
3  0.1683
   capacita 82.95   2  0.0645 82.25   2  0.1088 55.79  
2  0.1434
channel  7.34   5  0.1510 -1.00   2  0.1088  2.41  
5  1.6186
  doduc 61.77   2  0.0559

[Bug bootstrap/35804] Bootstrap of combined gcc + binutils, with --enable-shared, with sysroot fails

2008-04-03 Thread oblivian at users dot sourceforge dot net


--- Comment #7 from oblivian at users dot sourceforge dot net  2008-04-03 
15:07 ---
They re-closed the binutils bug as invalid again and told me to open a new one.

So here's the new one http://sourceware.org/bugzilla/show_bug.cgi?id=6027
We'll see if it gets any more traction.


-- 


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



[Bug rtl-optimization/33642] unrecognizable insn for -frtl-abstract-sequences

2008-04-03 Thread dominiq at lps dot ens dot fr


--- Comment #20 from dominiq at lps dot ens dot fr  2008-04-03 15:22 ---
I have reverted the patch referenced in comment #16 and the 16 tests fail as
with gfortran 4.3.


-- 


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



[Bug target/35795] [4.4 Regression] Revision 133787 breaks ia64

2008-04-03 Thread hubicka at ucw dot cz


--- Comment #10 from hubicka at ucw dot cz  2008-04-03 15:44 ---
Subject: Re:  [4.4 Regression] Revision 133787 breaks ia64

 I am pretty sure I saw this one targeting sparc-rtems.  Building an updated
 tree now to confirm it is the fix. 
 
 ../../../../gcc/libstdc++-v3/src/iostream-inst.cc: In member function 'void
 std::basic_iostreamchar, std::char_traitschar ::_ZThn8_NSdD1Ev()':
 ../../../../gcc/libstdc++-v3/src/iostream-inst.cc:51: internal compiler error:
 in prepare_function_start, at function.c:3940

sparc, alpha, m68k, score and mips contained same problem, so hopefully
it is fixed now.

Honza


-- 


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



[Bug libstdc++/35816] New: libstdc++ built during bootstrap is pulling in host g++ support for atomic builtins

2008-04-03 Thread oblivian at users dot sourceforge dot net
When compiling a combined gcc + g++ + binutils, the configure script for the
libstdc++ library is using the host g++ rather than the last stage g++ for
determining atomic builtin support status.

While I probably need to compile the toolchain with CXXFLAGS=-march=i486, from
what I've read, to enable support for atomic builtins in the compiler, I did
not.  This resulted in a target g++ that did not support atomic builtins and a
libstdc++ that expected the compiler did because it got the value from checking
the host g++ rather than the final bootstrap stage g++.

The configure parameters were:
  --prefix=/$(TOOLS_DIR)/usr \
  --with-sysroot=/$(TOOLS_DIR) \
  --with-pic \
  --enable-shared \
  --enable-clocale=gnu \
  --enable-threads=posix \
  --enable-__cxa_atexit \
  --enable-languages=c,c++ \
  --enable-checking=release \
  --disable-werror \
  --enable-stage1-checking \
  --enable-bootstrap


-- 
   Summary: libstdc++ built during bootstrap is pulling in host g++
support for atomic builtins
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: oblivian at users dot sourceforge dot net


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



[Bug rtl-optimization/35812] redundant range check in trivial switch statements

2008-04-03 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-04-03 16:19 ---
Fixed in 4.4:

foo:
.LFB2:
andl$7, %edx
jmp *.L10(,%rdx,8)
...


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug target/35795] [4.4 Regression] Revision 133787 breaks ia64

2008-04-03 Thread joel at gcc dot gnu dot org


--- Comment #11 from joel at gcc dot gnu dot org  2008-04-03 16:19 ---
(In reply to comment #10)
 Subject: Re:  [4.4 Regression] Revision 133787 breaks ia64
 
  I am pretty sure I saw this one targeting sparc-rtems.  Building an updated
  tree now to confirm it is the fix. 
  
  ../../../../gcc/libstdc++-v3/src/iostream-inst.cc: In member function 'void
  std::basic_iostreamchar, std::char_traitschar ::_ZThn8_NSdD1Ev()':
  ../../../../gcc/libstdc++-v3/src/iostream-inst.cc:51: internal compiler 
  error:
  in prepare_function_start, at function.c:3940
 
 sparc, alpha, m68k, score and mips contained same problem, so hopefully
 it is fixed now.

My sparc build is past this point now so I think it is fixed there.


-- 


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



[Bug target/35795] [4.4 Regression] Revision 133787 breaks ia64

2008-04-03 Thread hjl dot tools at gmail dot com


--- Comment #12 from hjl dot tools at gmail dot com  2008-04-03 16:21 
---
Fixed.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug tree-optimization/35817] New: [ira] Error in init_move_cost, at regclass.c:321

2008-04-03 Thread mstein dot lists at googlemail dot com
Hi,
I get an ICE when compiling vector-2.c with -fira:

Executing on host: /home/mstein/sim/ira/arm-elf/build/gcc/xgcc
-B/home/mstein/sim/ira/arm-elf/build
/gcc/   -O0  -w -DSTACK_SIZE=16384 -fno-show-column -c-fira -o vector-2.o
/home/mstein/svn/ira/
gcc/testsuite/gcc.c-torture/compile/vector-2.c(timeout = 800)
/home/mstein/svn/ira/gcc/testsuite/gcc.c-torture/compile/vector-2.c: In
function 'getCapsule':
/home/mstein/svn/ira/gcc/testsuite/gcc.c-torture/compile/vector-2.c:12:
internal compiler error: in
 init_move_cost, at regclass.c:321
Please submit a full bug report,

rev 133844


-- 
   Summary: [ira] Error in init_move_cost, at regclass.c:321
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mstein dot lists at googlemail dot com
GCC target triplet: arm-elf


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



[Bug c/35751] ICE with invalid variable after #pragma omp parallel

2008-04-03 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-03-30 20:57:39 |2008-04-03 16:44:46
   date||


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



[Bug middle-end/35818] New: ICE on incomplete array in shared clause

2008-04-03 Thread jakub at gcc dot gnu dot org
extern int a[];

void
foo (void)
{
#pragma omp parallel
#pragma omp master
  a[3] = 1;
#pragma omp parallel shared(a)
#pragma omp master
  a[3] = 1;
}
ICEs, because is_variable_sized doesn't expect incomplete types.


-- 
   Summary: ICE on incomplete array in shared clause
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code, openmp
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: jakub at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug rtl-optimization/33642] unrecognizable insn for -frtl-abstract-sequences

2008-04-03 Thread janis at gcc dot gnu dot org


--- Comment #21 from janis at gcc dot gnu dot org  2008-04-03 17:04 ---
Dominique, in answer to your question in comment #19, without the patch any
code for powerpc*-linux gets an ICE as reported originally.  The very long
compilation times are a concern, but wrong code in four CPU2000 tests is much
worse.  With the patch, tests vpr and crafty pass with -m32 -Os
-frtl-abstract-sequences, but with -m64 -Os -frtl-abstract-sequences test gcc
fails at runtime and test gap hangs at runtime.

I'm providing this information to let the developers know that the patch isn't
ready.  I can test later versions.  I don't have time, however, to minimize
runtime failures in SPEC tests to help pinpoint the problems.


-- 


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



[Bug libstdc++/35816] libstdc++ built during bootstrap is pulling in host g++ support for atomic builtins

2008-04-03 Thread oblivian at users dot sourceforge dot net


--- Comment #1 from oblivian at users dot sourceforge dot net  2008-04-03 
17:34 ---
After looking back at my 4.2.3 build logs.  The above is somewhat incorrect. 
In 4.2.3, the pass 2 toolchain build of libstdc++ correctly checked the target
g++ rather than the host and reported that it would not use atomic builtins. 
It appears that this has changed in 4.3.0 or is an artifact of using sysroot
(which should not look at the host g++ for configuration options).


-- 


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



[Bug fortran/35819] New: internal compiler error with forall

2008-04-03 Thread dick dot hendrickson at gmail dot com



-- 
   Summary: internal compiler error with forall
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dick dot hendrickson at gmail dot com


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



[Bug fortran/35820] New: internal compiler error with forall

2008-04-03 Thread dick dot hendrickson at gmail dot com
The following program causes an internal compiler error.
Each of the three subroutines causes an ICE.  The ICE moves
around or goes away when I try to simplify the test much
more.

! fails on Windows XP
! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139]

Dick Hendrickson

  MODULE TESTS


  IMPLICIT CHARACTER(LEN=9) (B)
  IMPLICIT CHARACTER(LEN=1) (C)
  IMPLICIT CHARACTER(LEN=9) (E)
  IMPLICIT CHARACTER(LEN=1) (F)
  IMPLICIT REAL(KIND=4)(R)
  IMPLICIT REAL(KIND=8)(D)
  IMPLICIT INTEGER (I)
  IMPLICIT INTEGER (H)
  IMPLICIT LOGICAL (L)
  IMPLICIT LOGICAL (G)
  IMPLICIT COMPLEX(KIND=4) (Z)
  IMPLICIT COMPLEX(KIND=8) (Y)
  IMPLICIT CHARACTER (A,J,K,M,N,O,P,S,T,U,V,W)
  INTEGER,PARAMETER,PUBLIC  ::  NF_KV = KIND(1)

  INTEGER,PARAMETER,PUBLIC  ::  I1_KV = KIND(1)
  INTEGER,PARAMETER,PUBLIC  ::  I2_KV = I1_KV

  INTEGER,PARAMETER,PUBLIC  ::  R1_KV = KIND(1.0)
  INTEGER,PARAMETER,PUBLIC  ::  R2_KV = KIND(1.0D0)

  INTEGER,PARAMETER,PUBLIC  ::  L1_KV = KIND(.TRUE.)
  INTEGER,PARAMETER,PUBLIC  ::  L2_KV = L1_KV

  INTEGER,PARAMETER,PUBLIC  ::  C1_KV = KIND('A')
  INTEGER,PARAMETER,PUBLIC  ::  C2_KV = C1_KV
  INTEGER, PARAMETER, PUBLIC  ::  NPBIG=1000
  INTEGER, PARAMETER, PUBLIC  ::  NPSIZE = 5
  INTEGER, PARAMETER, PUBLIC  ::  NPBIGM = NPBIG-1
  INTEGER, PUBLIC, PARAMETER  ::
 $   NP0 = 0,
 $   NP1 = 1,
 $   NP2 = 2,
 $   NP3 = 3,
 $   NP4 = 4,
 $   NP5 = 5,
 $   MP1 = -1,
 $   MP2 = -2,
 $   MP3 = -3,
 $   MP4 = -4,
 $   MP5 = -5
  INTEGER, SAVE ::  NF0,NF1,NF2,NF3,NF4,NF5,
 $ NF6,NF7,NF8,NF9,NF10,
 $ NFBIGM,NFBIG,
 $ MF1,MF2,MF3,MF4,MF5,
 $ MF6,MF7,MF8,MF9,MF10,
 $ MFBIGM,MFBIG
  CHARACTER, PRIVATE :: I,J,K,L,M,N
  INTEGER, PRIVATE :: J1,J2,J3,J4,J5,J6,J7,JJJ
  INTEGER, PRIVATE :: ISTAT
  INTEGER(NF_KV), PRIVATE, PARAMETER  ::
 $ NP6=6, NP7=7, NP8=8, NP9=9, NP10=10,
 $ MP6=-6, MP7=-7, MP8=-8, MP9=-9, MP10=-10
  CONTAINS
  SUBROUTINE SA0136(RDA,IDA,BDA)
  REAL(R1_KV) RDA(10)
  INTEGER(I1_KV) IDA(10,9)
  CHARACTER(9,C1_KV) BDA(10,9,5)
  INTEGER(I1_KV) ICA(10,9)
  COMMON /IF/ IF(NPBIG*NPSIZE)
  EQUIVALENCE (ICA,IF(1))
  REAL(R1_KV) RCA(10)
  COMMON /RF/ RF(NPBIG*NPSIZE)
  EQUIVALENCE (RCA,RF(1))
  CHARACTER(9,C1_KV) BCA(10,9,5)
  COMMON /BF/ BF(NPBIG*NPSIZE)
  EQUIVALENCE (BCA,BF(1))
!  I N I T I A L I Z A T I O N  S E C T I O N
  RDA = RCA
  IDA = ICA
  BDA = BCA
!  T E S T  S T A T E M E N T S
  FORALL (J1 = 1:10)
RDA(J1) = RCA(J1) + 1.0_R1_KV
FORALL (J2 = 1:9)
  FORALL (J3 = 1:5)
BDA(J1,J2,J3) = X//BCA(J1,J2,J3)
  END FORALL
  IDA(J1,J2) = ICA(J1,J2) + 1
END FORALL
  ENDFORALL
  END SUBROUTINE
  SUBROUTINE SA0137(RDA,YDA,BDA,IDA,NDS10,NDS9)
  INTEGER(NF_KV) :: NDS10
  INTEGER(NF_KV) :: NDS9
  REAL(R1_KV) RDA(NF10)
  COMPLEX(R2_KV) YDA(NDS10,NF9)
  CHARACTER(9,C1_KV) BDA(NF10,NDS9,NF5)
  INTEGER(I1_KV) IDA(NF10)
  COMPLEX(R2_KV) YCA(10,9)
  COMMON /YF/ YF(NPBIG*NPSIZE)
  EQUIVALENCE (YCA,YF(1))
  REAL(R1_KV) RCA(10)
  COMMON /RF/ RF(NPBIG*NPSIZE)
  EQUIVALENCE (RCA,RF(1))
  INTEGER(I1_KV) ICA(10)
  COMMON /IF/ IF(NPBIG*NPSIZE)
  EQUIVALENCE (ICA,IF(1))
  CHARACTER(9,C1_KV) BCA(10,9,5)
  COMMON /BF/ BF(NPBIG*NPSIZE)
  EQUIVALENCE (BCA,BF(1))
!  I N I T I A L I Z A T I O N  S E C T I O N
  RDA(1:10) = RCA
  YDA(1:10,1:9) = YCA
  BDA(1:10,1:9,1:5) = BCA
  IDA(1:10) = ICA
!  T E S T  S T A T E M E N T S
  FORALL (J1 = NF1:NF10)
RDA(J1) = RCA(J1) + 1.0_R1_KV
FORALL (J2 = NF1:NF9)
  FORALL (J3 = NF1:NF5)
BDA(J1,J2,J3) = X//BCA(J1,J2,J3)
  END FORALL
  YDA(J1,J2) = YCA(J1,J2) + 1
END FORALL
IDA(J1) = ICA(J1) + 1
  ENDFORALL
  END SUBROUTINE
  SUBROUTINE SA0138(RDA,YDA,BDA,IDA,NDS10,NDS9)
  INTEGER(NF_KV) :: NDS10
  INTEGER(NF_KV) :: NDS9
  REAL(R1_KV) RDA(NF10)
  COMPLEX(R2_KV) YDA(NDS10,NF9)
  CHARACTER(9,C1_KV) BDA(NF10,NDS9,NF5)
  INTEGER(I1_KV) IDA(NF10)
  COMPLEX(R2_KV) YCA(10,9)
  COMMON /YF/ YF(NPBIG*NPSIZE)
  EQUIVALENCE (YCA,YF(1))
  REAL(R1_KV) RCA(10)
  COMMON /RF/ RF(NPBIG*NPSIZE)
  EQUIVALENCE (RCA,RF(1))
  CHARACTER(9,C1_KV) BCA(10,9,5)
  COMMON /BF/ BF(NPBIG*NPSIZE)
  EQUIVALENCE (BCA,BF(1))
  INTEGER(I1_KV) ICA(10)
  COMMON /IF/ IF(NPBIG*NPSIZE)
  EQUIVALENCE (ICA,IF(1))
!  I N I T I A L I Z A T I O N  S E C T I O N
  RDA(1:10) = RCA
  YDA(1:10,1:9) 

[Bug fortran/35819] internal compiler error with forall

2008-04-03 Thread dick dot hendrickson at gmail dot com


--- Comment #1 from dick dot hendrickson at gmail dot com  2008-04-03 18:37 
---
Obviously, ignore this one.  I must have hit enter
by mistake


-- 


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



[Bug c/35738] ICE with #pragma omp atomic and conversion from pointer to int

2008-04-03 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-03-30 20:50:03 |2008-04-03 19:22:30
   date||


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



[Bug tree-optimization/30911] VRP fails to eliminate range checks in Ada code

2008-04-03 Thread rguenth at gcc dot gnu dot org


--- Comment #68 from rguenth at gcc dot gnu dot org  2008-04-03 19:52 
---
I am no longer working on specifically this.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug fortran/35820] internal compiler error with forall

2008-04-03 Thread dominiq at lps dot ens dot fr


--- Comment #1 from dominiq at lps dot ens dot fr  2008-04-03 20:30 ---
The code compiles fine on (powerpc|i686)-apple-darwin9. Would it be possible to
check how the executable works?


-- 


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



[Bug libstdc++/35816] libstdc++ build during bootstrap is optimizing away atomic builtin check

2008-04-03 Thread oblivian at users dot sourceforge dot net


--- Comment #2 from oblivian at users dot sourceforge dot net  2008-04-03 
20:45 ---
Ok so the gcc/g++ i build has optimization on by default. The configuration
scripts don't seem to take this into account and the call to CXX for the atomic
check is optimizing away the check in the output assembly code; thus, the grep
for __sync_fetch_and_add fails and does not turn off atomic builtins.  

the following is right before the code generation in the configure file
  # Fake what AC_TRY_COMPILE does.  XXX Look at redoing this new-style.

The check probably needs to also take into account optimization so that the
check for __sync_fetch_and_add can not be removed regardless of optimization
flags.

To revert to 4.2.3 behavior I inserted a -O0 in the ac_compile command for the
check.


-- 

oblivian at users dot sourceforge dot net changed:

   What|Removed |Added

Summary|libstdc++ built during  |libstdc++ build during
   |bootstrap is pulling in host|bootstrap is optimizing away
   |g++ support for atomic  |atomic builtin check
   |builtins|


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



[Bug middle-end/35818] ICE on incomplete array in shared clause

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2008-04-03 21:03 ---
Subject: Bug 35818

Author: jakub
Date: Thu Apr  3 21:02:44 2008
New Revision: 133875

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133875
Log:
PR middle-end/35818
* omp-low.c (scan_sharing_clauses) case OMP_CLAUSE_SHARED: Don't
call is_variable_sized if decl has incomplete type.

* gcc.dg/gomp/pr35818.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/gomp/pr35818.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/omp-low.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c/35738] ICE with #pragma omp atomic and conversion from pointer to int

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2008-04-03 21:04 ---
Subject: Bug 35738

Author: jakub
Date: Thu Apr  3 21:03:54 2008
New Revision: 133876

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133876
Log:
PR c/35738
* c-parser.c (c_parser_omp_atomic): Call
default_function_array_conversion on the RHS.

* gcc.dg/gomp/pr35738.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/gomp/pr35738.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-parser.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/35786] OpenMP Fortran PRIVATE on parameter gives error in gfc_finish_var_decl

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2008-04-03 21:21 ---
Subject: Bug 35786

Author: jakub
Date: Thu Apr  3 21:20:53 2008
New Revision: 133877

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133877
Log:
PR fortran/35786
* openmp.c (resolve_omp_clauses): Diagnose if a clause symbol
isn't a variable.

* gfortran.dg/gomp/pr35786-1.f90: New test.
* gfortran.dg/gomp/pr35786-2.f90: New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/gomp/pr35786-1.f90
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/gomp/pr35786-2.f90
Modified:
branches/gcc-4_3-branch/gcc/fortran/ChangeLog
branches/gcc-4_3-branch/gcc/fortran/openmp.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/35818] ICE on incomplete array in shared clause

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2008-04-03 21:23 ---
Subject: Bug 35818

Author: jakub
Date: Thu Apr  3 21:22:41 2008
New Revision: 133878

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133878
Log:
PR middle-end/35818
* omp-low.c (scan_sharing_clauses) case OMP_CLAUSE_SHARED: Don't
call is_variable_sized if decl has incomplete type.

* gcc.dg/gomp/pr35818.c: New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/gomp/pr35818.c
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/omp-low.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c/35738] ICE with #pragma omp atomic and conversion from pointer to int

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-04-03 21:25 ---
Subject: Bug 35738

Author: jakub
Date: Thu Apr  3 21:24:28 2008
New Revision: 133879

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133879
Log:
PR c/35738
* c-parser.c (c_parser_omp_atomic): Call
default_function_array_conversion on the RHS.

* gcc.dg/gomp/pr35738.c: New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/gomp/pr35738.c
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/c-parser.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/35818] ICE on incomplete array in shared clause

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-04-03 21:25 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug fortran/35786] OpenMP Fortran PRIVATE on parameter gives error in gfc_finish_var_decl

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2008-04-03 21:25 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c/35738] ICE with #pragma omp atomic and conversion from pointer to int

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2008-04-03 21:26 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/35786] OpenMP Fortran PRIVATE on parameter gives error in gfc_finish_var_decl

2008-04-03 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-04-03 21:02 ---
Subject: Bug 35786

Author: jakub
Date: Thu Apr  3 21:01:26 2008
New Revision: 133874

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133874
Log:
PR fortran/35786
* openmp.c (resolve_omp_clauses): Diagnose if a clause symbol
isn't a variable.

* gfortran.dg/gomp/pr35786-1.f90: New test.
* gfortran.dg/gomp/pr35786-2.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/gomp/pr35786-1.f90
trunk/gcc/testsuite/gfortran.dg/gomp/pr35786-2.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/openmp.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/35820] internal compiler error with forall

2008-04-03 Thread dick dot hendrickson at gmail dot com


--- Comment #2 from dick dot hendrickson at gmail dot com  2008-04-03 22:12 
---
Subject: Re:  internal compiler error with forall

On Thu, Apr 3, 2008 at 3:30 PM, dominiq at lps dot ens dot fr
[EMAIL PROTECTED] wrote:


  --- Comment #1 from dominiq at lps dot ens dot fr  2008-04-03 20:30 
 ---
  The code compiles fine on (powerpc|i686)-apple-darwin9. Would it be possible 
 to
  check how the executable works?

Not easily, from my point of view.  This is an isolated part of a
large test suite.  I
spent a couple of half days getting it down to this level.  The
problem is that the
ICE moves around if I do anything.  I've deleted about 160 of the original set
of tests for this isolation.  If I leave the 160 in and delete only 2 of the 3
subroutines I sent in the results are

With SA0136 not removed

gfortran%try_gfortranr s_sa0
working\s_sa0_mods.f
working\s_sa0_tests.f
working\s_sa0_exts.f
1 file(s) copied.
rem.f: In function 'sa0160':
rem.f:5327: internal compiler error: Segmentation fault
[snip]

With SA0137 not removed

gfortran%try_gfortranr s_sa0
working\s_sa0_mods.f
working\s_sa0_tests.f
working\s_sa0_exts.f
1 file(s) copied.
rem.f: In function 'sa0131':
rem.f:4412: internal compiler error: Segmentation fault
[snip]

With SA0138 not removed

gfortran%try_gfortranr s_sa0
working\s_sa0_mods.f
working\s_sa0_tests.f
working\s_sa0_exts.f
1 file(s) copied.
rem.f: In function 'sa0128':
rem.f:4325: internal compiler error: Segmentation fault
[snip]


That is, the ICE appears in 3 different places, depending on which bad
subroutine I leave in the test set.  If I delete the 3 bad routines,
the other 160
all work correctly.

I'm reluctant to send in the whole set for two reasons.  It's large, the 160
subroutines are 19 characters or so and they need a substantial
amount of structure code to work.  Also, the suite is my bread-and-butter
product and I'm reluctant to put part of it in the public domain.

If no one can reproduce the problem on a Windows machine, I can try to
make an executable that fails.

Dick Hendrickson


  --


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

  --- You are receiving this mail because: ---
  You reported the bug, or are watching the reporter.



-- 


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



[Bug fortran/35819] internal compiler error with forall

2008-04-03 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2008-04-03 22:20 ---
Close then as INVALID. Actual bug report is PR 35820


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug fortran/35820] internal compiler error with forall

2008-04-03 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2008-04-03 22:27 ---
Confirm. While I do not get any crash like Dominique, valgrind shows that that
there is a problem:

==20532== Invalid write of size 8
==20532==at 0x463933: resolve_code (resolve.c:5902)
==20532==by 0x4661DB: gfc_resolve_blocks (resolve.c:5988)

==20532== Invalid read of size 8
==20532==at 0x45B12E: gfc_resolve_assign_in_forall (resolve.c:5744)
==20532==by 0x463A5C: resolve_code (resolve.c:5833)

I cannot look at the source as the computer where I've build gfortran is
currently off.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2008-04-03 22:27:15
   date||


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



[Bug target/35013] Incomplete check in RTL for pm() annotation

2008-04-03 Thread eric dot weddington at atmel dot com


-- 

eric dot weddington at atmel dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-04-03 22:28:59
   date||


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



[Bug c/35712] decimal float literal constant zero loses significant trailing zeroes

2008-04-03 Thread janis at gcc dot gnu dot org


--- Comment #1 from janis at gcc dot gnu dot org  2008-04-03 23:50 ---
Subject: Bug 35712

Author: janis
Date: Thu Apr  3 23:49:35 2008
New Revision: 133881

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133881
Log:
2008-04-03  Janis Johnson  [EMAIL PROTECTED]

gcc/
PR c/35712
* dfp.c (decimal_from_decnumber): Retain trailing zeroes for
  decimal-float literal constant zero.

testsuite/
PR c/35712
* gcc.dg/dfp/constants-zero.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/dfp/constants-zero.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dfp.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug target/35713] [4.4 Regression] invalid type for va_arg with _Decimal128

2008-04-03 Thread janis at gcc dot gnu dot org


--- Comment #3 from janis at gcc dot gnu dot org  2008-04-04 00:21 ---
Subject: Bug 35713

Author: janis
Date: Fri Apr  4 00:20:48 2008
New Revision: 133887

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133887
Log:
PR target/35713
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer
  constants of the appropriate size for runtime calculations.

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


-- 


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



[Bug rtl-optimization/35817] [ira] Error in init_move_cost, at regclass.c:321

2008-04-03 Thread vmakarov at gcc dot gnu dot org


--- Comment #1 from vmakarov at gcc dot gnu dot org  2008-04-04 02:05 
---
Subject: Bug 35817

Author: vmakarov
Date: Fri Apr  4 02:04:25 2008
New Revision: 133888

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=133888
Log:
2008-04-03  Vladimir Makarov  [EMAIL PROTECTED]

PR rtl-optimization/35817
* ira-costs.c (ira-costs.c): Check have_regs_of_mode.


Modified:
branches/ira/gcc/ChangeLog
branches/ira/gcc/ira-costs.c


-- 


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



[Bug bootstrap/35155] Ada not building on gcc-4.2.3

2008-04-03 Thread pogma at gcc dot gnu dot org


--- Comment #1 from pogma at gcc dot gnu dot org  2008-04-04 05:30 ---
Fixed in r125309


-- 

pogma at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pogma at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
  Known to fail||4.2.3
  Known to work||4.3.0 4.4.0
   Last reconfirmed|-00-00 00:00:00 |2008-04-04 05:30:27
   date||


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



[Bug target/20366] AIX g++ -D_LARGE_FILES fails to compile #include iostream

2008-04-03 Thread pogma at gcc dot gnu dot org


-- 

pogma at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |pogma at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
  Known to work||4.4.0
   Last reconfirmed|2007-12-21 00:29:21 |2008-04-04 05:31:57
   date||


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



[Bug middle-end/35818] ICE on incomplete array in shared clause

2008-04-03 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.3.1


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