[Bug bootstrap/55915] fails to build lto-compress.c, zlib.h not found

2013-11-22 Thread yves.can...@ens-lyon.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55915

--- Comment #6 from Yves Caniou yves.can...@ens-lyon.fr ---
(In reply to Yves Caniou from comment #5)
 Le mardi 19 novembre 2013 02:36:30 pinskia at gcc dot gnu.org a écrit :
  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55915
  
  Andrew Pinski pinskia at gcc dot gnu.org changed:
  
 What|Removed |Added
  
  Status|UNCONFIRMED |WAITING
 Last reconfirmed||2013-11-19
   Ever confirmed|0   |1
  
  --- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org ---
  (In reply to Yves Caniou from comment #3)
  
   I have the same problem when compiling gcc-4.8.2 with gcc version 4.6.3
   (Ubuntu/Linaro 4.6.3-1ubuntu5) on Xeon(R) CPU W3670  @ 3.20GHz
   Note that with the exact same process, I have been able to compile
   gcc-4.8.2 with gcc 4.7.2 (debian).
  
  Do you have a zlib.h installed?
  For the original issue here, I think you need to use BOOT_CFLAGS and maybe
  BOOT_CXXFLAGS.
 
 Indeed: /usr/include/zlib.h
 And as I said, I could compile gcc-4.8.2 from 4.7.2 without any problem in
 the 
 first place. Problems only appear when compiling gcc-4.8.2 with the new 
 installation and all environment variables configured (at least as I
 thought: 
 why would I use BOOT_FLAGS and how?)
 
 .Y

Ok. Wrong machine, I apologize.
I have a /usr/lib/syslinux/com32/include/zlib.h from syslinux-common package,
not /usr/include/zlib.h from zlib1g-dev.
Installing zlib1g-dev does the trick..

[Bug libfortran/49024] REAL*16 ERFC_SCALED inaccuracy

2013-11-22 Thread fxcoudert at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49024

Bug 49024 depends on bug 59227, which changed state.

Bug 59227 Summary: [4.9 regression] FAIL: gfortran.dg/erf_3.F90  -O0  execution 
test
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59227

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED


[Bug libfortran/59227] [4.9 regression] FAIL: gfortran.dg/erf_3.F90 -O0 execution test

2013-11-22 Thread fxcoudert at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59227

Francois-Xavier Coudert fxcoudert at gcc dot gnu.org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #23 from Francois-Xavier Coudert fxcoudert at gcc dot gnu.org ---
I saw in your daily tests that the XFAIL indeed silences the failure. Closing
as fixed, will un-XFAIL when PR59230 is fixed.


[Bug bootstrap/59235] [4.9 regression] SEGV in sparc_output_scratch_registers

2013-11-22 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59235

--- Comment #4 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #2 from Jeffrey A. Law law at redhat dot com ---
 Ranier,

 The only sparc box in the farm is the painfully slow gcc54 which someone else
 is hammering so bad there's no way I can reasonably test if the fix for 59221
 also fixes this bug.

 Can you update your local tree and rebuild and let me know if this problem is
 resolved or not.  It'd be greatly appreciated.

Done.  The two bootstraps (one at r205213 with your patch reverted, the
other at r205233) completed successfully, and with the exception of one
failure that turned out to be spurious and several go failures that I
don't trust to be real at the moment, testsuite results were identical.

Thanks.
Rainer


[Bug target/58314] SH4 error: 'asm' operand requires impossible reload

2013-11-22 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58314

--- Comment #10 from Oleg Endo olegendo at gcc dot gnu.org ---
(In reply to Oleg Endo from comment #9)
 
 I'm testing the above patch now.

And there are failures.  Here is one (I think I remember it when working on the
QI/HImode displacement addressing stuff):

FAIL: gcc.dg/torture/vshuf-v16hi.c  -O2  (test for excess errors)
Excess errors:
/usr/local/sh-elf/bin/ld: internal error: merge of architecture 'sh3e' with
architecture 'sh2a-nofpu' produced unknown architecture
/usr/local/sh-elf/bin/ld: /tmp/ccRPtSqs.o: uses instructions which are
incompatible with instructions used in previous modules
/usr/local/sh-elf/bin/ld: failed to merge target specific data of file
/tmp/ccRPtSqs.o

This usually happens because SH2A insns are output -- 32 bit displacement
addressing insns which are more flexible -- even though the target is non-SH2A.
 This is what the comment above the reg_reg pattern is talking about.

(There is no compiler error because the target type is not passed down to the
assembler by the compiler).


[Bug c/59219] ____builtin___memcpy_chk and -fno-builtin-memcpy

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59219

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
But if you are using __builtin__xxx_chk you are using a builtin and thus
are required to follow the builtins semantic.  You can use __memcpy_chk
instead (but you won't get the optimization to memcpy for unknown
object sizes then).


[Bug c++/59248] [4.8 regression] pointless -Wconversion warning with sizeof, take 2

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59248

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.8.3


[Bug c++/59248] [4.8 regression] pointless -Wconversion warning with sizeof, take 2

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59248

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-11-22
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Which slightly more involved testcase?


[Bug tree-optimization/59245] [4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in set_value_range, at tree-vrp.c:443

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59245

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
  Known to work||4.8.2
   Target Milestone|--- |4.9.0
Summary|ICE on valid code at -O3 on |[4.9 Regression] ICE on
   |x86_64-linux-gnu in |valid code at -O3 on
   |set_value_range, at |x86_64-linux-gnu in
   |tree-vrp.c:443  |set_value_range, at
   ||tree-vrp.c:443
 Ever confirmed|0   |1

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


[Bug c++/59240] ICE in varpool_get_node

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59240

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-11-22
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.  The testcase is now invalid though (errors appear before the ICE).
Can you attach unreduced preproecessed source?  (Or re-delta with additional
checking that the testcase compiles, for example with an older GCC version?)


[Bug c++/51219] [4.7/4.8/4.9 regression] ICE with empty bit-fields

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51219

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-checking
   Priority|P3  |P2


[Bug rtl-optimization/52714] [4.7/4.8/4.9 regression] ICE in fixup_reorder_chain, at cfglayout.c:880

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52714

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||m68k-linux-gnu
   Priority|P3  |P4


[Bug lto/56706] [4.8/4.9 Regression] failure building CP2K at -flto -O2

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56706

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
Waiting for analysis.


[Bug rtl-optimization/56738] [4.9 Regression] ICE in c-c++-common/torture/vshuf-v4di.c

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56738

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 lto/56706] [4.8/4.9 Regression] failure building CP2K at -flto -O2

2013-11-22 Thread Joost.VandeVondele at mat dot ethz.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56706

--- Comment #9 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
(In reply to Richard Biener from comment #8)
 Waiting for analysis.

Analysis by whom, and if me, what can I do ?


[Bug bootstrap/56750] [4.8/4.9 Regression] static -lstdc++ logic bleeds into all subdirs

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56750

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2
Version|unknown |4.8.0
   Target Milestone|4.9.0   |4.8.3


[Bug other/56811] [4.8/4.9 Regression] libbacktrace causes undefined symbol _Unwind_GetIPInfo on ia64-hpux

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56811

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P4


[Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2


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

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56824

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug rtl-optimization/56912] [4.8/4.9 Regression] scheduler change breaks linux kernel LTO build with 4.8

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56912

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 middle-end/56077] [4.7 Regression] volatile ignored when function inlined

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56077

Bug 56077 depends on bug 56912, which changed state.

Bug 56912 Summary: [4.8/4.9 Regression] scheduler change breaks linux kernel 
LTO build with 4.8
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56912

   What|Removed |Added

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


[Bug rtl-optimization/57032] [4.9 Regression]: internal compiler error: Max. number of generated reload insns per insn is achieved (90)

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57032

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P4


[Bug bootstrap/57059] [4.8/4.9 Regression] Host configuration of loose_warn breaks for build components for Canadian crosses

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57059

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug sanitizer/57316] [4.8/4.9 regression] build failure in libsanitizer

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57316

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|WAITING |NEW


[Bug middle-end/57461] [4.9 Regression] ICE (segfault) for pass_final's ggc_collect: in lookup_page_table_entry, depending on details like (length of?) identifier names, file name of source file

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57461

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug debug/57664] [4.8/4.9 Regression] ICE: in should_move_die_to_comdat, at dwarf2out.c:6750 with -fdebug-types-section and lambda

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57664

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug middle-end/57503] [4.7/4.8/4.9 Regression] Expand uses wrong multiply routine

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57503

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P4


[Bug web/56063] [bugzilla] last reconfirmed : now

2013-11-22 Thread Joost.VandeVondele at mat dot ethz.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56063

--- Comment #10 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
Frederic, are you still looking into this one ? I still believe this would be
progress.


[Bug tree-optimization/57732] [4.8/4.9 Regression] ICE (segfault in libisl) building drizzle on 32bit targets (at least arm-linux and i586-linux)

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57732

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-11-22
 Depends on||59121
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Cannot reproduce this one, but it looks like a dup of or related to PR59121.

As the crash is in ISL please report the ISL and cloog versions you use.


[Bug middle-end/58125] [4.9 Regression] ICE: in operator[], at vec.h:827 with -fno-inline-small-functions

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58125

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1


[Bug debug/58315] [4.8/4.9 Regression] Excessive memory use with -g

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58315

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
 Ever confirmed|0   |1


[Bug rtl-optimization/57915] [4.8/4.9 Regression] ICE in set_address_disp, at rtlanal.c:5537

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57915

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
Still happens.


[Bug sanitizer/59063] [4.9 Regression] ASAN: segfault in __interceptor_clock_gettime

2013-11-22 Thread kcc at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59063

--- Comment #20 from Kostya Serebryany kcc at gcc dot gnu.org ---
This is fixed in llvm trunk, right? 
I am planing another merge to gcc in ~1 week.


[Bug lto/58733] [4.9 Regression] ICE in operator[], at vec.h:827

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58733

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||lto
   Priority|P3  |P1
 CC||hjl.tools at gmail dot com

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Seems like -fuse-ld=gold doesn't work with -flto, so not yet confirmed.

./xgcc -B. t.c t2.c -flto -fuse-ld=gold
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: -f
may not be used without -shared
collect2: error: ld returned 1 exit status

it invokes collect.ld for me when doing

make check-g++ RUNTESTFLAGS=--target_board=unix/-fuse-ld=gold
lto.exp=20090302_0.C

with an installed compiler -fuse-ld=gold works.  It would be nice if
running the testsuite with an alternate linker would work - HJ, can you
try investigating this?


[Bug lto/56706] [4.8/4.9 Regression] failure building CP2K at -flto -O2

2013-11-22 Thread Joost.VandeVondele at mat dot ethz.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56706

--- Comment #10 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
So, after the change from fat to slim lto, I've added the CP2K SVN repo to use
gcc-ar (so that the instructions in comment #1 should still work). 

Now, the issue discussed here fails to reproduce because during the lto phase
we run into:

/data/vjoost/clean/cp2k/cp2k/makefiles/../src/thermostat_methods.F:102:0:
internal compiler error: tree check: expected ssa_name, have integer_cst in
simplify_conversion_from_bitmask, at tree-ssa-forwprop.c:1189
   SUBROUTINE create_thermostats(thermostats, md_section, force_env, simpar, 
 ^
0xb15de4 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/gcc/tree.c:9189
0x9e52c0 tree_check
../../gcc/gcc/tree.h:2710
0x9e52c0 simplify_conversion_from_bitmask
../../gcc/gcc/tree-ssa-forwprop.c:1189
0x9ef3cd ssa_forward_propagate_and_combine
../../gcc/gcc/tree-ssa-forwprop.c:3552
0x9ef3cd execute
../../gcc/gcc/tree-ssa-forwprop.c:3661
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.
make[2]: *** [/tmp/ccEVGVIu.ltrans20.ltrans.o] Error 1


[Bug sanitizer/59188] [4.9 Regression] lib64/libtsan.so: undefined reference to `sigsetjmp'

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59188

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|REOPENED|NEW


[Bug tree-optimization/59139] [4.7/4.8/4.9 Regression] internal compiler error: in get_val_for, at tree-ssa-loop-niter.c:2267

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59139

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug lto/56706] [4.8/4.9 Regression] failure building CP2K at -flto -O2

2013-11-22 Thread Joost.VandeVondele at mat dot ethz.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56706

Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch changed:

   What|Removed |Added

 Depends on||59154

--- Comment #11 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
the ICE just mentioned is PR59154.


[Bug rtl-optimization/59138] [4.8/4.9 Regression] possible packed struct miscompile

2013-11-22 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59138

--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Latent issue in the alias.c machinery: output_dependence returns 0 on

(insn 21 20 22 2 (set (mem/c:DI (const:DI (plus:DI (symbol_ref:DI (b) [flags
0x2]  var_decl 0x76e4d2f8 b)
(const_int 8 [0x8]))) [0 +8 S8 A64])
(reg:DI 1 dx [99])) pr59138.c:20 85 {*movdi_internal}
 (expr_list:REG_DEAD (reg:DI 1 dx [99])
(nil)))

(insn 22 21 23 2 (set (mem/c:HI (symbol_ref:DI (a) [flags 0x2]  var_decl
0x76e4d260 a) [2 a+0 S2 A16])
(const_int 0 [0])) pr59138.c:21 87 {*movhi_internal}
 (nil))

because base_alias_check returns 0 for different symbols...


[Bug sanitizer/59188] [4.9 Regression] lib64/libtsan.so: undefined reference to `sigsetjmp'

2013-11-22 Thread kcc at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59188

--- Comment #11 from Kostya Serebryany kcc at gcc dot gnu.org ---
planing next merge from llvm to gcc in ~1 week.


[Bug c++/59246] GCC should issue runtime error for calling pure virtual function with definition

2013-11-22 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59246

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
 Ever confirmed|0   |1

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
(In reply to Ryou Ezoe from comment #0)
 // call by unqualified name is virtual function call.
 // virtual function call during destruction is undefined.

N.B. it's only undefined if the function is a pure virtual, not in general, and
you do get a warning:

pv.cc: In destructor ‘virtual Base::~Base()’:
pv.cc:14:7: warning: pure virtual ‘virtual void Base::f()’ called from
destructor [enabled by default]
 f() ;
   ^

Here's a complete testcase (you can't get a runtime error if your program can't
be run!)


struct Base
{
virtual void f() = 0 ;
virtual ~Base() ;
} ;

// pure virtual function with definition
void Base::f() { }

Base::~Base()
{
// call by unqualified name is virtual function call.
// virtual function call during destruction is undefined.
f() ;
}

struct Derived : Base
{
  void f() { }
};

int main()
{
  Derived d;
}

[Bug middle-end/57748] [4.7/4.8/4.9 Regression] ICE when expanding assignment to unaligned zero-sized array

2013-11-22 Thread pa...@matos-sorge.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57748

--- Comment #48 from Paulo J. Matos pa...@matos-sorge.com ---
(In reply to Paulo J. Matos from comment #47)
 Would like to add that I backported the patch locally and all the testsuite
 is passing until now. The ICE I initially got is not gone as well. So I can
 confirm that as far as I know, the patch is indeed fine in 4.8.

s/not/now/.

Obviously I meant that the patch applies cleanly and works for me in 4.8.


[Bug lto/58733] [4.9 Regression] ICE in operator[], at vec.h:827

2013-11-22 Thread octoploid at yandex dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58733

--- Comment #5 from Markus Trippelsdorf octoploid at yandex dot com ---
FYI I'm running the latest binutils trunk:
 GNU gold (GNU Binutils 2.24.51.20131121) 1.11

(I don't use -fuse-ld=gold normally, because one can
easily switch linkers globally, e.g.:
ln -f /usr/x86_64-pc-linux-gnu/binutils-bin/git/ld.gold 
/usr/x86_64-pc-linux-gnu/binutils-bin/git/ld)


[Bug middle-end/57748] [4.7/4.8/4.9 Regression] ICE when expanding assignment to unaligned zero-sized array

2013-11-22 Thread pa...@matos-sorge.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57748

--- Comment #49 from Paulo J. Matos pa...@matos-sorge.com ---
I noticed that enabling misaligned moves have created a few test failures on my
port. Namely: execute.exp=20051113-1.c. It was generating one too many moves to
deference the structure in function Sum.

Applying patch posted by Bernd:
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg02291.html

fixes the problems I was seeing.
The patch does not apply cleanly to 4.8 (3 out of 14 hunks fail) but they are
easily fixable.

Again, a request for this to be approved in master and later in 4.8 (since it
lead to wrong code generation).


[Bug libstdc++/59247] [4.9 Regression] Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace'

2013-11-22 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59247

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
Summary|Bootstrap fails due to  |[4.9 Regression] Bootstrap
   |errors in libstdc++ sources |fails due to errors in
   |with|libstdc++ sources with
   |`--enable-symvers=gnu-versi |`--enable-symvers=gnu-versi
   |oned-namespace' |oned-namespace'
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
Confirmed

In file included from
/home/jwakely/buildv7/x86_64-unknown-linux-gnu/libstdc++-v3/include/regex:63:0,
 from
/home/jwakely/src/gcc/libstdc++-v3/include/precompiled/stdc++.h:108:
/home/jwakely/buildv7/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/regex.h:735:31:
error: ‘_NFA’ is not a member of ‘std::__7::__detail’
   typedef std::shared_ptr__detail::_NFA_Rx_traits _AutomatonPtr;
   ^
/home/jwakely/buildv7/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/regex.h:735:31:
note: suggested alternatives:
In file included from
/home/jwakely/buildv7/x86_64-unknown-linux-gnu/libstdc++-v3/include/regex:60:0,
 from
/home/jwakely/src/gcc/libstdc++-v3/include/precompiled/stdc++.h:108:
/home/jwakely/buildv7/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/regex_automaton.h:159:12:
note:   ‘std::__detail::__7::_NFA’
 struct _NFA
^

[Bug tree-optimization/59249] New: Jump threading makes if-conversion and following vectorization impossible.

2013-11-22 Thread bmei at broadcom dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59249

Bug ID: 59249
   Summary: Jump threading makes if-conversion and following
vectorization impossible.
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: bmei at broadcom dot com

I am doing some investigation on loops can be vectorized by LLVM, but not GCC.
One example is loop that contains more than one if-else constructs.

typedef signed char int8;
#define FFT 128

typedef struct {
int8   exp[FFT];
} feq_t;

void test(feq_t *feq)
{
int k;
int feqMinimum = 15;
int8 *exp = feq-exp;

for (k=0;kFFT;k++) {
exp[k] -= feqMinimum;
if(exp[k]-15) exp[k] = -15;
if(exp[k]15) exp[k]  = 15;
}
}

Compile it with 4.8.2 on x86_64
~/install-4.8/bin/gcc ghs-algorithms_380.c -O2 -fdump-tree-ifcvt-details
-ftree-vectorize  -save-temps

It is not vectorized because if-else constructs inside the loop cannot be
if-converted. Looking into .ifcvt file, this is due to bad if-else structure
(ifcvt pass complains only critical predecessors). One branch jumps directly
into another branch. Digging a bit deeper, I found such structure is generated
by dom1 pass doing jump threading optimization. 

So recompile with 

~/install-4.8/bin/gcc ghs-algorithms_380.c -O2 -fdump-tree-ifcvt-details
-ftree-vectorize  -save-temps -fno-tree-dominator-opts

It is magically if-converted and vectorized! Same on our target, performance is
improved greatly in this example.

It seems to me that doing jump threading for architectures support
if-conversion is not a good idea. Original if-else structures are damaged so
that if-conversion cannot proceed, so are vectorization and maybe other
optimizations. Should we try to identify those bad jump threading and skip
them for such architectures? 

Andrew Pinski slightly modified the code and -fno-tree-dominator-opts trick
won't work any more. 

#define FFT 128

typedef struct {
signed char   exp[FFT];
} feq_t;

void test(feq_t *feq)
{
int k;
int feqMinimum = 15;
signed char *exp = feq-exp;

for (k=0;kFFT;k++) {
signed char temp = exp[k] - feqMinimum;
if(temp-15) temp = -15;
if(temp15) temp  = 15;
exp[k] = temp;
}
}

But this time is due to jump threading in VRP pass that causes the trouble.
With -fno-tree-vrp, the code can be if-converted and vectorized again.


[Bug c++/59240] ICE in varpool_get_node

2013-11-22 Thread kilobyte at angband dot pl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59240

--- Comment #2 from Adam Borowski kilobyte at angband dot pl ---
Created attachment 31271
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31271action=edit
smaller test case that compiles with 4.8

A funny thing: this ICE does not show in the original file, it just happened
that an additional unrelated ICE popped up while deltaing a test case for
another.

It turns out that it's enough to just declare something as __weakref__,
reducing the reproducer to a single line that compiles with g++-4.8.


[Bug libstdc++/59215] tsan: warning in shared_ptr_base.h

2013-11-22 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59215

--- Comment #19 from Jonathan Wakely redi at gcc dot gnu.org ---
Oleg, I can't reproduce this tsan warning with the cases Iv'e tried, what is
the stack trace you see?


[Bug sanitizer/59148] FAIL: c-c++-common/asan/strncpy-overflow-1.c -O0 execution test on darwin13

2013-11-22 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59148

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
Well, -D_FORTIFY_SOURCE=2 does things that asan doesn't and can't do, so
disabling fortification if you build with -fsanitize=address sounds like a very
bad idea to me.
IMHO libasan should intercept also the __*_chk calls, test + branch to
__chk_fail if they should fail, otherwise fall through to the intercepted
original function.
For *printf* family __printf_chk etc. also fail on %n if it isn't in read-only
string literal.


[Bug tree-optimization/59249] Jump threading makes if-conversion and following vectorization impossible.

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59249

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Btw, the issue is that we only have critical predecessors for inserting code
on.
The fix is to re-organize if-conversion to either split a random edge when
that happens or to re-organize it to compute edge predicates rather than
basic-block predicates.


[Bug tree-optimization/59249] if-conversion doesn't handle basic-blocks with only critical predecessor edges

2013-11-22 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59249

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Btw, see PR57521 for how the code is different from that on the 4.8 branch.


[Bug c/53001] -Wfloat-conversion should be available to warn about floating point errors

2013-11-22 Thread jjcogliati-r1 at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53001

--- Comment #30 from Joshua Cogliati jjcogliati-r1 at yahoo dot com ---
Yes, it is fixed so far as I am concerned.  I checked out gcc trunk 205109, and
bootstraped it and tried it out on:

int main(int argc, char ** argv) {
  int i = 3.14;
  return i;
}

int foo(double x)
{
  return x;
}

float foo2(double x) {
  return x;
}

and without the flag it didn't warn, but with the flag it did:
gcc -Wall -Wfloat-conversion -o float_test float_test.c
float_test.c: In function ‘main’:
float_test.c:2:3: warning: conversion to ‘int’ alters ‘double’ constant value
[-Wfloat-conversion]
   int i = 3.14;
   ^
float_test.c: In function ‘foo’:
float_test.c:8:3: warning: conversion to ‘int’ from ‘double’ may alter its
value [-Wfloat-conversion]
   return x;
   ^
float_test.c: In function ‘foo2’:
float_test.c:12:3: warning: conversion to ‘float’ from ‘double’ may alter its
value [-Wfloat-conversion]
   return x;
   ^

I think there are two things remaining to be done.  

1. http://gcc.gnu.org/gcc-4.9/changes.html does not yet list it as a change, 

2. for gcc 4.10 (or what ever the next gcc version is) I think it might be
worth considering as a -Wextra or -Wall.  That however would be a separate bug
number and would require something like the  Patch to fixup gcc float
conversions in GCC and another patch to turn it on with the flag.

[Bug target/59243] [SH] Build fails during compiling libjava/interpret.cc with segfault

2013-11-22 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59243

--- Comment #1 from Oleg Endo olegendo at gcc dot gnu.org ---
(In reply to Kazumoto Kojima from comment #0)
 Created attachment 31270 [details]
 A reduced test case

Thanks.  This is a very good test case.  I'm looking into it.


[Bug target/59243] [SH] Build fails during compiling libjava/interpret.cc with segfault

2013-11-22 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59243

Oleg Endo olegendo at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-11-22
   Assignee|unassigned at gcc dot gnu.org  |olegendo at gcc dot 
gnu.org
 Ever confirmed|0   |1


[Bug middle-end/59250] New: usan: ICE (segfault) with -fsanitize=undefined in ubsan_create_data

2013-11-22 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59250

Bug ID: 59250
   Summary: usan: ICE (segfault) with -fsanitize=undefined in
ubsan_create_data
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: burnus at gcc dot gnu.org
CC: mpolacek at gcc dot gnu.org

Created attachment 31272
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31272action=edit
Test case: Run as g++ -fsanitize=undefined test29.ii

The followed code worked about week ago but fails now (r205246) with a segfault
on x86-64-gnu-linux.

$ g++ -fsanitize=undefined test29.ii
test29.ii: In constructor 'FileHandle::FileHandle(const char*)':
test29.ii:27:1: internal compiler error: Segmentation fault
 FileHandle::FileHandle (const char* fname) : fname(fname) {
 ^
0xb9f85f crash_signal
../../gcc/toplev.c:336
0xbbab24 ubsan_source_location
../../gcc/ubsan.c:230
0xbbab24 ubsan_create_data(char const*, unsigned int, ubsan_mismatch_data
const*, ...)
../../gcc/ubsan.c:463
0xbbb179 ubsan_expand_null_ifn(gimple_stmt_iterator_d)
../../gcc/ubsan.c:565


[Bug c++/59238] Dynamic allocating a list-initialized object of a type with private destructor fails.

2013-11-22 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59238

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
 Ever confirmed|0   |1


[Bug middle-end/59250] usan: ICE (segfault) with -fsanitize=undefined in ubsan_create_data

2013-11-22 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59250

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
Yeah, I bet this hunk

--- gcc/ubsan.c.jj2013-11-22 01:40:03.0 +0100
+++ gcc/ubsan.c2013-11-22 10:05:29.491725405 +0100
@@ -227,8 +227,8 @@ ubsan_source_location (location_t loc)
   xloc = expand_location (loc);

   /* Fill in the values from LOC.  */
-  size_t len = strlen (xloc.file);
-  tree str = build_string (len + 1, xloc.file);
+  size_t len = xloc.file ? strlen (xloc.file) : 0;
+  tree str = build_string (len + 1, xloc.file ? xloc.file : );
   TREE_TYPE (str) = build_array_type (char_type_node,
   build_index_type (size_int (len)));
   TREE_READONLY (str) = 1;
@@ -642,7 +642,7 @@ ubsan_pass (void)
 {
   struct walk_stmt_info wi;
   gimple stmt = gsi_stmt (gsi);
-  if (is_gimple_debug (stmt))
+  if (is_gimple_debug (stmt) || gimple_clobber_p (stmt))
 {
   gsi_next (gsi);
   continue;

from Jakub's recent patch
(http://gcc.gnu.org/ml/gcc-patches/2013-11/msg02831.html) will fix it.


[Bug sanitizer/59250] ubsan: ICE (segfault) with -fsanitize=undefined in ubsan_create_data

2013-11-22 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59250

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
 CC||dodji at gcc dot gnu.org,
   ||dvyukov at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org,
   ||kcc at gcc dot gnu.org
  Component|middle-end  |sanitizer
   Target Milestone|--- |4.9.0
Summary|usan: ICE (segfault) with   |ubsan: ICE (segfault) with
   |-fsanitize=undefined in |-fsanitize=undefined in
   |ubsan_create_data   |ubsan_create_data
 Ever confirmed|0   |1


[Bug lto/58733] [4.9 Regression] ICE in operator[], at vec.h:827

2013-11-22 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58733

--- Comment #6 from H.J. Lu hjl.tools at gmail dot com ---
(In reply to Richard Biener from comment #4)
 Seems like -fuse-ld=gold doesn't work with -flto, so not yet confirmed.
 
 with an installed compiler -fuse-ld=gold works.  It would be nice if
 running the testsuite with an alternate linker would work - HJ, can you
 try investigating this?

A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2013-11/msg02870.html


[Bug sanitizer/59148] FAIL: c-c++-common/asan/strncpy-overflow-1.c -O0 execution test on darwin13

2013-11-22 Thread glider at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59148

--- Comment #5 from Alexander Potapenko glider at google dot com ---
I've opened https://code.google.com/p/address-sanitizer/issues/detail?id=247 to
track this. But until that issue is fixed we'll have to disable source
fortification in GCC if ASan is enabled.


[Bug fortran/59251] New: wrong code generation with allocatable dummy argument and INTENT(OUT)

2013-11-22 Thread arnaud02 at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59251

Bug ID: 59251
   Summary: wrong code generation with allocatable dummy argument
and INTENT(OUT)
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: arnaud02 at users dot sourceforge.net

Using the following program:

module branch_plot_results_mod
  implicit none

  type, public :: system_variable_type
 sequence
 integer :: index = -1
  end type system_variable_type

  type branch_plot_results_type
 sequence
 integer :: iu_appv = 0
 type(system_variable_type), allocatable :: system_variables(:)

  end type branch_plot_results_type
contains
  subroutine  make1 ( res)
type(branch_plot_results_type), allocatable, intent(out) :: res !
intent(out) causes wrong code generation
  end subroutine make1
end module branch_plot_results_mod

program testy
  use branch_plot_results_mod
  type(branch_plot_results_type), allocatable :: res1
  call make1(res1)
end program testy

gfortran 4.8.2 on Linux x86_64 produces an executable that crashes due to a
memory corruption.
valgrind reports:
==24704== Invalid free() / delete / delete[] / realloc()
==24704==at 0x4A071A4: free (vg_replace_malloc.c:468)
==24704==by 0x401B25: __branch_plot_results_mod_MOD_make1 (b1.f90:16)
==24704==by 0x401BA3: MAIN__ (b1.f90:24)
==24704==by 0x401C21: main (b1.f90:22)
==24704==  Address 0xffefffaa0 is on thread 1's stack

This is related to the use of the INTENT(OUT). This report is a possible
duplicate of PR56218 although the program above does not use any OOP feature.


[Bug libstdc++/59247] [4.9 Regression] Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace'

2013-11-22 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59247

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
   Target Milestone|--- |4.9.0


[Bug fortran/59252] New: wrong code generation for allocatable dummy arguments

2013-11-22 Thread arnaud02 at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59252

Bug ID: 59252
   Summary: wrong code generation for allocatable dummy arguments
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: arnaud02 at users dot sourceforge.net

module branch_plot_results_mod
  implicit none

  type branch_plot_results_ppv_type
 sequence
 real(8)   , allocatable  :: v(:)
 integer :: handle = 0
 character(256), allocatable :: label
  end type branch_plot_results_ppv_type

  type branch_plot_results_type
 sequence
 type(branch_plot_results_ppv_type), allocatable :: appv(:)
 integer :: end_appv = 0
  end type branch_plot_results_type

contains
  subroutine construct_branch_plot_results(res)
type (branch_plot_results_type), allocatable, intent(inout) :: res
if(.not.allocated(res)) allocate(res)
  end subroutine construct_branch_plot_results

  subroutine construct_branch_plot_results_appv(appv,asize)
type(branch_plot_results_ppv_type), allocatable, intent(inout) :: appv(:) 
integer, intent(in   ) :: asize

if(allocated(appv)) then
   if(asize.ne.size(appv)) then
  deallocate(appv)
   endif
endif
if(.not.allocated(appv)) then
   allocate(appv(asize)) 
endif
  end subroutine construct_branch_plot_results_appv

end module branch_plot_results_mod
program testy
  use branch_plot_results_mod

  type(branch_plot_results_type), allocatable :: res

  call construct_branch_plot_results(res)
  call construct_branch_plot_results_appv(res%appv, 20)
end program testy

While compiling the program above, gfortran 4.8.2 on Linux x86_64 produces an
executable that results in the run-time error below:
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Valgrind points to the following error:
==24773== Use of uninitialised value of size 8
==24773==at 0x401F37:
__branch_plot_results_mod_MOD_construct_branch_plot_results_appv (b2.f90:33)
==24773==by 0x40: MAIN__ (b2.f90:44)
==24773==by 0x402393: main (b2.f90:39)
==24773==

I suspect that gfortran does not support allocatable dummy arguments properly
in this case.


[Bug fortran/59251] wrong code generation with allocatable dummy argument and INTENT(OUT)

2013-11-22 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59251

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

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Confirmed for gfortran 4.8.2. This has been fixed between revisions 199435
(2013-05-30) and 199960 (2013-06-11).


[Bug fortran/59252] wrong code generation for allocatable dummy arguments

2013-11-22 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59252

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

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Confirmed from 4.5.4 up to trunk (4.9).


[Bug libstdc++/59253] New: Python pretty printer should be improved for unique_ptr, shared_ptr and map

2013-11-22 Thread leo.terziman at clarte dot asso.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59253

Bug ID: 59253
   Summary: Python pretty printer should be improved for
unique_ptr, shared_ptr and map
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: leo.terziman at clarte dot asso.fr

Created attachment 31273
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31273action=edit
Patch to improve pretty printing of map, shared_ptr and unique_ptr

Some of the STL based containers have incomplete/incorrect pretty printing in
libstdc++-v3/python.

In particular, std::shared_ptr and std::unique_ptr should dereference their
value to facilitate debugging with gdb. Moreover, in std::map, the keys and
values are mixed together in the same list instead of producing a list of pairs
with 'first' and 'second' attributes.

I don't know if their is some technical justification for such behavior, but in
case it is indeed an error, I attached a patch that solve those issues.


[Bug target/59091] __builtin_trap calls abort for arm-linux-gnueabi

2013-11-22 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59091

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
 CC||ramana at gcc dot gnu.org
   Target Milestone|--- |4.9.0
 Ever confirmed|0   |1

--- Comment #3 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
We'll look into fixing this for 4.9. The one thing appearing to be missing
there is a blessing of a bit pattern and that's probably why it fell between
the cracks.


[Bug c++/59254] New: confusing diagnostic for undefined template shadowed by declaration in inline namespace

2013-11-22 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59254

Bug ID: 59254
   Summary: confusing diagnostic for undefined template shadowed
by declaration in inline namespace
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: redi at gcc dot gnu.org

namespace outer {
  inline namespace inner {
#ifndef OK
templatetypename T struct A;
#endif
  }

  templatetypename T struct A;

  template class Aint;
}

This gives a confusing diagnostic:

$ g++ -std=gnu++11 n.cc -c
n.cc:10:18: error: ‘A’ is not a class template
   template class Aint;
  ^
n.cc:10:18: error: template argument required for ‘class A’


That's particularly confusing because A is a class template, and so is inner::A
(although if it's just a class type the error is the same) and because a
template argument is given.


Without the previous definition in the inline namespace we get the expected
explanation:

$ g++ -std=gnu++11 n.cc -c -DOK
n.cc:10:18: error: explicit instantiation of ‘class outer::Aint’ before
definition of template
   template class Aint;
  ^

[Bug target/59216] [4.9 Regression] ARM negdi*extendsidi regression

2013-11-22 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59216

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
 Ever confirmed|0   |1

--- Comment #3 from Richard Earnshaw rearnsha at gcc dot gnu.org ---
Confirmed, patch forthcoming.


[Bug target/59216] [4.9 Regression] ARM negdi*extendsidi regression

2013-11-22 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59216

--- Comment #4 from Richard Earnshaw rearnsha at gcc dot gnu.org ---
Author: rearnsha
Date: Fri Nov 22 15:43:11 2013
New Revision: 205271

URL: http://gcc.gnu.org/viewcvs?rev=205271root=gccview=rev
Log:
PR target/59216

gcc/
* arm.md (negdi_extendsidi): Fix invalid split.

gcc/testsuite/
* gcc.target/arm/negdi-4.c: Delete invalid test.
* gcc.dg/torture/pr59216.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr59216.c
Removed:
trunk/gcc/testsuite/gcc.target/arm/negdi-4.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.md
trunk/gcc/testsuite/ChangeLog


[Bug target/59216] [4.9 Regression] ARM negdi*extendsidi regression

2013-11-22 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59216

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #5 from Richard Earnshaw rearnsha at gcc dot gnu.org ---
Fixed.


[Bug target/59243] [SH] Build fails during compiling libjava/interpret.cc with segfault

2013-11-22 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59243

--- Comment #2 from Oleg Endo olegendo at gcc dot gnu.org ---
Created attachment 31274
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31274action=edit
Infinite recursion fix

The attached patch should fix the infinite recursion problem.  The test case
compiles for me with -m4-single -O1 and -O2.


[Bug libstdc++/59215] tsan: warning in shared_ptr_base.h

2013-11-22 Thread oleg at smolsky dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59215

--- Comment #20 from Oleg Smolsky oleg at smolsky dot net ---
Hey Jonathan, here is the output:

 Read of size 4 at 0x7d045008 by main thread (mutexes: write 
M2344, write M132):
   #0 _M_add_ref_lock 
/gcc48/include/c++/4.8.x-google/bits/shared_ptr_base.h:236 
(exe+0x00d0ae09)
   #1 my code (a)

 Previous atomic write of size 4 at 0x7d045008 by thread T21 
(mutexes: write M4016):
   #0 __tsan_atomic32_fetch_add ??:0 (libtsan.so.0+0xd3e5)
   #1 __exchange_and_add_dispatch 
/mnt/project/granite/toolchains/elixir/rvbd-gcc48/include/c++/4.8.x-google/ext/atomicity.h:49
 
(exe+0x003d7738)
   #2 handle_event() 
.../gcc48/include/c++/4.8.x-google/bits/shared_ptr_base.h:546 (
  this is my code (b)

(a) string x = config()-iscsi().dc_initiator().name();

this thing very quickly copies a shared_ptr instance, dereferences it, 
gets to a sub-object, gets a field and then destructs.

(b) is a shared_ptr copy too, but it is obscured by heavy inlining


[Bug c++/59255] New: Segmentation fault with std::function and -fprofile-use

2013-11-22 Thread stepik-777 at mail dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59255

Bug ID: 59255
   Summary: Segmentation fault with std::function and
-fprofile-use
   Product: gcc
   Version: 4.8.2
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: stepik-777 at mail dot ru

Consider the following simple program:
#include functional

int main(int argc, char *argv[])
{
std::functionint () f = []{ return 0; };
return 0;
}

I'm compiling it with these commands:
g++ -std=c++11 -fprofile-generate -c test.cpp -o test.o
g++ -std=c++11 -fprofile-generate -o test test.o
./test # execute to generate profiling data
g++ -std=c++11 -fprofile-use -c test.cpp -o test.o
#g++ -std=c++11 -fprofile-use -o test test.o

This causes segfault when compiling with -fprofile-use:
test.cpp: In destructor 'std::_Function_base::~_Function_base()':
test.cpp:7:1: internal compiler error: Segmentation fault
 }
 ^

Tested with these two gcc versions:
g++ (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
g++.exe (rev0, Built by MinGW-W64 project) 4.8.2


[Bug c++/59256] New: qualified name in friend function declaration doesn't match previous declaration in inline namespace

2013-11-22 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59256

Bug ID: 59256
   Summary: qualified name in friend function declaration doesn't
match previous declaration in inline namespace
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: redi at gcc dot gnu.org

I *think* this is valid, and clang accepts it, but G++ doesn't:

namespace detail {
  inline namespace v7 {
void f();
  }
}

inline namespace v7 {
  templatetypename T class A {
  private:
A() { }

friend void detail::f();
  };
}

namespace detail {
  inline namespace v7 {
void f() { Aint a; }
  }
}

int main()
{
  detail::f();
}


$ g++ -std=gnu++11 n.cc
n.cc: In function ‘void detail::v7::f()’:
n.cc:10:5: error: ‘v7::AT::A() [with T = int]’ is private
 A() { }
 ^
n.cc:18:23: error: within this context
 void f() { Aint a; }
   ^


I think the qualified name detail::f should find ::detail::v7::f

[Bug middle-end/59257] New: usan/*san: Dpcumentation oddness of -fsanitize= / -fsanitize=shift

2013-11-22 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59257

Bug ID: 59257
   Summary: usan/*san: Dpcumentation oddness of -fsanitize= /
-fsanitize=shift
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: documentation
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: burnus at gcc dot gnu.org
CC: jakub at gcc dot gnu.org, mpolacek at gcc dot gnu.org

Regarding -fsanitize=*

That option does not appear in
http://gcc.gnu.org/onlinedocs/gcc/Option-Index.html but I think it should. 

Actually, I think several other options miss a @opindex entry, too.


Additionally, in the man page, I get:

   -fsanitize=undefined
   Enable UndefinedBehaviorSanitizer, a fast undefined
   behavior detector.  Various computations will be
   instrumented to detect undefined behavior at runtime.
   Current suboptions are:

   *-fsanitize=shift
   This option enables checking that the result of a

The   look odd.


In invoke.texi, one has:

@item -fsanitize=undefined
...
  @item @option{-fsanitize=shift}


Maybe there shouldn't be an @option{}?

It does look okay at http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html


[Bug libstdc++/59247] [4.9 Regression] Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace'

2013-11-22 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59247

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Author: redi
Date: Fri Nov 22 16:59:25 2013
New Revision: 205277

URL: http://gcc.gnu.org/viewcvs?rev=205277root=gccview=rev
Log:
PR libstdc++/59247
* include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace
std::experimental::__7 as inline.
* include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not
enclose namespace __detail.
* include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
* include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
* include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/c++config
trunk/libstdc++-v3/include/bits/regex.h
trunk/libstdc++-v3/include/bits/regex.tcc
trunk/libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp
trunk/libstdc++-v3/include/std/iomanip
trunk/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc


[Bug libstdc++/59247] [4.9 Regression] Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace'

2013-11-22 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59247

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org ---
Should be fixed, thanks for the report.


[Bug target/59054] Powerpc -O0 -mcpu=power7 generates sub-optimal code to load 0

2013-11-22 Thread meissner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59054

--- Comment #4 from Michael Meissner meissner at gcc dot gnu.org ---
Author: meissner
Date: Fri Nov 22 17:24:32 2013
New Revision: 205278

URL: http://gcc.gnu.org/viewcvs?rev=205278root=gccview=rev
Log:
2013-11-22  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/59054
* gcc.target/powerpc/direct-move.h (VSX_REG_ATTR): Allow test to
specify an appropriate register class for VSX operations.
(load_vsx): Use it.
(load_gpr_to_vsx): Likewise.
(load_vsx_to_gpr): Likewise.
* gcc.target/powerpc/direct-move-vint1.c: Use an appropriate
register class for VSX registers that the type can handle.  Remove
checks for explicit number of instructions generated, just check
if the instruction is generated.
* gcc.target/powerpc/direct-move-vint2.c: Likewise.
* gcc.target/powerpc/direct-move-float1.c: Likewise.
* gcc.target/powerpc/direct-move-float2.c: Likewise.
* gcc.target/powerpc/direct-move-double1.c: Likewise.
* gcc.target/powerpc/direct-move-double2.c: Likewise.
* gcc.target/powerpc/direct-move-long1.c: Likewise.
* gcc.target/powerpc/direct-move-long2.c: Likewise.

* gcc.target/powerpc/pr59054.c: Remove duplicate code.

* gcc.target/powerpc/bool3-av.c: Limit to 64-bit mode for now.
* gcc.target/powerpc/bool3-p7.c: Likewise.
* gcc.target/powerpc/bool3-p8.c: Likewise.

* gcc.target/powerpc/p8vector-ldst.c: Just check that the
appropriate instructions are generated, don't check the count.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/powerpc/bool3-av.c
trunk/gcc/testsuite/gcc.target/powerpc/bool3-p7.c
trunk/gcc/testsuite/gcc.target/powerpc/bool3-p8.c
trunk/gcc/testsuite/gcc.target/powerpc/direct-move-double1.c
trunk/gcc/testsuite/gcc.target/powerpc/direct-move-double2.c
trunk/gcc/testsuite/gcc.target/powerpc/direct-move-float1.c
trunk/gcc/testsuite/gcc.target/powerpc/direct-move-float2.c
trunk/gcc/testsuite/gcc.target/powerpc/direct-move-long1.c
trunk/gcc/testsuite/gcc.target/powerpc/direct-move-long2.c
trunk/gcc/testsuite/gcc.target/powerpc/direct-move-vint1.c
trunk/gcc/testsuite/gcc.target/powerpc/direct-move-vint2.c
trunk/gcc/testsuite/gcc.target/powerpc/direct-move.h
trunk/gcc/testsuite/gcc.target/powerpc/p8vector-ldst.c
trunk/gcc/testsuite/gcc.target/powerpc/pr59054.c


[Bug c/59219] ____builtin___memcpy_chk and -fno-builtin-memcpy

2013-11-22 Thread msebor at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59219

--- Comment #4 from Martin Sebor msebor at gmail dot com ---
I understand. The current semantics of __builtin__xxx_chk are to:

a) check the constraints of the xxx function at compile time, and
b) diagnose constraint violations detected in (a) and call __xxx_chk, or
c) expand xxx inline if constraints are satisfied

I'm suggesting that it would be useful to change the semantics in (c):

c) if constraints are satisfied, then if -fbuiltin is used, expand xxx inline,
or
d) if -fno-builtin is used, call xxx

I.e., reduce the effects of the __builtin__xxx_chk intrinsics to just checking
the constraints, and (when -fno-builtin is used) make it possible to customize
the implementation within those constraints.

This would let freestanding implementations use the __builtin__xxx_chk
intrinsics and also provide their own semantics for the xxx functions within
the constraints specified by the language.

(PS I belatedly realized that my mention of a freestanding sprintf using '$' to
introduce a freestanding format directive didn't make sense as it would violate
the function's constraint. Please diregard that part.)


[Bug c++/59256] qualified name in friend function declaration doesn't match previous declaration in inline namespace

2013-11-22 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59256

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-22
 CC||jason at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
I understand this affects the library in a pretty serious way
(http://gcc.gnu.org/ml/libstdc++/2013-11/msg00128.html) let's raise the
priority and add Jason in CC.


[Bug web/56063] [bugzilla] last reconfirmed : now

2013-11-22 Thread LpSolit at netscape dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56063

Frédéric Buclin LpSolit at netscape dot net changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Last reconfirmed|2013-01-21 00:00:00 |2013-11-22

--- Comment #11 from Frédéric Buclin LpSolit at netscape dot net ---
I added a Now link.

[Bug web/56063] [bugzilla] last reconfirmed : now

2013-11-22 Thread LpSolit at netscape dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56063

Frédéric Buclin LpSolit at netscape dot net changed:

   What|Removed |Added

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

--- Comment #12 from Frédéric Buclin LpSolit at netscape dot net ---
Works fine. Fixed!

[Bug web/45911] bugzilla: Changing status to assigned no longer auto-adjusts the assign-to field

2013-11-22 Thread LpSolit at netscape dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45911

Frédéric Buclin LpSolit at netscape dot net changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #9 from Frédéric Buclin LpSolit at netscape dot net ---
The take link exists besides the Assignee field.

[Bug c++/59256] qualified name in friend function declaration doesn't match previous declaration in inline namespace

2013-11-22 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59256

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
It only affects --enable-symvers=gnu-versioned-namespace not the default
config, but it makes regex unusable. We can work around it if needed by
moving __regex_algo_impl out of the __detail namespace.


[Bug rtl-optimization/59138] [4.8/4.9 Regression] possible packed struct miscompile

2013-11-22 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59138

--- Comment #5 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
 Latent issue in the alias.c machinery: output_dependence returns 0 on
 
 (insn 21 20 22 2 (set (mem/c:DI (const:DI (plus:DI (symbol_ref:DI (b)
 [flags 0x2]  var_decl 0x76e4d2f8 b)
 (const_int 8 [0x8]))) [0 +8 S8 A64])
 (reg:DI 1 dx [99])) pr59138.c:20 85 {*movdi_internal}
  (expr_list:REG_DEAD (reg:DI 1 dx [99])
 (nil)))
 
 (insn 22 21 23 2 (set (mem/c:HI (symbol_ref:DI (a) [flags 0x2]  var_decl
 0x76e4d260 a) [2 a+0 S2 A16])
 (const_int 0 [0])) pr59138.c:21 87 {*movhi_internal}
  (nil))
 
 because base_alias_check returns 0 for different symbols...

I guess this means that we shouldn't be accessing a when writing to b in
the first place, but get_best_mode decides otherwise.  So this seems to be the
old issue with get_best_mode, visible directly on a bitfield write:

extern void abort (void);

#pragma pack(1)

struct S0 {
  int f0;
  int f1;
  long long f2 : 48;
};

short a = 1;

struct S0 b = { 1 }, c;

long long fn1() { return c.f2; }

void fn2 (void)
{
  b.f2 = fn1 ();
  a = 0;
}

int main (void)
{
  fn2 ();
  if (a != 0)
abort ();
  return 0;
}

with GCC 4.6 or earlier and presumably fixed by the implementation of the new
memory model.


[Bug target/58901] vax bootstrap fails on subreg reload

2013-11-22 Thread martin at netbsd dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58901

--- Comment #5 from Martin Husemann martin at netbsd dot org ---
Created attachment 31275
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31275action=edit
.i file from the failing compile


[Bug target/58901] vax bootstrap fails on subreg reload

2013-11-22 Thread martin at netbsd dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58901

--- Comment #6 from Martin Husemann martin at netbsd dot org ---
This is beyound my gcc capabilities: the rtx in question is wrong for vax, but
the bug seems to be at a higher level: an indexed memory access can not be
wrapped into a subreg with offset in the same statement - the rtx needs to be
split into a register load and then subreg extraction (or so I think, not an
expert in vax addressing modes)


[Bug middle-end/59138] [4.8/4.9 Regression] possible packed struct miscompile

2013-11-22 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59138

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

  Component|rtl-optimization|middle-end

--- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Recategorizing.


[Bug target/59054] Powerpc -O0 -mcpu=power7 generates sub-optimal code to load 0

2013-11-22 Thread meissner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59054

--- Comment #5 from Michael Meissner meissner at gcc dot gnu.org ---
Author: meissner
Date: Fri Nov 22 19:20:46 2013
New Revision: 205280

URL: http://gcc.gnu.org/viewcvs?rev=205280root=gccview=rev
Log:
[gcc]
2013-11-22  Michael Meissner  meiss...@linux.vnet.ibm.com

Backport from mainline
2013-11-12  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/59054
* config/rs6000/rs6000.md (movdi_internal32): Eliminate
constraints that would allow DImode into the traditional Altivec
registers, but cause undesirable code generation when loading 0 as
a constant.
(movdi_internal64): Likewise.
(cmpmode_fpr): Do not use %x for CR register output.
(extendsfdf2_fpr): Fix constraints when -mallow-upper-df and
-mallow-upper-sf debug switches are used.

[gcc/testsuite]
2013-11-22  Michael Meissner  meiss...@linux.vnet.ibm.com

Backport from mainline
2013-11-22  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/59054
* gcc.target/powerpc/direct-move.h (VSX_REG_ATTR): Allow test to
specify an appropriate register class for VSX operations.
(load_vsx): Use it.
(load_gpr_to_vsx): Likewise.
(load_vsx_to_gpr): Likewise.
* gcc.target/powerpc/direct-move-vint1.c: Use an appropriate
register class for VSX registers that the type can handle.  Remove
checks for explicit number of instructions generated, just check
if the instruction is generated.
* gcc.target/powerpc/direct-move-vint2.c: Likewise.
* gcc.target/powerpc/direct-move-float1.c: Likewise.
* gcc.target/powerpc/direct-move-float2.c: Likewise.
* gcc.target/powerpc/direct-move-double1.c: Likewise.
* gcc.target/powerpc/direct-move-double2.c: Likewise.
* gcc.target/powerpc/direct-move-long1.c: Likewise.
* gcc.target/powerpc/direct-move-long2.c: Likewise.

* gcc.target/powerpc/bool3-av.c: Limit to 64-bit mode for now.
* gcc.target/powerpc/bool3-p7.c: Likewise.
* gcc.target/powerpc/bool3-p8.c: Likewise.

* gcc.target/powerpc/p8vector-ldst.c: Just check that the
appropriate instructions are generated, don't check the count.

2013-11-12  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/59054
* gcc.target/powerpc/pr59054.c: New test.


Added:
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/pr59054.c
Modified:
branches/ibm/gcc-4_8-branch/gcc/ChangeLog.ibm
branches/ibm/gcc-4_8-branch/gcc/config/rs6000/rs6000.md
branches/ibm/gcc-4_8-branch/gcc/testsuite/ChangeLog.ibm
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/bool3-av.c
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/bool3-p7.c
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/bool3-p8.c
   
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-double1.c
   
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-double2.c
   
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-float1.c
   
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-float2.c
   
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-long1.c
   
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-long2.c
   
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-vint1.c
   
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move-vint2.c
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/direct-move.h
   
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/p8vector-ldst.c


[Bug bootstrap/59235] [4.9 regression] SEGV in sparc_output_scratch_registers

2013-11-22 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59235

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

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

--- Comment #5 from Jeffrey A. Law law at redhat dot com ---
Per c#4.

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


[Bug tree-optimization/59221] [4.9 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

2013-11-22 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59221

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 CC||ro at gcc dot gnu.org

--- Comment #8 from Jeffrey A. Law law at redhat dot com ---
*** Bug 59235 has been marked as a duplicate of this bug. ***


[Bug tree-optimization/19794] [meta-bug] Jump threading related bugs

2013-11-22 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19794

Bug 19794 depends on bug 54742, which changed state.

Bug 54742 Summary: Switch elimination in FSM loop
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742

   What|Removed |Added

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


[Bug tree-optimization/54742] Switch elimination in FSM loop

2013-11-22 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

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

--- Comment #26 from Jeffrey A. Law law at redhat dot com ---
Fixed on trunk.


[Bug rtl-optimization/10474] shrink wrapping for functions

2013-11-22 Thread law at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10474

--- Comment #16 from Jeffrey A. Law law at gcc dot gnu.org ---
Author: law
Date: Fri Nov 22 19:37:00 2013
New Revision: 205281

URL: http://gcc.gnu.org/viewcvs?rev=205281root=gccview=rev
Log:
PR rtl-optimization/10474
* ira.c (interesting_dest_for_shprep_1): New function.
(interesting_dest_for_shprep): Use interesting_dest_for_shprep_1,
also check parallels.

testsuite/
* gcc.dg/pr10474.c: Also test ppc64.
* gcc.dg/ira-shrinkwrap-prep-1.c: Also tes ppc64, changed all ints
to longs.
* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-1.c
trunk/gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-2.c
trunk/gcc/testsuite/gcc.dg/pr10474.c


[Bug c++/57640] Explicit call of system literal operator complains about leading underscore.

2013-11-22 Thread 3dw4rd at verizon dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57640

Ed Smith-Rowland 3dw4rd at verizon dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Ed Smith-Rowland 3dw4rd at verizon dot net ---
This has been fixed for a while now.

gcc/cp:

2013-06-25  Ed Smith-Rowland  3dw...@verizon.net

PR c++/57640
* parser.c (cp_parser_unqualified_id): Add declarator_p to checks
to trigger warning, (cp_literal_operator_id): Remove bogus TODO
comment.


gcc/testsuite:

2013-06-25  Ed Smith-Rowland  3dw...@verizon.net

PR c++/57640
* g++.dg/cpp1y/pr57640.C: New.


[Bug target/58314] SH4 error: 'asm' operand requires impossible reload

2013-11-22 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58314

--- Comment #11 from Oleg Endo olegendo at gcc dot gnu.org ---
(In reply to Oleg Endo from comment #10)
 
 This usually happens because SH2A insns are output -- 32 bit displacement
 addressing insns which are more flexible -- even though the target is
 non-SH2A.  This is what the comment above the reg_reg pattern is talking
 about.
 
 (There is no compiler error because the target type is not passed down to
 the assembler by the compiler).

This patch can be applied to enable the error message by the assembler:

Index: gcc/config/sh/sh.h
===
--- gcc/config/sh/sh.h(revision 205190)
+++ gcc/config/sh/sh.h(working copy)
@@ -267,9 +267,25 @@
 #define SUBTARGET_ASM_RELAX_SPEC %{m4*:-isa=sh4-up}
 #endif

+/* Define which ISA type to pass to the assembler.
+   For SH4 we pass SH4A to allow using some instructions that are available
+   on some SH4 variants, but officially are part of the SH4A ISA.  */
 #define SH_ASM_SPEC \
  %(subtarget_asm_endian_spec) %{mrelax:-relax %(subtarget_asm_relax_spec)} \
 %(subtarget_asm_isa_spec) %(subtarget_asm_spec) \
+%{m1:--isa=sh} \
+%{m2:--isa=sh2} \
+%{m2e:--isa=sh2e} \
+%{m3:--isa=sh3} \
+%{m3e:--isa=sh3e} \
+%{m4:--isa=sh4a} \
+%{m4-single:--isa=sh4a} \
+%{m4-single-only:--isa=sh4a} \
+%{m4-nofpu:--isa=sh4a-nofpu} \
+%{m4a:--isa=sh4a} \
+%{m4a-single:--isa=sh4a} \
+%{m4a-single-only:--isa=sh4a} \
+%{m4a-nofpu:--isa=sh4a-nofpu} \
 %{m2a:--isa=sh2a} \
 %{m2a-single:--isa=sh2a} \
 %{m2a-single-only:--isa=sh2a} \


[Bug bootstrap/42825] bootstrap fails: /usr/bin/ld: can't locate file for: -lgcc_s.10.4

2013-11-22 Thread 3dw4rd at verizon dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42825

Ed Smith-Rowland 3dw4rd at verizon dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #3 from Ed Smith-Rowland 3dw4rd at verizon dot net ---
The workaround worked and in any case, the machine and OS is dead.


[Bug target/48014] Bootstrap fails in stage2 on Fortran front end typedef collision.

2013-11-22 Thread 3dw4rd at verizon dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48014

Ed Smith-Rowland 3dw4rd at verizon dot net changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #3 from Ed Smith-Rowland 3dw4rd at verizon dot net ---
This platform and OS is dead.


[Bug target/58314] SH4 error: 'asm' operand requires impossible reload

2013-11-22 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58314

--- Comment #12 from Oleg Endo olegendo at gcc dot gnu.org ---
(In reply to Oleg Endo from comment #10)
 
 FAIL: gcc.dg/torture/vshuf-v16hi.c  -O2  (test for excess errors)
 Excess errors:
 /usr/local/sh-elf/bin/ld: internal error: merge of architecture 'sh3e' with
 architecture 'sh2a-nofpu' produced unknown architecture
 /usr/local/sh-elf/bin/ld: /tmp/ccRPtSqs.o: uses instructions which are
 incompatible with instructions used in previous modules
 /usr/local/sh-elf/bin/ld: failed to merge target specific data of file
 /tmp/ccRPtSqs.o

Below is the reduced test case that fails when compiled with -O2 -m4 -mb
when the r,r constraints are allowed in the *movhi pattern and the
*movmode_reg_reg pattern is disabled.  So the comment above the
*movmode_reg_reg pattern is still correct.

typedef unsigned short V __attribute__((vector_size(32)));
typedef V VI;

extern void abort (void);
V a, b, c, d;

 __attribute__((noinline, noclone)) void
test_14 (void)
{
  VI mask = { 25, 5, 17, 1, 9, 15, 21, 7, 28, 2, 18, 13, 30, 14, 10, 4 };
  int i;
  c = __builtin_shuffle (a, mask);
  d = __builtin_shuffle (a, b, mask);
  __asm ( : : r (c), r (d) : memory);

  for (i = 0; i  16; ++i)
if (c[i] != a[mask[i]  (16 - 1)])
  abort ();
else if ((mask[i]  16))
{
  if (d[i] != b[mask[i]  (16 - 1)])
abort ();
}
else if (d[i] != a[mask[i]  (16 - 1)])
  abort ();
}


  1   2   >