[Bug c++/47723] internal compiler: Segmentation fault - gcc 4.5.2 Arch Linux

2011-05-02 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47723

Eric Botcazou  changed:

   What|Removed |Added

 Status|WAITING |UNCONFIRMED
 Ever Confirmed|1   |0


[Bug rtl-optimization/44249] [4.4/4.5/4.6/4.7 Regression] IRA generates extra register move

2011-05-02 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44249

Eric Botcazou  changed:

   What|Removed |Added

 Status|WAITING |NEW


[Bug testsuite/48498] Several gcc.dg/vect tests XPASS on SPARC

2011-05-02 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48498

Eric Botcazou  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.02 07:30:38
 Ever Confirmed|0   |1

--- Comment #9 from Eric Botcazou  2011-05-02 
07:30:38 UTC ---
Yep.


[Bug rtl-optimization/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu

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

--- Comment #7 from Jakub Jelinek  2011-05-02 
08:52:44 UTC ---
unsigned long int s[12][2]
  = { { 12, ~1 }, { 12, ~2 }, { 12, ~4 }, { 12, ~8 },
  { 12, ~16 }, { 12, ~32 }, { 12, ~64 }, { 12, ~128 },
  { 12, ~256 }, { 12, ~512 }, { 12, ~1024 }, { 12, ~2048 } };
struct { int n; unsigned long *e[12]; } g
  = { 12, { &s[0][1], &s[1][1], &s[2][1], &s[3][1],
&s[4][1], &s[5][1], &s[6][1], &s[7][1],
&s[8][1], &s[9][1], &s[10][1], &s[11][1] } };

int
main ()
{
  int i, j, c[12];
  for (i = 0; i < 12; i++)
c[i] = 0;
  for (i = 0; i < g.n; i++)
for (j = 0; j < g.n; j++)
  {
if (i == j && j < g.e[0][-1] && (g.e[i][0] & (1UL << j)))
  __builtin_exit (0);
if (j < g.e[0][-1] && (g.e[i][0] & (1UL << j)))
  c[i]++;
  }
  for (i = 0; i < 12; i++)
if (c[i] != 11)
  __builtin_abort ();
  return 0;
}

Slightly more reduced.  This one shows clearly on which iteration of the inner
unrolled loop there is some problem, as c during abort is { 10, 11, 10 ... },
which means & 1 testing is performed, & 2 is wrong and & 4 and higher works
too.


[Bug c++/47969] [C++0x] ICE: SIGSEGV in compute_array_index_type (cp/decl.c:7522)

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

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.02 08:55:43
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com
 Ever Confirmed|0   |1

--- Comment #1 from Paolo Carlini  2011-05-02 
08:55:43 UTC ---
I see what's going wrong.


[Bug libstdc++/48760] [4.6 Regression] std::complex constructor buggy in the face of NaN's

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

Richard Guenther  changed:

   What|Removed |Added

 Resolution|WONTFIX |FIXED

--- Comment #32 from Richard Guenther  2011-05-02 
08:46:53 UTC ---
Fixed for 4.7.


[Bug rtl-optimization/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu

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

--- Comment #8 from Jakub Jelinek  2011-05-02 
09:10:23 UTC ---
/* PR rtl-optimization/48774 */
/* { dg-do run } */
/* { dg-options "-O2 -funroll-loops" } */

extern void abort (void);
unsigned long int s[24]
  = { 12, ~1, 12, ~2, 12, ~4, 12, ~8, 12, ~16, 12, ~32,
  12, ~64, 12, ~128, 12, ~256, 12, ~512, 12, ~1024, 12, ~2048 };
struct { int n; unsigned long *e[12]; } g
  = { 12, { &s[0], &s[2], &s[4], &s[6], &s[8], &s[10], &s[12], &s[14],
&s[16], &s[18], &s[20], &s[22] } };
int c[12];

__attribute__((noinline, noclone)) void
foo (void)
{
  int i, j;
  for (i = 0; i < g.n; i++)
for (j = 0; j < g.n; j++)
  {
if (i == j && j < g.e[0][0] && (g.e[i][1] & (1UL << j)))
  abort ();
if (j < g.e[0][0] && (g.e[i][1] & (1UL << j)))
  c[i]++;
  }
}

int
main ()
{
  int i;
  asm volatile ("" : "+m" (s), "+m" (g), "+m" (c));
  foo ();
  for (i = 0; i < 12; i++)
if (c[i] != 11)
  abort ();
  return 0;
}

Apparently the [0][-1] didn't matter, and this testcase also decreases the size
of the miscompiled routine.


[Bug rtl-optimization/48823] gcc-4.6.0 floating-point optimization regression on ia64-Linux

2011-05-02 Thread jdemeyer at cage dot ugent.be
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48823

--- Comment #2 from Jeroen Demeyer  2011-05-02 
09:21:07 UTC ---
Created attachment 24161
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24161
Testcase


[Bug rtl-optimization/48823] gcc-4.6.0 floating-point optimization regression on ia64-Linux

2011-05-02 Thread jdemeyer at cage dot ugent.be
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48823

Jeroen Demeyer  changed:

   What|Removed |Added

 CC||jdemeyer at cage dot
   ||ugent.be

--- Comment #1 from Jeroen Demeyer  2011-05-02 
09:20:23 UTC ---
Minimal code to demonstrate the problem in qd.i.  The problematic flag seems to
be -fexpensive-optimizations.

$ gcc qd.i -O1 -o qd && ./qd
0x1.114580b45d474p+3
$ gcc qd.i -O1 -fexpensive-optimizations -o qd && ./qd
0x1.114580b45d475p+3


[Bug bootstrap/48842] New: [4.7 regression] ICE in evaluate_conditions_for_edge at ipa-inline-analysis.c:537 on Tru64 Unix

2011-05-02 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48842

   Summary: [4.7 regression] ICE in evaluate_conditions_for_edge
at ipa-inline-analysis.c:537 on Tru64 Unix
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org
CC: j...@suse.cz
  Host: alpha-dec-osf5.1b
Target: alpha-dec-osf5.1b
 Build: alpha-dec-osf5.1b


Bootstrap on Tru64 UNIX V5.1B is currently broken when compiling libstdc++:

/var/gcc/regression/trunk/5.1b-gcc/build/alpha-dec-osf5.1b/libstdc++-v3/include/bits/unordered_set.h:398:1:
internal compiler error: vector VEC(tree,base) index domain error, in
evaluate_conditions_for_edge at ipa-inline-analysis.c:537
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
make[4]: *** [alpha-dec-osf5.1b/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1

This is obviously due to this patch:

2011-04-22  Jan Hubicka  

* gengtype.c (open_base_files): Add ipa-inline.h include.
[...]
(true_predicate, single_cond_predicate, false_predicate,
not_inlined_predicate, add_condition, add_clause, and_predicates,
or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
dump_clause, dump_predicate, account_size_time,
evaulate_conditions_for_edge): New functions.

Please fix.

  Rainer


[Bug bootstrap/48842] [4.7 regression] ICE in evaluate_conditions_for_edge at ipa-inline-analysis.c:537 on Tru64 Unix

2011-05-02 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48842

Rainer Orth  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug other/48828] freebsd gcc 4.7 update

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

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #3 from Richard Guenther  2011-05-02 
10:21:24 UTC ---
Fixed in later GCC.  4.2.x is no longer supported.


[Bug driver/48832] -O2 does not imply -fomit-frame-pointer, contrary to --help=optimizers -v -Q

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

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.05.02 10:24:33
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2011-05-02 
10:24:33 UTC ---
Works for me:

> gcc-4.6 -S t.c -m32 -O2
> cat t.s
.file   "t.c"
.text
.p2align 4,,15
.globl  f
.type   f, @function
f:
.LFB0:
movl$1, %eax
ret
...

please show us that output from -v


[Bug c++/48834] [4.7 Regression] -fno-exceptions causes wrong code generation on C++ code

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

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug target/48840] [4.4/4.5/4.7 Regression] assertion failure (old_frame_size == get_frame_size ()) in reload1.c

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

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.4.7


[Bug middle-end/48836] internal compiler error: in execute_todo, at passes.c:1261

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

--- Comment #2 from Richard Guenther  2011-05-02 
10:26:20 UTC ---
+  /* Redirecting edges might lead to a need for vops to be recomputed.  */
+  if (need_ssa_update_p (cfun))

you can omit that check, the updater won't do anything if there is nothing
to do.


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

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

--- Comment #89 from Jan Hubicka  2011-05-02 
10:13:00 UTC ---
This is callgrind profile for our hashtables that are consuming most of time at
WPA stage.  It is from javascript library, but probably close enough for
libxul:

9,413,074  < ipa.c:cgraph_node_set_add (47698x) 
  237,777,114  < lto-streamer-in.c:lto_input_location (253470x) 
  162,391  < cgraph.c:cgraph_same_body_alias_1 (1125x) 
3,481,459  < lto/lto.c:lto_create_files_from_ids (18272x) 
1,262,433,061  < lto-streamer.c:lto_streamer_cache_insert_1 (9456405x) 
1,721,939  < cgraph.c:cgraph_remove_node (13507x) 
   32,443,118  < cgraph.c:cgraph_get_node (254257x) 
   15,700,040  < lto/lto.c:remember_with_vars (88495x) 
  100,462,329  < lto-streamer.c:lto_streamer_cache_lookup (959530x) 
   59,948,506  < lto/lto-object.c:lto_obj_add_section (38584x) 
  551,876,527  < gimple.c:gimple_register_type'2 (9863x) 
   15,332,148  < lto-symtab.c:lto_symtab_get (148180x) 
  123,454,996  < ipa.c:varpool_node_set_find (1090522x) 
  497,594,354  < gimple.c:gimple_register_canonical_type (174920x) 
7,723,287  < lto-section-out.c:lto_output_decl_index (48869x) 
1,363,423  < lto-section-in.c:lto_get_function_in_decl_state (13102x) 
   60,607,732  < ipa.c:cgraph_node_set_find (526286x) 
3,220,597  < varpool.c:varpool_node (19821x) 
3,316,861  < lto-symtab.c:lto_symtab_register_decl (23462x) 
  523,758,152  < lto-streamer-out.c:lto_output_string_with_length (793000x) 
   30,909,893  < lto/lto.c:create_subid_section_table (19190x) 
4,593,607  < cgraph.c:cgraph_create_node (22343x) 
  223,259  < cgraph.c:cgraph_clone_node (1353x) 
   20,940,173  < lto-section-in.c:lto_record_renamed_decl (14960x) 
2,983,016,896  < gimple.c:gimple_register_type (149596x) 
3,876,333  < cgraph.c:cgraph_get_node_or_alias (27793x) 
  123,200  < varpool.c:varpool_remove_node (973x) 
   46,083,990  < tree.c:build_int_cst_wide (247788x) 
4,703,171  < ipa.c:cgraph_node_set_remove (40839x) 
  261,240,516  * libiberty/hashtab.c:htab_find_slo
So it seems that in addition to type merging we have quite few other problems. 
varpool_node_set_find seems just stupid, for example.


[Bug libgomp/48841] [regression] lot more libgomp testsuite failures compared to 4.4.5

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

Richard Guenther  changed:

   What|Removed |Added

 Target||alphaev68-dec-osf5.1a
 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.05.02 10:34:32
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther  2011-05-02 
10:34:32 UTC ---
Please look into the testsuite log file and investigate why we are not able
to create the executable.


[Bug c++/48838] [4.6 Regression] valid template code does not compile

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

Richard Guenther  changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
  Known to work||4.6.0
   Keywords||rejects-valid
   Last reconfirmed||2011.05.02 10:32:20
 Ever Confirmed|0   |1
   Target Milestone|--- |4.6.1
  Known to fail||4.6.1, 4.7.0

--- Comment #2 from Richard Guenther  2011-05-02 
10:32:20 UTC ---
Confirmed.  Regression on the branch, needs investigation.


[Bug testsuite/48498] Several gcc.dg/vect tests XPASS on SPARC

2011-05-02 Thread irar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48498

--- Comment #10 from irar at gcc dot gnu.org 2011-05-02 11:13:31 UTC ---
Author: irar
Date: Mon May  2 11:13:26 2011
New Revision: 173245

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173245
Log:

PR testsuite/48498
* gcc.dg/vect/slp-3.c: Increase loop bound.  Don't expect to fail
on vect_no_align targets.
* gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on
vect_no_align targets.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c
trunk/gcc/testsuite/gcc.dg/vect/slp-3.c


[Bug libfortran/48488] Wrong default format for real numbers

2011-05-02 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48488

Thomas Henlich  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #9 from Thomas Henlich  
2011-05-02 11:24:13 UTC ---
Ok, the precision is now consistently the smallest value that ensures
round-trip conversion for all values.

It may not always look nice, but it fulfills the Fortran standard ("reasonable
processor-dependent values of w, d, and e are used") with "reasonable" being
defined by Pmin(bf) in IEEE 754/2008.

It's the best we can do with this, so I'm closing this one.


[Bug libfortran/48047] Incorrect output rounding of double precision numbers

2011-05-02 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48047

Thomas Henlich  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #11 from Thomas Henlich  
2011-05-02 11:28:08 UTC ---
It is now compliant with IEEE 754/2008.


[Bug middle-end/48836] internal compiler error: in execute_todo, at passes.c:1261

2011-05-02 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48836

--- Comment #3 from Jan Hubicka  2011-05-02 11:37:22 UTC 
---
> +  /* Redirecting edges might lead to a need for vops to be recomputed.  
> */
> +  if (need_ssa_update_p (cfun))
> 
> you can omit that check, the updater won't do anything if there is nothing
> to do.

Yep, I worked that out in meantime. So should I re-check with that change and
commit?
Thanks,
Honza


[Bug tree-optimization/48822] [4.5/4.6/4.7 Regression] G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.

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

Richard Guenther  changed:

   What|Removed |Added

  Known to work|4.6.0   |
  Known to fail||4.6.0, 4.7.0

--- Comment #5 from Richard Guenther  2011-05-02 
11:39:58 UTC ---
Testcase that breaks since 4.5:

void foo (int *, int *);
int bar ()
{
  int a = 0;
  int b = 0;
  if (b != 0)
{
  int ax = a;
  int bx = b;
  while (bx != 0)
{
  int tem = ax % bx;
  ax = bx;
  bx = tem;
}
}
  foo (&a, &b);
}

4.4 has different PHI ordering and does

Value numbering bx_2 stmt = bx_2 = PHI 
Setting value number of bx_2 to 0 (changed)
Value numbering ax_1 stmt = ax_1 = PHI 
Setting value number of ax_1 to 0 (changed)
Value numbering tem_6 stmt = tem_6 = ax_1 % bx_2;
Setting value number of tem_6 to tem_6 (changed)
Value numbering bx_2 stmt = bx_2 = PHI 
Setting value number of bx_2 to bx_2 (changed)
Value numbering ax_1 stmt = ax_1 = PHI 
Setting value number of ax_1 to ax_1 (changed)

to avoid the issue.


[Bug libfortran/48684] Incorrect field alignment with Gw.dEe descriptor

2011-05-02 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48684

Thomas Henlich  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #9 from Thomas Henlich  
2011-05-02 11:38:55 UTC ---
The correct format according to Fortran 2008 is now used.


Re: [Bug bootstrap/48842] New: [4.7 regression] ICE in evaluate_conditions_for_edge at ipa-inline-analysis.c:537 on Tru64 Unix

2011-05-02 Thread Jan Hubicka
> 2011-04-22  Jan Hubicka  
> 
> * gengtype.c (open_base_files): Add ipa-inline.h include.
> [...]
> (true_predicate, single_cond_predicate, false_predicate,
> not_inlined_predicate, add_condition, add_clause, and_predicates,
> or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
> dump_clause, dump_predicate, account_size_time,
> evaulate_conditions_for_edge): New functions.
> 
> Please fix.

I've fixed identical falure happening on HP and AIX.  Does it still reproduce 
for you?
Honza


[Bug testsuite/48498] Several gcc.dg/vect tests XPASS on SPARC

2011-05-02 Thread irar at il dot ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48498

Ira Rosen  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #11 from Ira Rosen  2011-05-02 11:14:11 UTC 
---
Fixed.


[Bug bootstrap/48842] [4.7 regression] ICE in evaluate_conditions_for_edge at ipa-inline-analysis.c:537 on Tru64 Unix

2011-05-02 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48842

--- Comment #1 from Jan Hubicka  2011-05-02 11:54:47 UTC 
---
> 2011-04-22  Jan Hubicka  
> 
> * gengtype.c (open_base_files): Add ipa-inline.h include.
> [...]
> (true_predicate, single_cond_predicate, false_predicate,
> not_inlined_predicate, add_condition, add_clause, and_predicates,
> or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
> dump_clause, dump_predicate, account_size_time,
> evaulate_conditions_for_edge): New functions.
> 
> Please fix.

I've fixed identical falure happening on HP and AIX.  Does it still reproduce
for you?
Honza


[Bug c/48843] New: ICE in dwarf2out_var_location, at dwarf2out.c:22585

2011-05-02 Thread aldot at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48843

   Summary: ICE in dwarf2out_var_location, at dwarf2out.c:22585
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: al...@gcc.gnu.org


mips-oe-linux-uclibc-gcc -march=mips32 -pthread -fexpensive-optimizations
-fomit-frame-pointer -frename-registers -Os -pipe -g -c mem-overflow.7.i -o
foo.o
mem-overflow.7.i: In function 'main':
mem-overflow.7.i:21:1: internal compiler error: in dwarf2out_var_location, at
dwarf2out.c:22585
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
{standard input}: Assembler messages:
{standard input}:64: Warning: missing .end at end of assembly
{standard input}:64: Error: open CFI at the end of file; missing .cfi_endproc
directive
b@nbbrf:/scratch/obj.x86_64/reduce$ cat mem-overflow.7.i 
#pragma GCC optimize (1)
typedef int gint;
typedef unsigned long gulong;
struct _GTimeVal
{
};
g_bit_nth_lsf (gulong mask,
gint nth_bit)
{
union
  {
 struct
   {
   } _sigpoll;
 } __sigaction_handler;
};
main (int argc,
  char *argv[])
{
  return g_test_run();
}





trunk r173242,

mips-oe-linux-uclibc-gcc -v
Using built-in specs.
COLLECT_GCC=mips-oe-linux-uclibc-gcc
COLLECT_LTO_WRAPPER=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/libexec/gcc/mips-oe-linux-uclibc/4.7.0/lto-wrapper
Target: mips-oe-linux-uclibc
Configured with:
/scratch/obj.x86_64/oe/build/tmp/work/mips-oe-linux-uclibc/gcc-cross-4.6+svnr173242-r1.1/trunk/configure
--build=x86_64-linux --host=x86_64-linux --target=mips-oe-linux-uclibc
--prefix=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips
--exec_prefix=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips
--bindir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/bin
--sbindir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/bin
--libexecdir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/libexec
--datadir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/share
--sysconfdir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/etc
--sharedstatedir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/com
--localstatedir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/var
--libdir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/lib
--includedir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/include
--oldincludedir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/include
--infodir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/share/info
--mandir=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/share/man
--with-libtool-sysroot --disable-largefile --disable-ipv6 --disable-nls
--enable-clocale=generic --with-gnu-ld --enable-shared --enable-languages=c,c++
--enable-threads=posix --disable-multilib --enable-c99 --enable-long-long
--enable-symvers=gnu --enable-libstdcxx-pch
--program-prefix=mips-oe-linux-uclibc- --enable-target-optspace --enable-libssp
--disable-bootstrap --disable-libgomp --disable-libmudflap
--with-sysroot=/scratch/obj.x86_64/oe/build/tmp/sysroots/mips-oe-linux-uclibc
--with-build-sysroot=/scratch/obj.x86_64/oe/build/tmp/sysroots/mips-oe-linux-uclibc
--with-build-time-tools=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux/mips/bin
--disable-libunwind-exceptions
--with-mpfr=/scratch/obj.x86_64/oe/build/tmp/sysroots/x86_64-linux
--with-system-zlib --disable-decimal-float
--program-prefix=mips-oe-linux-uclibc- --disable-__cxa_atexit --disable-nls
Thread model: posix
gcc version 4.7.0 20110502 (experimental) (GCC)


[Bug bootstrap/48842] [4.7 regression] ICE in evaluate_conditions_for_edge at ipa-inline-analysis.c:537 on Tru64 Unix

2011-05-02 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48842

--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE  2011-05-02 12:13:24 UTC ---
> --- Comment #1 from Jan Hubicka  2011-05-02 11:54:47 
> UTC ---

> I've fixed identical falure happening on HP and AIX.  Does it still reproduce
> for you?

I'll try a bootstrap off current mainline once the current 4.6 one has
finished.

Rainer


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

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

--- Comment #90 from Jan Hubicka  2011-05-02 
12:41:15 UTC ---
Per node memory usage statistics for WPA
Code   Nodes

identifier_node   428715
tree_list10992455
tree_vec   54594
enumeral_type  49860
integer_type  201079
real_type   1975
pointer_type 1575376
reference_type102944
array_type 98085
record_type   903172
union_type 17170
void_type   1496
function_type 127906
method_type  1533898
integer_cst   767153
real_cst   15992
string_cst   1224809
function_decl2473011
label_decl264118
field_decl   1399608
var_decl   86596
const_decl510913
parm_decl5530790
type_decl 964008
result_decl   553028
debug_expr_decl   144282
namespace_decl  9876
constructor   160380
nop_expr  508605
addr_expr 789320
tree_binfo   1090674


[Bug c++/47969] [C++0x] ICE: SIGSEGV in compute_array_index_type (cp/decl.c:7522)

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

Paolo Carlini  changed:

   What|Removed |Added

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

--- Comment #3 from Paolo Carlini  2011-05-02 
12:46:07 UTC ---
Fixed for 4.7.0.


[Bug c++/47969] [C++0x] ICE: SIGSEGV in compute_array_index_type (cp/decl.c:7522)

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

--- Comment #2 from paolo at gcc dot gnu.org  
2011-05-02 12:44:18 UTC ---
Author: paolo
Date: Mon May  2 12:44:15 2011
New Revision: 173249

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

PR c++/47969
* decl.c (compute_array_index_type): Check build_expr_type_conversion
return value for NULL_TREE.

/testsuite
2011-05-02  Paolo Carlini  

PR c++/47969
* g++.dg/cpp0x/constexpr-47969.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-47969.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog


[Bug libfortran/48602] Invalid F conversion of G descriptor for values close to powers of 10

2011-05-02 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48602

--- Comment #46 from Jerry DeLisle  2011-05-02 
12:46:11 UTC ---
I have started on the second phase of this effort which is to get rid of the
floating point issue on -m32 machines.


[Bug middle-end/48674] [4.7 Regression] FAIL: g++.dg/torture/pr48661.C

2011-05-02 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48674

Rainer Orth  changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #3 from Rainer Orth  2011-05-02 12:51:58 UTC 
---
Richard, could you please have a look?  This failure is causing considerable
amounts of testsuite noise.

Thanks.
  Rainer


[Bug libfortran/48785] BOZ editing of real numbers not working with -std=f2008

2011-05-02 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48785

--- Comment #2 from Thomas Henlich  
2011-05-02 12:58:42 UTC ---
Created attachment 24162
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24162
Proposed patch for input/output


[Bug target/48690] gcc-4.3.5 fails for target m68k

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

--- Comment #34 from Andreas Schwab  2011-05-02 13:05:45 
UTC ---
Changeing BIGGEST_ALIGNMENT changes the ABI.


[Bug libfortran/48785] BOZ editing of real numbers not working with -std=f2008

2011-05-02 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48785

--- Comment #4 from Jerry DeLisle  2011-05-02 
13:06:53 UTC ---
Thanks Thomas, thanks for support.  I will have a close look and check tonight.


[Bug fortran/48298] F2003 Implement User Defined Derived Type IO (DTIO)

2011-05-02 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48298

--- Comment #4 from Jerry DeLisle  2011-05-02 
13:04:30 UTC ---
Status: With some significant help from Michael, we have a front-end patch
generating a call to transfer_derived() which passes a pointer to the user
defined DTIO procedure to libgfortran.

Next step is parsing format strings in libgfortran for the FMT_DT specifier.


[Bug tree-optimization/48822] [4.5/4.6/4.7 Regression] G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.

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

--- Comment #6 from Richard Guenther  2011-05-02 
13:11:30 UTC ---
Author: rguenth
Date: Mon May  2 13:11:27 2011
New Revision: 173250

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

PR tree-optimization/48822
* tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
(process_scc): Indicate which iteration we start.

* gcc.dg/torture/pr48822.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr48822.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-sccvn.c


[Bug tree-optimization/48822] [4.5/4.6 Regression] G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.

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

Richard Guenther  changed:

   What|Removed |Added

  Known to work||4.7.0
Summary|[4.5/4.6/4.7 Regression]|[4.5/4.6 Regression] G++
   |G++ gets stucks and never   |gets stucks and never
   |finishes compilation when   |finishes compilation when
   |enabling -O2/3 optimization |enabling -O2/3 optimization
   |options.|options.
  Known to fail|4.7.0   |

--- Comment #7 from Richard Guenther  2011-05-02 
13:11:53 UTC ---
Fixed on trunk sofar.


[Bug libfortran/48785] BOZ editing of real numbers not working with -std=f2008

2011-05-02 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48785

--- Comment #3 from Thomas Henlich  
2011-05-02 13:01:33 UTC ---
Created attachment 24163
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24163
Test case for input/output of real numbers with B/O/Z editing


[Bug libfortran/48787] Invalid UP rounding with F editing

2011-05-02 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48787

--- Comment #14 from Thomas Henlich  
2011-05-02 13:24:27 UTC ---
Created attachment 24164
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24164
Revised patch including rounding down negative numbers

Sorry, my bug report should have been more precisely: Invalid UP rounding of
positive and DOWN rounding of negative numbers.

The current patch does not address the second case.


[Bug middle-end/48674] [4.7 Regression] FAIL: g++.dg/torture/pr48661.C

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

--- Comment #4 from Richard Guenther  2011-05-02 
13:23:41 UTC ---
Well, I think it is a mistake in the cgraph infrastructure and I hoped that
Honza and Martin would work on this.  At least I see no way to tell
whether a function-decl is a thunk or not (and I don't see a reason to
not expose direct calls to thunks, as iterated previously).

Yes, the noise is annoying but I can't do anything but paper over the issue
by either reverting the patch, reverting the testcase or trying to be
clever with not exposing direct calls to thunks (which will trivially
break with LTO and then, as now, continue to create wrong-code or ICE).

So, Honza?  Can you make this a priority?


[Bug libfortran/48785] BOZ editing of real numbers not working with -std=f2008

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

--- Comment #5 from Tobias Burnus  2011-05-02 
13:40:29 UTC ---
(In reply to comment #2)
> Created attachment 24162 [details]
> Proposed patch for input/output

-  if (!(compile_options.allow_std & GFC_STD_GNU)
+  if (!(compile_options.allow_std & (GFC_STD_GNU | GFC_STD_F2008))

As mentioned in comment 1, replacing GFC_STD_GNU by GFC_STD_F2008 should be
sufficient without OR-ing the two.


[Bug middle-end/48674] [4.7 Regression] FAIL: g++.dg/torture/pr48661.C

2011-05-02 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48674

--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE  2011-05-02 13:47:47 UTC ---
> --- Comment #4 from Richard Guenther  2011-05-02 
> 13:23:41 UTC ---

> Yes, the noise is annoying but I can't do anything but paper over the issue
> by either reverting the patch, reverting the testcase or trying to be
> clever with not exposing direct calls to thunks (which will trivially
> break with LTO and then, as now, continue to create wrong-code or ICE).

Fine with me: at this point, I'd like to avoid xfailing/skipping
testcases to make sure they aren't forgotten.  I'd just like to make
sure that the amount of noise doesn't get too big.

Rainer


[Bug middle-end/48674] [4.7 Regression] FAIL: g++.dg/torture/pr48661.C

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

--- Comment #5 from Richard Guenther  2011-05-02 
13:30:33 UTC ---
2011-01-03  Martin Jambor  

   * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
   a thunk.

also "exposed" this.


[Bug libfortran/48787] Invalid UP rounding with F editing

2011-05-02 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48787

Thomas Henlich  changed:

   What|Removed |Added

  Attachment #24138|0   |1
is obsolete||
  Attachment #24164|0   |1
is obsolete||

--- Comment #15 from Thomas Henlich  
2011-05-02 13:48:02 UTC ---
Created attachment 24165
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24165
More examples of up/down rounding bug.

There is another issue here where rounding goes wrong:

It seems all values greater than 0.0 and smaller than 0.1 are rounded
incorrectly with ROUND=UP; all values smaller than 0.0 and greater than -0.1
are rounded incorrectly with ROUND=DOWN.


[Bug libfortran/48785] BOZ editing of real numbers not working with -std=f2008

2011-05-02 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48785

--- Comment #6 from Thomas Henlich  
2011-05-02 14:10:22 UTC ---
Can you elaborate on this?

Previously we allowed the format with -std=gnu.

Now we want to allow it with -std=gnu or -std=f2008. So we call require_type()
only if neither of these options is set.

That's why I changed the mask from GFC_STD_GNU to (GFC_STD_GNU |
GFC_STD_F2008).

And the values have different bits set, so the OR is not redundant:

#define GFC_STD_F2008(1<<7)/* New in F2008.  */
#define GFC_STD_LEGACY(1<<6)/* Backward compatibility.  */
#define GFC_STD_GNU(1<<5)/* GNU Fortran extension.  */


[Bug rtl-optimization/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu

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

--- Comment #9 from Jakub Jelinek  2011-05-02 
13:58:28 UTC ---
This looks like a target bug to me
in *.postreload we have:
(insn 615 177 616 32 (set (reg:CCC 17 flags)
(compare:CCC (zero_extract:DI (reg:DI 5 di [orig:129 prephitmp.8 ]
[129])
(const_int 1 [0x1])
(const_int 1 [0x1]))
(const_int 0 [0]))) pr48774-6.c:23 377 {*testqi_ext_3_rex64}
 (nil))

(jump_insn 616 615 184 32 (set (pc)
(if_then_else (ne (reg:CCC 17 flags)
(const_int 0 [0]))
(label_ref 214)
(pc))) pr48774-6.c:23 589 {*jcc_1}
 (expr_list:REG_BR_PROB (const_int 5000 [0x1388])
(nil))

which comes from jcc_bt* splitter, where the second const1_rtx still was a
register at the time of the split, but IRA materialized it into a constant.
The CCC mode is fine for bt insn.  Unfortunately split2 pass splits this into:

(insn 626 177 616 32 (set (reg:CCC 17 flags)
(compare:CCC (and:QI (reg:QI 5 di [orig:129 prephitmp.8 ] [129])
(const_int 2 [0x2]))
(const_int 0 [0]))) pr48774-6.c:23 369 {*testqi_1_maybe_si}
 (nil))

(jump_insn 616 626 184 32 (set (pc)
(if_then_else (ne (reg:CCC 17 flags)
(const_int 0 [0]))
(label_ref 214)
(pc))) pr48774-6.c:23 589 {*jcc_1}
 (expr_list:REG_BR_PROB (const_int 5000 [0x1388])
(nil))
 -> 214)

which is already incorrect, if we want to replace bt-ish test, we'd need to
update the mode to CCmode or similar and update the user(s).
The generated assembly then has:
andl$2, %edi
jnc .L21
whereas it should have been either
btl $1, %edi
jnc .L21
or
andl$2, %edi
je  .L21


[Bug rtl-optimization/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu

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

Jakub Jelinek  changed:

   What|Removed |Added

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


[Bug bootstrap/43858] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: cannot compute suffix of object files

2011-05-02 Thread uweigand at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43858

--- Comment #29 from Ulrich Weigand  2011-05-02 
14:06:52 UTC ---
Author: uweigand
Date: Mon May  2 14:06:48 2011
New Revision: 173252

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173252
Log:
2011-05-02  Ulrich Weigand  

PR middle-end/43085
Backport from mainline:

2010-04-29  Bernd Schmidt  

From Dominique d'Humieres 
PR bootstrap/43858
* ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
test_set.

2010-04-26  Bernd Schmidt  

* df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
bits for artificial defs at the top of the block.
* fwprop.c (single_def_use_enter_block): Don't call it.

2010-04-22  Bernd Schmidt  

* ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
df_simulate_find_noclobber_defs as appropriate.  Keep track of an
extra set merge_set_noclobber, and use it to relax the final test
slightly.
* df.h (df_simulate_find_noclobber_defs): Declare.
* df-problems.c (df_simulate_find_defs): Don't ignore partial or
conditional defs.
(df_simulate_find_noclobber_defs): New function.

Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/df-problems.c
branches/gcc-4_5-branch/gcc/df.h
branches/gcc-4_5-branch/gcc/fwprop.c
branches/gcc-4_5-branch/gcc/ifcvt.c


[Bug middle-end/43085] Make profiledbootstrap fails with cc1plus catching SIGSEGV

2011-05-02 Thread uweigand at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43085

Ulrich Weigand  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #25 from Ulrich Weigand  2011-05-02 
14:07:47 UTC ---
Fixed.


[Bug middle-end/43085] Make profiledbootstrap fails with cc1plus catching SIGSEGV

2011-05-02 Thread uweigand at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43085

--- Comment #24 from Ulrich Weigand  2011-05-02 
14:06:52 UTC ---
Author: uweigand
Date: Mon May  2 14:06:48 2011
New Revision: 173252

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173252
Log:
2011-05-02  Ulrich Weigand  

PR middle-end/43085
Backport from mainline:

2010-04-29  Bernd Schmidt  

From Dominique d'Humieres 
PR bootstrap/43858
* ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
test_set.

2010-04-26  Bernd Schmidt  

* df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
bits for artificial defs at the top of the block.
* fwprop.c (single_def_use_enter_block): Don't call it.

2010-04-22  Bernd Schmidt  

* ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
df_simulate_find_noclobber_defs as appropriate.  Keep track of an
extra set merge_set_noclobber, and use it to relax the final test
slightly.
* df.h (df_simulate_find_noclobber_defs): Declare.
* df-problems.c (df_simulate_find_defs): Don't ignore partial or
conditional defs.
(df_simulate_find_noclobber_defs): New function.

Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/df-problems.c
branches/gcc-4_5-branch/gcc/df.h
branches/gcc-4_5-branch/gcc/fwprop.c
branches/gcc-4_5-branch/gcc/ifcvt.c


[Bug middle-end/48674] [4.7 Regression] FAIL: g++.dg/torture/pr48661.C

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

--- Comment #7 from Richard Guenther  2011-05-02 
14:27:34 UTC ---
Patch:

Index: gcc/cgraph.c
===
--- gcc/cgraph.c(revision 173249)
+++ gcc/cgraph.c(working copy)
@@ -613,13 +613,15 @@ cgraph_add_thunk (struct cgraph_node *de
   node = cgraph_same_body_alias_1 (decl_node, alias, decl);
   gcc_assert (node);
   gcc_checking_assert (!virtual_offset
-  || tree_int_cst_equal (virtual_offset,
- size_int (virtual_value)));
+  || double_int_equal_p
+   (tree_to_double_int (virtual_offset),
+shwi_to_double_int (virtual_value)));
   node->thunk.fixed_offset = fixed_offset;
   node->thunk.this_adjusting = this_adjusting;
   node->thunk.virtual_value = virtual_value;
   node->thunk.virtual_offset_p = virtual_offset != NULL;
   node->thunk.alias = real_alias;
+  node->same_body_alias = false;
   node->thunk.thunk_p = true;
   return node;
 }
Index: gcc/cgraphunit.c
===
--- gcc/cgraphunit.c(revision 173249)
+++ gcc/cgraphunit.c(working copy)
@@ -678,16 +678,6 @@ verify_cgraph_node (struct cgraph_node *
debug_tree (decl);
error_found = true;
  }
-   else if (decl
-&& (n = cgraph_get_node_or_alias (decl))
-&& (n->same_body_alias
-&& n->thunk.thunk_p))
- {
-   error ("a call to thunk improperly represented
"
-  "in the call graph:");
-   cgraph_debug_gimple_stmt (this_cfun, stmt);
-   error_found = true;
- }
  }
else if (decl)
  {


[Bug libfortran/48785] BOZ editing of real numbers not working with -std=f2008

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

--- Comment #7 from Tobias Burnus  2011-05-02 
14:31:56 UTC ---
(In reply to comment #6)
> Can you elaborate on this?
> That's why I changed the mask from GFC_STD_GNU to (GFC_STD_GNU |
> GFC_STD_F2008).

First, the code is/should be also allowed for -std=legacy (GFC_STD_LEGACY).

Secondly, the point is not that GFC_STD_GNU and GFC_STD_F2008 are same (they
obviously aren't), but that

having  (compile_options.allow_std | GFC_STD_F2008) != 0
 => implies (compile_options.allow_std | GFC_STD_GNU) != 0

which is a property of "allow_std". See gcc/fortran/options.c:

case OPT_std_f2003:
  gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F77 
| GFC_STD_F2003 | GFC_STD_F95 | GFC_STD_F2008_OBS;
case OPT_std_f2008:
  gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F77 
| GFC_STD_F2003 | GFC_STD_F95 | GFC_STD_F2008 | GFC_STD_F2008_OBS;
case OPT_std_gnu:
  set_default_std_flags ();
  break;


[Bug middle-end/48814] [4.3/4.4/4.5/4.6/4.7 Regression] Incorrect scalar increment result

2011-05-02 Thread jsm28 at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48814

Joseph S. Myers  changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.05.02 14:53:42
  Component|c++ |middle-end
   Target Milestone|--- |4.3.6
Summary|Incorrect scalar increment  |[4.3/4.4/4.5/4.6/4.7
   |result  |Regression] Incorrect
   ||scalar increment result
 Ever Confirmed|0   |1

--- Comment #6 from Joseph S. Myers  2011-05-02 
14:53:42 UTC ---
Confirming as a gimplifier bug, a regression from 4.0 onwards (presumably
introduced with tree-ssa).


[Bug middle-end/48674] [4.7 Regression] FAIL: g++.dg/torture/pr48661.C

2011-05-02 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48674

--- Comment #9 from Jan Hubicka  2011-05-02 
14:55:38 UTC ---
Just to add, the other alternatives discussed were

 I) Avoid direct calls to thunks at early optimization time.
This has problem with fact that C++ FE doesn't really tell us about thunks
in other units (though I think it has the knowledge) and thus this breaks
with LTO or if someone does direct call by hand (using aliasing ASM name
that
does not work at the moment in non-LTO compilation)
II) Invent Gimple representation of thunks
To do so, one would need to invent way represeting variadic thunks
Also either we would need to trash existing ASM thunk output machinery
and re-implement in a way so RTL optimizers produce same code expanding
the new construct.
Still we would need to handle same special cases for 1) and 2) from 
my initial list of problems
III)Thunks are really meant to be alternative entry points to the functions.
We should eventually bite the bullet and implement them.  
IV) Attach the info to edges.  This makes things more transparent to WHOPR,
and most of ipa passes: i.e. if you don't care about it, you can pretend
thunks does not exist. It is also more consistent with III since
alternative
entry points should probably be represented as different kind of edges into
single callgraph node (=function).

It however seems to make less sense to people and makes it easier to 
introduce wrong code bugs by ignoring the info on edges wehere you should
not.


[Bug middle-end/48674] [4.7 Regression] FAIL: g++.dg/torture/pr48661.C

2011-05-02 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48674

Jan Hubicka  changed:

   What|Removed |Added

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

--- Comment #8 from Jan Hubicka  2011-05-02 
14:47:49 UTC ---
As discussed on IRC, the above patch is not really good idea.  The consequence
of it is that the cgraph edges and IPA references will point to thunk nodes.
Those are not really nodes of callgraph and a idea of graph where edge targets
are not neccesarily its nodes is slipperly.

I have patches to turn thunks to appear as function in cgraph that are somewhat
ugly, but apparently less ugly from all alternatives we was able to come with.
My original plan was to first push cleanups to callgraph, but because the whole
issue got escalated by the real world testcase, I will try to separate them
from rest of symtab code I have pending and push them to mainline soon.

The weakest point of this approach is that thunks differ from usual functions
in several ways:

1) they don't have body representable in gimple (this is the case of variadic
thunks). This require changes at places where IPA passes want to analyze
function bodies:

   a) inliner must to know how to inline thunk (or to not inline it as I do as
  a temporary hack)
   b) inline-analysis needs to special case thunk function and guess their size
   c) ipa-prop needs to compute proper jump function for THIS
   d) rest of IPA passes (pure-const/reference) are more or less trivial, 
  just need to avoid idea of looking into the function body since there 
  is nothing relevant for them anyway.

2) they don't appear as function at ABI level and must be output in chunk with
the function they are attached.
3) our RTL output machinery is somewhat convoluted.

the second two needs following changes I know of

   a) unreachable function removal must be weakened a bit on thunk functions
   b) WHOPR partitioning must know that it always have to associate thunk 
  into every partition the thunked function comes to
   c) cgraph_assemble_function 

My code bootstraps, but does not really work for i.e. Mozilla, so it is
entirely possible more side corners needs to be handled, too ;(

Honza


[Bug middle-end/48674] [4.7 Regression] FAIL: g++.dg/torture/pr48661.C

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

--- Comment #10 from Richard Guenther  2011-05-02 
14:56:47 UTC ---
(In reply to comment #8)
> As discussed on IRC, the above patch is not really good idea.  The consequence
> of it is that the cgraph edges and IPA references will point to thunk nodes.
> Those are not really nodes of callgraph and a idea of graph where edge targets
> are not neccesarily its nodes is slipperly.
> 
> I have patches to turn thunks to appear as function in cgraph that are 
> somewhat
> ugly, but apparently less ugly from all alternatives we was able to come with.
> My original plan was to first push cleanups to callgraph, but because the 
> whole
> issue got escalated by the real world testcase, I will try to separate them
> from rest of symtab code I have pending and push them to mainline soon.
> 
> The weakest point of this approach is that thunks differ from usual functions
> in several ways:
> 
> 1) they don't have body representable in gimple (this is the case of variadic
> thunks). This require changes at places where IPA passes want to analyze
> function bodies:
> 
>a) inliner must to know how to inline thunk (or to not inline it as I do as
>   a temporary hack)
>b) inline-analysis needs to special case thunk function and guess their 
> size
>c) ipa-prop needs to compute proper jump function for THIS
>d) rest of IPA passes (pure-const/reference) are more or less trivial, 
>   just need to avoid idea of looking into the function body since there 
>   is nothing relevant for them anyway.

Most of them is moot if we just accept that direct calls to thunks are
a barrier for IPA optimizations (in the case they do not have a gimple
body).  We could represent variadic thunks in gimple using
__builtin_va_arg_pack
and friends if we accept the fact that we are never going to expand the
gimple body from its stmts but instead from the usual mechanism of expanding
such thunks.  Whatever transformations we applied to the tunk body doesn't
matter (they were just useless).

> 2) they don't appear as function at ABI level and must be output in chunk with
> the function they are attached.

Similar to aliases (which, of course, also has ugly current handling).

> 3) our RTL output machinery is somewhat convoluted.

For thunks?  Yeah.

> the second two needs following changes I know of
> 
>a) unreachable function removal must be weakened a bit on thunk functions
>b) WHOPR partitioning must know that it always have to associate thunk 
>   into every partition the thunked function comes to

Similar to aliases.

>c) cgraph_assemble_function 

Or rather expand.

> My code bootstraps, but does not really work for i.e. Mozilla, so it is
> entirely possible more side corners needs to be handled, too ;(

So, indeed it sort-of makes sense to do symtab related changes first to
get aliases implemented in a sane way.  As thunks really need similar
handling in a lot of places.

Richard.

> Honza


[Bug libfortran/48785] BOZ editing of real numbers not working with -std=f2008

2011-05-02 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48785

--- Comment #8 from Thomas Henlich  
2011-05-02 15:12:06 UTC ---
(In reply to comment #7)

O, I see. The important part is in
set_default_std_flags (void)
{
  gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL
| GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F95 | GFC_STD_F77
| GFC_STD_F2008_OBS | GFC_STD_GNU | GFC_STD_LEGACY;
  gfc_option.warn_std = GFC_STD_F95_DEL | GFC_STD_LEGACY;
}

So technically, we only need to test for GFC_STD_F2008, just as you said.


[Bug tree-optimization/48625] [trans-mem] Segfault in libitm when compiling with -O2

2011-05-02 Thread patrick.marlier at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48625

Patrick Marlier  changed:

   What|Removed |Added

 CC||aldyh at gcc dot gnu.org,
   ||rth at gcc dot gnu.org

--- Comment #2 from Patrick Marlier  
2011-05-02 15:18:26 UTC ---
The problem is with caller-save pass. I didn't figure out why (bug in
caller-save? or should we forbid caller-save on _ITM_* functions?).
Maybe Richard and Aldy have an idea?
You can disable this pass with -fno-caller-saves, it should work.

Patrick Marlier.


[Bug middle-end/48674] [4.7 Regression] FAIL: g++.dg/torture/pr48661.C

2011-05-02 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48674

--- Comment #11 from Jan Hubicka  2011-05-02 
15:26:23 UTC ---
> Most of them is moot if we just accept that direct calls to thunks are
> a barrier for IPA optimizations (in the case they do not have a gimple
> body).  We could represent variadic thunks in gimple using
> __builtin_va_arg_pack

Well, we could also go for the "half way" variant. Represent those thunks we
can and handle those thunks we can't as special cases. Problem of this is
  1) real thunks will become even more weird and rare special case (I think
 we have two testcases for variadic thunks in testsuite)
  2) we will need to forbid certain class of transformations of boides or the
 plan to throw them away won't work.

 We don't want to change function signatures, for example, we don't want
 to remove THIS parameter because we prove it is dead. 
 Things, like cloning, will most likely have tendency to upset ASM
 machinery in particular on exotic targets.
It seems to me that we would replace one ugly case of thunks, but two classes
of more evil thunks and less evil thunks.

> Similar to aliases (which, of course, also has ugly current handling).

Yes, aliases and thunks are symmetric to large extend. Thus my plan to handle

> So, indeed it sort-of makes sense to do symtab related changes first to
> get aliases implemented in a sane way.  As thunks really need similar
> handling in a lot of places.

Yep, or go the other way - first get thunks working and then make aliases on
top of them.  Aliases are more difficult than thunks by
  1) they can have different visibilities than the symbol they alias
  2) there is problem with fact that we don't know symbol names
  3) they have target specific behavior. I.e. ELF has no aliases in end, but
 some targets do. 
So one way or another, the conversion is not fun ;(

Honza


[Bug middle-end/48814] [4.3/4.4/4.5/4.6/4.7 Regression] Incorrect scalar increment result

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

--- Comment #7 from Richard Guenther  2011-05-02 
15:35:01 UTC ---
(In reply to comment #2)
> Since the order of evaluation is undefined it may evaluate "count++" and
> "incr()" in any order, as it pleases. 
> 
> Since there is a sequence point before entering a function, and before leaving
> a function, and since function invocations do not interleave, we know that no
> matter whether we evaluate "count++" before or after executing "incr", the 
> side
> effects of both "count++" and "++count" do not happen without an intervening
> sequence point.

The side-effects yes, but the read in count++ happens at either before
or after incr is executed.  At least that is my reading of undefined
evaluation order.  Does the sequence point before entering a function
make that evaluation order suddenly defined?

Of course since Joseph seems to agree I won't object to fixing it.


[Bug c++/46871] [C++0x] ICE: in cxx_eval_constant_expression, at cp/semantics.c:6686 on invalid code (+rejects valid)

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

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

--- Comment #2 from Paolo Carlini  2011-05-02 
16:07:56 UTC ---
I double checked that both current mainline and 4_6-branch well behave for all
the additional testcases here.

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


[Bug c++/48265] [4.6/4.7 Regression] [C++0x] ICE: SIGSEGV (recursion in value_dependent_expression_p) when variable is used uninitialised

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

--- Comment #6 from Paolo Carlini  2011-05-02 
16:07:56 UTC ---
*** Bug 46871 has been marked as a duplicate of this bug. ***


[Bug c++/46857] [C++0x] ICE: Segmentation fault

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

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Known to work||4.6.1, 4.7.0
 Resolution||WORKSFORME

--- Comment #1 from Paolo Carlini  2011-05-02 
16:13:06 UTC ---
Mainline and 4_6-branch are currently fine.


[Bug ada/48844] New: GNAT bug box, referring to gimplify.c, possibly to do with aliasing and discriminant

2011-05-02 Thread bauhaus at futureapps dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48844

   Summary: GNAT bug box, referring to gimplify.c, possibly to do
with aliasing and discriminant
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bauh...@futureapps.de


Created attachment 24166
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24166
Source files mentioned in the bug report

The following line, from function Convert below,
seems to cause the bug box.
(The program is fully produced from a note
an how erroneous execution can undermine
type safety; the original is here:
http://www.enyo.de/fw/notes/ada-type-safety.html )

 M := (Sel => Source_Field, S => (S => S)); --!


$ gnatchop  -r -w conv.ada && gnatmake convert_test
splitting conv.ada into:
   conversion.ads
   convert_test.adb
   conversion.adb
gcc -c convert_test.adb
+===GNAT BUG DETECTED==+
| 4.7.0 20110411 (experimental) (i686-pc-linux-gnu) GCC error: |
| in create_tmp_var, at gimplify.c:465 |
| Error detected around
/usr/local/lib/gcc/i686-pc-linux-gnu/4.7.0/adainclude/s-addima.ads:17:13|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

convert_test.adb
conversion.ads
conversion.adb


raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:423
gnatmake: "convert_test.adb" compilation error


[Bug ada/48844] GNAT bug box, referring to gimplify.c, possibly to do with aliasing and discriminant

2011-05-02 Thread bauhaus at futureapps dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48844

Georg Bauhaus  changed:

   What|Removed |Added

  Attachment #24166|0   |1
is obsolete||

--- Comment #1 from Georg Bauhaus  2011-05-02 
16:20:46 UTC ---
Created attachment 24167
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24167
Same as original attachment (source files mentioned in the bug report), with
proper MIME type


[Bug middle-end/48814] [4.3/4.4/4.5/4.6/4.7 Regression] Incorrect scalar increment result

2011-05-02 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48814

--- Comment #8 from joseph at codesourcery dot com  2011-05-02 16:24:01 UTC ---
On Mon, 2 May 2011, rguenth at gcc dot gnu.org wrote:

> The side-effects yes, but the read in count++ happens at either before
> or after incr is executed.  At least that is my reading of undefined
> evaluation order.  Does the sequence point before entering a function
> make that evaluation order suddenly defined?

The sequence point wording in C99 and C++03 is inherently confusing and 
doesn't go into much detail about what may or may not interleave, but what 
C1x and C++0x make explicit is that the evaluation of ++, -- and compound 
assignment do not interleave with an indeterminately-sequenced function 
call (and so they may not act by calling the indeterminately sequenced 
function between the read and the write of the operand being updated).  
You can argue about what exactly C99 and C++03 require (and so about 
whether there is a regression), but there is quite clearly now a bug to be 
fixed (and the fix should not depend on the language version).


[Bug target/47955] gcc.dg/stack-usage-1.c fails on m68k-linux

2011-05-02 Thread schwab at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47955

--- Comment #1 from Andreas Schwab  2011-05-02 
16:58:36 UTC ---
Author: schwab
Date: Mon May  2 16:58:32 2011
New Revision: 173260

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173260
Log:
PR target/47955
* gcc/config/m68k/m68k.c (m68k_expand_prologue): Set
current_function_static_stack_size.

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


[Bug target/47951] [4.6/4.7 Regression] web.c:union_match_dups segmentation fault for bfin

2011-05-02 Thread shenders at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47951

--- Comment #3 from Stuart Henderson  2011-05-02 
17:01:07 UTC ---
Author: shenders
Date: Mon May  2 17:01:01 2011
New Revision: 173261

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173261
Log:
2011-05-02  Stuart Henderson  

PR target/47951
* config/bfin/bfin.md (loop_end): Use matching constraints to ensure
inputs match the output.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/bfin/bfin.md


[Bug target/47955] gcc.dg/stack-usage-1.c fails on m68k-linux

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

Andreas Schwab  changed:

   What|Removed |Added

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

--- Comment #2 from Andreas Schwab  2011-05-02 17:01:46 
UTC ---
Fixed in 4.7.


[Bug debug/48159] [4.7 Regression] ICE: SIGSEGV in build2_stat (tree.c:3802) with -O -ftree-loop-distribution -fno-tree-ch -g

2011-05-02 Thread doko at ubuntu dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48159

--- Comment #3 from Matthias Klose  2011-05-02 17:06:02 
UTC ---
Created attachment 24168
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24168
preprocessed source


[Bug debug/48159] [4.7 Regression] ICE: SIGSEGV in build2_stat (tree.c:3802) with -O -ftree-loop-distribution -fno-tree-ch -g

2011-05-02 Thread doko at ubuntu dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48159

Matthias Klose  changed:

   What|Removed |Added

 CC||doko at ubuntu dot com

--- Comment #2 from Matthias Klose  2011-05-02 17:05:14 
UTC ---
have a similiar build failure, but seen with both 4.6 and 4.7, so this seems to
be a 4.6 regression too. works with -O2 and below.

fails with 4.6 20110428 and trunk 20110419.

$ gcc -g -O3 -c psf.i 
psf.c: In function 'psf_fit':
psf.c:300:6: internal compiler error: Segmentation fault
Please submit a full bug report,


Program received signal SIGSEGV, Segmentation fault.
0x0083e71a in build2_stat ()
(gdb) bt
#0  0x0083e71a in build2_stat ()
#1  0x005490ee in gimple_assign_rhs_to_tree ()
#2  0x0080114e in insert_debug_temp_for_var_def ()
#3  0x00801538 in insert_debug_temps_for_defs ()
#4  0x0062553a in gsi_remove ()
#5  0x00763862 in ?? ()
#6  0x0076402f in ?? ()
#7  0x0069f0e9 in execute_one_pass ()
#8  0x0069f395 in execute_pass_list ()
#9  0x0069f3a7 in execute_pass_list ()
#10 0x0069f3a7 in execute_pass_list ()
#11 0x0076b051 in tree_rest_of_compilation ()
#12 0x008a915f in ?? ()
#13 0x008aadba in cgraph_optimize ()
#14 0x008ab1ba in cgraph_finalize_compilation_unit ()
#15 0x004b6e05 in c_write_global_declarations ()
#16 0x007301be in toplev_main ()
#17 0x7625aeed in __libc_start_main (main=,
argc=, 
ubp_av=, init=, fini=, 
rtld_fini=, stack_end=0x7fffe5e8) at
libc-start.c:228
#18 0x004a67f9 in _start ()


[Bug gcov-profile/48845] New: [4.7 regression] All g++.dg/tree-prof and gcc.dg/{matrix, tree-prof} executions tests fail on Solaris 8/9

2011-05-02 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48845

   Summary: [4.7 regression] All g++.dg/tree-prof and
gcc.dg/{matrix, tree-prof} executions tests fail on
Solaris 8/9
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: gcov-profile
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org
CC: davi...@gcc.gnu.org
  Host: *-*-solaris2.[89]
Target: *-*-solaris2.[89]
 Build: *-*-solaris2.[89]


Between 20110421 and 20110429, all g++.dg/tree-prof and gcc.dg/{matrix,
tree-prof}
execution tests started to fail on Solaris 8 and 9, both x86 and SPARC:

+FAIL: g++.dg/tree-prof/indir-call-prof-2.C execution,-g 
-fprofile-generate

spawn [open ...]
ld.so.1: indir-call-prof-2.x01: fatal:
/var/gcc/regression/trunk/9-gcc-gas/build
/gcc/testsuite/g++/indir-call-prof-2.x01: object requires TLS, but TLS failed
to
 initialize

This obviously happens since profiling now uses TLS under the hood:

[5] | 4|   4|TLS  |LOCL |0|9 
|__gcov_indirect_call_callee
[6] | 0|   4|TLS  |LOCL |0|9 
|__gcov_indirect_call_counters

So it is caused by this patch:

2011-04-27  Xinliang David Li  

* tree-profile.c (init_ic_make_global_vars): Set
tls attribute on ic vars.
* coverage.c (coverage_end_function): Initialize
function_list with zero.

Some platforms require special options for TLS, which is handled by
dg-add-options tls.  It seems that all tests in those directories should be
marked

  dg-require-effective-target tls_runtime
  dg-add-options tls

or rather this should be handled in the .exp files instead.

  Rainer


[Bug target/48774] [4.6/4.7 Regression] gcc-4.6.0 optimization regression on x86_64-unknown-linux-gnu

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

--- Comment #10 from Jakub Jelinek  2011-05-02 
17:31:17 UTC ---
Created attachment 24169
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24169
gcc47-pr48774.patch

Untested fix.  The additional condition could be changed to just CCCmode check,
or on the other side have:
 || !(TARGET_USE_BT || optimize_function_for_size_p (cfun))
in as well.  Or *bt would need to be represented in RTL in some different
way, where the setting of Carry is natural to the operation and couldn't be
confused with testqi.


[Bug target/38547] duplicate symbols with g++ on AIX

2011-05-02 Thread jqian at tibco dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38547

--- Comment #20 from Jason Qian  2011-05-02 17:35:23 
UTC ---
Comment on attachment 16962
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=16962
errors during build

Hi Rainer

I got the same message using gcc4.4.0 ob AIX 5.3

Duplicate symbol: .__divti3

Is there patch for this ?


[Bug target/42754] ICE on building libgcc.c __mulvdi3.

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

Andreas Schwab  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #4 from Andreas Schwab  2011-05-02 17:29:50 
UTC ---
Closing as fixed.


[Bug middle-end/46500] target.h includes tm.h

2011-05-02 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46500

--- Comment #7 from Jorn Wolfgang Rennecke  
2011-05-02 17:34:15 UTC ---
(In reply to comment #6)
> The cumulative_args_t changes should be updated and resubmitted now we are in
> 4.7 stage 1.

Before updating the cumulative_args_t changes, the logical first step
would be to add an updated version of the cross-platform test Makefile.

However, that's stuck now needing patch review:
http://gcc.gnu.org/ml/gcc-patches/2011-04/msg01044.html


[Bug target/47672] math-68881.h does not support C99

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

--- Comment #2 from Andreas Schwab  2011-05-02 17:20:40 
UTC ---
I'd rather remove that file.


[Bug rtl-optimization/12871] ICE building gnat for native m68k-linux on i486-linux

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

Andreas Schwab  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #11 from Andreas Schwab  2011-05-02 17:54:21 
UTC ---
No long happens with 4.5 or later.


[Bug rtl-optimization/48757] [4.5/4.6/4.7 Regression] internal compiler error: in compensate_edge, at reg-stack.c:2788

2011-05-02 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48757

Rainer Orth  changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot
   ||gnu.org, ro at gcc dot
   ||gnu.org

--- Comment #5 from Rainer Orth  2011-05-02 17:31:34 UTC 
---
This also causes the ACATS test cxg2001 to fail on i386-pc-solaris2:

+===GNAT BUG DETECTED==+
| 4.7.0 20110429 (experimental) [trunk revision 173183] (i386-pc-solaris2.11)
GCC error:|
| in compensate_edge, at reg-stack.c:2781  |
| Error detected around cxg2001.adb:322:5  |

  Rainer


[Bug java/12089] m68k-coff-gcj segmentation fault on array initilisation

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

Andreas Schwab  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #5 from Andreas Schwab  2011-05-02 18:04:47 
UTC ---
expr.c no longer uses unsigned_type_node, and java/decl.c now initializes
const_ptr_type_node.


[Bug rtl-optimization/12871] ICE building gnat for native m68k-linux on i486-linux

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

--- Comment #12 from Andreas Schwab  2011-05-02 18:09:39 
UTC ---
But see also bug 48835


[Bug rtl-optimization/48757] [4.5/4.6/4.7 Regression] internal compiler error: in compensate_edge, at reg-stack.c:2788

2011-05-02 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48757

--- Comment #6 from Eric Botcazou  2011-05-02 
18:10:58 UTC ---
> This also causes the ACATS test cxg2001 to fail on i386-pc-solaris2:

This one is PR rtl-optimization/48633.


[Bug c++/48446] [4.3/4.4/4.5/4.6 Regression] internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:1946

2011-05-02 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48446

--- Comment #9 from Jason Merrill  2011-05-02 
18:38:49 UTC ---
Author: jason
Date: Mon May  2 18:38:44 2011
New Revision: 173264

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173264
Log:
PR c++/48446
* decl.c (stabilize_save_expr_r, stabilize_vla_size): New.
(compute_array_index_type): Revert earlier 48446 changes.
(grokdeclarator): Use stabilize_vla_size.

Added:
trunk/gcc/testsuite/c-c++-common/vla-1.c
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl.c
trunk/gcc/testsuite/ChangeLog


[Bug libfortran/48787] Invalid UP rounding with F editing

2011-05-02 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48787

--- Comment #16 from Jerry DeLisle  2011-05-02 
19:05:51 UTC ---
Yes and we are honing in on it now.  I suspected the RD on negatives.  Just did
not have time to check it yet. Thansk for continued examples.


[Bug c++/48838] [4.6/4.7 Regression] valid template code does not compile

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

Jakub Jelinek  changed:

   What|Removed |Added

 CC||dodji at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org
Summary|[4.6 Regression] valid  |[4.6/4.7 Regression] valid
   |template code does not  |template code does not
   |compile |compile

--- Comment #3 from Jakub Jelinek  2011-05-02 
19:46:01 UTC ---
This started with:
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173123


[Bug driver/48832] -O2 does not imply -fomit-frame-pointer, contrary to --help=optimizers -v -Q

2011-05-02 Thread marcus at jet dot franken.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48832

marcus at jet dot franken.de changed:

   What|Removed |Added

Version|4.6.0   |4.7.0

--- Comment #2 from marcus at jet dot franken.de 2011-05-02 19:48:25 UTC ---
Ok, I tested 4.5 and TRUNK.

both 4.5 and TRUNK have the ebp frame setup.

gcc-4.6 does not.


[Bug debug/48159] [4.7 Regression] ICE: SIGSEGV in build2_stat (tree.c:3802) with -O -ftree-loop-distribution -fno-tree-ch -g

2011-05-02 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48159

Zdenek Sojka  changed:

   What|Removed |Added

 CC||spop at gcc dot gnu.org

--- Comment #4 from Zdenek Sojka  2011-05-02 19:58:27 
UTC ---
Backtrace with debug symbols for the testcase from comment #3 (trunk r173240):

$ gcc -w -c -O3 -g psf.i -wrapper valgrind,-q,--num-callers=40
==5472== Invalid read of size 2
==5472==at 0xA9521C: build2_stat (tree.c:3753)
==5472==by 0x5E408E: gimple_assign_rhs_to_tree (cfgexpand.c:78)
==5472==by 0xA37EBF: insert_debug_temp_for_var_def (tree-ssa.c:402)
==5472==by 0xA383EA: insert_debug_temps_for_defs (tree-ssa.c:506)
==5472==by 0x762FB8: gsi_remove (gimple-iterator.c:511)
==5472==by 0x9504B9: distribute_loop (tree-loop-distribution.c:206)
==5472==by 0x95100C: tree_loop_distribution (tree-loop-distribution.c:1252)
==5472==by 0x816DF5: execute_one_pass (passes.c:1556)
==5472==by 0x8170D4: execute_pass_list (passes.c:1611)
==5472==by 0x8170E6: execute_pass_list (passes.c:1612)
==5472==by 0x8170E6: execute_pass_list (passes.c:1612)
==5472==by 0x95F6EA: tree_rest_of_compilation (tree-optimize.c:423)
==5472==by 0xB42C22: cgraph_expand_function (cgraphunit.c:1579)
==5472==by 0xB4516B: cgraph_optimize (cgraphunit.c:1638)
==5472==by 0xB456F9: cgraph_finalize_compilation_unit (cgraphunit.c:1099)
==5472==by 0x4FAF73: c_write_global_declarations (c-decl.c:9883)
==5472==by 0x903A17: toplev_main (toplev.c:591)
==5472==by 0x644AB6C: (below main) (in /lib64/libc-2.11.3.so)
==5472==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==5472== 
psf.c: In function 'psf_fit':
psf.c:300:6: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

-fno-tree-loop-distribute-patterns prevents the crash.


[Bug c/35445] [4.3/4.4/4.5/4.6/4.7 regression] ICE with conflicting declarations

2011-05-02 Thread simartin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35445

--- Comment #6 from Simon Martin  2011-05-02 
20:13:13 UTC ---
Author: simartin
Date: Mon May  2 20:13:08 2011
New Revision: 173269

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173269
Log:
gcc/

2011-05-02  Simon Martin  

PR c/35445
* c-decl.c (finish_decl): Only create a composite if the types are
compatible.

gcc/testsuite/

2011-05-02  Simon Martin  

PR c/35445
* gcc.dg/pr35445.c: New test. 

Added:
trunk/gcc/testsuite/gcc.dg/pr35445.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-decl.c
trunk/gcc/testsuite/ChangeLog


[Bug c/35445] [4.3/4.4/4.5/4.6/4.7 regression] ICE with conflicting declarations

2011-05-02 Thread simartin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35445

Simon Martin  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #7 from Simon Martin  2011-05-02 
20:17:30 UTC ---
Fixed in 4.7. Not needed on the release branches.


[Bug tree-optimization/48846] New: Many -O2 -flto testsuite failures with -m32 -mavx

2011-05-02 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48846

   Summary: Many -O2 -flto testsuite failures with -m32 -mavx
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ubiz...@gmail.com


Currently, many tests fail with -O2 -flto -m32 -mavx, for example
gcc.c-torture/execute/pr38151.c:

~/gcc-build/gcc/xgcc -B ~/gcc-build/gcc -O2 -flto -mavx -m32 pr38151.c
In file included from :0:0:
pr38151.c: In function ‘check2848va’:
pr38151.c:17:1: internal compiler error: Segmentation fault
Please submit a full bug report,

[pr38151.o obtained from -save-temps]

gdb --args ~/gcc-build/gcc/lto1 pr38151.o

Program received signal SIGSEGV, Segmentation fault.
is_gimple_min_invariant (t=0x0) at ../../gcc-svn/trunk/gcc/gimple.c:2814
2814  if (TREE_CODE (t) == ADDR_EXPR)

(gdb) bt
#0  is_gimple_min_invariant (t=0x0) at ../../gcc-svn/trunk/gcc/gimple.c:2814
#1  0x00653c4d in gimplify_compound_lval (expr_p=0x7fffdd28, 
pre_p=0x7fffddb8, post_p=0x7fffdc40, fallback=1)
at ../../gcc-svn/trunk/gcc/gimplify.c:2053
#2  0x0064ffbb in gimplify_expr (expr_p=0x7fffdd28, 
pre_p=0x7fffddb8, post_p=0x7fffdc40, 
gimple_test_f=0x639bb0 , fallback=1)
at ../../gcc-svn/trunk/gcc/gimplify.c:6717
#3  0x00662f0b in force_gimple_operand_1 (expr=0x7202d780, 
stmts=0x7fffddb8, gimple_test_f=0x639bb0 , var=0x0)
at ../../gcc-svn/trunk/gcc/gimplify.c:8162
#4  0x00663083 in force_gimple_operand_gsi_1 (gsi=0x7fffde60,
expr=Unhandled dwarf expression opcode 0xf3

) at ../../gcc-svn/trunk/gcc/gimplify.c:8202
#5  0x007b1aac in expand_complex_move ()
at ../../gcc-svn/trunk/gcc/tree-complex.c:810
#6  expand_complex_operations_1 ()
at ../../gcc-svn/trunk/gcc/tree-complex.c:1459
#7  tree_lower_complex () at ../../gcc-svn/trunk/gcc/tree-complex.c:1600
#8  tree_lower_complex () at ../../gcc-svn/trunk/gcc/tree-complex.c:1566


[Bug fortran/48847] New: Wrong "unused parameter" warning with interface block

2011-05-02 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48847

   Summary: Wrong "unused parameter" warning with interface block
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: enhancement
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: tkoe...@gcc.gnu.org


Original test case by Ondrej Certik from
http://gcc.gnu.org/ml/fortran/2011-04/msg00297.html

Reduced test case:

module foo
contains
  function f(g)
interface
   real function g()
   end function g
end interface
real :: f
f = g()
  end function f
end module foo
ig25@linux-fd1f:~/Krempel/Warn> gfortran -c -Wunused-parameter b.f90
b.f90:3:0: warning: unused parameter 'g' [-Wunused-parameter]

Same warning in 4.4, so probably not a regression.


[Bug tree-optimization/48846] Many -O2 -flto testsuite failures with -m32 -mavx

2011-05-02 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48846

--- Comment #1 from Uros Bizjak  2011-05-02 20:43:31 
UTC ---
valgrind says:

==29628== Invalid read of size 2
==29628==at 0x641800: is_gimple_min_invariant (gimple.c:2814)
==29628==by 0x65BC5C: gimplify_compound_lval (gimplify.c:2053)
==29628==by 0x680984: gimplify_expr (gimplify.c:6717)
==29628==by 0x68A9E4: force_gimple_operand_1 (gimplify.c:8162)
==29628==by 0x68AB83: force_gimple_operand_gsi_1 (gimplify.c:8202)
==29628==by 0x68ACC9: force_gimple_operand_gsi (gimplify.c:8236)
==29628==by 0x7DC3A2: expand_complex_operations_1 (tree-complex.c:810)
==29628==by 0x7DD583: tree_lower_complex (tree-complex.c:1600)
==29628==by 0x71BAC5: execute_one_pass (passes.c:1556)
==29628==by 0x71BDC4: execute_pass_list (passes.c:1611)
==29628==by 0x81B835: tree_rest_of_compilation (tree-optimize.c:423)
==29628==by 0x9D7183: cgraph_expand_function (cgraphunit.c:1579)
==29628==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==29628==


[Bug ada/48844] [4.6/4.7 regression] ICE on assignment of aggregate with discriminant record type

2011-05-02 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48844

Eric Botcazou  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Known to work||4.4.6, 4.5.4
   Keywords||ice-on-valid-code
   Last reconfirmed||2011.05.02 21:05:30
 Ever Confirmed|0   |1
Summary|GNAT bug box, referring to  |[4.6/4.7 regression] ICE on
   |gimplify.c, possibly to do  |assignment of aggregate
   |with aliasing and   |with discriminant record
   |discriminant|type
   Target Milestone|--- |4.6.1
  Known to fail||4.6.0, 4.7.0

--- Comment #2 from Eric Botcazou  2011-05-02 
21:05:30 UTC ---
Recent regression.


[Bug ada/48844] [4.6/4.7 regression] ICE on assignment of aggregate with discriminated record type

2011-05-02 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48844

Eric Botcazou  changed:

   What|Removed |Added

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

--- Comment #3 from Eric Botcazou  2011-05-02 
21:06:47 UTC ---
Investigating.


[Bug c++/40975] [4.3/4.4/4.5/4.6 Regression] ICE in copy_tree_r on array new

2011-05-02 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40975

--- Comment #10 from Jason Merrill  2011-05-02 
22:00:13 UTC ---
Author: jason
Date: Mon May  2 22:00:07 2011
New Revision: 173274

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173274
Log:
Revert:
PR c++/40975
* cp-tree.def (VEC_INIT_EXPR): Add third operand.
* cp-tree.h (VEC_INIT_EXPR_NELTS): New.
* cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it.
* tree.c (build_vec_init_expr): Handle getting pointer/nelts.
(build_vec_init_elt): Don't expect an array type.
(build_array_copy): Adjust.
* init.c (perform_member_init): Adjust.
(build_new_1): Use build_vec_init_expr.

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-gimplify.c
trunk/gcc/cp/cp-tree.def
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/init.c
trunk/gcc/cp/method.c
trunk/gcc/cp/tree.c


[Bug c++/48834] [4.7 Regression] -fno-exceptions causes wrong code generation on C++ code

2011-05-02 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48834

--- Comment #2 from Jason Merrill  2011-05-02 
21:59:52 UTC ---
Author: jason
Date: Mon May  2 21:59:49 2011
New Revision: 173272

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173272
Log:
PR c++/48834
* tree.c (build_vec_init_expr): Set TREE_SIDE_EFFECTS.
Protect an explicit target.

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


  1   2   >