[Bug target/60062] [4.7/4.9 Regression] wrong code (for code with the optimize attribute) at -O1 and above on x86_64-linux-gnu in 32-bit mode

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 32043
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32043action=edit
gcc49-pr60062.patch

The problem is that !!optimize determines calling convention on i?86 -m32 in
some cases, but for calling conventions the caller and callee obviously have to
agree on that, but !!optimize when optimize attribute comes into the picture is
whether the current function is optimized.  So, on the testcase, it is true for
the callee and false for the caller.  The attached untested patch fixes that by
considering whether the callee is optimized instead.


[Bug middle-end/16660] attribute((aligned)) doesn't work for variables on the stack for greater than required alignement

2014-02-05 Thread kugel at rockbox dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16660

Thomas Martitz kugel at rockbox dot org changed:

   What|Removed |Added

 CC||kugel at rockbox dot org

--- Comment #23 from Thomas Martitz kugel at rockbox dot org ---
Which release is the first to ship and was it backported? I experience this bug
in an old 4.4.6 armeabi gcc.


[Bug middle-end/16660] attribute((aligned)) doesn't work for variables on the stack for greater than required alignement

2014-02-05 Thread kugel at rockbox dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16660

--- Comment #24 from Thomas Martitz kugel at rockbox dot org ---
Alright, looking at the revision history it appears to me that the GCC 4.6
series ship the fix and it was not backported to 4.4 (although 4.4.7 was
released months after this patch hit svn trunk) or 4.5.


[Bug ipa/60072] New: wrong code (for code with an optimize attribute) at -O0 on x86_64-linux-gnu in 32-bit mode

2014-02-05 Thread su at cs dot ucdavis.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60072

Bug ID: 60072
   Summary: wrong code (for code with an optimize attribute) at
-O0 on x86_64-linux-gnu in 32-bit mode
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ipa
  Assignee: unassigned at gcc dot gnu.org
  Reporter: su at cs dot ucdavis.edu

The current gcc trunk (as well as all earlier versions from 4.6.x to 4.8.x)
miscompiles the following code with an optimize attribute on x86_64-linux at
-O0 in 32-bit mode (but not 64-bit). 

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 4.9.0 20140204 (experimental) [trunk revision 207486] (GCC) 
$ 
$ gcc-trunk -m32 -O1 small.c; a.out
$ gcc-trunk -m64 -O0 small.c; a.out
$ 
$ gcc-trunk -m32 -O0 small.c; a.out
Segmentation fault (core dumped)
$ gcc-4.8.2 -m32 -O0 small.c; a.out
Segmentation fault (core dumped)
$ gcc-4.7.3 -m32 -O0 small.c; a.out
Segmentation fault (core dumped)
$ gcc-4.6.4 -m32 -O0 small.c; a.out
Segmentation fault (core dumped)
$ 


---


int i, *a = i, **b = a, c, d, **e = a; 

__attribute__ ((optimize (1)))
static int *foo (int *p)
{
  *e = p;
  return 0;
}

int
main ()
{
  foo (c);
  d  1  **b;
  return 0;
}


[Bug c/59193] Unused postfix operator temporaries

2014-02-05 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59193

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||mpolacek at gcc dot gnu.org
 Resolution|--- |INVALID


[Bug fortran/60066] Bad elemental invocation of non-scalar base object

2014-02-05 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60066

--- Comment #4 from Dominique d'Humieres dominiq at lps dot ens.fr ---
I have applied the patch at
http://gcc.gnu.org/ml/fortran/2014-02/txtX3eVILZEGw.txt on top of 4.8.3 r206497
and the test runs successfully (so it fixed on trunk by r207389).


[Bug ipa/60072] wrong code (for code with an optimize attribute) at -O0 on x86_64-linux-gnu in 32-bit mode

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution|--- |DUPLICATE

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Seems to be a dup of PR60062.

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


[Bug target/60062] [4.7/4.9 Regression] wrong code (for code with the optimize attribute) at -O1 and above on x86_64-linux-gnu in 32-bit mode

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

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
*** Bug 60072 has been marked as a duplicate of this bug. ***


[Bug target/60071] [4.9 Regression] [SH] internal compiler error: in final_scan_insn, at final.c:2963

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org
   Target Milestone|--- |4.9.0


[Bug lto/60061] Different dump-ipa-cp-details without/with -flto for gfortran.dg/pr53787.f90

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-02-05
 CC||jamborm at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
The dumps seem to be different for the Jump functions already.  It seems that
passing -flto makes the machinery behave differently for some reason
(note this is compile-stage only so make sure to also pass -ffat-lto-objects).

Martin?  Honza?

Maybe this is because of

ipa_compute_jump_functions (struct cgraph_node *node,
struct param_analysis_info *parms_ainfo)
{
  struct cgraph_edge *cs;

  for (cs = node-callees; cs; cs = cs-next_callee)
{
  struct cgraph_node *callee = cgraph_function_or_thunk_node (cs-callee,
  NULL);
  /* We do not need to bother analyzing calls to unknown
 functions unless they may become known during lto/whopr.  */
  if (!callee-definition  !flag_lto)
continue;

?  Or other flag_lto tests?  Or maybe this is just because -fwhole-program
is interpreted differently when used with/without -flto?  Indeed the
actual transforms of -flto -fwhole-program match those of -fno-lto
-fno-whole-program.


[Bug fortran/60060] [4.9 Rgression] lto1: internal compiler error: in add_AT_specification, at dwarf2out.c:4096

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||lto
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-02-05
  Component|debug   |fortran
   Target Milestone|--- |4.9.0
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.


[Bug fortran/60066] Bad elemental invocation of non-scalar base object

2014-02-05 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60066

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #5 from Dominique d'Humieres dominiq at lps dot ens.fr ---
 I have applied the patch at 
 http://gcc.gnu.org/ml/fortran/2014-02/txtX3eVILZEGw.txt
 on top of 4.8.3 r206497 and the test runs successfully ...

Marking as duplicate of pr49906.

Paul,

For the record, no regression when testing with

make -k -j8 check-gfortran RUNTESTFLAGS=--target_board=unix'{-m32,-m64}'

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


[Bug debug/49906] wrong .debug_line for -O0 -g prologue skip

2014-02-05 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49906

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 CC||fmartinez at gmv dot com

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
*** Bug 60066 has been marked as a duplicate of this bug. ***


[Bug middle-end/37921] __builtin_constant_p seems to be giving false positives

2014-02-05 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37921

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC||mpolacek at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #10 from Marek Polacek mpolacek at gcc dot gnu.org ---
Seems to be fixed a long time ago.


[Bug fortran/59906] [4.7/4.8 Regression] error: size of variable 'anonymous' is too large

2014-02-05 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59906

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 CC||fmartinez at gmv dot com

--- Comment #10 from Dominique d'Humieres dominiq at lps dot ens.fr ---
*** Bug 60066 has been marked as a duplicate of this bug. ***


[Bug fortran/60066] Bad elemental invocation of non-scalar base object

2014-02-05 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60066

--- Comment #6 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Wrong PR in the previous post. Sorry for the noise.

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


[Bug debug/49906] wrong .debug_line for -O0 -g prologue skip

2014-02-05 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49906

--- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr ---
 *** Bug 60066 has been marked as a duplicate of this bug. ***

Wrong post. Sorry for the noise.


[Bug fortran/60066] Bad elemental invocation of non-scalar base object

2014-02-05 Thread paul.richard.thomas at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60066

--- Comment #7 from paul.richard.thomas at gmail dot com paul.richard.thomas 
at gmail dot com ---
The patch submission (1st February) said:

That must be one of the fastest reviews on record!

Committed as revision 207389

4.7 and 4.8 to follow next weekend.


Given my limited time, that is as much as I can do.  In any case, it
has been our working convention to hold off backporting in order to
expose untested regressions.

Cheers

Paul


On 4 February 2014 22:47, dominiq at lps dot ens.fr
gcc-bugzi...@gcc.gnu.org wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60066

 Dominique d'Humieres dominiq at lps dot ens.fr changed:

What|Removed |Added
 
  Status|UNCONFIRMED |NEW
Last reconfirmed||2014-02-04
  CC||mikael at gcc dot gnu.org,
||pault at gcc dot gnu.org
  Ever confirmed|0   |1

 --- Comment #3 from Dominique d'Humieres dominiq at lps dot ens.fr ---
 This seems to have been fixed between r207387 and r207408 (r207389 or 
 r207386).
 These revisions are supposed to be back ported.

 --
 You are receiving this mail because:
 You are on the CC list for the bug.


[Bug target/60071] [4.9 Regression] [SH] internal compiler error: in final_scan_insn, at final.c:2963

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

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
I'd say it is a backend bug.  Canonicalizing (minus:SI (const_int INT_MIN))
into (const_int INT_MIN) is IMNSHO very much desirable, it is just a target bug
that it matches an insn with it at the point where it no longer is able to cope
with it.  So, either it needs to use some predicate which will make such insn
invalid right after split1, or it needs to cope also with the case where during
splitting it can't create pseudos.


[Bug target/60071] [4.9 Regression] [SH] internal compiler error: in final_scan_insn, at final.c:2963

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

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Note the case RTX_UNARY: handling in simplify_while_replacing wasn't strictly
necessary to fix the bug, so in theory that can be temporarily reverted, but
that doesn't change anything on this being a target bug.


[Bug fortran/60060] [4.9 Rgression] lto1: internal compiler error: in add_AT_specification, at dwarf2out.c:4096

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

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
The issue is that we create the DIE for the namelist before we've emitted
DIEs for global vars.  Thus we run into

static dw_die_ref
gen_namelist_decl (tree name, dw_die_ref scope_die, tree item_decls)
{
...
  FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (item_decls), i, value)
{
  nml_item_ref_die = lookup_decl_die (value);
  if (!nml_item_ref_die)
nml_item_ref_die = force_decl_die (value);

which forces the creation of a DIE for mem_nml as context of nxc and
creates a declaration DIE of nxc in that context.

The actual AT_specification is added when we output debuginfo for mem_nml
but then again via emit_debug_global_declarations.

Without LTO we don't call dwarf2out_global_decl on mem_nml::NXC.

I believe that somehow we have to honor TREE_ASM_WRITTEN here to avoid
outputting the decl twice ...?

That said, frontends disconnect on what are globals is obviously an
area to improve upon ... as is removing the various langhooks around
this area (write_global_declarations) in the light of cgraph/varpool/symtab.


[Bug c/45152] LTO breaks C99 inline

2014-02-05 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45152

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org
   Severity|critical|normal


[Bug c/52615] function pointer casting bug

2014-02-05 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52615

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||mpolacek at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
I'd say fixed by r207300.


[Bug c/59753] Missing -Woverflow warning with signed constant conversion between T_MAX+1 and UT_MAX

2014-02-05 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59753

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||mpolacek at gcc dot gnu.org
 Resolution|--- |WORKSFORME

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
-Wconversion catches all of these.


[Bug middle-end/59150] [4.9 Regression] ICE: in expand_one_var, at cfgexpand.c:1242 with -fopenmp

2014-02-05 Thread sebastian.hu...@embedded-brains.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59150

Sebastian Huber sebastian.hu...@embedded-brains.de changed:

   What|Removed |Added

 CC||sebastian.huber@embedded-br
   ||ains.de

--- Comment #5 from Sebastian Huber sebastian.hu...@embedded-brains.de ---
On ARM the test case fails with an ICE:

http://gcc.gnu.org/ml/gcc-testresults/2014-02/msg00211.html
http://gcc.gnu.org/ml/gcc-testresults/2014-02/msg00203.html

With GCC version:

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207497
138bc75d-0d04-0410-961f-82ee72b054a4

I get the following error for target arm-rtems:

spawn -ignore SIGHUP
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../xg++
-B/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../
/home/sh/archive/gcc-git/gcc/testsuite/g++.dg/gomp/pr59150.C
-fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++
-I/scratch/git-rtems-testing/gcc/b-arm-gcc/arm-rtems4.11/libstdc++-v3/include/arm-rtems4.11
-I/scratch/git-rtems-testing/gcc/b-arm-gcc/arm-rtems4.11/libstdc++-v3/include
-I/home/sh/archive/gcc-git/libstdc++-v3/libsupc++
-I/home/sh/archive/gcc-git/libstdc++-v3/include/backward
-I/home/sh/archive/gcc-git/libstdc++-v3/testsuite/util -fmessage-length=0
-std=gnu++98 -O -fopenmp-simd -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce
-S -isystem
/scratch/git-rtems-testing/gcc/b-arm-gcc/arm-rtems4.11/./newlib/targ-include
-isystem /home/sh/archive/gcc-git/newlib/libc/include
-B/scratch/git-rtems-testing/gcc/install-git/arm-rtems4.11/edb7312/lib/ -specs
bsp_specs -qrtems -o pr59150.s
*** glibc detected ***
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus:
double free or corruption (fasttop): 0x01921620 ***
=== Backtrace: =
/lib64/libc.so.6(+0x766d6)[0x7f6a40fd06d6]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z14free_data_refs3vecIP14data_reference7va_heap6vl_ptrE+0x3e)[0x101979e]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z21vect_destroy_datarefsP14_loop_vec_infoP12_bb_vec_info+0x68)[0xd36258]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z21destroy_loop_vec_infoP14_loop_vec_infob+0x17d)[0xd1939d]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z17vect_analyze_loopP4loop+0x134)[0xd20084]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z15vectorize_loopsv+0xb90)[0xd37360]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z16execute_one_passP8opt_pass+0x343)[0xa87713]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z17execute_pass_listP8opt_pass+0x16)[0xa87a06]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z17execute_pass_listP8opt_pass+0x28)[0xa87a18]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z17execute_pass_listP8opt_pass+0x28)[0xa87a18]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus[0x816963]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z7compilev+0x5f9)[0x818819]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z25finalize_compilation_unitv+0x65)[0x819085]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z28cp_write_global_declarationsv+0xf5c)[0x60613c]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus[0xb2ee8d]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus(_Z11toplev_mainiPPc+0xb22)[0xb30c02]
/lib64/libc.so.6(__libc_start_main+0xed)[0x7f6a40f7b23d]
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/testsuite/g++/../../cc1plus[0x51238d]
=== Memory map: 
0040-015ba000 r-xp  08:16 1314946   
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/cc1plus
017ba000-017bc000 r--p 011ba000 08:16 1314946   
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/cc1plus
017bc000-017c7000 rw-p 011bc000 08:16 1314946   
/scratch/git-rtems-testing/gcc/b-arm-gcc/gcc/cc1plus
017c7000-0194 rw-p  00:00 0  [heap]
7f6a40944000-7f6a40959000 r-xp  08:03 131176
/lib64/libgcc_s.so.1
7f6a40959000-7f6a40b58000 ---p 00015000 08:03 131176
/lib64/libgcc_s.so.1
7f6a40b58000-7f6a40b59000 r--p 00014000 08:03 131176
/lib64/libgcc_s.so.1
7f6a40b59000-7f6a40b5a000 rw-p 00015000 08:03 131176
/lib64/libgcc_s.so.1
7f6a40b5a000-7f6a40f5a000 rw-p  00:00 0 
7f6a40f5a000-7f6a410e1000 r-xp  08:03 131080
/lib64/libc-2.14.1.so
7f6a410e1000-7f6a412e ---p 00187000 08:03 131080
/lib64/libc-2.14.1.so

[Bug rtl-optimization/59999] [4.9 Regression] Sign extension in loop regression blocks generation of zero overhead loop

2014-02-05 Thread pa...@matos-sorge.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5

--- Comment #7 from Paulo J. Matos pa...@matos-sorge.com ---
(In reply to Richard Biener from comment #5)
 Apart from expand there is the redundant-extension-elimination, ree.c.

In expand we get the following gimple for the loop:
;;   basic block 4, loop depth 0
;;pred:   2
;;4
  # i_15 = PHI 0(2), i_12(4)
  # _18 = PHI 0(2), _4(4)
  _6 = arr[_18];
  _7 = _6 + 1;
  arr[_18] = _7;
  _17 = (unsigned short) i_15;
  _13 = _17 + 1;
  i_12 = (short int) _13;
  _4 = (int) i_12;
  if (_4  limit_5(D))
goto bb 4;
  else
goto bb 3;
;;succ:   4
;;3


Where _13 is an unsigned short and what we want to eliminate is this sign
extend:
  _4 = (int) i_12;

This doesn't seem trivial in the expand phase because to eliminate the sign
expand, you promote i_12 to int and have then to promote a bunch of other
variables, whose insn have been already emitted when you get here. Shouldn't
this be ivopts noticing that if it generates an int IV, it saves a sign extend
and therefore is better?


[Bug fortran/60060] [4.9 Rgression] lto1: internal compiler error: in add_AT_specification, at dwarf2out.c:4096

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
Another possibility is to simply stream the FEs idea of what is a global ...


[Bug fortran/60066] Bad elemental invocation of non-scalar base object

2014-02-05 Thread pault at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60066

Paul Thomas pault at gcc dot gnu.org changed:

   What|Removed |Added

 Resolution|DUPLICATE   |FIXED

--- Comment #8 from Paul Thomas pault at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #5)
  I have applied the patch at 
  http://gcc.gnu.org/ml/fortran/2014-02/txtX3eVILZEGw.txt
  on top of 4.8.3 r206497 and the test runs successfully ...
 
 Marking as duplicate of pr49906.
 
 Paul,
 
 For the record, no regression when testing with
 
 make -k -j8 check-gfortran RUNTESTFLAGS=--target_board=unix'{-m32,-m64}'
 
 *** This bug has been marked as a duplicate of bug 49906 ***

I will, however, add this testcase to that of PR59906 - it is different yet
again from the verification tests although it is fixed by the patch.

Cheers

Pau


[Bug c/59753] Missing -Woverflow warning with signed constant conversion between T_MAX+1 and UT_MAX

2014-02-05 Thread vincent-gcc at vinc17 dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59753

Vincent Lefèvre vincent-gcc at vinc17 dot net changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|WORKSFORME  |---

--- Comment #2 from Vincent Lefèvre vincent-gcc at vinc17 dot net ---
-Wconversion is used to warn about possibly-suspicious valid code such as:

  unsigned ui = -1;

(see the gcc man page), not for overflows. At least there is an inconsistency
in the use of warnings. There is no reason why 65535 and 65536 should be
treated differently when assigned to a short: neither value is representable in
a short.

[Bug tree-optimization/60042] vectorizer still does too many dependence tests for himeno:jacobi

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Depends on||23855

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
For analysis of the DRs in outer loops we need to fix PR23855.


[Bug target/59718] Behaviour of -mcpu documented incorrectly for ARM targets

2014-02-05 Thread jgreenhalgh at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59718

--- Comment #2 from jgreenhalgh at gcc dot gnu.org ---
Author: jgreenhalgh
Date: Wed Feb  5 11:42:50 2014
New Revision: 207501

URL: http://gcc.gnu.org/viewcvs?rev=207501root=gccview=rev
Log:
[ARM Documentation] Clarify -mcpu, -mtune, -march

gcc/

PR target/59718
* doc/invoke.texi (-march=): Clarify documentation for ARM.
(-mtune=): Likewise.
(-mcpu=): Likewise.



Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/invoke.texi


[Bug rtl-optimization/59999] [4.9 Regression] Sign extension in loop regression blocks generation of zero overhead loop

2014-02-05 Thread pa...@matos-sorge.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5

--- Comment #8 from Paulo J. Matos pa...@matos-sorge.com ---
(In reply to Paulo J. Matos from comment #7)
 (In reply to Richard Biener from comment #5)
  Apart from expand there is the redundant-extension-elimination, ree.c.
 
 In expand we get the following gimple for the loop:
 ;;   basic block 4, loop depth 0
 ;;pred:   2
 ;;4
   # i_15 = PHI 0(2), i_12(4)
   # _18 = PHI 0(2), _4(4)
   _6 = arr[_18];
   _7 = _6 + 1;
   arr[_18] = _7;
   _17 = (unsigned short) i_15;
   _13 = _17 + 1;
   i_12 = (short int) _13;
   _4 = (int) i_12;
   if (_4  limit_5(D))
 goto bb 4;
   else
 goto bb 3;
 ;;succ:   4
 ;;3
 
 
 Where _13 is an unsigned short and what we want to eliminate is this sign
 extend:
   _4 = (int) i_12;
 
 This doesn't seem trivial in the expand phase because to eliminate the sign
 expand, you promote i_12 to int and have then to promote a bunch of other
 variables, whose insn have been already emitted when you get here. Shouldn't
 this be ivopts noticing that if it generates an int IV, it saves a sign
 extend and therefore is better?

Made a mistake. With the attached test, the final gimple before expand for the
loop basic block is:
;;   basic block 5, loop depth 0
;;pred:   5
;;4
  # i_26 = PHI i_1(5), 0(4)
  # ivtmp.24_18 = PHI ivtmp.24_12(5), ivtmp.24_29(4)
  _28 = (void *) ivtmp.24_18;
  _13 = MEM[base: _28, offset: 0B];
  x.4_14 = x;
  _15 = _13 ^ x.4_14;
  MEM[base: _28, offset: 0B] = _15;
  ivtmp.24_12 = ivtmp.24_18 + 4;
  temp_ptr.5_17 = (Sample *) ivtmp.24_12;
  _11 = (unsigned short) i_26;
  _2 = _11 + 1;
  i_1 = (short int) _2;
  _10 = (int) i_1;
  if (_10  _25)
goto bb 5;
  else
goto bb 6;
;;succ:   5
;;6

However, the point is the same. IVOPTS should probably generate an int IV
instead of a short int IV to avoid the sign extend since removing the sign
extend during RTL seems to be quite hard.

What do you think?


[Bug rtl-optimization/59999] [4.9 Regression] Sign extension in loop regression blocks generation of zero overhead loop

2014-02-05 Thread pa...@matos-sorge.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5

--- Comment #9 from Paulo J. Matos pa...@matos-sorge.com ---
Created attachment 32044
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32044action=edit
Testcase


[Bug target/60071] [4.9 Regression] [SH] internal compiler error: in final_scan_insn, at final.c:2963

2014-02-05 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60071

--- Comment #3 from Oleg Endo olegendo at gcc dot gnu.org ---
I'll have a look.


[Bug ipa/59469] [4.8/4.9 Regression] LLVM build failure with gcc LTO

2014-02-05 Thread trippels at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59469

--- Comment #43 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Created attachment 32045
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32045action=edit
new testcase

r207489 fixes the original issue. Thanks.

But llvm still doesn't build with -flto:

FAILED: :  /usr/bin/g++   -fPIC -fvisibility-inlines-hidden -Wall -W
-Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -pedantic
-Wno-long-long -Wno-may
be-uninitialized -Wnon-virtual-dtor -fno-rtti -O3 -DNDEBUG -pipe -march=native
-flto=4 
-Wl,-O1,--hash-style=gnu,--as-needed,--gc-sections,--icf=all,--icf-iterations=3
utils/
FileCheck/CMakeFiles/FileCheck.dir/FileCheck.cpp.o  -o bin/FileCheck  -lrt -ldl
-lcurses -lpthread -lz lib/libLLVMSupport.so -lpthread -lrt -ldl -lcurses
-lpthread -lz -Wl,-r
path,/var/tmp/llvm_build/lib  :
lib/libLLVMSupport.so: error: undefined reference to 'void*
llvm::object_creatorllvm::StringMapllvm::Timer, llvm::MallocAllocator ()'
lib/libLLVMSupport.so: error: undefined reference to 'void*
llvm::object_creatorstd::string()'
lib/libLLVMSupport.so: error: undefined reference to 'void*
llvm::object_creatorstd::vectorllvm::Timer*, std::allocatorllvm::Timer* 
()'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

In this case lto produces an undefined symbol for e.g.:
 42902 static ManagedStaticstd::vectorTimer*  ActiveTimers; 
Before r207489 the symbol was weak.

markus@x4 llvm_build % g++ -fPIC -O3 -flto -shared Timer.ii
markus@x4 llvm_build % nm a.out | grep
_ZN4llvm14object_creatorISt6vectorIPNS_5TimerESaIS3_Pvv
 U _ZN4llvm14object_creatorISt6vectorIPNS_5TimerESaIS3_Pvv

markus@x4 llvm_build % g++ -fPIC -O3 -flto -flto-partition=none -shared
Timer.ii
markus@x4 llvm_build % nm a.out | grep
_ZN4llvm14object_creatorISt6vectorIPNS_5TimerESaIS3_Pvv
3770 W _ZN4llvm14object_creatorISt6vectorIPNS_5TimerESaIS3_Pvv

markus@x4 llvm_build % g++ -fPIC -O3 -shared Timer.ii
markus@x4 llvm_build % nm a.out | grep
_ZN4llvm14object_creatorISt6vectorIPNS_5TimerESaIS3_Pvv
8dc0 W _ZN4llvm14object_creatorISt6vectorIPNS_5TimerESaIS3_Pvv
markus@x4 llvm_build %


[Bug objc/56044] Add dialect option to gobjc to prevent instance variables from posing as local variables inside methods.

2014-02-05 Thread dpapavas at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56044

--- Comment #8 from Dimitris Papavasiliou dpapavas at gmail dot com ---
Is there anything more I can do to help with this?  Does the process simply
take a lot of time or is there no interest in such a feature?


[Bug libffi/60073] New: [4.9 regression] 64-bit libffi.call/cls_double_va.c FAILs on Solaris/SPARC

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

Bug ID: 60073
   Summary: [4.9 regression] 64-bit libffi.call/cls_double_va.c
FAILs on Solaris/SPARC
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libffi
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ro at gcc dot gnu.org
CC: amodra at gcc dot gnu.org, ebotcazou at gcc dot gnu.org,
green at gcc dot gnu.org
  Host: sparc*-sun-solaris2.*
Target: sparc*-sun-solaris2.*
 Build: sparc*-sun-solaris2.*

Since ca. 20131121, the 64-bit libffi.call/cls_double_va.c test FAILs on
Solaris/SPARC:

FAIL: libffi.call/cls_double_va.c -O0 -W -Wall output pattern test, is 7.0
FAIL: libffi.call/cls_double_va.c -O2 output pattern test, is 7.0
FAIL: libffi.call/cls_double_va.c -O3 output pattern test, is 7.0
FAIL: libffi.call/cls_double_va.c -Os output pattern test, is 7.0
FAIL: libffi.call/cls_double_va.c -O2 -fomit-frame-pointer output pattern test,
is 7.0

E.g.

FAIL: libffi.call/cls_double_va.c -O0 -W -Wall output pattern test, is 7.0
res: 4
0.0
res: 4
, should match 7.0?
res: 4?
7.0?
res: 4

This is due to

2013-11-18  Alan Modra  amo...@gmail.com

* src/powerpc/ppc_closure.S: Don't bl .Luint128.

* src/powerpc/ffitarget.h: Import from upstream.
* src/powerpc/ffi.c: Likewise.
* src/powerpc/linux64.S: Likewise.
* src/powerpc/linux64_closure.S: Likewise.
* doc/libffi.texi: Likewise.
* testsuite/libffi.call/cls_double_va.c: Likewise.
* testsuite/libffi.call/cls_longdouble_va.c: Likewise.

Reverting the cls_double.ca change lets the testcase pass.  Strangely, the
cls_longdouble_va.c test still passes even with the patch, so this could
indicate
a bug in the libffi sparcv9 code.

  Rainer


[Bug libffi/60073] [4.9 regression] 64-bit libffi.call/cls_double_va.c FAILs on Solaris/SPARC

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

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug libffi/60073] [4.9 regression] 64-bit libffi.call/cls_double_va.c FAILs on Solaris/SPARC

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

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
 Reverting the cls_double.ca change lets the testcase pass.  Strangely, the
 cls_longdouble_va.c test still passes even with the patch, so this could
 indicate a bug in the libffi sparcv9 code.

Possibly, but modifying a testcase without explanation (Import from upstream
doesn't say anything about what has changed) is problematic.


[Bug target/60074] New: g++.dg/vect/pr33426-ivdep-[34].cc FAIL on SPARC

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

Bug ID: 60074
   Summary: g++.dg/vect/pr33426-ivdep-[34].cc FAIL on SPARC
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ro at gcc dot gnu.org
CC: ebotcazou at gcc dot gnu.org, rdsandiford at googlemail dot 
com
  Host: sparc*-sun-solaris2.*
Target: sparc*-sun-solaris2.*
 Build: sparc*-sun-solaris2.*

This change

2014-01-30  Richard Sandiford  rdsandif...@googlemail.com

* g++.dg/vect/pr33426-ivdep.cc, g++.dg/vect/pr33426-ivdep-2.cc,
g++.dg/vect/pr33426-ivdep-3.cc, g++.dg/vect/pr33426-ivdep-4.cc,
gcc.dg/vect/vect-ivdep-1.c, gcc.dg/vect/vect-ivdep-2.c: Require
vect_int rather than vect_float.

caused to new FAILs on Solaris/SPARC (both 32 and 64-bit):

FAIL: g++.dg/vect/pr33426-ivdep-3.cc  (test for warnings, line )
FAIL: g++.dg/vect/pr33426-ivdep-4.cc  (test for warnings, line )

This corresponds to

/* { dg-message loop vectorized  { target *-*-* } 0 } */

Before, when the test required vect_float support, the test was UNSUPPORTED.

  Rainer


[Bug target/60074] g++.dg/vect/pr33426-ivdep-[34].cc FAIL on SPARC

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

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug tree-optimization/60075] New: Wrong code from loop optimizer with address-space accesses

2014-02-05 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60075

Bug ID: 60075
   Summary: Wrong code from loop optimizer with address-space
accesses
   Product: gcc
   Version: 4.7.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gjl at gcc dot gnu.org

Created attachment 32046
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32046action=edit
loop-memx.c: C source triggering the bug

The following C code runs to abort:

== C code ==

typedef unsigned char uint8_t;

volatile uint8_t buf[12];
volatile uint8_t buf_used;

void __attribute__((noinline,noclone))
copy_string (uint8_t len, const __memx char* str)
{
uint8_t n;

for (n = 0; n  len; n++)
{
if (*str != '1')
__builtin_abort();
buf[n] = *str++;
}

buf_used = len;
}

int main (void)
{
copy_string (1, 1);

return 0;
}

== Command Line ==

$ avr-gcc -mmcu=atmega128 loop-memx.c -O2 -v

== Configuration ==

It's from the current (2014-02-05) 4.7 head but the problem is also known for
official releases like 4.7.2

gcc version 4.7.4 20140205 (prerelease) [gcc-4_7-branch revision 195858] (GCC)

Target: avr
Configured with: ../../gcc.gnu.org/gcc-4_7-branch/configure --target=avr
--prefix=/local/gnu/install/gcc-4.7 --disable-nls --with-dwarf2
--enable-languages=c,c++ --enable-target-optspace=yes --with-avrlibc=yes


[Bug tree-optimization/60075] Wrong code from loop optimizer with address-space accesses

2014-02-05 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60075

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||addr-space, wrong-code
 Target||avr
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-02-05
 Ever confirmed|0   |1

--- Comment #1 from Georg-Johann Lay gjl at gcc dot gnu.org ---
The code is correct of -fno-ivopts or -fno-tree-loop-optimize is added to the
command options.

Presumably, the problem is that the __memx address space uses a 24-bit mode
(PSImode) but sizetype is only 16 bits.


[Bug libffi/60073] [4.9 regression] 64-bit libffi.call/cls_double_va.c FAILs on Solaris/SPARC

2014-02-05 Thread amodra at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60073

Alan Modra amodra at gmail dot com changed:

   What|Removed |Added

 CC||amodra at gmail dot com

--- Comment #2 from Alan Modra amodra at gmail dot com ---
This is almost certainly a bug in sparc libffi.  The explanation for the
testcase fix went to the upstream libffi list..

This also fixes two faulty tests that used a non-variadic function
cast to call a variadic function, and spuriously reasoned that this is
somehow necessary for static functions.


[Bug target/60076] gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC

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

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug target/60076] gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC

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

--- Comment #1 from Rainer Orth ro at gcc dot gnu.org ---
Created attachment 32047
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32047action=edit
.vect dump


[Bug target/60076] New: gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC

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

Bug ID: 60076
   Summary: gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ro at gcc dot gnu.org
CC: ebotcazou at gcc dot gnu.org, rguenth at gcc dot gnu.org
  Host: sparc*-sun-solaris2.*
Target: sparc*-sun-solaris2.*
 Build: sparc*-sun-solaris2.*

The new gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC, both 32 and 64-bit:

FAIL: gcc.dg/vect/pr60012.c scan-tree-dump vect LOOP VECTORIZED
FAIL: gcc.dg/vect/pr60012.c -flto -ffat-lto-objects  scan-tree-dump vect LOOP
VECTORIZED

I'm attaching the .vect dump.

  Rainer


[Bug ipa/59469] [4.8/4.9 Regression] LLVM build failure with gcc LTO

2014-02-05 Thread trippels at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59469

--- Comment #44 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
diff --git a/gcc/lto/lto-partition.c b/gcc/lto/lto-partition.c
index da76b10511f0..e47679239d84 100644
--- a/gcc/lto/lto-partition.c
+++ b/gcc/lto/lto-partition.c
@@ -97,7 +97,7 @@ get_symbol_class (symtab_node *node)
   /* Linker discardable symbols are duplicated to every use unless they are
  keyed.
  Keyed symbols or those.  */
-  if (DECL_ONE_ONLY (node-decl)
+  if ((DECL_COMDAT (node-decl) || DECL_ONE_ONLY (node-decl))
!node-force_output
!node-forced_by_abi
!symtab_used_from_object_file_p (node))

fixes the issue for me. With this LLVM-3.4 now compiles fine with LTO. 
(LLVM trunk build still fails, but it looks like an LLVM bug to me.)


[Bug target/60077] New: [4.9 regression] gcc.target/i386/pr35767-5.c FAILs

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

Bug ID: 60077
   Summary: [4.9 regression] gcc.target/i386/pr35767-5.c FAILs
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ro at gcc dot gnu.org
  Host: i386-pc-solaris2.*, x86_64-unknown-linux-gnu,
x86_64-unknown-darwin*
Target: i386-pc-solaris2.*, x86_64-unknown-linux-gnu,
x86_64-unknown-darwin*
 Build: i386-pc-solaris2.*, x86_64-unknown-linux-gnu,
x86_64-unknown-darwin*

Since ca. 20140124, the following testcase FAILs everywhere:

FAIL: gcc.target/i386/pr35767-5.c scan-assembler-not movups

This is a regression from 4.8.

  Rainer


[Bug target/60077] [4.9 regression] gcc.target/i386/pr35767-5.c FAILs

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

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug c++/59832] [c++11] ICE in reshape_init_class with initializer list

2014-02-05 Thread sam at wavestore dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59832

Sam Kellett sam at wavestore dot com changed:

   What|Removed |Added

 CC||sam at wavestore dot com

--- Comment #1 from Sam Kellett sam at wavestore dot com ---
Created attachment 32048
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32048action=edit
Preprocessed source

I think this is another example of the same bug:

#include vector
struct Message
{
  typedef union {
char byte;
const char *str;
  } Parameter;

  Parameter p1;
  Parameter p2;
};

int main()
{
  std::vectorMessage messages_;

  messages_.push_back({{ .byte = 'a' }});

  Message message = {{ .byte = 'a' }, { .str = Hello World }};
  messages_.push_back(message);

  messages_.push_back({{ .byte = 'a' }, { .str = Hello World }});
}

Outputs:

union.cpp: In function ‘int main()’:
union.cpp:23:66: internal compiler error: in reshape_init_class, at
cp/decl.c:5216
   messages_.push_back({{ .byte = 'a' }, { .str = Hello World }});
  ^
Please submit a full bug report,
with preprocessed source if appropriate.
See http://bugzilla.redhat.com/bugzilla for instructions.
Preprocessed source stored into /tmp/ccbxyQRY.out file, please attach this to
your bugreport.

[Bug c++/59832] [c++11] ICE in reshape_init_class with initializer list

2014-02-05 Thread sam at wavestore dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59832

--- Comment #2 from Sam Kellett sam at wavestore dot com ---
Using gcc v4.8.2 I should add...


[Bug lto/60061] Different dump-ipa-cp-details without/with -flto for gfortran.dg/pr53787.f90

2014-02-05 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60061

--- Comment #2 from Martin Jambor jamborm at gcc dot gnu.org ---
I see init cloned in both -fwhole-program ipa-cp dumps and in WPA
-flto dumps (i.e. when omitting the -S option).

Apparently, when creating fat LTO object file -fwhole-program does not
apply during the compilation phase (which is a bit confusing but I
tend to believe it is a good thing), we thus do not know that we would
clone init for all contexts and it is considered too cold for creating
an extra clone (which is also a good decision).

But non-lto -fwhole-program should be compared to -flto WPA stage, not
fat object optimization phase (assuming it is OK that -fwhole-program
in LTO only applies during the WPA phase).

Yes, jump functions are different exactly because of the condition
quoted above, there is little use analyzing them when they lead to
something unknown that is going to stay unknown.


[Bug target/59305] [4.9 Regression] gcc.dg/atomic/c11-atomic-exec-5.c fails with WARNING: program timed out on x86_64-apple-darwin13

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

--- Comment #11 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #10 from Iain Sandoe iains at gcc dot gnu.org ---
 (In reply to Rainer Orth from comment #9)
 I see the same issue on some Solaris 10/SPARC systems on UltraSPARC T2:

 do you use the default mutex-based implementation for lib atomic?

I do, since this is the only option on SPARC.

 (I suspect that this is where the darwin slowness originates)

 if I configure --with-cpu=core2 (which allows 16b exchanges) the time drops
 from ~50m = 5m with the complex double tests dominating as you have.

Even that seems to require ifunc support, which isn't supported on Solaris
even with gld.

Rainer


[Bug tree-optimization/23855] loop header should also be pulled out of the inner loop too

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

--- Comment #27 from Richard Biener rguenth at gcc dot gnu.org ---
Some more TLC to be applied before it's ready for prime time (and obviously
testing).  Eventually integrating with LIM sounds better?


[Bug tree-optimization/23855] loop header should also be pulled out of the inner loop too

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #11231|0   |1
is obsolete||
   Assignee|rakdver at gcc dot gnu.org |rguenth at gcc dot 
gnu.org

--- Comment #26 from Richard Biener rguenth at gcc dot gnu.org ---
Created attachment 32049
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32049action=edit
updated patch

Updated the patch to trunk.


[Bug preprocessor/56824] [4.8/4.9 regression] pragma GCC diagnostic push/pop fail with GCC diagnostic ignored -Waggregate-return

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 32050
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32050action=edit
gcc49-pr56824.patch

Untested fix.


[Bug tree-optimization/23855] loop header should also be pulled out of the inner loop too

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

--- Comment #28 from Richard Biener rguenth at gcc dot gnu.org ---
Created attachment 32051
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32051action=edit
updated patch

Slight update to apply all possible hoists to PR60042.


[Bug middle-end/57499] [4.7/4.8/4.9 Regression] ICE when noreturn destructor returns after throw with -O

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

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Wed Feb  5 14:34:30 2014
New Revision: 207504

URL: http://gcc.gnu.org/viewcvs?rev=207504root=gccview=rev
Log:
PR middle-end/57499
* tree-eh.c (cleanup_empty_eh): Bail out on totally empty
bb with no successors.

* g++.dg/torture/pr57499.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/torture/pr57499.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-eh.c


[Bug tree-optimization/60042] vectorizer still does too many dependence tests for himeno:jacobi

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

--- Comment #9 from Richard Biener rguenth at gcc dot gnu.org ---
PR23855 fixed we'd get for the analysis of the remaining DRs in the outermost
loop
for example for matrix A:

Creating dr for *_290
analyze_innermost: success.
base_address: pretmp_1792 + (sizetype) ((long unsigned int) pretmp_1974
* 4)
offset from base address: 0
constant offset from base address: 4
step: 4
aligned to: 128
base_object: *pretmp_1792 + (sizetype) ((long unsigned int)
(((pretmp_1831 + 1) * pretmp_1794 + 1) * pretmp_1796) * 4)
Access function 0: {{{4B, +, (sizetype) ((long unsigned int)
(pretmp_1794 * pretmp_1796) * 4)}_2, +, (sizetype) ((long unsigned int)
pretmp_1796 * 4)}_6, +, 4}_7

Creating dr for *_81
analyze_innermost: success.
base_address: pretmp_1792 + (sizetype) ((long unsigned int) pretmp_1915
* 4)
offset from base address: 0
constant offset from base address: 4
step: 4
aligned to: 128
base_object: *pretmp_1792 + (sizetype) ((long unsigned int)
(((pretmp_1804 + 1) * pretmp_1794 + 1) * pretmp_1796) * 4)
Access function 0: {{{4B, +, (sizetype) ((long unsigned int)
(pretmp_1794 * pretmp_1796) * 4)}_2, +, (sizetype) ((long unsigned int)
pretmp_1796 * 4)}_6, +, 4}_7

Creating dr for *_60
analyze_innermost: success.
base_address: pretmp_1792 + (sizetype) ((long unsigned int) pretmp_1902
* 4)
offset from base address: 0
constant offset from base address: 4
step: 4
aligned to: 128
base_object: *pretmp_1792 + (sizetype) ((long unsigned int)
(((pretmp_1801 + 1) * pretmp_1794 + 1) * pretmp_1796) * 4)
Access function 0: {{{4B, +, (sizetype) ((long unsigned int)
(pretmp_1794 * pretmp_1796) * 4)}_2, +, (sizetype) ((long unsigned int)
pretmp_1796 * 4)}_6, +, 4}_7

which still requires hard work to actually combine as the base objects still
differ (but the access function is equal).


[Bug target/60077] [4.9 regression] gcc.target/i386/pr35767-5.c FAILs

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-02-05
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.


[Bug middle-end/57499] [4.7/4.8 Regression] ICE when noreturn destructor returns after throw with -O

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.9.0
Summary|[4.7/4.8/4.9 Regression]|[4.7/4.8 Regression] ICE
   |ICE when noreturn   |when noreturn destructor
   |destructor returns after|returns after throw with -O
   |throw with -O   |
  Known to fail|4.9.0   |

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Fixed on the trunk so far.


[Bug target/59718] Behaviour of -mcpu documented incorrectly for ARM targets

2014-02-05 Thread jgreenhalgh at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59718

--- Comment #3 from jgreenhalgh at gcc dot gnu.org ---
Author: jgreenhalgh
Date: Wed Feb  5 14:40:36 2014
New Revision: 207505

URL: http://gcc.gnu.org/viewcvs?rev=207505root=gccview=rev
Log:
[Backport: ARM Documentation] Clarify -mcpu, -mtune, -march

gcc/

Backport from mainline.
2014-02-05  James Greenhalgh  james.greenha...@arm.com

PR target/59718
* doc/invoke.texi (-march): Clarify documentation for ARM.
(-mtune): Likewise.
(-mcpu): Likewise.



Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/doc/invoke.texi


[Bug target/60076] gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2014-02-05
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Mine.  Some dg-requires of vect_XXX missing probably.

note: not vectorized: no vectype for stmt: _8 = *_7;
 scalar_type: long long unsigned int

I propose to change s/unsigned long long/unsigned int/g in the testcase.  Does
that fix it for you?


[Bug c/59850] Support sparse-style pointer address spaces (type attributes)

2014-02-05 Thread tromey at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59850

--- Comment #6 from Tom Tromey tromey at gcc dot gnu.org ---
Null pointer constants are treated specially, which makes sense,
but only if they have type void * and are in address space 0.
That is, this works:

#define NULL ((__attribute__ ((address_space (0))) void *) 0)
__attribute__((address_space (1))) int *p = NULL;

But this gets a warning:

#define NULL ((__attribute__ ((address_space (1))) void *) 0)
__attribute__((address_space (0))) int *p = NULL;

And so does this:

#define NULL ((int *) 0)
__attribute__((address_space (1))) int *p = NULL;


I'm not sure whether that last one ought to be an error or not.


[Bug ada/60078] New: acats c761007 fails on ARM

2014-02-05 Thread bernd.edlinger at hotmail dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60078

Bug ID: 60078
   Summary: acats c761007 fails on ARM
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
  Assignee: unassigned at gcc dot gnu.org
  Reporter: bernd.edlinger at hotmail dot de

,.,. C761007 ACATS 2.5 14-02-05 11:14:25^M
 C761007 Check that if a finalize procedure invoked by a transfer of^M
control or selection of a terminate alternative attempts^M
to propagate an exception, the exception is ignored, but^M
any other finalizations due to be performed are^M
performed.^M
   * C761007 Asynchronously aborted operation Expecting: GHIJ Got:^M
GGHIJ.^M
 C761007 FAILED .^M
FAIL:   c761007


root@socfpga_cyclone5:/home/ed/gnu/arm-linux-gnueabihf/bin# ./gcc -v
Using built-in specs.
COLLECT_GCC=./gcc
COLLECT_LTO_WRAPPER=/home/ed/gnu/arm-linux-gnueabihf/libexec/gcc/armv7l-unknown-linux-gnueabihf/4.9.0/lto-wrapper
Target: armv7l-unknown-linux-gnueabihf
Configured with: ../gcc-4.9-20140202/configure
--prefix=/home/ed/gnu/arm-linux-gnueabihf
--enable-languages=c,c++,objc,obj-c++,fortran,ada,go --with-arch=armv7-a
--with-tune=cortex-a9 --with-fpu=vfpv3-d16 --with-float=hard
Thread model: posix
gcc version 4.9.0 20140202 (experimental) (GCC)


[Bug target/60076] gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC

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

--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
 Mine.  Some dg-requires of vect_XXX missing probably.

 note: not vectorized: no vectype for stmt: _8 = *_7;
  scalar_type: long long unsigned int

 I propose to change s/unsigned long long/unsigned int/g in the testcase.  Does
 that fix it for you?

Unfortunately not.  I'm attaching the new .vect file.

Rainer


[Bug target/60076] gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC

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

--- Comment #4 from Rainer Orth ro at gcc dot gnu.org ---
Created attachment 32052
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32052action=edit
unsigned int .vect dump


[Bug target/59718] Behaviour of -mcpu documented incorrectly for ARM targets

2014-02-05 Thread jgreenhalgh at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59718

--- Comment #4 from jgreenhalgh at gcc dot gnu.org ---
Author: jgreenhalgh
Date: Wed Feb  5 14:55:18 2014
New Revision: 207506

URL: http://gcc.gnu.org/viewcvs?rev=207506root=gccview=rev
Log:
[Backport: ARM Documentation] Clarify -mcpu, -mtune, -march

gcc/

Backport from mainline.
2014-02-05  James Greenhalgh  james.greenha...@arm.com

PR target/59718
* doc/invoke.texi (-march): Clarify documentation for ARM.
(-mtune): Likewise.
(-mcpu): Likewise.


Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/doc/invoke.texi


[Bug target/59305] [4.9 Regression] gcc.dg/atomic/c11-atomic-exec-5.c fails with WARNING: program timed out on x86_64-apple-darwin13

2014-02-05 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59305

--- Comment #12 from Iain Sandoe iains at gcc dot gnu.org ---
(In reply to r...@cebitec.uni-bielefeld.de from comment #11)
  --- Comment #10 from Iain Sandoe iains at gcc dot gnu.org ---
  (In reply to Rainer Orth from comment #9)
  I see the same issue on some Solaris 10/SPARC systems on UltraSPARC T2:
 
  do you use the default mutex-based implementation for lib atomic?
 
 I do, since this is the only option on SPARC.

Do you repeat the findings we see on Darwin, where a heavily loaded system does
not exhibit the slow-down?

I was part-way through investigating whether spin locks would be a better
solution for these very short code-segements.  Essentially, the duration should
only be a few insns.  Available time is ever the killer.


[Bug rtl-optimization/60079] [LRA] ICE when compiling attached case.

2014-02-05 Thread belagod at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60079

--- Comment #1 from Tejas Belagod belagod at gcc dot gnu.org ---
Created attachment 32053
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32053action=edit
Reduced test case for LRA ICE.


[Bug target/59305] [4.9 Regression] gcc.dg/atomic/c11-atomic-exec-5.c fails with WARNING: program timed out on x86_64-apple-darwin13

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

--- Comment #13 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #12 from Iain Sandoe iains at gcc dot gnu.org ---
[...]
 Do you repeat the findings we see on Darwin, where a heavily loaded system 
 does
 not exhibit the slow-down?

no, I see it both on unloaded and heavily loaded systems.  Even on an
idle system, the runtime varies by a magnitude or more.

Rainer


[Bug target/59718] Behaviour of -mcpu documented incorrectly for ARM targets

2014-02-05 Thread jgreenhalgh at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59718

jgreenhalgh at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from jgreenhalgh at gcc dot gnu.org ---
Fixed on trunk and all current release branches (4.8/4.7). The text now reads:

This specifies the name of the target ARM processor.  GCC uses this name
to derive the name of the target ARM architecture (as if specified
by -march) and the ARM processor type for which to tune for
performance (as if specified by -mtune).  Where this option
is used in conjunction with -march or -mtune,
those options take precedence over the appropriate part of this option.


[Bug rtl-optimization/60079] New: [LRA] ICE when compiling attached case.

2014-02-05 Thread belagod at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60079

Bug ID: 60079
   Summary: [LRA] ICE when compiling attached case.
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: belagod at gcc dot gnu.org

When the attached case is compiled with -O2 for AArch64, LRA ICEs thus:

$ ../install/bin/aarch64-none-elf-gcc -O2 besttry.c -c
besttry.c: In function 'ripemd160_block_data_order':
besttry.c:936:1: internal compiler error: in update_reg_eliminate, at
lra-eliminations.c:1157
 }
 ^
0x899638 update_reg_eliminate
/work/aarch64/src/svn-trunk//gcc/gcc/lra-eliminations.c:1157
0x89ad3c lra_eliminate(bool, bool)
/work/aarch64/src/svn-trunk//gcc/gcc/lra-eliminations.c:1387
0x897436 lra_constraints(bool)
/work/aarch64/src/svn-trunk//gcc/gcc/lra-constraints.c:3974
0x8863bc lra(_IO_FILE*)
/work/aarch64/src/svn-trunk//gcc/gcc/lra.c:2339
0x849f96 do_reload
/work/aarch64/src/svn-trunk//gcc/gcc/ira.c:5457
0x84ac38 rest_of_handle_reload
/work/aarch64/src/svn-trunk//gcc/gcc/ira.c:5598
0x84ac38 execute
/work/aarch64/src/svn-trunk//gcc/gcc/ira.c:5627
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.


My configure:

.../gcc/configure --target=aarch64-none-elf --prefix=.../install
--with-gmp=.../host-tools --with-mpfr=.../host-tools --with-mpc=.../host-tools
--with-pkgversion=unknown --disable-shared --disable-nls --disable-threads
--disable-tls --enable-checking=yes --enable-languages=c,c++ --with-newlib

Sorry, I couldn't reduce the test case any further - commenting any line in
besttry.c makes the ICE go away.


[Bug target/60076] gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC

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

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
note: extract even/odd not supported by target

aha...  next try:

Index: gcc/testsuite/gcc.dg/vect/pr60012.c
===
--- gcc/testsuite/gcc.dg/vect/pr60012.c (revision 207504)
+++ gcc/testsuite/gcc.dg/vect/pr60012.c (working copy)
@@ -8,14 +8,14 @@ typedef struct
 } complex16_t;

 void
-libvector_AccSquareNorm_ref (unsigned long long  *acc,
+libvector_AccSquareNorm_ref (unsigned int *acc,
 const complex16_t *x, unsigned len)
 {
   unsigned i;
   for (i = 0; i  len; i++)
-acc[i] += ((unsigned long long)((int)x[i].real * x[i].real))
-   + ((unsigned long long)((int)x[i].imag * x[i].imag));
+acc[i] += ((unsigned int)((int)x[i].real * x[i].real))
+   + ((unsigned int)((int)x[i].imag * x[i].imag));
 }

-/* { dg-final { scan-tree-dump LOOP VECTORIZED vect } } */
+/* { dg-final { scan-tree-dump LOOP VECTORIZED vect { target {
vect_extract_even_odd } } } } */
 /* { dg-final { cleanup-tree-dump vect } } */


[Bug target/60076] gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC

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

--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
 note: extract even/odd not supported by target

 aha...  next try:

This works: scan-tree-dump isn't even attempted.

Thanks.
Rainer


[Bug target/59305] [4.9 Regression] gcc.dg/atomic/c11-atomic-exec-5.c fails with WARNING: program timed out on x86_64-apple-darwin13

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

--- Comment #15 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #14 from Iain Sandoe iains at gcc dot gnu.org ---
 (In reply to r...@cebitec.uni-bielefeld.de from comment #13)
[...]
 so the open question is whether there's a fault in the fall-back solution - or
 whether it's fundamentally incapable of delivering reasonable performance (at
 least on some non-linux platforms).

I don't think so: on identical hardware, the test performs reasonably
well on Solaris 11, but is sometimes slow as molasses on Solaris 10.
Rather looks like a libc bug there.

Rainer


[Bug target/60076] gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Richard Biener rguenth at gcc dot gnu.org ---
Fixed.


[Bug target/60076] gcc.dg/vect/pr60012.c FAILs on Solaris/SPARC

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

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Wed Feb  5 15:14:56 2014
New Revision: 207509

URL: http://gcc.gnu.org/viewcvs?rev=207509root=gccview=rev
Log:
2014-02-05  Richard Biener  rguent...@suse.de

PR testsuite/60076
* gcc.dg/vect/pr60012.c: Require vect_extract_even_odd and
avoid using unsigned long long.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vect/pr60012.c


[Bug target/59305] [4.9 Regression] gcc.dg/atomic/c11-atomic-exec-5.c fails with WARNING: program timed out on x86_64-apple-darwin13

2014-02-05 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59305

--- Comment #14 from Iain Sandoe iains at gcc dot gnu.org ---
(In reply to r...@cebitec.uni-bielefeld.de from comment #13)
  --- Comment #12 from Iain Sandoe iains at gcc dot gnu.org ---
 [...]
  Do you repeat the findings we see on Darwin, where a heavily loaded system 
  does
  not exhibit the slow-down?
 
 no, I see it both on unloaded and heavily loaded systems.  Even on an
 idle system, the runtime varies by a magnitude or more.

so the open question is whether there's a fault in the fall-back solution - or
whether it's fundamentally incapable of delivering reasonable performance (at
least on some non-linux platforms).


[Bug middle-end/60080] New: gcc.dg/vect/vect-nop-move.c FAILs

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

Bug ID: 60080
   Summary: gcc.dg/vect/vect-nop-move.c FAILs
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ro at gcc dot gnu.org
  Host: i386-pc-solaris2.9, i386-pc-solaris2.10
Target: i386-pc-solaris2.9, i386-pc-solaris2.10
 Build: i386-pc-solaris2.9, i386-pc-solaris2.10

The gcc.dg/vect/vect-nop-move.c FAILs on both Solaris 9 and 10/x86:

FAIL: gcc.dg/vect/vect-nop-move.c (internal compiler error)
FAIL: gcc.dg/vect/vect-nop-move.c (test for excess errors)
WARNING: gcc.dg/vect/vect-nop-move.c compilation failed to produce executable
FAIL: gcc.dg/vect/vect-nop-move.c -flto -ffat-lto-objects (internal compiler
error)
FAIL: gcc.dg/vect/vect-nop-move.c -flto -ffat-lto-objects (test for excess
errors)
WARNING: gcc.dg/vect/vect-nop-move.c -flto -ffat-lto-objects compilation failed
to produce executable

The ICE can be reproduced with

$ cc1 -fpreprocessed vect-nop-move.i -quiet -msse2 -O2
-fdump-rtl-combine-details -o vect-nop-move.s

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
0xfee0646c in strlen () from /lib/libc.so.1
(gdb) where
#0  0xfee0646c in strlen () from /lib/libc.so.1
#1  0xfee61bce in _ndoprnt () from /lib/libc.so.1
#2  0xfee6477e in fprintf () from /lib/libc.so.1
#3  0x085641ea in print_rtx (in_rtx=0xfeaf718c)
at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:430
#4  0x0856339c in print_rtx (in_rtx=0xfea8a800)
at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:384
#5  0x0856331f in print_rtx (in_rtx=0xfeadfdd4)
at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:363
#6  0x0856339c in print_rtx (in_rtx=in_rtx@entry=0xfea9bea8)
at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:384
#7  0x08564814 in print_rtl_single_with_indent (outf=0x92e8100 _iob+64, 
x=0xfea9bea8, ind=0) at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:836
#8  0x08564873 in print_rtl_single (outf=0x92e8100 _iob+64, x=0xfea9bea8)
at /vol/gcc/src/hg/trunk/local/gcc/print-rtl.c:818
#9  0x08a7608b in recog_for_combine (pnewpat=pnewpat@entry=0x8047230, 
insn=insn@entry=0xfeaf6264, pnotes=pnotes@entry=0x8047254)
at /vol/gcc/src/hg/trunk/local/gcc/combine.c:10579
#10 0x08a879ea in try_combine (i3=i3@entry=0xfeaf6264, i2=optimized out, 
i1=i1@entry=0x0, i0=optimized out, new_direct_jump_p=0x8047328, 
last_combined_insn=0xfeaf6264)
at /vol/gcc/src/hg/trunk/local/gcc/combine.c:3240
#11 0x08a8c2f4 in combine_instructions (nregs=optimized out, 
f=optimized out) at /vol/gcc/src/hg/trunk/local/gcc/combine.c:1256
#12 rest_of_handle_combine ()
at /vol/gcc/src/hg/trunk/local/gcc/combine.c:13865
#13 (anonymous namespace)::pass_combine::execute (this=0x9316930)
at /vol/gcc/src/hg/trunk/local/gcc/combine.c:13908
#14 0x0854d8d1 in execute_one_pass (pass=0x9316930)
at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2229
#15 0x0854db6f in execute_pass_list (pass=optimized out)
at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2282
#16 0x0854db86 in execute_pass_list (pass=optimized out)
at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2283
#17 0x082df681 in expand_function (node=node@entry=0xfea08c7c)
at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1774
#18 0x082e1619 in expand_all_functions ()
at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1908
#19 compile () at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2252
#20 0x082e1deb in finalize_compilation_unit ()
at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2329
#21 0x081b4aab in c_write_global_declarations ()
at /vol/gcc/src/hg/trunk/local/gcc/c/c-decl.c:10401
#22 0x085f346d in compile_file ()
at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:562
#23 0x085f5526 in do_compile ()
at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:1914
#24 toplev_main (argc=9, argv=0x8047548)
at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:1990
#25 0x08d959ab in main (argc=9, argv=0x8047548)
at /vol/gcc/src/hg/trunk/local/gcc/main.c:36

There's an attempt to print a NULL string.  On Solaris 11, the test works and
in the vect-nop-move.c.201r.combine dump there are many instances of (null),
e.g.

Trying 25 - 26:
Failed to match this instruction:
(parallel [
(set (reg:SI 97 [ __eax ])
(asm_operands:SI (cpuid
) (=a) 0 [
(const_int 0 [0])
]
 [
(asm_input:SI (0) (null):0)
]
 []
/var/gcc/regression/trunk/11-gcc/build/gcc/include/cpuid.h:248))

  Rainer


[Bug middle-end/60080] gcc.dg/vect/vect-nop-move.c FAILs

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

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug ipa/60072] wrong code (for code with an optimize attribute) at -O0 on x86_64-linux-gnu in 32-bit mode

2014-02-05 Thread su at cs dot ucdavis.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60072

--- Comment #2 from Zhendong Su su at cs dot ucdavis.edu ---
(In reply to Jakub Jelinek from comment #1)
 Seems to be a dup of PR60062.
 
 *** This bug has been marked as a duplicate of bug 60062 ***

Sorry for the dup Jakub, but are you certain about it?  Since 60062 also
affects 4.8.x, but this one doesn't, so I went and filed this report.


[Bug c++/58703] [4.9 Regression] ICE with invalid types in OpenMP declare reduction clause

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

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Wed Feb  5 15:32:01 2014
New Revision: 207511

URL: http://gcc.gnu.org/viewcvs?rev=207511root=gccview=rev
Log:
PR c++/58703
* parser.c (cp_parser_omp_declare_reduction): Save and free
declarator_obstack.

* c-c++-common/gomp/pr58703.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/gomp/pr58703.c
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog


[Bug ipa/59947] [4.9 Regression] Segmentation fault with #pragma GCC optimize (O2), ICE in get_odr_type

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

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Wed Feb  5 15:34:25 2014
New Revision: 207512

URL: http://gcc.gnu.org/viewcvs?rev=207512root=gccview=rev
Log:
PR ipa/59947
* ipa-devirt.c (possible_polymorphic_call_targets): Fix
a comment typo and formatting issue.  If odr_hash hasn't been
created, return vNULL and set *completep to false.

* g++.dg/opt/pr59947.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/opt/pr59947.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-devirt.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/59999] [4.9 Regression] Sign extension in loop regression blocks generation of zero overhead loop

2014-02-05 Thread pa...@matos-sorge.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5

--- Comment #10 from Paulo J. Matos pa...@matos-sorge.com ---
(In reply to Paulo J. Matos from comment #8)
 
 Made a mistake. With the attached test, the final gimple before expand for
 the loop basic block is:
 ;;   basic block 5, loop depth 0
 ;;pred:   5
 ;;4
   # i_26 = PHI i_1(5), 0(4)
   # ivtmp.24_18 = PHI ivtmp.24_12(5), ivtmp.24_29(4)
   _28 = (void *) ivtmp.24_18;
   _13 = MEM[base: _28, offset: 0B];
   x.4_14 = x;
   _15 = _13 ^ x.4_14;
   MEM[base: _28, offset: 0B] = _15;
   ivtmp.24_12 = ivtmp.24_18 + 4;
   temp_ptr.5_17 = (Sample *) ivtmp.24_12;
   _11 = (unsigned short) i_26;
   _2 = _11 + 1;
   i_1 = (short int) _2;
   _10 = (int) i_1;
   if (_10  _25)
 goto bb 5;
   else
 goto bb 6;
 ;;succ:   5
 ;;6
 
 However, the point is the same. IVOPTS should probably generate an int IV
 instead of a short int IV to avoid the sign extend since removing the sign
 extend during RTL seems to be quite hard.
 
 What do you think?

For = 4.8 the scalar evolution of _10 is deemed not simple, because it looks
like the following:
 nop_expr 0x2acd9ee0
type integer_type 0x2ab16690 int public SI
size integer_cst 0x2ab12c60 constant 32
unit size integer_cst 0x2ab12c80 constant 4
align 32 symtab 0 alias set 3 canonical type 0x2ab16690 precision
32 min integer_cst 0x2ab12f80 -2147483648 max integer_cst 0x2ab12fa0
2147483647 context translation_unit_decl 0x2ab29c00 D.2881
pointer_to_this pointer_type 0x2ab23348

arg 0 polynomial_chrec 0x2acdb090
type integer_type 0x2ab16540 short int sizes-gimplified public HI
size integer_cst 0x2ab12f20 constant 16
unit size integer_cst 0x2ab12f40 constant 2
align 16 symtab 0 alias set 4 canonical type 0x2ab16540
precision 16 min integer_cst 0x2ab12ec0 -32768 max integer_cst
0x2ab12ee0 32767
pointer_to_this pointer_type 0x2aca1f18

arg 0 integer_cst 0x2ab1f260 constant 1
arg 1 integer_cst 0x2acc9140 constant 1 arg 2 integer_cst
0x2acc9140 1

This is something like: (int) (short int) {1, +, 1}_1. Since these are signed
integers, we can assume they don't overflow, can't we simplify the scalar
evolution to a polynomial_chrec over 32bit integers and forget the nop_expr
that represents the sign extend?


[Bug target/60062] [4.7/4.9 Regression] wrong code (for code with the optimize attribute) at -O1 and above on x86_64-linux-gnu in 32-bit mode

2014-02-05 Thread su at cs dot ucdavis.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60062

--- Comment #5 from Zhendong Su su at cs dot ucdavis.edu ---
(In reply to Jakub Jelinek from comment #4)
 *** Bug 60072 has been marked as a duplicate of this bug. ***

The testcase below is most likely another dup as the only difference is that it
affects the trunk at -Os only. Just include it here for reference. Thanks. 


--


int printf (const char *, ...);

int a;

int
fn1 (unsigned char p1)
{
  return p1 % p1;
}

static void
fn2 (char *p1, int p2)
{
  if (p2)
printf (p1);
}

__attribute__ ((optimize (0)))
int fn3 (short p1, short p2)
{
  a = 0;
  return 0;
}

__attribute__ ((optimize (1)))
int fn4 ()
{
  fn3 (0, 0);
  if (fn1 (1))
for (;;)
  ;
  return 1;
}

__attribute__ ((optimize (0)))
int main ()
{
  fn4 ();
  fn2 (, 0);
  return 0;
}


[Bug c/59753] Missing -Woverflow warning with signed constant conversion between T_MAX+1 and UT_MAX

2014-02-05 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59753

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
OK, if you use -Wpedantic, you'll get all the overflow warnings even without
-Wconversion.


[Bug c/59850] Support sparse-style pointer address spaces (type attributes)

2014-02-05 Thread josh at joshtriplett dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59850

--- Comment #7 from Josh Triplett josh at joshtriplett dot org ---
(In reply to Tom Tromey from comment #6)
 Null pointer constants are treated specially, which makes sense,
 but only if they have type void * and are in address space 0.

Otherwise, they're not a null pointer constant, so they're not treated
specially. :)

A null pointer constant must be in address space 0; that's for compatibility
with the standard definition of NULL, to avoid needing unique NULL constants
for each possible address space (USER_NULL, IOMEM_NULL).  I don't think it
makes sense to treat a 0 in address space 1 as a null pointer constant; safer
to give a warning for mixing address spaces.  The goal isn't to treat 0
magically as an address in all address spaces; it's specifically to treat NULL
as the null for all address spaces.

 That is, this works:
 
 #define NULL ((__attribute__ ((address_space (0))) void *) 0)
 __attribute__((address_space (1))) int *p = NULL;
 
 But this gets a warning:
 
 #define NULL ((__attribute__ ((address_space (1))) void *) 0)
 __attribute__((address_space (0))) int *p = NULL;

I can't think of a legitimate reason to have a null pointer constant in a
non-zero address space; there's already a null pointer constant, NULL,
effectively in all address spaces, so why would you want to redefine it?

And on the contrary, I can think of a very good reason to *have* this warning:
suppose you wanted to define an INVALID_FOO_POINTER in the foo address space,
and you decided to use 0 as the invalid value.  You should get a warning if you
try to use INVALID_FOO_POINTER with a non-foo pointer type; it shouldn't
magically pass silently just because the chosen value is 0.

 And so does this:
 
 #define NULL ((int *) 0)
 __attribute__((address_space (1))) int *p = NULL;
 
 
 I'm not sure whether that last one ought to be an error or not.

That isn't a null pointer constant, since it isn't (void *); it can't be
converted to any other pointer type without warning, and I don't think it's
unreasonable to say it can't be converted to any other address space without
warning either.


[Bug c++/60081] New: Internal compiler error: Error reporting routines re-entered.

2014-02-05 Thread stanislav.manilov at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60081

Bug ID: 60081
   Summary: Internal compiler error: Error reporting routines
re-entered.
   Product: gcc
   Version: 4.7.3
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: stanislav.manilov at gmail dot com

Created attachment 32054
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32054action=edit
preprocessed source

It appears that declaring a class member to have type a vector of unique_ptr's
is the reason for this bug, but could not verify details.


[Bug ipa/60072] wrong code (for code with an optimize attribute) at -O0 on x86_64-linux-gnu in 32-bit mode

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
It is fixed by the same patch, and is the same problem.  If one of the two PRs
ever worked with optimize attribute, it was purely by accident.


[Bug ipa/59947] [4.9 Regression] Segmentation fault with #pragma GCC optimize (O2), ICE in get_odr_type

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org ---
Fixed.


[Bug c++/58703] [4.9 Regression] ICE with invalid types in OpenMP declare reduction clause

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
Fixed.


[Bug ipa/59918] [4.9 Regression] ICE in record_target_from_binfo, at ipa-devirt.c:693

2014-02-05 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59918
Bug 59918 depends on bug 59947, which changed state.

Bug 59947 Summary: [4.9 Regression] Segmentation fault with #pragma GCC 
optimize (O2), ICE in get_odr_type
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59947

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED


[Bug ipa/59918] [4.9 Regression] ICE in record_target_from_binfo, at ipa-devirt.c:693

2014-02-05 Thread trippels at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59918

--- Comment #6 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
(In reply to Jan Hubicka from comment #5)
 Should be the same issue as PR59947

No. Still happens after r207512.


[Bug libffi/60073] [4.9 regression] 64-bit libffi.call/cls_double_va.c FAILs after recent modification

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Target|sparc*-sun-solaris2.*   |sparc*-*-*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-02-05
   Host|sparc*-sun-solaris2.*   |sparc*-*-*
Summary|[4.9 regression] 64-bit |[4.9 regression] 64-bit
   |libffi.call/cls_double_va.c |libffi.call/cls_double_va.c
   |FAILs on Solaris/SPARC  |FAILs after recent
   ||modification
 Ever confirmed|0   |1
  Build|sparc*-sun-solaris2.*   |sparc*-*-*

--- Comment #3 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
I can reproduce, probably not specific to Solaris.


[Bug c++/60047] [4.7/4.8/4.9 Regression] ICE with defaulted copy constructor and virtual base class

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

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Mine.


[Bug libffi/60073] [4.9 regression] 64-bit libffi.call/cls_double_va.c FAILs after recent modification

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Investigating.


[Bug c/59753] -Woverflow warning inconsistency with signed constant conversion between T_MAX+1 and UT_MAX vs larger than UT_MAX

2014-02-05 Thread vincent-gcc at vinc17 dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59753

Vincent Lefèvre vincent-gcc at vinc17 dot net changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|WORKSFORME  |---
Summary|Missing -Woverflow warning  |-Woverflow warning
   |with signed constant|inconsistency with signed
   |conversion between T_MAX+1  |constant conversion between
   |and UT_MAX  |T_MAX+1 and UT_MAX vs
   ||larger than UT_MAX

--- Comment #4 from Vincent Lefèvre vincent-gcc at vinc17 dot net ---
There's still an inconsistency without -Wpedantic, which is the point of this
bug. I've changed the bug title to:

  -Woverflow warning inconsistency with signed constant conversion between
T_MAX+1 and UT_MAX vs larger than UT_MAX

If this inconsistency is intentional, then it should be documented. The current
behavior doesn't match the documentation:

-Wno-overflow
Do not warn about compile-time overflow in constant expressions.

I fail to see why there should be a warning for

  short c = 65536;

but not for

  short b = 65535;

BTW, there's actually no overflow in the constant expressions themselves, just
in the assignments.

[Bug ada/60078] acats c761007 fails on ARM

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2014-02-05
 CC||ebotcazou at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Is that on real hardware or simulator?  This test is one of the infamous tests
that require very solid concurrency support from the environment.


  1   2   >