[Bug middle-end/59336] definition in block 317 does not dominate use in block 316

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

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

   What|Removed |Added

 CC||Joost.VandeVondele at mat dot 
ethz
   ||.ch

--- Comment #1 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
How to reproduce

svn checkout -r13372 svn://svn.code.sf.net/p/cp2k/code/trunk/cp2k cp2k
cd cp2k/makefiles/
# check compiler version/libs are correct
cat ../arch/PR59336.sdbg
make -j32 ARCH=PR59336 VERSION=sdbg


[Bug regression/59320] ftree-vrp breaks simple loops

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org ---
That is simple, accessing out of bounds element is undefined behavior and the
compiler may optimize based on the fact that undefined behavior does not
happen.
As the upper bound is not constant, no warning is emitted on it, the compiler
just assumes that in a valid program nd must be  2 before entering the loop.


[Bug libgomp/59337] New: surprising OMP error message

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

Bug ID: 59337
   Summary: surprising OMP error message
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgomp
  Assignee: unassigned at gcc dot gnu.org
  Reporter: Joost.VandeVondele at mat dot ethz.ch
CC: jakub at gcc dot gnu.org

 cat test.f90 
!$OMP ATOMIC
i=-i
END

 gfortran -fopenmp test.f90 
test.f90:2.2:

i=-i
  1
Error: !$OMP ATOMIC assignment operator must be +, *, -, /, .AND., .OR., .EQV.
or .NEQV. at (1)


The caret is pointing at a '-', and the error message is saying it must be one.
It appear that the proper way to write this is 

!$OMP ATOMIC
i=0-i
END

but that is not so obvious from the error messsage. Maybe it could be worded as
'... must be one of the binary operators '


[Bug tree-optimization/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Started with r190492.


[Bug tree-optimization/58253] IPA-SRA creates calls with different arguments that the callee accepts

2013-11-29 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58253

--- Comment #2 from rguenther at suse dot de rguenther at suse dot de ---
On Thu, 28 Nov 2013, jamborm at gcc dot gnu.org wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58253
 
 --- Comment #1 from Martin Jambor jamborm at gcc dot gnu.org ---
 I do not quite understand why the port needs to look at alignments of
 scalars passed by value at all but I assume there is a reason.
 
 When it comes to the IPA-SRA created formal parameter and actual
 argument in the pr52402.c testcase, the following happens.  The
 decision in which register pair the parameter is passed is made in
 epiphany_function_arg_boundary.  This is reached in two different
 ways:
 
 1. When compiling foo.isra.0, indirectly from call to
targetm.calls.function_incoming_arg at function.c:2440.  The type
is the type of the PARM_DECL which is aligned to 8 bits.
 
 2. When expanding the call in main, indirectly from call to
targetm.calls.function_arg.  The type passed is the type of the
actual argument, which is an anonymous SSA name which has the
natural alignment of the node which is 64.
 
 Thus, epiphany_function_arg_boundary erroneously comes to two
 different conclusions.  Assuming there is nothing wrong with the
 above, we can fix the problem in IPA-SRA by the patch below which sets
 the type of the PARM_DECL to natural mode alignment (bootstrapped and
 tested and tested on x86_64-linux, the same on ppc64 is underway).
 But again, I am not really sure what the semantics of alignment of
 scalar PARM_DECL is.  Nevertheless, can you please check if the patch
 indeed fixes the bug?  If so, I'll post it to the mailing list for
 review/further discussion.  Thanks.
 
 
 2013-11-28  Martin Jambor  mjam...@suse.cz
 
 PR ipa/58253
 * ipa-prop.c (ipa_modify_formal_parameters): Create decls of
 non-BLKmode in their naturally aligned type.
 
 diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
 index 6bdb0df..a26b11a 100644
 --- a/gcc/ipa-prop.c
 +++ b/gcc/ipa-prop.c
 @@ -3443,7 +3443,15 @@ ipa_modify_formal_parameters (tree fndecl,
 ipa_parm_adjustment_vec adjustments)
if (adj-by_ref)
  ptype = build_pointer_type (adj-type);
else
 -ptype = adj-type;
 +{
 +  ptype = adj-type;
 +  if (TYPE_MODE (ptype) != BLKmode)
 +{
 +  unsigned malign = GET_MODE_ALIGNMENT (TYPE_MODE (ptype));
 +  if (TYPE_ALIGN (ptype)  malign)
 +ptype = build_aligned_type (ptype, malign);
 +}
 +}

Isn't it easier to avoid building a type with different alignment
in the first place?  Or do this adjustment in SRA where the bug
happens?  It seems that when SRA representatives -type is unaligned
that this means, for by value passing, the value is accessed unaligned
in the caller only.  Thus turn_representatives_into_adjustments
should go back to naturally aligned -type for !by_ref params.

Richard.


[Bug tree-optimization/59334] [4.9 Regression] r205486 caused many failures

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |4.9.0

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
I have a fix.


[Bug tree-optimization/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
Reduced testcase for -O3:
struct A { float a[4]; };
struct B { int b; A a; };

__attribute__((noinline, noclone)) void
bar (A a)
{
  if (a.a[0] != 36.0f || a.a[1] != 42.0f || a.a[2] != 48.0f || a.a[3] != 54.0f)
__builtin_abort ();
}

__attribute__((noinline, noclone)) void
foo (A a)
{
  int i;
  A c = a;
  for (i = 0; i  4; i++)
c.a[i] *= 6.0f;
  a = c;
  bar (a);
}

int
main ()
{
  B b = { 5, { 6, 7, 8, 9 } };
  foo (b.a);
}


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
 Target||x86_64-*-*
  Component|tree-optimization   |target

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
target issue then?


[Bug libgomp/59337] surprising OMP error message

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

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
I wonder why atomic negate isn't possible - from a QOI perspective treating
it as 0 - i would be obvious, no?


[Bug tree-optimization/59336] [4.9 Regression] definition in block 317 does not dominate use in block 316

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

  Component|middle-end  |tree-optimization
   Target Milestone|--- |4.9.0
Summary|definition in block 317 |[4.9 Regression] definition
   |does not dominate use in|in block 317 does not
   |block 316   |dominate use in block 316

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
I suppose it doesn't happen without LTO?


[Bug middle-end/59208] [4.9 Regression] ice in initialize_flags_in_bb

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

--- Comment #8 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to Jan Hubicka from comment #7)
 Created attachment 31322 [details]
 Proposed fix I am testing
 
 Hi,
 the problem here is that update_stmt is called with cfun being set to NULL. 
 It uses ssa_operands_active (cfun) call that return false.
 This patch makes us to set cfun correctly when updating the function body. 
 
 It may be interesting to investigate why some testcases fails on PPC and not
 on x86 - they may be cases where we missed devirtualization during early
 optimization but for whatever reason we now handle it during IPA
 
 Honza

Argh.  I'll try to add a update_stmt_fn.


[Bug middle-end/59338] New: error: position plus size exceeds size of referenced object in BIT_FIELD_REF

2013-11-29 Thread jan.sm...@alcatel-lucent.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59338

Bug ID: 59338
   Summary: error: position plus size exceeds size of referenced
object in BIT_FIELD_REF
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jan.sm...@alcatel-lucent.com

minimal.i: In function 'test':
minimal.i:20:6: error: position plus size exceeds size of referenced object in
BIT_FIELD_REF
 void test(void)
  ^
BIT_FIELD_REF *qResp, 8, 32
minimal.i:23:28: note: in statement
 if (qResp-u.l[0].More == 0)
^
D.1802 = BIT_FIELD_REF *qResp, 8, 32;
minimal.i:20:6: internal compiler error: verify_gimple failed
 void test(void)
  ^


typedef enum
{
XYZZY,
} enumType;

typedef struct
{
unsigned char More : 1;
} tResp;

typedef struct
{
enumType QueryType;
union
{
tResp l[0];
} u;
} tQResp;

void test(void)
{
tQResp *qResp = (0);
if (qResp-u.l[0].More == 0)
return;
}


[Bug middle-end/59208] [4.9 Regression] ice in initialize_flags_in_bb

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

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

Like this.


[Bug c/59332] Segmentation fault in inline_summary with LTO + attribute optimize

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords|ice-on-valid-code, lto  |accepts-invalid,
   ||ice-on-invalid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-29
  Component|lto |c
 Ever confirmed|0   |1

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
I don't think that will ever work ;)  Thus the bug is that we accept no-lto
as argument to optimize().

Thus, confirmed.


[Bug middle-end/59338] [4.9 Regression] error: position plus size exceeds size of referenced object in BIT_FIELD_REF

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-11-29
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |4.9.0
Summary|error: position plus size   |[4.9 Regression] error:
   |exceeds size of referenced  |position plus size exceeds
   |object in BIT_FIELD_REF |size of referenced object
   ||in BIT_FIELD_REF
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.  I'll adjust the checking to be less conservative (trailing array
happening here and fold going nuts in creating BIT_FIELD_REFs).


[Bug libgomp/59337] surprising OMP error message

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

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
The standard doesn't allow it, and given the parsing complexities of the
atomics creating extensions there is IMHO undesirable, especially when it will
unlikely work with other compilers.

Because the standard explicitly lists the operators that can be used, I'd just
do s/must be /must be binary / in the message.


[Bug libgcc/59339] New: vtable_verify objects still trying to be linked on Android

2013-11-29 Thread laguest at archeia dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59339

Bug ID: 59339
   Summary: vtable_verify objects still trying to be linked on
Android
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgcc
  Assignee: unassigned at gcc dot gnu.org
  Reporter: laguest at archeia dot com

Created attachment 31325
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31325action=edit
Original make -j4 log

When attempting to build gcc svn trunk arm-linux-androideabi target, it still
looking for vtv_*.o even though it's disabled, if enabling the other libraries
I have disabled, it does so there too.

[code]
make[4]: Entering directory
`/home/laguest/src/mine/tinyada-new/build/android/arm/gcc/arm-linux-androideabi/armv7-a/libgcc'
# If this is the top-level multilib, build all the other
# multilibs.
# Early copyback; see all above for the rationale.  The
# early copy is necessary so that the gcc -B options find
# the right startup files when linking shared libgcc.
/bin/sh ../../../../../../../source/gcc-trunk/libgcc/../mkinstalldirs
../../.././gcc/armv7-a
parts=crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o vtv_start.o
vtv_end.o vtv_start_preinit.o vtv_end_preinit.o;  
   \
for file in $parts; do  \
  rm -f ../../.././gcc/armv7-a/$file;   \
  /usr/bin/install -c -m 644 $file ../../.././gcc/armv7-a/; \
  case $file in \
*.a)\
 
/home/laguest/opt/android-tinyada/arm-linux-androideabi/bin/ranlib
../../.././gcc/armv7-a/$file ;;\
  esac; \
done
/usr/bin/install: cannot stat `vtv_start.o': No such file or directory
/usr/bin/install: cannot stat `vtv_end.o': No such file or directory
/usr/bin/install: cannot stat `vtv_start_preinit.o': No such file or directory
/usr/bin/install: cannot stat `vtv_end_preinit.o': No such file or directory
dest=../../.././gcc/include/tmp$$-unwind.h; \
cp unwind.h $dest; \
chmod a+r $dest; \
sh ../../../../../../../source/gcc-trunk/libgcc/../move-if-change $dest
../../.././gcc/include/unwind.h
[/code]

System: uname -a
Linux rogue 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux

The configure line:

CC=/opt/gcc-4.6-links/bin/gcc CXX=/opt/gcc-4.6-links/bin/g++
CP=/opt/gcc-4.6-links/bin/cpp ../../../../source/gcc-trunk/configure
--prefix=/home/laguest/opt/android-tinyada --target=arm-linux-androideabi
--host=x86_64-linux-gnu --build=x86_64-linux-gnu
--with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm'
--with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-multilib
--enable-threads --disable-shared --with-gnu-as --with-gnu-ld
--enable-languages=c,c++,ada --with-system-zlib --disable-libgomp
--without-libffi --without-libiconv-prefix --disable-libmudflap --disable-nls
--disable-libstdcxx-pch --disable-cloog-version-check
--disable-isl-version-check --with-gmp=/home/laguest/opt/android-tinyada
--with-mpfr=/home/laguest/opt/android-tinyada
--with-mpc=/home/laguest/opt/android-tinyada
--with-isl=/home/laguest/opt/android-tinyada
--with-cloog=/home/laguest/opt/android-tinyada --disable-libstdc__-v3
--disable-tls --disable-libitm  --enable-target-optspace
--enable-initfini-array
--with-sysroot=/home/laguest/opt/android-ndk-r9b/platforms/android-9/arch-arm
--with-python=/home/laguest/opt/android-ndk-r9b/prebuilt/linux-x86_64/bin/python-config
--enable-plugins --enable-eh-frame-hdr-for-static --disable-libsanitizer
--disable-libquadmath --disable-libssp --disable-libatomic 21|tee
log.config.txt


[Bug libgcc/59339] vtable_verify objects still trying to be linked on Android

2013-11-29 Thread laguest at archeia dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59339

--- Comment #1 from Luke A. Guest laguest at archeia dot com ---
Toolchain I'm using:

gcc version 4.6.3 (Debian 4.6.3-14)

This is the Ada enabled one.


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||uros at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Looks like it, yes.
In *.jump we still have (IMHO correct):
(insn 2 4 3 2 (set (reg/v/f:DI 89 [ a ])
(reg:DI 5 di [ a ])) pr59163-2.C:13 85 {*movdi_internal}
 (nil))
(note 3 2 6 2 NOTE_INSN_FUNCTION_BEG)
(insn 6 3 7 2 (set (reg:TI 90)
(mem:TI (reg/v/f:DI 89 [ a ]) [3 MEM[(const struct A )a_4(D)]+0 S16
A32])) pr59163-2.C:15 84 {*movti_internal}
 (nil))
(insn 7 6 8 2 (set (mem/c:TI (plus:DI (reg/f:DI 20 frame)
(const_int -16 [0xfff0])) [3 c+0 S16 A128])
(reg:TI 90)) pr59163-2.C:15 84 {*movti_internal}
 (nil))
...
(insn 9 8 10 2 (set (reg:V4SF 91 [ vect__7.10 ])
(mult:V4SF (reg:V4SF 92)
(mem/c:V4SF (plus:DI (reg/f:DI 20 frame)
(const_int -16 [0xfff0])) [2 MEM[(float *)c]+0
S16 A128]))) pr59163-2.C:17 1269 {*mulv4sf3}
 (nil))

movti_internal handles unaligned loads properly.
Then *.dse1 transforms this into:
(insn 6 3 18 2 (set (reg:TI 90 [ MEM[(const struct A )a_4(D)] ])
(mem:TI (reg/v/f:DI 89 [ a ]) [3 MEM[(const struct A )a_4(D)]+0 S16
A32])) pr59163-2.C:15 84 {*movti_internal}
 (nil))
(insn 18 6 8 2 (set (reg:V4SF 94)
(subreg:V4SF (reg:TI 90 [ MEM[(const struct A )a_4(D)] ]) 0))
pr59163-2.C:15 -1
 (expr_list:REG_DEAD (reg:TI 90 [ MEM[(const struct A )a_4(D)] ])
(nil)))
...
(insn 9 8 19 2 (set (reg:V4SF 91 [ vect__7.10 ])
(mult:V4SF (reg:V4SF 92)
(reg:V4SF 94))) pr59163-2.C:17 1269 {*mulv4sf3}
 (expr_list:REG_DEAD (reg:V4SF 94)
(expr_list:REG_DEAD (reg:V4SF 92)
(nil
which also looks ok to me.  But then combine combines it into:
(insn 9 8 19 2 (set (reg:V4SF 91 [ vect__7.10 ])
(mult:V4SF (reg:V4SF 92)
(mem:V4SF (reg/v/f:DI 89 [ a ]) [3 MEM[(const struct A )a_4(D)]+0
S16 A32]))) pr59163-2.C:17 1269 {*mulv4sf3}
 (expr_list:REG_DEAD (reg:V4SF 92)
(nil)))
which is wrong (for pre-AVX), because mulv4sf3 can't accept unaligned memory.
Likely the SSEx pre-AVX predicates assume that an unaligned vector load will be
done using UNSPEC and thus not really mergeable here, and don't count with the
fact that the load could be done using integral mode and just subreged into
vector mode.  Perhaps we need new predicates for this that would fail for
exactly this situation (disallow unaligned scalar load subregged into vector
mode for pre-AVX) and use them everywhere where SSE? doesn't accept unaligned
loads?


[Bug libgcc/59339] vtable_verify objects still trying to be linked on Android

2013-11-29 Thread laguest at archeia dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59339

--- Comment #2 from Luke A. Guest laguest at archeia dot com ---
I also don't think this should be adding the following the parts either:

parts=crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o


[Bug middle-end/59338] [4.9 Regression] error: position plus size exceeds size of referenced object in BIT_FIELD_REF

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu.org

--- Comment #2 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
 Confirmed.  I'll adjust the checking to be less conservative (trailing array
 happening here and fold going nuts in creating BIT_FIELD_REFs).

I'm interested :-) but I don't know whether this will be sufficient for Ada.


[Bug lto/59326] FAIL: gcc.dg/vect/vect-simd-clone-*.c

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

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Fri Nov 29 10:36:10 2013
New Revision: 205512

URL: http://gcc.gnu.org/viewcvs?rev=205512root=gccview=rev
Log:
PR lto/59326
* tree-core.h (enum omp_clause_schedule_kind): Add
OMP_CLAUSE_SCHEDULE_LAST.
(enum omp_clause_default_kind): Add OMP_CLAUSE_DEFAULT_LAST.
(enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_LAST.
(enum omp_clause_map_kind): Add OMP_CLAUSE_MAP_LAST.
(enum omp_clause_proc_bind_kind): Add OMP_CLAUSE_PROC_BIND_LAST.
* lto-streamer-out.c (lto_is_streamable): Allow streaming
OMP_CLAUSE.
(DFS_write_tree_body): Handle OMP_CLAUSE.
* tree-streamer-out.c (pack_ts_omp_clause_value_fields): New
function.
(streamer_pack_tree_bitfields): Call it for OMP_CLAUSE.
(write_ts_omp_clause_tree_pointers): New function.
(streamer_write_tree_body): Call it for OMP_CLAUSE.
(streamer_write_tree_header): For OMP_CLAUSE stream OMP_CLAUSE_CODE.
* tree-streamer-in.c (unpack_ts_omp_clause_value_fields): New
function.
(unpack_value_fields): Call it for OMP_CLAUSE.
(streamer_alloc_tree): Handle OMP_CLAUSE.
(lto_input_ts_omp_clause_tree_pointers): New function.
(streamer_read_tree_body): Call it for OMP_CLAUSE.
lto/
* lto.c (mentions_vars_p_omp_clause): New function.
(mentions_vars_p): Call it for OMP_CLAUSE.  Remove break;
after return stmts.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-streamer-out.c
trunk/gcc/lto/ChangeLog
trunk/gcc/lto/lto.c
trunk/gcc/tree-core.h
trunk/gcc/tree-streamer-in.c
trunk/gcc/tree-streamer-out.c


[Bug lto/59326] FAIL: gcc.dg/vect/vect-simd-clone-*.c

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

--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Fri Nov 29 10:41:12 2013
New Revision: 205514

URL: http://gcc.gnu.org/viewcvs?rev=205514root=gccview=rev
Log:
PR lto/59326
* omp-low.c (simd_clone_create): Return NULL if for definition
!cgraph_function_with_gimple_body_p (old_node).  Call cgraph_get_body
before calling cgraph_function_versioning.
(expand_simd_clones): Look for omp declare simd attribute first.
Don't check targetm.simd_clone.compute_vecsize_and_simdlen here.
Punt if node-global.inlined_to.
(pass_omp_simd_clone::gate): Also enable if in_lto_p  !flag_wpa.
Disable pass if targetm.simd_clone.compute_vecsize_and_simdlen is NULL.
* lto-streamer-out.c (hash_tree): Handle OMP_CLAUSE.
lto/
* lto.c (compare_tree_sccs_1): Handle OMP_CLAUSE.
testsuite/
* gcc.dg/vect/vect-simd-clone-12.c: New test.
* gcc.dg/vect/vect-simd-clone-12a.c: New test.
* gcc.dg/vect/vect-simd-clone-10a.c: Remove extern keywords.

Added:
trunk/gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c
trunk/gcc/testsuite/gcc.dg/vect/vect-simd-clone-12a.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/lto-streamer-out.c
trunk/gcc/lto/ChangeLog
trunk/gcc/lto/lto.c
trunk/gcc/omp-low.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vect/vect-simd-clone-10a.c


[Bug tree-optimization/59334] [4.9 Regression] r205486 caused many failures

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

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Fri Nov 29 10:47:52 2013
New Revision: 205515

URL: http://gcc.gnu.org/viewcvs?rev=205515root=gccview=rev
Log:
2013-11-29  Richard Biener  rguent...@suse.de

PR tree-optimization/59334
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Fix bug
in previous commit.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-dce.c


[Bug tree-optimization/59334] [4.9 Regression] r205486 caused many failures

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug middle-end/59330] [4.7/4.8 Regression] Crash in is_gimple_reg_type

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

Bug 59330 depends on bug 59334, which changed state.

Bug 59334 Summary: [4.9 Regression] r205486 caused many failures
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59334

   What|Removed |Added

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


[Bug rtl-optimization/59340] New: LRA enable-checking bootstrap failure since r205136

2013-11-29 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59340

Bug ID: 59340
   Summary: LRA enable-checking bootstrap failure since r205136
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: krebbel at gcc dot gnu.org

The following code has been added to s390_decompose_address for the LRA
enablement to prevent strict displacement checking for addresses including
eliminable registers. Only during LRA execution the displacements are expected
to be valid. 

199754   vmakarov   if (lra_in_progress
199754   vmakarov || (base != arg_pointer_rtx
199754   vmakarov  indx != arg_pointer_rtx
199754   vmakarov  base != return_address_pointer_rtx
199754   vmakarov  indx != return_address_pointer_rtx
199754   vmakarov  base != frame_pointer_rtx
199754   vmakarov  indx != frame_pointer_rtx
199754   vmakarov  base != virtual_stack_vars_rtx
199754   vmakarov  indx != virtual_stack_vars_rtx))

However, with:

Author: law
Date: Wed Nov 20 18:17:49 2013
New Revision: 205136

URL: http://gcc.gnu.org/viewcvs?rev=205136root=gccview=rev
Log:
* lra.c (lra): Set lra_in_progress before check_rtl call.
* recog.c (insn_invalid_p): Add !lra_in_progress to prevent
adding clobber regs when LRA is running

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


the lra_in_progress = 1; statement has been moved before the initial LRA
check_rtl invokation so s390_decompose_address now expects the displacements to
be valid already what obviously is not the case.

This leads to a bootstrap failure:

/home/andreas/patched/gcc-head/libgcc/libgcc2.c: In function ‘__mulsc3’:
/home/andreas/patched/gcc-head/libgcc/libgcc2.c:1932:1: error: insn does not
satisfy its constraints:
 }
 ^
(insn 21 26 23 2 (set (mem/c:SF (plus:DI (reg/f:DI 34 %fp)
(const_int -16 [0xfff0])) [2 ac+0 S4 A64])
(reg:SF 108 [ D.5596 ]))
/home/andreas/patched/gcc-head/libgcc/libgcc2.c:1874 88 {movsf}
 (expr_list:REG_DEAD (reg:SF 108 [ D.5596 ])
(nil)))
/home/andreas/patched/gcc-head/libgcc/libgcc2.c:1932:1: internal compiler
error: in check_rtl, at lra.c
:2043

It can easily be reproduced with:

cc1 -O0 t.c
t.c:
void foo (int a) {}

[Bug ada/58239] [4.9 regression] pretty-print.c:789: undefined reference to `operator delete(void*)'

2013-11-29 Thread laguest at archeia dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58239

Luke A. Guest laguest at archeia dot com changed:

   What|Removed |Added

 CC||laguest at archeia dot com

--- Comment #19 from Luke A. Guest laguest at archeia dot com ---
I think this fix has been reverted somewhere in source as I've just got trunk
from SVN and have had to patch by hand.


[Bug preprocessor/58844] [4.8/4.9 Regression] ICE with invalid use of ##

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||dodji at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Doesn't ICE with -ftrack-macro-expansion=0, so regressed with r186977 which
made -ftrack-macro-expansion=2 the default, before that it crashed with
explicit -ftrack-macro-expansion=2.  Dodji, can you please  have a look?


[Bug ada/58239] [4.9 regression] pretty-print.c:789: undefined reference to `operator delete(void*)'

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

--- Comment #20 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
 I think this fix has been reverted somewhere in source as I've just got
 trunk from SVN and have had to patch by hand.

It's very easy to check, the patch is linked from comment #17...


[Bug middle-end/59208] [4.9 Regression] ice in initialize_flags_in_bb

2013-11-29 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59208

--- Comment #10 from Jan Hubicka hubicka at ucw dot cz ---
 Argh.  I'll try to add a update_stmt_fn.

Yep, would make life easier ;)

Honza


[Bug rtl-optimization/59340] [4.9 Regression] LRA enable-checking bootstrap failure since r205136

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-checking
 Target||s390x-*-*
   Target Milestone|--- |4.9.0
Summary|LRA enable-checking |[4.9 Regression] LRA
   |bootstrap failure since |enable-checking bootstrap
   |r205136 |failure since r205136


[Bug tree-optimization/58253] IPA-SRA creates calls with different arguments that the callee accepts

2013-11-29 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58253

--- Comment #3 from Martin Jambor jamborm at gcc dot gnu.org ---
(In reply to rguent...@suse.de from comment #2)
 Isn't it easier to avoid building a type with different alignment
 in the first place?  Or do this adjustment in SRA where the bug
 happens?  It seems that when SRA representatives -type is unaligned
 that this means, for by value passing, the value is accessed unaligned
 in the caller only.  Thus turn_representatives_into_adjustments
 should go back to naturally aligned -type for !by_ref params.
 

That's what the first version of my patch did :-) The problem with it
is that the alignment of the type in adjustment is how
ipa_modify_call_arguments figures out it needs to build unaligned
loads in the caller and so those types need to stay unaligned and only
ipa_modify_formal_parameters needs to be taught to ignore that.

BTW, now I wonder whether it would make more sense to check for
is_gimple_reg_type instead of non-BLKmode-ness with perhaps the latter
asserted.  Arguably, the actual arguments are (formally well aligned)
SSA names because their type is a gimple register.


[Bug tree-optimization/58253] IPA-SRA creates calls with different arguments that the callee accepts

2013-11-29 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58253

--- Comment #4 from Martin Jambor jamborm at gcc dot gnu.org ---
(In reply to rguent...@suse.de from comment #2)
 Isn't it easier to avoid building a type with different alignment
 in the first place?  Or do this adjustment in SRA where the bug
 happens?  It seems that when SRA representatives -type is unaligned
 that this means, for by value passing, the value is accessed unaligned
 in the caller only.  Thus turn_representatives_into_adjustments
 should go back to naturally aligned -type for !by_ref params.
 

That's what the first version of my patch did :-) The problem with it
is that the alignment of the type in adjustment is how
ipa_modify_call_arguments figures out it needs to build unaligned
loads in the caller, so those types need to stay unaligned and only
ipa_modify_formal_parameters needs to be taught to ignore that.

BTW, now I wonder whether it would make more sense to check for
is_gimple_reg_type instead of non-BLKmode-ness with perhaps the latter
asserted.  Arguably, the actual arguments are (formally well aligned)
SSA names because their type is a gimple register.


[Bug tree-optimization/59336] [4.9 Regression] definition in block 317 does not dominate use in block 316

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

--- Comment #3 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
(In reply to Richard Biener from comment #2)
 I suppose it doesn't happen without LTO?

correct.


[Bug ada/59341] New: spark_05 No_Implicit_Aliasing undefined

2013-11-29 Thread laguest at archeia dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59341

Bug ID: 59341
   Summary: spark_05  No_Implicit_Aliasing undefined
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
  Assignee: unassigned at gcc dot gnu.org
  Reporter: laguest at archeia dot com

/usr/bin/gcc-4.6 -c -I./
-I/usr/lib/gcc/x86_64-linux-gnu/4.6/adalib/../adainclude
-I/usr/lib/gcc/x86_64-linux-gnu/4.6/adalib/ -I.
-I/home/laguest/src/mine/tinyada-new/source/gcc-trunk/gcc/ada -g -O2 -W -Wall
-gnatpg -gnata -I-
/home/laguest/src/mine/tinyada-new/downloads/gcc-trunk/gcc/ada/ali-util.adb
scng.adb:1797:47: SPARK_05 is undefined
restrict.ads:126:07: No_Implicit_Aliasing is undefined

$ uname -a
Linux rogue 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux

CC=/usr/bin/gcc-4.6 CXX=/usr/bin/g++-4.6 CP=/usr/bin/cpp-4.6
../../../../source/gcc-trunk/configure
--prefix=/home/laguest/opt/android-tinyada --target=arm-linux-androideabi
--host=x86_64-linux-gnu --build=x86_64-linux-gnu
--with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm'
--with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-multilib
--enable-threads --disable-shared --with-gnu-as --with-gnu-ld
--enable-languages=c,c++,ada --with-system-zlib --disable-libgomp
--without-libffi --without-libiconv-prefix --disable-libmudflap --disable-nls
--disable-libstdcxx-pch --disable-cloog-version-check
--disable-isl-version-check --with-gmp=/home/laguest/opt/android-tinyada
--with-mpfr=/home/laguest/opt/android-tinyada
--with-mpc=/home/laguest/opt/android-tinyada
--with-isl=/home/laguest/opt/android-tinyada
--with-cloog=/home/laguest/opt/android-tinyada --disable-libstdc__-v3
--disable-tls --disable-libitm  --enable-target-optspace
--enable-initfini-array
--with-sysroot=/home/laguest/opt/android-ndk-r9b/platforms/android-9/arch-arm
--with-python=/home/laguest/opt/android-ndk-r9b/prebuilt/linux-x86_64/bin/python-config
--enable-plugins --enable-eh-frame-hdr-for-static --disable-libsanitizer
--disable-libquadmath --disable-libssp --disable-libatomic


[Bug tree-optimization/58253] IPA-SRA creates calls with different arguments that the callee accepts

2013-11-29 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58253

--- Comment #5 from rguenther at suse dot de rguenther at suse dot de ---
On Fri, 29 Nov 2013, jamborm at gcc dot gnu.org wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58253
 
 --- Comment #3 from Martin Jambor jamborm at gcc dot gnu.org ---
 (In reply to rguent...@suse.de from comment #2)
  Isn't it easier to avoid building a type with different alignment
  in the first place?  Or do this adjustment in SRA where the bug
  happens?  It seems that when SRA representatives -type is unaligned
  that this means, for by value passing, the value is accessed unaligned
  in the caller only.  Thus turn_representatives_into_adjustments
  should go back to naturally aligned -type for !by_ref params.
  
 
 That's what the first version of my patch did :-) The problem with it
 is that the alignment of the type in adjustment is how
 ipa_modify_call_arguments figures out it needs to build unaligned
 loads in the caller and so those types need to stay unaligned and only
 ipa_modify_formal_parameters needs to be taught to ignore that.

;)

 BTW, now I wonder whether it would make more sense to check for
 is_gimple_reg_type instead of non-BLKmode-ness with perhaps the latter
 asserted.  Arguably, the actual arguments are (formally well aligned)
 SSA names because their type is a gimple register.

Well - how an actual PARM_DECL passed by value ends up being aligned
is up to the target, independent of whether it will be an SSA
register or an aggregate.  But we certainly should make the life
of the targets easier by using natural alignment when inventing
new pass-by-value PARM_DECLs.

Richard.


[Bug libgomp/59337] surprising OMP error message

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

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

   What|Removed |Added

 CC||Joost.VandeVondele at mat dot 
ethz
   ||.ch

--- Comment #3 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
(In reply to Jakub Jelinek from comment #2)
 creating extensions there is IMHO undesirable, especially when it
 will unlikely work with other compilers.

I agree with that, the compilers I tested all rejected this. I think it is a
flaw in the standard.


[Bug middle-end/59338] [4.9 Regression] error: position plus size exceeds size of referenced object in BIT_FIELD_REF

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug middle-end/59338] [4.9 Regression] error: position plus size exceeds size of referenced object in BIT_FIELD_REF

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

--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Fri Nov 29 12:09:12 2013
New Revision: 205521

URL: http://gcc.gnu.org/viewcvs?rev=205521root=gccview=rev
Log:
2013-11-29  Richard Biener  rguent...@suse.de

PR middle-end/59338
* tree-cfg.c (verify_expr): Restrict bounds verification of
BIT_FIELD_REF arguments to non-aggregate typed base objects.

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

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr59338.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfg.c


[Bug ada/59341] spark_05 No_Implicit_Aliasing undefined

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

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
gcc-4.6 is no longer supported.


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

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

--- Comment #21 from ygribov at gcc dot gnu.org ---
Author: ygribov
Date: Fri Nov 29 12:30:36 2013
New Revision: 205524

URL: http://gcc.gnu.org/viewcvs?rev=205524root=gccview=rev
Log:
gcc/
2013-11-29  Jakub Jelinek  ja...@redhat.com
Yury Gribov  y.gri...@samsung.com

PR sanitizer/59063
* config/gnu-user.h: Removed old code for setting up sanitizer
libs.
* gcc.c: Using libsanitizer spec instead of explicit libs.

gcc/testsuite/
2013-11-29  Jakub Jelinek  ja...@redhat.com
Yury Gribov  y.gri...@samsung.com

PR sanitizer/59063
* c-c++-common/asan/pr59063-1.c: New test.
* c-c++-common/asan/pr59063-2.c: Likewise.
* lib/asan-dg.exp: Add path to libsanitizer.spec to cflags.
* lib/ubsan-dg.exp: Likewise.

libsanitizer/
2013-11-29  Jakub Jelinek  ja...@redhat.com
Yury Gribov  y.gri...@samsung.com

PR sanitizer/59063
* libsanitizer.spec.in: Add spec file to hold link flags for
various sanitizer libs.
* configure.ac: Check whether clock_* routines come from librt.
* asan/Makefile.am (libasan_la_LDFLAGS): Libs now come from
configure.ac.
* tsan/Makefile.am (libtsan_la_LDFLAGS): Likewise.
* ubsan/Makefile.am (libubsan_la_LDFLAGS): Likewise.
* lsan/Makefile.am (liblsan_la_LDFLAGS): Likewise.
* asan/Makefile.in: Regenerate.
* interception/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.
* tsan/Makefile.in: Regenerate.
* ubsan/Makefile.in: Regenerate.
* Makefile.in: Regenerate.
* configure: Regenerate.


Added:
trunk/gcc/testsuite/c-c++-common/asan/pr59063-1.c
trunk/gcc/testsuite/c-c++-common/asan/pr59063-2.c
trunk/libsanitizer/libsanitizer.spec.in
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/gnu-user.h
trunk/gcc/gcc.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/lib/asan-dg.exp
trunk/gcc/testsuite/lib/ubsan-dg.exp
trunk/libsanitizer/ChangeLog
trunk/libsanitizer/Makefile.am
trunk/libsanitizer/Makefile.in
trunk/libsanitizer/asan/Makefile.am
trunk/libsanitizer/asan/Makefile.in
trunk/libsanitizer/configure
trunk/libsanitizer/configure.ac
trunk/libsanitizer/interception/Makefile.in
trunk/libsanitizer/lsan/Makefile.am
trunk/libsanitizer/lsan/Makefile.in
trunk/libsanitizer/sanitizer_common/Makefile.in
trunk/libsanitizer/tsan/Makefile.am
trunk/libsanitizer/tsan/Makefile.in
trunk/libsanitizer/ubsan/Makefile.am
trunk/libsanitizer/ubsan/Makefile.in


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

2013-11-29 Thread y.gribov at samsung dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59063

--- Comment #22 from Yury Gribov y.gribov at samsung dot com ---
Joost, could you check and close bug if trunk works for you?


[Bug ada/59341] spark_05 No_Implicit_Aliasing undefined

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ebotcazou at gcc dot gnu.org
 Resolution|--- |INVALID

--- Comment #2 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
As documented, you need first to build a native compiler and then use this
compiler to build the cross-compiler.


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

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

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

   What|Removed |Added

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

--- Comment #23 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
Thanks, fixed!


[Bug c++/58089] expanding empty parameter pack as constructor arguments requires accessible copy constructor

2013-11-29 Thread a...@q-fu.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58089

Andrey Zholos a...@q-fu.com changed:

   What|Removed |Added

 CC||a...@q-fu.com

--- Comment #2 from Andrey Zholos a...@q-fu.com ---
I also stumbled onto this bug, and bug 59141 is a duplicate.

It appears the empty parameter pack is expanded as t({}) rather than t().

There is a similar example in 14.5.3p6 that indicates obj should be value-
initialized (not copy-constructed), and clang accepts this code.


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

2013-11-29 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59163

--- Comment #6 from Uroš Bizjak ubizjak at gmail dot com ---
I think that we should disallow tie of TImode with 128bit vector modes due to
different alignment requirements. Integer register pairs can load unaligned
TImode without problems, while unaligned TImode will crash SSE insns.

Following patch fixes the problem:

Index: config/i386/i386.c
===
--- config/i386/i386.c  (revision 205509)
+++ config/i386/i386.c  (working copy)
@@ -35237,6 +35237,7 @@ ix86_modes_tieable_p (enum machine_mode mode1, enu
 return (GET_MODE_SIZE (mode1) == 32
 ix86_hard_regno_mode_ok (FIRST_SSE_REG, mode1));
   if (GET_MODE_SIZE (mode2) == 16
+   !(mode1 == TImode || mode2 == TImode)
ix86_hard_regno_mode_ok (FIRST_SSE_REG, mode2))
 return (GET_MODE_SIZE (mode1) == 16
 ix86_hard_regno_mode_ok (FIRST_SSE_REG, mode1));

However, it needs some refinements for AVX.

[Bug target/58864] [4.8/4.9 regression] ICE in connect_traces, at dwarf2cfi.c:NNNN

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

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

Untested fix.  Note looking around at other callers of emit_conditional_move, I
think there are other suspect places, in particular emit_store_flag and
expand_doubleword_shift.  ifcvt.c should be fine, because no stack adjustments
should be pending after expansion.


[Bug c/59309] FAIL: c-c++-common/cilk-plus/CK/spawnee_inline.c -g -fcilkplus (test for excess errors)

2013-11-29 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59309

--- Comment #4 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org ---
Author: hjl
Date: Fri Nov 29 13:00:35 2013
New Revision: 205525

URL: http://gcc.gnu.org/viewcvs?rev=205525root=gccview=rev
Log:
Properly handle function without arguments

PR c/59309
* cilk.c (gimplify_cilk_spawn): Properly handle function without
arguments.

Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/cilk.c


[Bug c/59332] Segmentation fault in inline_summary with LTO + attribute optimize

2013-11-29 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59332

--- Comment #4 from Dmitry Gorbachev d.g.gorbachev at gmail dot com ---
 Can you expand on those shortcomings/bugs?

There are LTO-related issues in GCC and LD, such as PR43038, PR56536 and
others. Not all problems will be fixed soon, and more bugs will be discovered
in the future. As a workaround, an attribute (a pragma) to disable LTO would
come in handy.

 I don't think that will ever work ;)

__attribute__((optimize(lto))) works, surprisingly!


[Bug c/59332] Segmentation fault in inline_summary with LTO + attribute optimize

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

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #5 from Marek Polacek mpolacek at gcc dot gnu.org ---
(In reply to Dmitry Gorbachev from comment #4)
 __attribute__((optimize(lto))) works, surprisingly!

I wonder whether that's intentional or just pure luck ;).


[Bug c/59309] FAIL: c-c++-common/cilk-plus/CK/spawnee_inline.c -g -fcilkplus (test for excess errors)

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

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

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

--- Comment #5 from H.J. Lu hjl.tools at gmail dot com ---
Fixed.


[Bug libstdc++/54316] [C++11] move constructor for string_stream

2013-11-29 Thread jaak at ristioja dot ee
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54316

Jaak Ristioja jaak at ristioja dot ee changed:

   What|Removed |Added

 CC||jaak at ristioja dot ee

--- Comment #4 from Jaak Ristioja jaak at ristioja dot ee ---
Any progress?


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

2013-11-29 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59163

--- Comment #7 from Uroš Bizjak ubizjak at gmail dot com ---
Maybe even better idea is to use ix86_legitimate_combined_insn and reject
combinations that would result in unaligned operands of all but vector move
instructions.

[Bug c++/59342] New: Function Template Specialisation causing compiler error together with using clauses

2013-11-29 Thread filipe.c.maia at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59342

Bug ID: 59342
   Summary: Function Template Specialisation causing compiler
error together with using clauses
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: filipe.c.maia at gmail dot com

The following code causes a compilation error:

namespace bar
{
  void f(char x){;}
}

namespace foo
{
  // If the using clause is here; no error
  // using bar::f;
  template typename T void f(T x);  
  template  void f(int x);

  // With the using clause is here; error
  using bar::f;

  template typename T void f(T x){; }  
  template  void f(int x){ ; }
}

g++-4.8 -c namespace_noheader.cpp
namespace_noheader.cpp:17:27: error: 'void foo::f(int)' is not declared in
'foo'
   template  void f(int x){ ; }
   ^

I've also tried with newer versions online with the same result.
Moving the using line up makes the problem go away.


[Bug target/59343] New: miscompiled for loop in sh4 target (-Os)

2013-11-29 Thread gcc-bugzilla-f5d8 at theblacksun dot eu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59343

Bug ID: 59343
   Summary: miscompiled for loop in sh4 target (-Os)
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gcc-bugzilla-f5d8 at theblacksun dot eu

Created attachment 31327
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31327action=edit
miscompilation testcase

The attached testcase miscompiles on sh4 target if build with -Os

$ sh4-unknown-linux-gnu-g++ -Wall -Wextra -o for_loop_miscompile_O2 -O2
for_loop_miscompile.cpp
$ sh4-unknown-linux-gnu-g++ -Wall -Wextra -o for_loop_miscompile_Os -Os
for_loop_miscompile.cpp

target $ ./for_loop_miscompile_O2
teststring = 0x411068
teststring = 0x411068
target $ ./for_loop_miscompile_Os
teststring = 0x411068
teststring = 0x1


[Bug target/58864] [4.8/4.9 regression] ICE in connect_traces, at dwarf2cfi.c:NNNN

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

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

Alternate patch.  Rather than doing do_pending_stack_adjust () everywhere just
in case emit_conditional_move could be called and it's insns removed, this
allows remember current pending_stack_adjust state and restore it if we decide
to delete the insns.


[Bug target/59343] miscompiled for loop in sh4 target (-Os)

2013-11-29 Thread gcc-bugzilla-f5d8 at theblacksun dot eu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59343

--- Comment #2 from gcc-bugzilla-f5d8 at theblacksun dot eu ---
Created attachment 31330
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31330action=edit
assembler output from -O2


[Bug target/59343] miscompiled for loop in sh4 target (-Os)

2013-11-29 Thread gcc-bugzilla-f5d8 at theblacksun dot eu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59343

--- Comment #1 from gcc-bugzilla-f5d8 at theblacksun dot eu ---
Created attachment 31329
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31329action=edit
assembler output from -Os


[Bug c/59332] Segmentation fault in inline_summary with LTO + attribute optimize

2013-11-29 Thread d.g.gorbachev at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59332

--- Comment #6 from Dmitry Gorbachev d.g.gorbachev at gmail dot com ---
It was discovered by accident. However, if it does work, why no-lto (which is
so much more useful) should not work?


[Bug fortran/59344] New: warning for needless pointer attribute

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

Bug ID: 59344
   Summary: warning for needless pointer attribute
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: Joost.VandeVondele at mat dot ethz.ch

In many cases, using variables with a POINTER attribute is neither necessary
nor beneficial. I wonder if the Fortran FE could generate a warning for
variables with the POINTER attribute that could as well be ALLOCATABLE without
changing the semantics of the program.

my guess would be that it is sufficient to track if a local variables with the
pointer attribute has been
1) part of a pointer assignment (lhs/rhs)
2) passed to a procedure with an explicit interface and pointer attribute
3) ?

Such a warning would be useful to clean codes of pointer 'abuse'


[Bug fortran/59345] New: _gfortran_internal_pack on compiler generated temps

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

Bug ID: 59345
   Summary: _gfortran_internal_pack on compiler generated temps
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: Joost.VandeVondele at mat dot ethz.ch

There is a missed optimization on compiler generated temporaries. Basically:

SUBROUTINE S1(A)
 REAL :: A(3)
 CALL S2(-A)
END SUBROUTINE

leads to an optimized tree that contains calls to
_gfortran_internal_pack
_gfortran_internal_unpack
__builtin_free

which should not be needed as generated temps are known to be contiguous (in
particular in this case, where it is generated on the stack).

This would help to fully resolve PR38318 .


[Bug middle-end/59208] [4.9 Regression] ice in initialize_flags_in_bb

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

--- Comment #11 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Fri Nov 29 14:37:07 2013
New Revision: 205528

URL: http://gcc.gnu.org/viewcvs?rev=205528root=gccview=rev
Log:
2013-11-29  Richard Biener  rguent...@suse.de

PR middle-end/59208
* tree-ssa-operands.h (fini_ssa_operands, verify_ssa_operands,
free_stmt_operands, update_stmt_operands): Add struct function
argument.
* tree-ssa-operands.c: Remove uses of cfun, propagate struct
function argument from fini_ssa_operands, verify_ssa_operands,
free_stmt_operands and update_stmt_operands everywhere.
* tree-ssanames.h (release_ssa_name_fn): New.
(release_ssa_name): Inline wrapper around release_ssa_name_fn.
* tree-ssanames.c (release_ssa_name): Rename to ...
(release_ssa_name_fn): ... this and add struct function argument.
* gimple-ssa.h (update_stmt, update_stmt_if_modified): Adjust.
(update_stmt_fn): New function.
* tree-cfg.c (move_block_to_fn): Adjust.
* tree-if-conv.c (free_bb_predicate): Likewise.
* tree-ssa.c (verify_ssa): Likewise.
(delete_tree_ssa): Likewise.
* gimple-pretty-print.c (dump_gimple_mem_ops): Remove guard.
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Call
update_stmt_fn instead of update_stmt.

* g++.dg/torture/pr59208.C: New testcase.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/cgraph.c
trunk/gcc/gimple-pretty-print.c
trunk/gcc/gimple-ssa.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfg.c
trunk/gcc/tree-if-conv.c
trunk/gcc/tree-ssa-operands.c
trunk/gcc/tree-ssa-operands.h
trunk/gcc/tree-ssa.c
trunk/gcc/tree-ssanames.c
trunk/gcc/tree-ssanames.h


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

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

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

So like this?  Untested...


[Bug middle-end/59208] [4.9 Regression] ice in initialize_flags_in_bb

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug bootstrap/59199] [4.9 Regression] r205032 caused LTO bootstrap to fail with bootstrap-profile

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

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Reproduced and debugged somewhat.  We have

# DEBUG = foo

foo_2 = ...;


that's a no-no and confused the operand scanner to record 'foo' as real
operand during the update_stmt on stream-in.

Likely a update_address_taken bug, eventual fix:

@@ -1329,6 +1336,10 @@ non_rewritable_mem_ref_base (tree ref)
   if (DECL_P (ref))
 return NULL_TREE;

+  /* For DEBUG_STMTs we have to look through ADDR_EXPRs.  */
+  if (TREE_CODE (ref) == ADDR_EXPR)
+ref = TREE_OPERAND (ref, 0);
+
   while (handled_component_p (base))
 base = TREE_OPERAND (base, 0);


[Bug rtl-optimization/59340] [4.9 Regression] LRA enable-checking bootstrap failure since r205136

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Perhaps we want a different flag for the recog call than lra_in_progress?


[Bug middle-end/59208] [4.9 Regression] ice in initialize_flags_in_bb

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

--- Comment #13 from Markus Trippelsdorf octoploid at yandex dot com ---
(In reply to Richard Biener from comment #12)
 Fixed.

The testcase is missing.


[Bug libstdc++/54316] [C++11] move constructor for stringstream

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[C++11] move constructor|[C++11] move constructor
   |for string_stream   |for stringstream

--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org ---
No, or this PR would have been updated.


[Bug c++/59342] Function Template Specialisation causing compiler error together with using clauses

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

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


[Bug target/59289] [ARM] regression on unsigned-extend-2.c

2013-11-29 Thread ktkachov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59289

--- Comment #2 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Fri Nov 29 15:19:34 2013
New Revision: 205529

URL: http://gcc.gnu.org/viewcvs?rev=205529root=gccview=rev
Log:
2013-11-29  Kyrylo Tkachov  kyrylo.tkac...@arm.com

PR target/59289
* config/arm/arm.c (cortexa15_extra_costs): Adjust costs.

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


[Bug target/59289] [ARM] regression on unsigned-extend-2.c

2013-11-29 Thread ktkachov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59289

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from ktkachov at gcc dot gnu.org ---
Fixed on trunk.


[Bug ada/59346] New: [4.9 Regression] s-osinte.adb:107:35: expected type Interfaces.C.long

2013-11-29 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59346

Bug ID: 59346
   Summary: [4.9 Regression] s-osinte.adb:107:35: expected type
Interfaces.C.long
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
  Assignee: unassigned at gcc dot gnu.org
  Reporter: danglin at gcc dot gnu.org
  Host: hppa2.0w-hp-hpux11.11
Target: hppa2.0w-hp-hpux11.11
 Build: hppa2.0w-hp-hpux11.11

/test/gnu/gcc/objdir/./gcc/xgcc -B/test/gnu/gcc/objdir/./gcc/
-B/opt/gnu/gcc/gcc
-4.9/hppa2.0w-hp-hpux11.11/bin/
-B/opt/gnu/gcc/gcc-4.9/hppa2.0w-hp-hpux11.11/lib
/ -isystem /opt/gnu/gcc/gcc-4.9/hppa2.0w-hp-hpux11.11/include -isystem
/opt/gnu/
gcc/gcc-4.9/hppa2.0w-hp-hpux11.11/sys-include-c -g -O2  -fPIC  -W -Wall
-gna
tpg -nostdinc   s-osinte.adb -o s-osinte.o
s-osinte.adb:107:35: expected type Interfaces.C.long
s-osinte.adb:107:35: found type System.Os_Interface.time_t
make[7]: *** [s-osinte.o] Error 1

# ls -l *osint*
lrwxr-xr-x 1 bin bin 44 Nov 21 05:43 s-osinte.adb -
/test/gnu/gcc/gcc/gcc/ada/s-osinte-posix.adb
lrwxr-xr-x 1 bin bin 43 Nov 21 05:43 s-osinte.ads -
/test/gnu/gcc/gcc/gcc/ada/s-osinte-hpux.ads

  return timespec'(tv_sec = S,
   tv_nsec = time_t (Long_Long_Integer (F * 10#1#E9)));

Probably introduced by the following change:

2013-11-15  H.J. Lu  hongjiu...@intel.com

PR ada/54040
* s-linux-x32.ads: New file.
* s-osprim-x32.adb: Likewise.
* s-linux.ads (time_t): New type.
* s-linux-alpha.ads (time_t):  Likewise.
* s-linux-hppa.ads (time_t):  Likewise.
* s-linux-mipsel.ads (time_t):  Likewise.
* s-linux-sparc.ads (time_t):  Likewise.
* s-osinte-linux.ads (time_t): Mark it private.  Replace long
with System.Linux.time_t.
(timespec): Replace long with time_t.
* s-osinte-posix.adb (To_Timespec): Likewise.
* s-taprop-linux.adb (timeval): Replace C.long with
System.OS_Interface.time_t.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Replace
s-linux.ads with s-linux-x32.ads, s-osprim-posix.adb with
s-osprim-x32.adb for x32.


[Bug rtl-optimization/59340] [4.9 Regression] LRA enable-checking bootstrap failure since r205136

2013-11-29 Thread vmakarov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59340

Vladimir Makarov vmakarov at gcc dot gnu.org changed:

   What|Removed |Added

 CC||vmakarov at gcc dot gnu.org

--- Comment #2 from Vladimir Makarov vmakarov at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #1)
 Perhaps we want a different flag for the recog call than lra_in_progress?

Or don't use it all, it is too heavy.  It is better to use something light.  I
added this code on early stages of LRA development because it is hard to
predict what RTL could be.  Most important check before was one on addresses
and it is gone.  Insn_invalid_p check is just a paranoid check.  If something
goes wrong, the current LRA catches it later in any case.

I hope to fix it today.


[Bug ada/59346] [4.9 Regression] s-osinte.adb:107:35: expected type Interfaces.C.long

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Fixing.


[Bug rtl-optimization/55025] reg_nonzero_bits_for_combine/get_last_value: missing mode check for hardware registers

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

Paulo J. Matos pa...@matos-sorge.com changed:

   What|Removed |Added

 CC||pa...@matos-sorge.com

--- Comment #2 from Paulo J. Matos pa...@matos-sorge.com ---
I think this can be closed. 4.6 is not maintained anymore and this is fixed in
current versions.


[Bug ada/54040] [x32] Incorrect timeval and timespec

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

--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Author: ebotcazou
Date: Fri Nov 29 16:19:36 2013
New Revision: 205532

URL: http://gcc.gnu.org/viewcvs?rev=205532root=gccview=rev
Log:
PR ada/54040
PR ada/59346
* s-osinte-hpux.ads (timespec): Change type of tv_nsec field to time_t.
* s-osinte-kfreebsd-gnu.ads (timespec): Likewise.
* s-osinte-solaris-posix.ads (timespec): Likewise.

Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/s-osinte-hpux.ads
trunk/gcc/ada/s-osinte-kfreebsd-gnu.ads
trunk/gcc/ada/s-osinte-solaris-posix.ads


[Bug ada/59346] [4.9 Regression] s-osinte.adb:107:35: expected type Interfaces.C.long

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

--- Comment #2 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Author: ebotcazou
Date: Fri Nov 29 16:19:36 2013
New Revision: 205532

URL: http://gcc.gnu.org/viewcvs?rev=205532root=gccview=rev
Log:
PR ada/54040
PR ada/59346
* s-osinte-hpux.ads (timespec): Change type of tv_nsec field to time_t.
* s-osinte-kfreebsd-gnu.ads (timespec): Likewise.
* s-osinte-solaris-posix.ads (timespec): Likewise.

Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/s-osinte-hpux.ads
trunk/gcc/ada/s-osinte-kfreebsd-gnu.ads
trunk/gcc/ada/s-osinte-solaris-posix.ads


[Bug ada/59346] [4.9 Regression] s-osinte.adb:107:35: expected type Interfaces.C.long

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.9.0

--- Comment #3 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
Blindly fixed, so please verify.


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

2013-11-29 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59163

--- Comment #9 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Jakub Jelinek from comment #8)
 Created attachment 31331 [details]
 gcc49-pr59163.patch
 
 So like this?  Untested...

Yes, but I think that we can also allow simple vector loads and stores - they
emit movu insn when unaligned operand is detected.

[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

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

--- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org ---
For stores I think the patch already allows that, that is the
  if (GET_CODE (*x) == SET  SET_DEST (*x) == data)
return 1;
in there (the reason why I've added it was that for the misaligned store insns
with UNSPEC_STOREU the misaligned MEM is in SET_DEST and SET_SRC just contains
some rtl with UNSPEC_STOREU embedded somewhere in it.
So, would you like:
  if (GET_CODE (*x) == SET  (SET_DEST (*x) == data || SET_SRC (*x) ==
data))
return 1;
?  That would IMHO handle simple loads from misaligned MEM too.


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

2013-11-29 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59163

--- Comment #11 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Jakub Jelinek from comment #10)
 For stores I think the patch already allows that, that is the
   if (GET_CODE (*x) == SET  SET_DEST (*x) == data)
 return 1;
 in there (the reason why I've added it was that for the misaligned store
 insns
 with UNSPEC_STOREU the misaligned MEM is in SET_DEST and SET_SRC just
 contains some rtl with UNSPEC_STOREU embedded somewhere in it.
 So, would you like:
   if (GET_CODE (*x) == SET  (SET_DEST (*x) == data || SET_SRC (*x) ==
 data))
 return 1;
 ?  That would IMHO handle simple loads from misaligned MEM too.

Yes. Perhaps also special case sse4.2 string instructions (they can operate on
unaligned data, too), and the patch covers everything.

[Bug fortran/59313] gfortran.dg/erf_3.F90 FAILs on Solaris/SPARC

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

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-11-29
 CC||ebotcazou at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
I'm seeing this too.


[Bug bootstrap/59199] [4.9 Regression] r205032 caused LTO bootstrap to fail with bootstrap-profile

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

--- Comment #5 from H.J. Lu hjl.tools at gmail dot com ---
(In reply to Richard Biener from comment #4)

 Likely a update_address_taken bug, eventual fix:
 
 @@ -1329,6 +1336,10 @@ non_rewritable_mem_ref_base (tree ref)
if (DECL_P (ref))
  return NULL_TREE;
  
 +  /* For DEBUG_STMTs we have to look through ADDR_EXPRs.  */
 +  if (TREE_CODE (ref) == ADDR_EXPR)
 +ref = TREE_OPERAND (ref, 0);
 +
while (handled_component_p (base))
  base = TREE_OPERAND (base, 0);

I tried it and I still got the same error:


[Bug preprocessor/58687] #line __LINE__ ... changes subsequent line numbers

2013-11-29 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58687

--- Comment #22 from joseph at codesourcery dot com joseph at codesourcery dot 
com ---
On Fri, 29 Nov 2013, mtewoodbury at gmail dot com wrote:

 The elaborate description of the different forms of the '#line' (and other) 
 directives makes it clear that pp-token expansion is not to take place 
 until 
 after the end-of-line for the directive has been seen.  

The question is not when it takes place, it's what the current token is 
when it takes place, because line number is defined in terms of the 
current token rather than the time of expansion.  I think the current 
token is clearly __LINE__ on the #line directive.  Consider the case where 
there are no more tokens after that directive, just the newline at the end 
of the directive (you can easily construct cases where the value of 
__LINE__ in such a context affects the validity of the program, by 
concatenating it with something else to form what might or might not be a 
macro name) - it's not possible the the current token to be anything on a 
subsequent line, because there aren't any subsequent tokens.  So the 
current token has got to be __LINE__ (or maybe, in the more complicated 
cases I referred to, something else on the #line line).  That's different 
from

macro
(
__LINE__
)

where all of the tokens from macro to ) are involved in expansion at 
the same time and you can argue for any of macro, __LINE__ and ) as 
being the current token.  (It's also different from the cases where 
backslash-newline appears in the middle of __LINE__ so the question is 
whether to the current token means to the start of end of that token.)

 Accepted usage is for '#line __LINE__' to leave the line numbering unchanged. 
  

It's quite possible there's a common bug among multiple other 
implementations where it does leave the line number unchanged, but I'm now 
tending to that actually being a bug in those implementations rather than 
an ambiguity in the standard.  That is, there is no way in the standard to 
leave the line number unchanged, and no defect, and it might be better to 
wait until a revision process for a new major C standard version is 
underway them submit a proposal for e.g. #line with just a filename and no 
line number (or a #file directive - either would be a reasonable way of 
achieving that goal).


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #31331|0   |1
is obsolete||
 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

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

So like this?


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

2013-11-29 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59163

--- Comment #13 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Jakub Jelinek from comment #12)
 Created attachment 31332 [details]
 gcc49-pr59163.patch
 
 So like this?

Yes, with adjusted comment in ix86_legitimate_combined_insn.

IIRC, unaligned moves won't be propagated during or after reload, so it looks
to me that the approach is correct.

[Bug middle-end/59011] [4.7/4.8/4.9 Regression] ICE in make_decl_rtl, at varasm.c:1147

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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


[Bug fortran/59313] gfortran.dg/erf_3.F90 FAILs on Solaris/SPARC

2013-11-29 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59313

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Target|sparc*-sun-solaris2.*   |sparc*-sun-solaris2.*,
   ||alpha-linux-gnu
 CC||ubizjak at gmail dot com

--- Comment #2 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Eric Botcazou from comment #1)
 I'm seeing this too.

Me to, on alpha-linux-gnu, exactly the same numbers:

   0.000
   0.000
   0.000
   0.000
   0.000
   6167208123267181.

Program aborted. Backtrace:
#0  0x204F197

[Bug fortran/59313] gfortran.dg/erf_3.F90 FAILs on Solaris/SPARC

2013-11-29 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59313

--- Comment #3 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Uroš Bizjak from comment #2)

 Me to, on alpha-linux-gnu, exactly the same numbers:

alpha-linux-gnu is 128 bit long double, but not __float128 target:

auto-host.h:#define TARGET_DEFAULT_LONG_DOUBLE_128 1

Probably sparc also defines this.

[Bug middle-end/59176] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

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

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org ---
Now that PR59208 was fixed, I tried the test case of this PR again (with
today's r205539).

Result: Still the same, an ICE with -O3 in verify_cgraph_node. (-O2 is fine.)


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

2013-11-29 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59163

--- Comment #14 from Uroš Bizjak ubizjak at gmail dot com ---
(In reply to Uroš Bizjak from comment #13)
 (In reply to Jakub Jelinek from comment #12)
  Created attachment 31332 [details]
  gcc49-pr59163.patch
  
  So like this?
 
 Yes, with adjusted comment in ix86_legitimate_combined_insn.
 
 IIRC, unaligned moves won't be propagated during or after reload, so it
 looks to me that the approach is correct.

Running the testsuite with your patch applied exposed a minor problem:

FAIL: gcc.target/i386/sse-1.c scan-assembler-not movaps

movlps/movhps and movlpd/movhpd can also handle unaligned operands (please see
ix86_expand_vector_move_misalign). We should simply tag instructions that
operate on unaligned operands (attribute type = ssemovu) and check type
attribute instead.

The proposed approach would mean to change all scheduler and attribute
calculation checks from ssemov to ssemov,ssemovu, but this would be a
simple mechanical change.

[Bug sanitizer/59333] ICE with long long and -m32 -fsanitize=undefined

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

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
I think we just shouldn't try to pass values by reference in
ubsan_encode_value...


[Bug rtl-optimization/59340] [4.9 Regression] LRA enable-checking bootstrap failure since r205136

2013-11-29 Thread vmakarov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59340

--- Comment #3 from Vladimir Makarov vmakarov at gcc dot gnu.org ---
Author: vmakarov
Date: Fri Nov 29 20:08:38 2013
New Revision: 205541

URL: http://gcc.gnu.org/viewcvs?rev=205541root=gccview=rev
Log:
2013-11-29  Vladimir Makarov  vmaka...@redhat.com

PR rtl-optimization/59340
* lra.c (check_rtl): Use recog_memoized instead of insn_invalid_p.

Revert
2013-11-20  Robert Suchanek  robert.sucha...@imgtec.com

* lra.c (lra): Set lra_in_progress before check_rtl call.
* recog.c (insn_invalid_p): Add !lra_in_progress to prevent
adding clobber regs when LRA is running.


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


[Bug rtl-optimization/59340] [4.9 Regression] LRA enable-checking bootstrap failure since r205136

2013-11-29 Thread vmakarov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59340

--- Comment #4 from Vladimir Makarov vmakarov at gcc dot gnu.org ---
Andreas, could you check that the bootstrap is fixed.  At least, the test is
compiled by the cross-compiler.


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

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

--- Comment #15 from Jakub Jelinek jakub at gcc dot gnu.org ---
(In reply to Uroš Bizjak from comment #14)
 (In reply to Uroš Bizjak from comment #13)
  (In reply to Jakub Jelinek from comment #12)
   Created attachment 31332 [details]
   gcc49-pr59163.patch
   
   So like this?
  
  Yes, with adjusted comment in ix86_legitimate_combined_insn.
  
  IIRC, unaligned moves won't be propagated during or after reload, so it
  looks to me that the approach is correct.
 
 Running the testsuite with your patch applied exposed a minor problem:
 
 FAIL: gcc.target/i386/sse-1.c scan-assembler-not movaps
 
 movlps/movhps and movlpd/movhpd can also handle unaligned operands (please
 see ix86_expand_vector_move_misalign). We should simply tag instructions
 that operate on unaligned operands (attribute type = ssemovu) and check type
 attribute instead.
 
 The proposed approach would mean to change all scheduler and attribute
 calculation checks from ssemov to ssemov,ssemovu, but this would be a
 simple mechanical change.

Yeah, I've noticed that too, plus the dumps I've used to note what instructions
have been rejected by the patch show that UNSPEC_LDDQU would need to be treated
like UNSPEC_LOADU.
The patch made difference for 32-bit:
gcc.target/i386/sse-1.c (as you write above)
gcc.dg/torture/pr18582-1.c (UNSPEC_LDDQU)
gcc.target/i386/sse4_1-movntdqa.c (UNSPEC_MOVNTDQA)
and 64-bit also
g++.dg/torture/pr59163.C (desirable)

Now, for movntdqa, I think it accepts only aligned memory, but the MEM in there
is supposed to be aligned and is created by
  if (i == memory)
{
  /* This must be the memory operand.  */
  op = ix86_zero_extend_to_Pmode (op);
  op = gen_rtx_MEM (mode, op); 
  gcc_assert (GET_MODE (op) == mode
  || GET_MODE (op) == VOIDmode);
}
and there is similar code for builtins that store.
Supposedly for this we should use get_pointer_alignment (arg) and at least
set_mem_align (op, get_pointer_alignment (arg)); if it is larger than MEM_ALIGN
(op).  The gcc_assert doesn't make any sense to me, result of gen_rtx_MEM
(mode, op) will always have GET_MODE (op) == mode, no need to assert that and
it will never have VOIDmode.
Now, if we could easily find out which of the builtins assume aligned memory
(and to what extent), we should also set it, because say using
_mm_stream_load_si128 with not 128-bit aligned memory is user error, so GCC
should be able to assume A128 there.  I'd say the sse-1.c case is similar,
isn't it?

[Bug c++/59347] New: ICE on invalid: tree check: expected class 'type', have 'exceptional' (error_mark) in tsubst_decl, at cp/pt.c:10798

2013-11-29 Thread dimhen at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59347

Bug ID: 59347
   Summary: ICE on invalid: tree check: expected class 'type',
have 'exceptional' (error_mark) in tsubst_decl, at
cp/pt.c:10798
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dimhen at gmail dot com

$ uname -a
Linux dim.cp.ru 3.11.9-200.fc19.x86_64 #1 SMP Wed Nov 20 21:22:24 UTC 2013
x86_64 x86_64 x86_64 GNU/Linux

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc_current/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /home/dimhen/src/gcc_current/configure
--prefix=/usr/local/gcc_current --with-multilib-list=m64
--enable-checking=yes,df,fold,rtl,tree --enable-languages=c,c++,lto
--enable-plugin --with-tune=native --with-arch=native
--enable-version-specific-runtime-libs
Thread model: posix
gcc version 4.9.0 20131129 (experimental) [trunk revision 205527] (GCC) 

$ cat x.ii 
struct cast_retty_wrap;
template class struct cast_retty {
  typedef cast_retty_wrap::ret_type
} class Y cast_rettyY::

$ g++ -fpreprocessed -fsyntax-only x.ii
x.ii:3:11: error: 'cast_retty_wrap' is not a template
   typedef cast_retty_wrap::ret_type
   ^
x.ii:3:30: error: typedef name may not be a nested-name-specifier
   typedef cast_retty_wrap::ret_type
  ^
x.ii:3:30: error: expected ';' at end of member declaration
x.ii:4:1: error: expected ';' after struct definition
 } class Y cast_rettyY::
 ^
x.ii: In instantiation of 'struct cast_rettyY':
x.ii:4:24:   required from here
x.ii:3:30: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in tsubst_decl, at cp/pt.c:10798
   typedef cast_retty_wrap::ret_type
  ^
0xeea097 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
/home/dimhen/src/gcc_current/gcc/tree.c:9241
0x6c14d8 tree_class_check
/home/dimhen/src/gcc_current/gcc/tree.h:2825
0x6c14d8 tsubst_decl
/home/dimhen/src/gcc_current/gcc/cp/pt.c:10798
0x6abd2c tsubst(tree_node*, tree_node*, int, tree_node*)
/home/dimhen/src/gcc_current/gcc/cp/pt.c:11338
0x6da18f instantiate_class_template_1
/home/dimhen/src/gcc_current/gcc/cp/pt.c:8987
0x6da18f instantiate_class_template(tree_node*)
/home/dimhen/src/gcc_current/gcc/cp/pt.c:9251
0x76a933 complete_type(tree_node*)
/home/dimhen/src/gcc_current/gcc/cp/typeck.c:134
0x743298 cp_parser_nested_name_specifier_opt
/home/dimhen/src/gcc_current/gcc/cp/parser.c:5389
0x743d7b cp_parser_nested_name_specifier
/home/dimhen/src/gcc_current/gcc/cp/parser.c:5452
0x743eb7 cp_parser_ptr_operator
/home/dimhen/src/gcc_current/gcc/cp/parser.c:17485
0x74b800 cp_parser_declarator
/home/dimhen/src/gcc_current/gcc/cp/parser.c:16834
0x756939 cp_parser_init_declarator
/home/dimhen/src/gcc_current/gcc/cp/parser.c:16433
0x758699 cp_parser_simple_declaration
/home/dimhen/src/gcc_current/gcc/cp/parser.c:11134
0x73c5a3 cp_parser_block_declaration
/home/dimhen/src/gcc_current/gcc/cp/parser.c:11015
0x762c26 cp_parser_declaration
/home/dimhen/src/gcc_current/gcc/cp/parser.c:10912
0x761918 cp_parser_declaration_seq_opt
/home/dimhen/src/gcc_current/gcc/cp/parser.c:10798
0x7631eb cp_parser_translation_unit
/home/dimhen/src/gcc_current/gcc/cp/parser.c:4018
0x7631eb c_parse_file()
/home/dimhen/src/gcc_current/gcc/cp/parser.c:31261
0x880973 c_common_parse_file()
/home/dimhen/src/gcc_current/gcc/c-family/c-opts.c:1056
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.


[Bug target/59163] [4.8/4.9 Regression] program compiled with g++ -O3 segfaults

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

--- Comment #16 from Jakub Jelinek jakub at gcc dot gnu.org ---
Note that (according to my reading of the docs) e.g. movlps/movhps don't allow
unaligned memory, so blindly allow any combine is wrong, but while the MEM
operand in those cases is say V4SFmode, the loads or stores can have V2SFmode's
alignment.  So, I don't see how ssemovu type would help us here, I think we
handle all the completely unaligned loads/stores already (after the
UNSPEC_LDDQU addition).  But we need some way how to determine for which
instructions we should require only smaller alignment, plus tweak the two
gen_rtx_MEM spots for the builtins and set mode there according to
get_pointer_alignment and/or to assumed alignment of the builtins.


[Bug c++/43734] cerr related segmentation fault

2013-11-29 Thread e...@sf-mail.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43734

--- Comment #13 from Rolf Eike Beer e...@sf-mail.de ---
Ok, it looks like this is no gcc problem. If I rebuild gcc with binutils 2.22
it works. If I compile gcc with binutils 2.23.[12] it fails. Having a gcc built
with binutils 2.23.2 and building the program with binutils 2.22 it also fails.
So the solution (for the moment) is to build gcc with binutils 2.22 and
everything is fine.


[Bug driver/59321] -fuse-ld does not have effect on -print-prog-name

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

--- Comment #5 from H.J. Lu hjl.tools at gmail dot com ---
Created attachment 31333
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31333action=edit
A patch

This patch teaches gcc.c to append .bfd/.gold to ld if
-fuse-ld=XXX is used for --print-prog-name=ld.


  1   2   >