[Bug sanitizer/58543] Invalid unpoisoning of stack redzones on ARM

2013-10-02 Thread y.gribov at samsung dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58543

--- Comment #7 from Yury Gribov y.gribov at samsung dot com ---
Created attachment 30946
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30946action=edit
Standalone repro

Dodji,

It has just occured to me that you probably want an executable repro with nice
runtime error. Here is the first try (mainly a harness around the previous
repro).

The testcase firstly runs function bad() which fails to unpoison frame shadow.
It then tries to accesses bad()'s stack which triggers Asan error.

Simply compile the attached file with `-fsanitize=address -O2' and run it on
ARM target. As I mentioned before, the stack shadow gets borked so by default
you'll get an abort from Asan runtime:

=
==3366== ERROR: AddressSanitizer: stack-buffer-overflow on address 0xbefff797
at pc 0x8670 bp 0xbefff7ac sp 0xbefff7a4
READ of size 1 at 0xbefff797 thread T0
#0 0x866f (/dtv/usb/sda1/a.out+0x866f)
#1 0x41632bcb (/mtd_exe/lib/libc-2.14.1.so+0x17bcb)
==3366== AddressSanitizer CHECK failed:
/home/ygribov/gcc/gcc-master/libsanitizer/asan/asan_report.cc:250 ((name_end))
!= (0) (0x0, 0x0)
#0 0x4003ace7 (/dtv/usb/sda1/libasan.so.0+0x12ce7)
#1 0x400436fb (/dtv/usb/sda1/libasan.so.0+0x1b6fb)
#2 0x4004121b (/dtv/usb/sda1/libasan.so.0+0x1921b)
#3 0x4004136f (/dtv/usb/sda1/libasan.so.0+0x1936f)
#4 0x40041feb (/dtv/usb/sda1/libasan.so.0+0x19feb)
#5 0x4003b18b (/dtv/usb/sda1/libasan.so.0+0x1318b)
#6 0x866f (/dtv/usb/sda1/a.out+0x866f)
#7 0x41632bcb (/mtd_exe/lib/libc-2.14.1.so+0x17bcb)

This is already a sign of invalid instrumentation. To get a more informative
output, replace
 CHECK(name_end);
with
 if(!name_end) return true;
in libsanitizer/asan/asan_report.cc:
=
==3468== ERROR: AddressSanitizer: stack-buffer-overflow on address 0xbefff797
at pc 0x8670 bp 0xbefff7ac sp 0xbefff7a4
READ of size 1 at 0xbefff797 thread T0
#0 0x866f (/dtv/usb/sda1/a.out+0x866f)
#1 0x41632bcb (/mtd_exe/lib/libc-2.14.1.so+0x17bcb)
Shadow bytes around the buggy address:
  0x37dffea0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x37dffeb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x37dffec0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x37dffed0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x37dffee0: 00 00 00 00 00 00 00 00 00 00 00 00 f4 f4 f4 f3
=0x37dffef0: f3 f3[f3]00 00 00 f1 f1 f1 f1 01 f4 f4 f4 f3 00
  0x37dfff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x37dfff10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x37dfff20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x37dfff30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x37dfff40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:   00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone: fa
  Heap righ redzone: fb
  Freed Heap region: fd
  Stack left redzone:f1
  Stack mid redzone: f2
  Stack right redzone:   f3
  Stack partial redzone: f4
  Stack after return:f5
  Stack use after scope: f8
  Global redzone:f9
  Global init order: f6
  Poisoned by user:  f7
  ASan internal: fe
==3468== ABORTING

You can see that bad() function has not cleared the poisoned bytes.

-Y


[Bug fortran/58593] [4.9 Regression] internal compiler error: in gfc_conv_string_tmp, at fortran/trans-expr.c:2360

2013-10-02 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58593

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |burnus at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org ---
Confirmed. - Sorry for the breakage and thanks for the report!

I wonder why this didn't trigger in the test suite. (Glancing a the code, I
don't see why it fails. But I'll find out!)


[Bug middle-end/56888] memcpy implementation optimized as a call to memcpy

2013-10-02 Thread bernd.edlinger at hotmail dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888

Bernd Edlinger bernd.edlinger at hotmail dot de changed:

   What|Removed |Added

 CC||bernd.edlinger at hotmail dot 
de

--- Comment #20 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
Just for the record:
This happens also for eCos on ARM
but only if it is compiled with -O3 and not with -O2.
We certainly need a way to tell GCC if this kind of
optimization is OK for us.


[Bug tree-optimization/58553] New fail in PASS-FAIL: gcc.c-torture/execute/memcpy-2.c execution on arm and aarch64

2013-10-02 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58553

--- Comment #13 from rguenther at suse dot de rguenther at suse dot de ---
On Tue, 1 Oct 2013, law at redhat dot com wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58553
 
 --- Comment #12 from Jeffrey A. Law law at redhat dot com ---
 Re: Not creating loops with multiple entries, no doubt that's bad.
 
 It would be nice however, to expose loop nesting.  ie, prior to threading it
 looks like one bug fugly loop.  A bit of threading can sometimes expose a
 reasonable nested loop structure.

True, still detecting the multiple entry case is important.

   I haven't thought much about what
 additional updating we'd need for that, but it's in the back of my mind.  
 Right
 now we're supposed to be rejecting these jump threading requests, but some
 might be sliding through.

The loop machinery can do most of it itself nowadays (remove no longer
existing loops and discover new loops).  But as we are preserving more
and more metadata attached to loops it is important to keep a loop
identifiable by the same loop header, or if that changes, adjust that
loop manually.

Grepping for fix_loop_structure: removing loop and
flow_loops_find: discovered new loop in the -details dumps can show
suspicious drop-and-rediscover-loop-with-different-header events.

 Re: peeling/unrolling.  Given that we don't iterate DOM anymore, there's 
 little
 risk of completely peeling/unrolling the loop, except for loops which just
 iterate 1-3 times and are relatively small (we do have size growth limits). 
 But our heuristics for when to peel vs leave it alone are trivial at best and
 could use some significant improvement.

Yeah, I think it's a matter of cost model adjustments.

Richard.


[Bug fortran/58593] [4.9 Regression] internal compiler error: in gfc_conv_string_tmp, at fortran/trans-expr.c:2360

2013-10-02 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58593

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #1)
 Glancing a the code, I don't see why it fails.

Shot into the dark:

--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -2359,4 +2359,4 @@ gfc_conv_string_tmp (gfc_se * se, tree type, tree len)
   tmp = TREE_TYPE (type);
-  gcc_assert (TREE_CODE (tmp) == ARRAY_TYPE);
-  tmp = TYPE_SIZE_UNIT (TREE_TYPE (tmp));
+  if (TREE_CODE (tmp) == ARRAY_TYPE)
+tmp = TYPE_SIZE_UNIT (TREE_TYPE (tmp));
   tmp = fold_build2_loc (input_location, MULT_EXPR, size_type_node,


[Bug c++/58590] [C++11] Hidden typename not ill-formed under SFINAE conditions

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58590

--- Comment #10 from Paolo Carlini paolo.carlini at oracle dot com ---
Personally, I never discussed with anybody what exactly using the word SFINAE
in a subject means. I only fix bugs ;) Anyway, in practice, as far as this
issue is concerned, it should be clear by now that, as I suspected, it doesn't
have much to do with SFINAE, can be easily reproduced in all sorts of contexts,
with very simple testcases.


[Bug middle-end/56888] memcpy implementation optimized as a call to memcpy

2013-10-02 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #21 from Richard Biener rguenth at gcc dot gnu.org ---
-fno-tree-loop-distribute-patterns is the reliable way to not transform loops
into library calls.

As of the trivial case of generating a recursion - yes, that's reasonably
easy to avoid in simple cases.  But if you consider

t1.c


mymemcpy_impl (...)
{
  for (...)
   ...
}

t2.c


memcpy ()
{
  mymemcpy_impl ()
}

then it's no longer possible to detect conservatively without severely
restricting the set of functions we can operate on.

Not sure if/how other compilers avoid the above situation (or if they
do this at all or rather use private entries into the library functions).


[Bug c++/58592] -flto -fwhole-program caused undefined reference in g++ 4.7.3

2013-10-02 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58592

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
try removing -fwhole-program and add -fuse-linker-plugin

Note that it's unlikely we that somebody works on this for 4.7, which means
you may want to try GCC 4.8.1 or later.


[Bug tree-optimization/58532] [4.9 Regression] bootstrap failure with BOOT_CFLAGS=-g -O3

2013-10-02 Thread dcb314 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58532

David Binderman dcb314 at hotmail dot com changed:

   What|Removed |Added

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

--- Comment #10 from David Binderman dcb314 at hotmail dot com ---
(In reply to Richard Biener from comment #9)
 Fixed.

Not sure. My second bootstrap still fails on revision 203101

../src/trunk/configure --prefix=/home/dcb/gcc/results --enable-checking=yes
--enable-languages=c,c++,fortran

produces

In file included from ../../src/trunk/gcc/function.h:27:0,
 from ../../src/trunk/gcc/df-scan.c:32:
../../src/trunk/gcc/df-scan.c: In function ‘void
df_ref_record.constprop(df_collection_rec*, rtx, basic_block, df_insn_info*,
df_ref_type, int)’:
../../src/trunk/gcc/hard-reg-set.h:156:44: error: array subscript is above
array bounds [-Werror=array-bounds]
   (!!((SET)[(BIT) / UHOST_BITS_PER_WIDE_INT] \
^
../../src/trunk/gcc/df-scan.c:2824:18: note: in expansion of macro
‘TEST_HARD_REG_BIT’

I presume --disable-werror would avoid the problem ?

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

2013-10-02 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53001

--- Comment #21 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
(In reply to Joshua Cogliati from comment #20)
 Created attachment 30937 [details]
 Patch to add -Wfloat-conversion option against trunk
 
 Added one more changed needed to get it to compile (which only occured if I
 did an rm -Rf in the build directry, the make bootstrap didn't catch the
 libcpp warning found.)  
 
 The only thing I have left is to possibly modify the test scripts (to use
 -Wfloat-conversion instead of -Wconversion for the relevant tests) and
 recompile against the current trunk.

I would humbly suggest that you first recompile against current trunk, then
submit to gcc-patches and CC Dodji and Jason Merrill (you can find the emails
in MAINTAINERS) asking for comments before spending time and effort on updating
the test cases. The maintainers may ask you to change the name, or they might
not like that it triggers so often in GCC (so they may ask you to not enable it
with -Wextra), or they might simply not like the patch at all. 

Please mention that it is your first patch to GCC and your copyright assignment
is already in order. People are reluctant to review patches unless the papers
are in order since there is a high chance that they will never be committed.

[Bug c++/58575] gcc should compile firefox code faster.

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58575

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
I'm going to resolve this as duplicate of PR24208. We have got already a number
of more specific bug reports about either memory use, performance, etc. If you
have something *specific* to report please open a *specific* bug.

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


[Bug c++/24208] C++ front-end can still be sped up

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24208

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||tsaunders at mozilla dot com

--- Comment #8 from Paolo Carlini paolo.carlini at oracle dot com ---
*** Bug 58575 has been marked as a duplicate of this bug. ***


[Bug tree-optimization/58532] [4.9 Regression] bootstrap failure with BOOT_CFLAGS=-g -O3

2013-10-02 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58532

--- Comment #11 from rguenther at suse dot de rguenther at suse dot de ---
On Wed, 2 Oct 2013, dcb314 at hotmail dot com wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58532
 
 David Binderman dcb314 at hotmail dot com changed:
 
What|Removed |Added
 
  Status|RESOLVED|REOPENED
  Resolution|FIXED   |---
 
 --- Comment #10 from David Binderman dcb314 at hotmail dot com ---
 (In reply to Richard Biener from comment #9)
  Fixed.
 
 Not sure. My second bootstrap still fails on revision 203101
 
 ../src/trunk/configure --prefix=/home/dcb/gcc/results --enable-checking=yes
 --enable-languages=c,c++,fortran
 
 produces
 
 In file included from ../../src/trunk/gcc/function.h:27:0,
  from ../../src/trunk/gcc/df-scan.c:32:
 ../../src/trunk/gcc/df-scan.c: In function ?void
 df_ref_record.constprop(df_collection_rec*, rtx, basic_block, df_insn_info*,
 df_ref_type, int)?:
 ../../src/trunk/gcc/hard-reg-set.h:156:44: error: array subscript is above
 array bounds [-Werror=array-bounds]
(!!((SET)[(BIT) / UHOST_BITS_PER_WIDE_INT] \
 ^
 ../../src/trunk/gcc/df-scan.c:2824:18: note: in expansion of macro
 ?TEST_HARD_REG_BIT?
 
 I presume --disable-werror would avoid the problem ?

Yes, it's known that non-standard flags cause spurious warnings so
--disable-werror is recommended if you change flags.

Richard.


[Bug middle-end/56888] memcpy implementation optimized as a call to memcpy

2013-10-02 Thread bernd.edlinger at hotmail dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888

--- Comment #22 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
(In reply to Richard Biener from comment #21)
 -fno-tree-loop-distribute-patterns is the reliable way to not transform loops
 into library calls.

Thanks!

Adding this fixed the generated code:

#pragma GCC optimize (no-tree-loop-distribute-patterns)

BTW their memset.c looks like this:

externC void *
memset( void *s, int c, size_t n ) __attribute__ ((weak, alias(_memset)));

void *
_memset( void *s, int c, size_t n )
{
  while (...)
}


[Bug middle-end/56888] memcpy implementation optimized as a call to memcpy

2013-10-02 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888

--- Comment #23 from rguenther at suse dot de rguenther at suse dot de ---
On Wed, 2 Oct 2013, bernd.edlinger at hotmail dot de wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888
 
 --- Comment #22 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
 (In reply to Richard Biener from comment #21)
  -fno-tree-loop-distribute-patterns is the reliable way to not transform 
  loops
  into library calls.
 
 Thanks!
 
 Adding this fixed the generated code:
 
 #pragma GCC optimize (no-tree-loop-distribute-patterns)
 
 BTW their memset.c looks like this:
 
 externC void *
 memset( void *s, int c, size_t n ) __attribute__ ((weak, alias(_memset)));
 
 void *
 _memset( void *s, int c, size_t n )
 {
   while (...)
 }

I suspect this is the most common form - glibc also uses aliases but
IIRC they are using global asms for them :/

The above would be still detectable with the new symbol table / alias
handling in GCC 4.9 (and maybe 4.8, I'm not sure).  So it may be
worth special-casing the direct recursion case as a QOI measure.


[Bug fortran/58593] [4.9 Regression] internal compiler error: in gfc_conv_string_tmp, at fortran/trans-expr.c:2360

2013-10-02 Thread Joost.VandeVondele at mat dot ethz.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58593

--- Comment #3 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
(In reply to Tobias Burnus from comment #1)
 Confirmed. - Sorry for the breakage and thanks for the report!

Not sure how the saying goes exactly, but 'those that do a lot can break a
lot'. I'm happy my bug reports are useful, and in exchange I get a high quality
compiler.


[Bug c++/58565] [c++11] ICE with label in statement expression

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58565

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-10-02
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
   Target Milestone|--- |4.9.0
 Ever confirmed|0   |1


[Bug c++/58565] [c++11] ICE with label in statement expression

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58565

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

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


[Bug c++/58575] gcc should compile firefox code faster.

2013-10-02 Thread manu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58575

Manuel López-Ibáñez manu at gcc dot gnu.org changed:

   What|Removed |Added

 CC||manu at gcc dot gnu.org

--- Comment #2 from Manuel López-Ibáñez manu at gcc dot gnu.org ---
That GCC could be much faster is well-known but how to make it so is less clear
and there is simply not enough people to do the work required. Currently there
is as many people working just on Clang than on the whole GCC (including all
languages, middle-end and backends).

Dimitrios Apostolou did some nice work on benchmarking, but his actual patches
did not bring impressive improvements:

http://gcc.gnu.org/wiki/OptimisingGCC

I don't know how much of this work ended up in GCC (if any).

There are many ideas on what could speed-up C++ parsing:

http://gcc.gnu.org/wiki/Speedup_areas#C.2B-.2B-_improvements

BTW, reducing memory allocation (or using smarter data structures) is likely to
bring significant improvements:

http://gcc.gnu.org/wiki/Speedup_areas#Some_general_thoughts_on_memory_usage

But at the end, someone needs to come up with very detailed benchmark data to
identify the real compile-time hogs and patches to address them.

[Bug c++/58565] [c++11] ICE with label in statement expression

2013-10-02 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58565

--- Comment #3 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Wed Oct  2 10:44:23 2013
New Revision: 203109

URL: http://gcc.gnu.org/viewcvs?rev=203109root=gccview=rev
Log:
/cp
2013-10-02  Paolo Carlini  paolo.carl...@oracle.com

PR c++/58565
* semantics.c (potential_constant_expression_1): Handle LABEL_EXPR.

/testsuite
2013-10-02  Paolo Carlini  paolo.carl...@oracle.com

PR c++/58565
* g++.dg/parse/crash64.C: New.

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


[Bug c++/58565] [c++11] ICE with label in statement expression

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58565

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com ---
Fixed for 4.9.0.


[Bug c++/58525] __cxa_throw_bad_array_new_length is generated with -fno-exceptions

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58525

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Please always send patches to the mailing list: attached to bugs are easily
overlooked or forgotten.


[Bug tree-optimization/58556] [4.9 Regression] gen-vect-26.c / gen-vect-28.c regression merging from r202839 to r202981

2013-10-02 Thread ktkachov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58556

--- Comment #4 from ktkachov at gcc dot gnu.org ---
Jorn, can you confirm if these tests now pass on ARC?


[Bug c++/58592] -flto -fwhole-program caused undefined reference in g++ 4.7.3

2013-10-02 Thread suihong.liang at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58592

suihong.liang at gmail dot com changed:

   What|Removed |Added

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

--- Comment #2 from suihong.liang at gmail dot com ---
Thanks Richard. That solved the linking error.


[Bug c++/58594] New: std::make_shared does not accept const types as parameters

2013-10-02 Thread akim.demaille at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58594

Bug ID: 58594
   Summary: std::make_shared does not accept const types as
parameters
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: akim.demaille at gmail dot com

The following piece of code works with 4.8, clang 3.3 and 3.4, but not 4.9.  I
expect the code to be right, and 4.9 to be wrong, but even if it were the
converse, the location is useless: it's the end of the translation unit, not
the location of the error.  It works if I remove the const.

Cheers!


$ cat foo.cc
#include memory

int
main()
{
  const int f = 42;
  auto fp = std::make_sharedconst int(f);
  return 51;
}
$ g++-mp-4.8 --version
g++-mp-4.8 (MacPorts gcc48 4.8.1_3) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ g++-mp-4.8 -Wall -std=c++11 foo.cc
$ g++-mp-4.9 --version
g++-mp-4.9 (MacPorts gcc49 4.9-20130915_0) 4.9.0 20130915 (experimental)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ g++-mp-4.9 -Wall -std=c++11 foo.cc
In file included from /opt/local/include/gcc49/c++/bits/shared_ptr.h:52:0,
 from /opt/local/include/gcc49/c++/memory:82,
 from foo.cc:1:
/opt/local/include/gcc49/c++/bits/shared_ptr_base.h: In instantiation of 'void*
std::_Sp_counted_ptr_inplace_Tp, _Alloc, _Lp::_M_get_deleter(const
std::type_info) [with _Tp = const int; _Alloc = std::allocatorint;
__gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]':
foo.cc:9:1:   required from here
/opt/local/include/gcc49/c++/bits/shared_ptr_base.h:462:58: error: invalid
conversion from 'const void*' to 'void*' [-fpermissive]
  return __ti == typeid(_Sp_make_shared_tag) ? _M_ptr() : nullptr;
  ^

Cheers!


[Bug other/58578] [4.9 Regression] mpfr tasinh test doesn't terminate when built with trunk for ARM

2013-10-02 Thread clyon at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58578

--- Comment #6 from clyon at gcc dot gnu.org ---
Author: clyon
Date: Wed Oct  2 14:07:45 2013
New Revision: 203116

URL: http://gcc.gnu.org/viewcvs?rev=203116root=gccview=rev
Log:
Add forgotten test case for r203059.

2013-10-01  Kugan Vivekanandarajah  kug...@linaro.org

gcc/testsuite
PR target/58578
* gcc.target/arm/pr58578.c: New test.


Added:
trunk/gcc/testsuite/gcc.target/arm/pr58578.c


[Bug libstdc++/58594] std::make_shared does not accept const types as parameters

2013-10-02 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58594

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-10-02
  Component|c++ |libstdc++
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
 Ever confirmed|0   |1

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


[Bug tree-optimization/58556] [4.9 Regression] gen-vect-26.c / gen-vect-28.c regression merging from r202839 to r202981

2013-10-02 Thread amylaar at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58556

--- Comment #5 from Jorn Wolfgang Rennecke amylaar at gcc dot gnu.org ---
(In reply to ktkachov from comment #4)
 Jorn, can you confirm if these tests now pass on ARC?

Yes, they do.


[Bug middle-end/58585] [4.9 Regression] ICE in ipa with virtual inheritance

2013-10-02 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58585

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #2 from Jan Hubicka hubicka at gcc dot gnu.org ---
Mine, thanks for the testcase!


[Bug tree-optimization/58556] [4.9 Regression] gen-vect-26.c / gen-vect-28.c regression merging from r202839 to r202981

2013-10-02 Thread ktkachov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58556

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

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

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


[Bug c++/58535] [4.8/4.9 Regression] ICE with virtual template function

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58535

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-10-02
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
   Target Milestone|4.9.0   |4.8.2
 Ever confirmed|0   |1

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


[Bug c++/58592] -flto -fwhole-program caused undefined reference in g++ 4.7.3

2013-10-02 Thread suihong.liang at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58592

suihong.liang at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
Version|4.7.3   |4.8.1
 Resolution|WONTFIX |---

--- Comment #3 from suihong.liang at gmail dot com ---
Looks like 4.8.1 has the same issue of linking error when -flto
-fwhole-program is used. Detailed output is below. And The source files are
from the attachment.

root@sinit:linkerror/lib# make clean
rm -f *.o *.so
root@sinit:/media/sf_symbolic/self/linkerror/lib# make
/usr/local/bin/g++ -flto -fwhole-program -Wall -Werror -pedantic -Wextra
-Weffc++ -Waddress -Warray-bounds -Wno-builtin-macro-redefined -Wc++0x-compat
-Wundef -std=c++0x -c -fPIC A.cpp
/usr/local/bin/g++ -flto -fwhole-program -Wall -Werror -pedantic -Wextra
-Weffc++ -Waddress -Warray-bounds -Wno-builtin-macro-redefined -Wc++0x-compat
-Wundef -std=c++0x -shared -o libself.so A.o 

root@sinit:linkerror/lib# cd ../app

root@sinit:linkerror/app# make clean; make
rm -f *.o a.out
/usr/local/bin/g++ -flto -fwhole-program -Wall -Werror -Wextra -pedantic
-Weffc++ -Waddress -Warray-bounds -Wno-builtin-macro-redefined -Wc++0x-compat
-Wundef -std=c++0x -c main.cpp
/usr/local/bin/g++ -flto -fwhole-program -Wall -Werror -Wextra -pedantic
-Weffc++ -Waddress -Warray-bounds -Wno-builtin-macro-redefined -Wc++0x-compat
-Wundef -std=c++0x -o a.out main.o -L../lib -lself
/tmp/cchAPumN.ltrans0.ltrans.o: In function `main':
cchAPumN.ltrans0.o:(.text+0x1c): undefined reference to `A::A()'
cchAPumN.ltrans0.o:(.text+0x31): undefined reference to `A::~A()'
collect2: error: ld returned 1 exit status
make: *** [all] Error 1


root@sinit# /usr/local/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/usr/local/bin/g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-linux-gnu/4.8.1/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../configure --disable-multilib --enable-languages=c,c++
--enable-shared --enable-linker-build-id --without-included-gettext
--enable-threads=posix --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin
--with-system-zlib --with-cloog --enable-cloog-backend=ppl
--disable-cloog-version-check --disable-ppl-version-check --disable-werror
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.1 (GCC) 

# uname -r
3.8.0-31-generic


[Bug c++/58535] [4.8/4.9 Regression] ICE with virtual template function

2013-10-02 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58535

--- Comment #2 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Wed Oct  2 18:25:55 2013
New Revision: 203123

URL: http://gcc.gnu.org/viewcvs?rev=203123root=gccview=rev
Log:
/cp
2013-10-02  Paolo Carlini  paolo.carl...@oracle.com

PR c++/58535
* parser.c (cp_parser_function_specifier_opt): Upon error about
virtual templates don't set ds_virtual.
(finish_fully_implicit_template): Reject virtual implicit templates.

/testsuite
2013-10-02  Paolo Carlini  paolo.carl...@oracle.com

PR c++/58535
* g++.dg/parse/crash65.C: New.
* g++.dg/cpp1y/pr58535.C: Likewise.

Added:
trunk/gcc/testsuite/g++.dg/cpp1y/pr58535.C
trunk/gcc/testsuite/g++.dg/parse/crash65.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/58535] [4.8/4.9 Regression] ICE with virtual template function

2013-10-02 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58535

--- Comment #3 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org ---
Author: paolo
Date: Wed Oct  2 18:27:30 2013
New Revision: 203124

URL: http://gcc.gnu.org/viewcvs?rev=203124root=gccview=rev
Log:
/cp
2013-10-02  Paolo Carlini  paolo.carl...@oracle.com

PR c++/58535
* parser.c (cp_parser_function_specifier_opt): Upon error about
virtual templates don't set ds_virtual.

/testsuite
2013-10-02  Paolo Carlini  paolo.carl...@oracle.com

PR c++/58535
* g++.dg/parse/crash62.C: New.

Added:
branches/gcc-4_8-branch/gcc/testsuite/g++.dg/parse/crash62.C
Modified:
branches/gcc-4_8-branch/gcc/cp/ChangeLog
branches/gcc-4_8-branch/gcc/cp/parser.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


[Bug c++/58535] [4.8/4.9 Regression] ICE with virtual template function

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58535

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com ---
Fixed mainline and 4.8.2.


[Bug target/58595] New: internal compiler error: in gen_movsi when compiling on arm some files of lttng-tools with -fPIE

2013-10-02 Thread yannick.brosseau at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58595

Bug ID: 58595
   Summary: internal compiler error: in gen_movsi when compiling
on arm some files of lttng-tools with -fPIE
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: yannick.brosseau at gmail dot com

Created attachment 30947
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30947action=edit
Preprocessed problematic file main.i

When I try to compile the attached file on arm, I get this error messaage:

main.c: In function ‘thread_manage_kernel’:
main.c:886:1: internal compiler error: in gen_movsi, at config/arm/arm.md:5539
 }

I compile with:
gcc -fPIE -O2 -c main.i
if I remove -fPIE, it compiles correctly. 

Using gcc 3.8.1 on fedora. 
Target: armv7hl-redhat-linux-gnueabi
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id --with-linker-hash-style=gnu
--enable-languages=c,c++,objc,obj-c++,java,fortran,go,lto --enable-plugin
--enable-initfini-array --enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib
--with-isl=/builddir/build/BUILD/gcc-4.8.1-20130603/obj-armv7hl-redhat-linux-gnueabi/isl-install
--with-cloog=/builddir/build/BUILD/gcc-4.8.1-20130603/obj-armv7hl-redhat-linux-gnueabi/cloog-install
--disable-sjlj-exceptions --with-cpu=cortex-a8 --with-tune=cortex-a8
--with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16
--with-abi=aapcs-linux --build=armv7hl-redhat-linux-gnueabi
Thread model: posix
gcc version 4.8.1 20130603 (Red Hat 4.8.1-1) (GCC) 

I've put some info on the lttng tracker: http://bugs.lttng.org/issues/640


Also reproduced with gcc 4.7.2 (Arch Linux)
 Target: armv6l-unknown-linux-gnueabihf
Configured with: /build/src/gcc-4.7.2/configure --prefix=/usr --libdir=/usr/lib
--libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=https://bugs.archlinux.org/
--enable-languages=c,c++,fortran,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch
--enable-libstdcxx-time --enable-gnu-unique-object --enable-linker-build-id
--with-ppl --enable-cloog-backend=isl --disable-ppl-version-check
--disable-cloog-version-check --enable-lto --enable-gold --enable-ld=default
--enable-plugin --with-plugin-ld=ld.gold --with-linker-hash-style=gnu
--disable-multilib --disable-libssp --disable-build-with-cxx
--disable-build-poststage1-with-cxx --enable-checking=release
--host=armv6l-unknown-linux-gnueabihf --build=armv6l-unknown-linux-gnueabihf
--with-arch=armv6 --with-float=hard --with-fpu=vfp
Thread model: posix

[Bug bootstrap/58509] [4.9 regression] ICE in calc_dfs_tree, at dominance.c:397 during Ada runtime build

2013-10-02 Thread mikpelinux at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58509

--- Comment #4 from Mikael Pettersson mikpelinux at gmail dot com ---
Eric's patch fixes this bootstrap problem for me on sparc64-linux.


[Bug c++/58592] -flto -fwhole-program caused undefined reference in g++ 4.7.3

2013-10-02 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58592

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org ---
Actually this is not a bug as you are putting -fwhole-program on the link of
the library but you don't export at all A::A() from there.


[Bug target/58587] Bootstrap error with ada with -mcpu=power7

2013-10-02 Thread meissner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58587

Michael Meissner meissner at gcc dot gnu.org changed:

   What|Removed |Added

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


[Bug target/58587] Bootstrap error with ada with -mcpu=power7

2013-10-02 Thread meissner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58587

--- Comment #3 from Michael Meissner meissner at gcc dot gnu.org ---
Created attachment 30948
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30948action=edit
Patch to disable -mvsx-timode

This patch disables setting -mvsx-timode, which is what is causing the problem.
 The option -mvsx-timode allows 128-bit integers (TImode) to be in the VSX
registers.  The main motivation for the option is to add support for the
128-bit arithmetic instructions in ISA 2.07 (power8), such as vadduqm.  Right
now, GCC does not support these instructions.  In order to support putting
TImode values in VSX registers, we will need some work with the rs6000
secondary reload target hooks, which is planned for the future.


[Bug libstdc++/58594] [4.9 Regression] std::make_shared does not accept const types as parameters

2013-10-02 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58594

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Author: redi
Date: Wed Oct  2 19:55:14 2013
New Revision: 203131

URL: http://gcc.gnu.org/viewcvs?rev=203131root=gccview=rev
Log:
PR libstdc++/58594
* include/bits/shared_ptr_base.h
(_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals.
* testsuite/20_util/shared_ptr/creation/58594.cc: New.

Added:
trunk/libstdc++-v3/testsuite/20_util/shared_ptr/creation/58594.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/shared_ptr_base.h


[Bug libstdc++/58594] [4.9 Regression] std::make_shared does not accept const types as parameters

2013-10-02 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58594

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org ---
fixed


[Bug c++/28525] ICE after duplicate_decls

2013-10-02 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28525

Volker Reichelt reichelt at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #4 from Volker Reichelt reichelt at gcc dot gnu.org ---
Doesn't seem to be a problem anymore.


[Bug middle-end/26784] Non C based frontend ICEs on -fmudflap

2013-10-02 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26784

Volker Reichelt reichelt at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords|ice-on-invalid-code,|
   |monitored   |
 Status|NEW |RESOLVED
  Known to work||4.7.0
 Resolution|--- |FIXED
  Known to fail||4.0.0, 4.2.0, 4.6.0

--- Comment #4 from Volker Reichelt reichelt at gcc dot gnu.org ---
This seems to be fixed since GCC 4.7.0. The ICE is gone and a sensible warning
is given (although the second line of the warning is still questionable):

f951: warning: command line option '-fmudflap' is valid for C/C++/ObjC/ObjC++
but not for Fortran [enabled by default]
f951: warning: command line option '-fno-builtin' is valid for
C/C++/ObjC/ObjC++ but not for Fortran [enabled by default]


[Bug c++/58596] New: [4.8/4.9 Regression] [c++11] ICE with decltype in non-static data member initializer

2013-10-02 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58596

Bug ID: 58596
   Summary: [4.8/4.9 Regression] [c++11] ICE with decltype in
non-static data member initializer
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following code snippet (compiled with -std=c++11) triggers an ICE since
GCC 4.8.0:

==
struct A
{
  int i = [] { return decltype(i)(); }();
};
==

bug.cc: In lambda function:
bug.cc:3:32: internal compiler error: Segmentation fault
   int i = [] { return decltype(i)(); }();
^
0xaef4bf crash_signal
../../gcc/gcc/toplev.c:335
0x54c0cd contains_struct_check
../../gcc/gcc/tree.h:2722
0x54c0cd build_new_op_1
../../gcc/gcc/cp/call.c:5154
0x54cf47 build_new_op(unsigned int, tree_code, int, tree_node*, tree_node*,
tree_node*, tree_node**, int)
../../gcc/gcc/cp/call.c:5513
0x672529 build_x_indirect_ref(unsigned int, tree_node*, ref_operator, int)
../../gcc/gcc/cp/typeck.c:2866
0x6b165a finish_non_static_data_member(tree_node*, tree_node*, tree_node*)
../../gcc/gcc/cp/semantics.c:1580
0x6b6b5f finish_id_expression(tree_node*, tree_node*, tree_node*, cp_id_kind*,
bool, bool, bool*, bool, bool, bool, bool, char const**, unsigned int)
../../gcc/gcc/cp/semantics.c:3418
0x642cfb cp_parser_decltype_expr
../../gcc/gcc/cp/parser.c:11653
0x642cfb cp_parser_decltype
../../gcc/gcc/cp/parser.c:11781
0x65a862 cp_parser_simple_type_specifier
../../gcc/gcc/cp/parser.c:14288
0x641fe4 cp_parser_postfix_expression
../../gcc/gcc/cp/parser.c:5737
0x64483d cp_parser_unary_expression
../../gcc/gcc/cp/parser.c:7009
0x64540f cp_parser_binary_expression
../../gcc/gcc/cp/parser.c:7701
0x6458cf cp_parser_assignment_expression
../../gcc/gcc/cp/parser.c:7937
0x647733 cp_parser_expression
../../gcc/gcc/cp/parser.c:8099
0x641125 cp_parser_expression
../../gcc/gcc/cp/parser.c:8138
0x641125 cp_parser_lambda_body
../../gcc/gcc/cp/parser.c:9035
0x641125 cp_parser_lambda_expression
../../gcc/gcc/cp/parser.c:8574
0x641125 cp_parser_primary_expression
../../gcc/gcc/cp/parser.c:4230
0x642050 cp_parser_postfix_expression
../../gcc/gcc/cp/parser.c:5814
Please submit a full bug report, [etc.]


[Bug libstdc++/58569] Compilation error when a class contains multiple std::function

2013-10-02 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58569

--- Comment #18 from Jonathan Wakely redi at gcc dot gnu.org ---
Author: redi
Date: Wed Oct  2 20:21:52 2013
New Revision: 203132

URL: http://gcc.gnu.org/viewcvs?rev=203132root=gccview=rev
Log:
2013-10-02  Jonathan Wakely  jwakely@gmail.com
Daniel Krugler  daniel.krueg...@gmail.com

PR libstdc++/58569
* include/std/functional (function::_CheckResult): Move to namespace
scope and rename to __check_func_return_type.
* testsuite/20_util/function/58569.cc: New.

Added:
trunk/libstdc++-v3/testsuite/20_util/function/58569.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/std/functional


[Bug libstdc++/58569] Compilation error when a class contains multiple std::function

2013-10-02 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58569

--- Comment #19 from Jonathan Wakely redi at gcc dot gnu.org ---
Author: redi
Date: Wed Oct  2 20:22:02 2013
New Revision: 203133

URL: http://gcc.gnu.org/viewcvs?rev=203133root=gccview=rev
Log:
2013-10-02  Jonathan Wakely  jwakely@gmail.com
Daniel Krugler  daniel.krueg...@gmail.com

PR libstdc++/58569
* include/std/functional (function::_CheckResult): Move to namespace
scope and rename to __check_func_return_type.
* testsuite/20_util/function/58569.cc: New.

Added:
branches/gcc-4_8-branch/libstdc++-v3/testsuite/20_util/function/58569.cc
Modified:
branches/gcc-4_8-branch/libstdc++-v3/ChangeLog
branches/gcc-4_8-branch/libstdc++-v3/include/std/functional


[Bug libstdc++/58569] Compilation error when a class contains multiple std::function

2013-10-02 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58569

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.8.2

--- Comment #20 from Jonathan Wakely redi at gcc dot gnu.org ---
fixed for 4.8.2 and 4.9.0


[Bug c++/58597] New: [c++11] ICE with lambda in default argument of template function

2013-10-02 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58597

Bug ID: 58597
   Summary: [c++11] ICE with lambda in default argument of
template function
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following valid code snippet (compiled with -std=c++11) triggers an ICE
since GCC 4.5.0 (when lambdas were introduced):

===
templatetypename struct A
{
  templatetypename T A(T, int = []{ return 0; }()) {}
};

Aint a = 0;
===

bug.cc: In substitution of 'templateclass T A template-parameter-1-1
::A(T, int) [with T = int]':
bug.cc:6:12:   required from here
bug.cc:6:12: internal compiler error: in instantiate_template_1, at
cp/pt.c:15008
 Aint a = 0;
^
0x5d0b93 instantiate_template_1
../../gcc/gcc/cp/pt.c:15008
0x5d0b93 instantiate_template(tree_node*, tree_node*, int)
../../gcc/gcc/cp/pt.c:15117
0x5d264a fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node*
const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool)
../../gcc/gcc/cp/pt.c:15466
0x53f0fc add_template_candidate_real
../../gcc/gcc/cp/call.c:2923
0x53ae69 add_template_candidate
../../gcc/gcc/cp/call.c:3020
0x53ae69 add_candidates
../../gcc/gcc/cp/call.c:5075
0x53bd40 build_user_type_conversion_1
../../gcc/gcc/cp/call.c:3484
0x546013 build_user_type_conversion(tree_node*, tree_node*, int, int)
../../gcc/gcc/cp/call.c:3653
0x6843da ocp_convert(tree_node*, tree_node*, int, int, int)
../../gcc/gcc/cp/cvt.c:865
0x6913dd expand_default_init
../../gcc/gcc/cp/init.c:1597
0x6913dd expand_aggr_init_1
../../gcc/gcc/cp/init.c:1766
0x693b79 build_aggr_init(tree_node*, tree_node*, int, int)
../../gcc/gcc/cp/init.c:1517
0x557da5 build_aggr_init_full_exprs
../../gcc/gcc/cp/decl.c:5543
0x557da5 check_initializer
../../gcc/gcc/cp/decl.c:5678
0x56aa5c cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
../../gcc/gcc/cp/decl.c:6347
0x65196f cp_parser_init_declarator
../../gcc/gcc/cp/parser.c:16567
0x65207f cp_parser_simple_declaration
../../gcc/gcc/cp/parser.c:10986
0x653ee0 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:10867
0x65cf1e cp_parser_declaration
../../gcc/gcc/cp/parser.c:10764
0x65bc8a cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:10650
Please submit a full bug report, [etc.]


[Bug middle-end/58598] New: ICE: SIGSEGV (write after free) with -O -flto -fno-fat-lto-objects -fvtable-verify=std

2013-10-02 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58598

Bug ID: 58598
   Summary: ICE: SIGSEGV (write after free) with -O -flto
-fno-fat-lto-objects -fvtable-verify=std
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: zsojka at seznam dot cz

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

Compiler output:
gcc -O -flto -fno-fat-lto-objects -fvtable-verify=std -wrapper valgrind,-q
testcase.C 
==3463== Invalid write of size 8
==3463==at 0x7F05C1: bitmap_obstack_alloc_stat(bitmap_obstack*)
(bitmap.h:277)
==3463==by 0xC5C141: (anonymous namespace)::pass_build_ssa::execute()
(tree-into-ssa.c:2242)
==3463==by 0xB05269: execute_one_pass(opt_pass*) (passes.c:2201)
==3463==by 0xB05445: execute_pass_list(opt_pass*) (passes.c:2253)
==3463==by 0x86D76D: cgraph_process_new_functions() (cgraphunit.c:324)
==3463==by 0x780316: vtv_generate_init_routine()
(vtable-class-hierarchy.c:1187)
==3463==by 0x670815: cp_write_global_declarations() (decl2.c:4369)
==3463==by 0xBF7DCC: compile_file() (toplev.c:560)
==3463==by 0xBF9CB9: toplev_main(int, char**) (toplev.c:1893)
==3463==by 0x5A3C60C: (below main) (in /lib64/libc-2.15.so)
==3463==  Address 0x6159070 is 96 bytes inside a block of size 4,064 free'd
==3463==at 0x4C2B3EC: free (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==3463==by 0x5A9CFD4: obstack_free (in /lib64/libc-2.15.so)
==3463==by 0x86CE82: analyze_function(cgraph_node*) (cgraphunit.c:652)
==3463==by 0x86D72F: cgraph_process_new_functions() (cgraphunit.c:320)
==3463==by 0x780316: vtv_generate_init_routine()
(vtable-class-hierarchy.c:1187)
==3463==by 0x670815: cp_write_global_declarations() (decl2.c:4369)
==3463==by 0xBF7DCC: compile_file() (toplev.c:560)
==3463==by 0xBF9CB9: toplev_main(int, char**) (toplev.c:1893)
==3463==by 0x5A3C60C: (below main) (in /lib64/libc-2.15.so)
==3463== 
==3463== Invalid write of size 8
==3463==at 0x7F05C9: bitmap_obstack_alloc_stat(bitmap_obstack*)
(bitmap.h:277)
==3463==by 0xC5C141: (anonymous namespace)::pass_build_ssa::execute()
(tree-into-ssa.c:2242)
==3463==by 0xB05269: execute_one_pass(opt_pass*) (passes.c:2201)
==3463==by 0xB05445: execute_pass_list(opt_pass*) (passes.c:2253)
==3463==by 0x86D76D: cgraph_process_new_functions() (cgraphunit.c:324)
==3463==by 0x780316: vtv_generate_init_routine()
(vtable-class-hierarchy.c:1187)
==3463==by 0x670815: cp_write_global_declarations() (decl2.c:4369)
==3463==by 0xBF7DCC: compile_file() (toplev.c:560)
==3463==by 0xBF9CB9: toplev_main(int, char**) (toplev.c:1893)
==3463==by 0x5A3C60C: (below main) (in /lib64/libc-2.15.so)
==3463==  Address 0x6159068 is 88 bytes inside a block of size 4,064 free'd
==3463==at 0x4C2B3EC: free (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==3463==by 0x5A9CFD4: obstack_free (in /lib64/libc-2.15.so)
==3463==by 0x86CE82: analyze_function(cgraph_node*) (cgraphunit.c:652)
==3463==by 0x86D72F: cgraph_process_new_functions() (cgraphunit.c:320)
==3463==by 0x780316: vtv_generate_init_routine()
(vtable-class-hierarchy.c:1187) 
==3463==by 0x670815: cp_write_global_declarations() (decl2.c:4369)  
==3463==by 0xBF7DCC: compile_file() (toplev.c:560)  
==3463==by 0xBF9CB9: toplev_main(int, char**) (toplev.c:1893)   
==3463==by 0x5A3C60C: (below main) (in /lib64/libc-2.15.so) 
==3463==


Crashes randomly.

Tested revisions:
r203053 - crash


[Bug c++/58599] New: [c++11] Trouble with non-static data member initializers in templates

2013-10-02 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58599

Bug ID: 58599
   Summary: [c++11] Trouble with non-static data member
initializers in templates
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following code snippets (compiled with -std=c++11) trigger ICEs various
places since GCC 4.7.0 (when non-static data member initializers were
introduced):

=
templateint struct A;

template struct A0
{
  templatetypename, typename... struct B
  {
templatetypename int foo() {}

int i = fooint();
  };
};
=

bug.cc: In substitution of 'templateclass, class ... templateclass int
A0::B template-parameter-1-1, template-parameter-1-2 ::foo() [with
template-parameter-2-1 = missing; template-parameter-1-1 = int;
template-parameter-1-2 = missing]':
bug.cc:9:22:   required from here
bug.cc:7:28: internal compiler error: tree check: accessed elt 2 of tree_vec
with 1 elts in tsubst_pack_expansion, at cp/pt.c:9535
 templatetypename int foo() {}
^
0xce33c5 tree_vec_elt_check_failed(int, int, char const*, int, char const*)
../../gcc/gcc/tree.c:9361
0x5aa862 tree_vec_elt_check
../../gcc/gcc/tree.h:2799
0x5aa862 tsubst_pack_expansion
../../gcc/gcc/cp/pt.c:9535
0x5b89a2 tsubst_template_args
../../gcc/gcc/cp/pt.c:9738
0x5b87dc tsubst_template_args
../../gcc/gcc/cp/pt.c:9756
0x5b910e tsubst_aggr_type
../../gcc/gcc/cp/pt.c:9971
0x5acb1d tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/gcc/cp/pt.c:11364
0x5ac217 tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/gcc/cp/pt.c:11354
0x5b6fa6 tsubst_arg_types
../../gcc/gcc/cp/pt.c:11012
0x5b73ce tsubst_function_type
../../gcc/gcc/cp/pt.c:1
0x5aca1c tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/gcc/cp/pt.c:11822
0x5d21d5 fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node*
const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool)
../../gcc/gcc/cp/pt.c:15361
0x53f0fc add_template_candidate_real
../../gcc/gcc/cp/call.c:2923
0x53ae69 add_template_candidate
../../gcc/gcc/cp/call.c:3020
0x53ae69 add_candidates
../../gcc/gcc/cp/call.c:5075
0x542536 build_new_method_call_1
../../gcc/gcc/cp/call.c:7697
0x542536 build_new_method_call(tree_node*, tree_node*, vectree_node*, va_gc,
vl_embed**, tree_node*, int, tree_node**, int)
../../gcc/gcc/cp/call.c:7883
0x6427ad cp_parser_postfix_expression
../../gcc/gcc/cp/parser.c:5980
0x64483d cp_parser_unary_expression
../../gcc/gcc/cp/parser.c:7009
0x64540f cp_parser_binary_expression
../../gcc/gcc/cp/parser.c:7701
Please submit a full bug report, [etc.]

=
templateint struct A;

template struct A0
{
  templatetypename, typename struct B
  {
templatetypename int foo() {}

int i = fooint();
  };
};
=

bug.cc: In substitution of 'templateclass, class templateclass int A0::B
template-parameter-1-1, template-parameter-1-2 ::foo() [with
template-parameter-2-1 = missing; template-parameter-1-1 = int;
template-parameter-1-2 = missing]':
bug.cc:9:22:   required from here
bug.cc:7:28: internal compiler error: tree check: accessed elt 2 of tree_vec
with 1 elts in tsubst, at cp/pt.c:11429
 templatetypename int foo() {}
^
0xce33c5 tree_vec_elt_check_failed(int, int, char const*, int, char const*)
../../gcc/gcc/tree.c:9361
0x5aea72 tree_vec_elt_check
../../gcc/gcc/tree.h:2799
0x5aea72 tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/gcc/cp/pt.c:11429
0x5b86fa tsubst_template_args
../../gcc/gcc/cp/pt.c:9774
0x5b910e tsubst_aggr_type
../../gcc/gcc/cp/pt.c:9971
0x5acb1d tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/gcc/cp/pt.c:11364
0x5ac217 tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/gcc/cp/pt.c:11354
0x5b6fa6 tsubst_arg_types
../../gcc/gcc/cp/pt.c:11012
0x5b73ce tsubst_function_type
../../gcc/gcc/cp/pt.c:1
0x5aca1c tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/gcc/cp/pt.c:11822
0x5d21d5 fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node*
const*, unsigned int, tree_node*, unification_kind_t, int, bool, bool)
../../gcc/gcc/cp/pt.c:15361
0x53f0fc add_template_candidate_real
../../gcc/gcc/cp/call.c:2923
0x53ae69 add_template_candidate
../../gcc/gcc/cp/call.c:3020
0x53ae69 add_candidates
../../gcc/gcc/cp/call.c:5075
0x542536 build_new_method_call_1
../../gcc/gcc/cp/call.c:7697
0x542536 

[Bug c++/58600] New: [c++0x] ICE on wrong usage of alignas

2013-10-02 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58600

Bug ID: 58600
   Summary: [c++0x] ICE on wrong usage of alignas
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: reichelt at gcc dot gnu.org

The following invalid code snippet (compiled with -std=c++11) triggers an ICE
since GCC 4.8.0 (when alignas was introduced):


namespace N {}
using namespace N alignas(int);


bug.cc:2:30: internal compiler error: tree check: expected identifier_node,
have tree_list in private_is_attribute_p, at tree.c:5540
 using namespace N alignas(int);
  ^
0xcd87ea tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/gcc/tree.c:9176
0xcd8b64 tree_check
../../gcc/gcc/tree.h:2819
0xcd8b64 private_is_attribute_p(char const*, unsigned long, tree_node const*)
../../gcc/gcc/tree.c:5540
0x6ff9ff is_attribute_p
../../gcc/gcc/tree.h:3678
0x6ff9ff parse_using_directive(tree_node*, tree_node*)
../../gcc/gcc/cp/name-lookup.c:3995
0x6545c2 cp_parser_using_directive
../../gcc/gcc/cp/parser.c:15951
0x6545c2 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:10837
0x65cf1e cp_parser_declaration
../../gcc/gcc/cp/parser.c:10764
0x65bc8a cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:10650
0x65d556 cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:3939
0x65d556 c_parse_file()
../../gcc/gcc/cp/parser.c:28899
0x7709e3 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1046
Please submit a full bug report, [etc.]

A slightly modified example crashes in a different location:


namespace N {}
using namespace N alignas(X);


bug.cc:2:27: error: 'X' was not declared in this scope
 using namespace N alignas(X);
   ^
bug.cc:2:27: internal compiler error: tree check: expected tree_list, have
error_mark in parse_using_directive, at cp/name-lookup.c:3994
0xcd87ea tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/gcc/tree.c:9176
0x6ffabe tree_check
../../gcc/gcc/tree.h:2609
0x6ffabe parse_using_directive(tree_node*, tree_node*)
../../gcc/gcc/cp/name-lookup.c:3994
0x6545c2 cp_parser_using_directive
../../gcc/gcc/cp/parser.c:15951
0x6545c2 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:10837
0x65cf1e cp_parser_declaration
../../gcc/gcc/cp/parser.c:10764
0x65bc8a cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:10650
0x65d556 cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:3939
0x65d556 c_parse_file()
../../gcc/gcc/cp/parser.c:28899
0x7709e3 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1046
Please submit a full bug report, [etc.]


[Bug fortran/58593] [4.9 Regression] internal compiler error: in gfc_conv_string_tmp, at fortran/trans-expr.c:2360

2013-10-02 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58593

--- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org ---
Author: burnus
Date: Wed Oct  2 21:02:14 2013
New Revision: 203135

URL: http://gcc.gnu.org/viewcvs?rev=203135root=gccview=rev
Log:
2013-10-02  Tobias Burnus  bur...@net-b.de

PR fortran/58593
* trans-expr.c (gfc_conv_string_tmp): Fix obtaining
the byte size of a single character.

2013-10-02  Tobias Burnus  bur...@net-b.de

PR fortran/58593
* gfortran.dg/char_length_19.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/char_length_19.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-expr.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/58593] [4.9 Regression] internal compiler error: in gfc_conv_string_tmp, at fortran/trans-expr.c:2360

2013-10-02 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58593

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #5 from Tobias Burnus burnus at gcc dot gnu.org ---
FIXED on the trunk (4.9) - which was only affected. (The patch is slightly
different from the one in comment 2, which doesn't work.)


[Bug c++/58601] New: [meta-bug] alignas

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58601

Bug ID: 58601
   Summary: [meta-bug] alignas
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: paolo.carlini at oracle dot com


[Bug c++/58601] [meta-bug] alignas

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58601

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-10-02
 Ever confirmed|0   |1


[Bug c++/58596] [4.8/4.9 Regression] [c++11] ICE with decltype in non-static data member initializer

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58596

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-10-02
 Ever confirmed|0   |1


[Bug c++/58561] [4.8/4.9 Regression] [c++11] ICE using declaration of function with auto in return type

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58561

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug c++/58518] [4.8/4.9 regression] ICE with template specialization

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58518

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug other/58578] [4.9 Regression] mpfr tasinh test doesn't terminate when built with trunk for ARM

2013-10-02 Thread clyon at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58578

--- Comment #7 from clyon at gcc dot gnu.org ---
Author: clyon
Date: Wed Oct  2 22:12:37 2013
New Revision: 203137

URL: http://gcc.gnu.org/viewcvs?rev=203137root=gccview=rev
Log:
2013-10-01  Kugan Vivekanandarajah  kug...@linaro.org

Backport from trunk r203059,203116.
2013-10-01  Kugan Vivekanandarajah  kug...@linaro.org

PR target/58578
Revert
2013-04-05  Greta Yorsh  greta.yo...@arm.com
* config/arm/arm.md (arm_ashldi3_1bit):  define_insn into
define_insn_and_split.
(arm_ashrdi3_1bit,arm_lshrdi3_1bit): Likewise.
(shiftsi3_compare): New pattern.
(rrx): New pattern.
* config/arm/unspecs.md (UNSPEC_RRX): New.

2013-10-01  Kugan Vivekanandarajah  kug...@linaro.org

Backport from trunk r203059,203116.
2013-10-01  Kugan Vivekanandarajah  kug...@linaro.org

PR Target/58578
* gcc.target/arm/pr58578.c: New test.


Modified:
branches/linaro/gcc-4_8-branch/gcc/ChangeLog.linaro
branches/linaro/gcc-4_8-branch/gcc/config/arm/arm.md
branches/linaro/gcc-4_8-branch/gcc/config/arm/unspecs.md
branches/linaro/gcc-4_8-branch/gcc/testsuite/ChangeLog.linaro


[Bug bootstrap/58572] [4.9 regression] make install uses -Wno-narrowing with system compiler which does not know about it

2013-10-02 Thread gary at intrepid dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58572

--- Comment #1 from Gary Funck gary at intrepid dot com ---
We're seeing a similar failure on SUSE SLE 11.2. The installed version of gcc
is 4.3.4.


[Bug target/58587] Bootstrap error with ada with -mcpu=power7

2013-10-02 Thread meissner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58587

--- Comment #4 from Michael Meissner meissner at gcc dot gnu.org ---
Author: meissner
Date: Thu Oct  3 00:01:45 2013
New Revision: 203142

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

PR target/58587
* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Turn off
setting -mvsx-timode by default until the underlying problem is
fixed.
(RS6000_CPU, power7 defaults): Likewise.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000-cpus.def


[Bug target/58587] Bootstrap error with ada with -mcpu=power7

2013-10-02 Thread meissner at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58587

--- Comment #5 from Michael Meissner meissner at gcc dot gnu.org ---
Author: meissner
Date: Thu Oct  3 00:08:12 2013
New Revision: 203143

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

Backport from mainline
2013-10-02  Michael Meissner  meiss...@linux.vnet.ibm.com

PR target/58587
* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Turn off
setting -mvsx-timode by default until the underlying problem is
fixed.
(RS6000_CPU, power7 defaults): Likewise.


Modified:
branches/ibm/gcc-4_8-branch/gcc/ChangeLog.ibm
branches/ibm/gcc-4_8-branch/gcc/config/rs6000/rs6000-cpus.def


[Bug c++/58584] [c++11] ICE with invalid argument for alignas

2013-10-02 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58584

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

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


[Bug c++/58162] [C++11] bogus error: use of deleted function 'constexpr A::A(const A)'

2013-10-02 Thread james.dennett at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58162

James Dennett james.dennett at gmail dot com changed:

   What|Removed |Added

 CC||james.dennett at gmail dot com

--- Comment #1 from James Dennett james.dennett at gmail dot com ---
Jason pointed out to me that cv_unqualified() is more appropriate than
TYPE_MAIN_VARIANT(), and I see that we might want to do the

 if (!CLASS_TYPE_P (type)  cv_qualified_p (type))
type = cv_unqualified (type);

dance to avoid needless work for other types.