[Bug tree-optimization/70964] [7 Regression] internal compiler error: in single_succ_edge, at basic-block.h:351

2016-05-15 Thread asolokha at gmx dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70964

Arseny Solokha  changed:

   What|Removed |Added

 CC||asolokha at gmx dot com

--- Comment #6 from Arseny Solokha  ---
Fixed in r236158.

[Bug c++/70862] [concepts] adding a concept-constrained version of a variable template causes multiple definition assembler error

2016-05-15 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70862

--- Comment #4 from Tom Honermann  ---
(In reply to ryan.burn from comment #3)
> It's a different bug. The test case from 70095 compiles fine with the trunk
> from 20160428, but the above example won't.

The example in bug 70095 comment 2 still fails the same way.  That example is
known to be a regression caused by the change noted in bug 70095 comment 1 that
intended to fix the example in bug 70095 comment 0.  That change also affected
the behavior of the example in bug 69515 (but didn't fix it).  I don't know how
related these issues are.

[Bug target/70947] regrename Go breakage on powerpc64

2016-05-15 Thread amodra at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70947

--- Comment #2 from Alan Modra  ---
Author: amodra
Date: Mon May 16 04:51:21 2016
New Revision: 236264

URL: https://gcc.gnu.org/viewcvs?rev=236264=gcc=rev
Log:
[RS6000] Stop regrename twiddling with split-stack prologue

PR target/70947
* config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue): Stop
regrename modifying insns saving lr before __morestack call.
* config/rs6000/rs6000.md (split_stack_return): Similarly for
insns restoring lr after __morestack call.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/config/rs6000/rs6000.c
branches/gcc-6-branch/gcc/config/rs6000/rs6000.md

[Bug c++/69515] partial specialization of variable templates is broken

2016-05-15 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69515

--- Comment #4 from Tom Honermann  ---
(In reply to Tom Honermann from comment #3)
> The error in comment 2 was also reported in bug 69364.

I don't know where I got that bug number from.  That should have been:
The error in comment 2 was also reported in bug 70037.

[Bug c++/71141] [concepts] Example variadic concept code in the Concepts TS 14.1p9.4 rejected

2016-05-15 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71141

--- Comment #1 from Tom Honermann  ---
If it is decided that this code is well-formed, then I think the declaration of
f7() in t3.cpp should be added to the example in the Concepts TS.

[Bug c++/71141] New: [concepts] Example variadic concept code in the Concepts TS 14.1p9.4 rejected

2016-05-15 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71141

Bug ID: 71141
   Summary: [concepts] Example variadic concept code in the
Concepts TS 14.1p9.4 rejected
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tom at honermann dot net
CC: andrew.n.sutton at gmail dot com, asutton at gcc dot gnu.org
  Target Milestone: ---

The following test case is taken from example code in the Concepts TS § 14.1
p9.4.  gcc r236238 rejects this code.  I presume the code is intended to be
well-formed; if not, then the Concepts TS should be updated.

$ cat t1.cpp
template concept bool C4 = true;
template void f5(); 

$ g++ -c -std=c++1z -fconcepts t1.cpp
t1.cpp:2:14: error: variadic constraint introduced without ‘...’ before ‘>’
token
 template void f5();
  ^

The example is accepted if the constrained function is re-written with a
requires clause:

$ cat t2.cpp
template concept bool C4 = true;
template requires C4 void f5(); 

$ g++ -c -std=c++1z -fconcepts t2.cpp; echo $?
0

An error is similarly produced when using a variadic non-type concept:

$ cat t3.cpp
template concept bool C5 = true;
template void f7();

$ g++ -c -std=c++1z -fconcepts t3.cpp
t3.cpp:2:14: error: variadic constraint introduced without ‘...’ before ‘>’
token
 template void f7();
  ^

[Bug c++/71140] New: [concepts] ill-formed nested-requirement lacking a semicolon not rejected

2016-05-15 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71140

Bug ID: 71140
   Summary: [concepts] ill-formed nested-requirement lacking a
semicolon not rejected
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tom at honermann dot net
CC: andrew.n.sutton at gmail dot com, asutton at gcc dot gnu.org
  Target Milestone: ---

The following ill-formed code is not rejected by gcc r236238.  According to the
Concepts TS § 5.1.4.4, the nested-requirement must include a terminating
semicolon.

$ cat a.cpp
template
concept bool C = requires(T t) {
requires true
};  // expected error: expected ‘;’ before ‘}’ token
static_assert(C);

$ svn info
Path: .
Working Copy Root Path: /home/tom/src/gcc-trunk
URL: svn://gcc.gnu.org/svn/gcc/trunk
Relative URL: ^/trunk
Repository Root: svn://gcc.gnu.org/svn/gcc
Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
Revision: 236239
Node Kind: directory
Schedule: normal
Last Changed Author: uros
Last Changed Rev: 236238
Last Changed Date: 2016-05-14 05:07:13 -0400 (Sat, 14 May 2016)

$ g++ --version
g++ (GCC) 7.0.0 20160514 (experimental)
...

$ g++ -c -std=c++1z -fconcepts a.cpp; echo $?
0

[Bug c++/71139] New: [concepts] ill-formed compound-requirement lacking a semicolon not rejected

2016-05-15 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71139

Bug ID: 71139
   Summary: [concepts] ill-formed compound-requirement lacking a
semicolon not rejected
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tom at honermann dot net
CC: andrew.n.sutton at gmail dot com, asutton at gcc dot gnu.org
  Target Milestone: ---

The following ill-formed code is not rejected by gcc r236238.  According to the
Concepts TS § 5.1.4.3, the compound-requirement must include a terminating
semicolon.

$ cat a.cpp 
template
concept bool C = requires(T t) {
{ +t }
};  // expected error: expected ‘;’ before ‘}’ token
static_assert(C);

$ svn info
Path: .
Working Copy Root Path: /home/tom/src/gcc-trunk
URL: svn://gcc.gnu.org/svn/gcc/trunk
Relative URL: ^/trunk
Repository Root: svn://gcc.gnu.org/svn/gcc
Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
Revision: 236239
Node Kind: directory
Schedule: normal
Last Changed Author: uros
Last Changed Rev: 236238
Last Changed Date: 2016-05-14 05:07:13 -0400 (Sat, 14 May 2016)

$ g++ --version
g++ (GCC) 7.0.0 20160514 (experimental)
...

$ g++ -c -std=c++1z -fconcepts a.cpp; echo $?
0

[Bug c++/71138] New: [concepts] ill-formed non-constant expression use in nested requirement produces duplicated diagnostics with poor source locations

2016-05-15 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71138

Bug ID: 71138
   Summary: [concepts] ill-formed non-constant expression use in
nested requirement produces duplicated diagnostics
with poor source locations
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tom at honermann dot net
CC: andrew.n.sutton at gmail dot com, asutton at gcc dot gnu.org
  Target Milestone: ---

The following test case is ill-formed and gcc r236238 correctly rejects it. 
However, duplicate diagnostic are issued and the diagnostics fail to identify
the problematic source code.

The test case contains two instances of constraint satisfaction failures
labeled #1 and #2.  The first occurs in a static_assert and produces a single
error message.  The second occurs in overload resolution and produces three
duplicate error messages.

None of the diagnostics produce identify the problematic source code annotated
in the test case.

$ cat t.cpp
template
constexpr bool p(T) { return true; }
template
concept bool C = requires(T t) {
requires p(t); // An error should be reported here.
};

static_assert(C); // #1: error: ‘t’ is not a constant expression

template
int f(T) { return 1; }
auto x = f(1); // #2: (3x) error: ‘t’ is not a constant expression


$ svn info
Path: .
Working Copy Root Path: /home/tom/src/gcc-trunk
URL: svn://gcc.gnu.org/svn/gcc/trunk
Relative URL: ^/trunk
Repository Root: svn://gcc.gnu.org/svn/gcc
Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
Revision: 236239
Node Kind: directory
Schedule: normal
Last Changed Author: uros
Last Changed Rev: 236238
Last Changed Date: 2016-05-14 05:07:13 -0400 (Sat, 14 May 2016)

$ g++ --version
g++ (GCC) 7.0.0 20160514 (experimental)
...

$ g++ -c -std=c++1z -fconcepts t.cpp
t.cpp:8:15: error: ‘t’ is not a constant expression
 static_assert(C); // #1: error: ‘t’ is not a constant expression
   ^~
t.cpp:12:13: error: ‘t’ is not a constant expression
 auto x = f(1); // #2: (3x) error: ‘t’ is not a constant expression
 ^
t.cpp:12:13: error: ‘t’ is not a constant expression
t.cpp:12:13: error: cannot call function ‘int f(T) [with T = int]’
t.cpp:11:5: note:   constraints not satisfied
 int f(T) { return 1; }
 ^
t.cpp:12:13: error: ‘t’ is not a constant expression
 auto x = f(1); // #2: (3x) error: ‘t’ is not a constant expression
 ^
t.cpp:11:5: note:   concept ‘C’ was not satisfied
 int f(T) { return 1; }
 ^

[Bug c++/71137] New: [concepts] Spurious 'symbol is already defined' error issued when declaring a constrained non-template function overload.

2016-05-15 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71137

Bug ID: 71137
   Summary: [concepts] Spurious 'symbol is already defined' error
issued when declaring a constrained non-template
function overload.
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tom at honermann dot net
CC: andrew.n.sutton at gmail dot com, asutton at gcc dot gnu.org
  Target Milestone: ---

I believe the following test case is well-formed; the Concepts TS has similar
examples (§ 13.4p4).  However, compiling this code results in a duplicate
definition error in gcc r236238.

$ cat t.cpp
void f() {}
void f() requires true {}

$ svn info
Path: .
Working Copy Root Path: /home/tom/src/gcc-trunk
URL: svn://gcc.gnu.org/svn/gcc/trunk
Relative URL: ^/trunk
Repository Root: svn://gcc.gnu.org/svn/gcc
Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
Revision: 236239
Node Kind: directory
Schedule: normal
Last Changed Author: uros
Last Changed Rev: 236238
Last Changed Date: 2016-05-14 05:07:13 -0400 (Sat, 14 May 2016)

$ g++ --version
g++ (GCC) 7.0.0 20160514 (experimental)
...

$ g++ -c -std=c++1z -fconcepts t.cpp 
/tmp/ccONCRCJ.s: Assembler messages:
/tmp/ccONCRCJ.s:22: Error: symbol `_Z1fv' is already defined

[Bug c++/71136] New: [concepts] Spurious 'converting overloaded function is ambiguous' error.

2016-05-15 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71136

Bug ID: 71136
   Summary: [concepts] Spurious 'converting overloaded function is
ambiguous' error.
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tom at honermann dot net
CC: andrew.n.sutton at gmail dot com, asutton at gcc dot gnu.org
  Target Milestone: ---

I believe the following test case is well-formed, but it is rejected by gcc
r236238.

$ cat t.cpp
template
struct is_same {};
template
struct is_same { using type = T; };

// Concept imposes a same-type-as-int constraint.
template
concept bool C = requires { typename is_same::type; };

template
constexpr int f() { return 0; } // #1, unconstrained overload.
template
constexpr int f() { return 1; } // #2, constrained overload.

// Obtaining a function pointer to #1 is ok:
constexpr auto x0 = f;// Ok, overload selects #1
static_assert(x0() == 0);   // Ok.

// Invoking #2 is ok:
constexpr auto x1 = f();   // Ok, overload selects #2
static_assert(x1 == 1); // Ok.

// Obtaining a function pointer to #2 fails:
constexpr auto x2 = f; // spurious error: 'converting overloaded
// function is ambiguous'; should select #2.
static_assert(x2() == 1);

$ svn info
Path: .
Working Copy Root Path: /home/tom/src/gcc-trunk
URL: svn://gcc.gnu.org/svn/gcc/trunk
Relative URL: ^/trunk
Repository Root: svn://gcc.gnu.org/svn/gcc
Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
Revision: 236239
Node Kind: directory
Schedule: normal
Last Changed Author: uros
Last Changed Rev: 236238
Last Changed Date: 2016-05-14 05:07:13 -0400 (Sat, 14 May 2016)

$ g++ --version
g++ (GCC) 7.0.0 20160514 (experimental)
...

$ g++ -c -std=c++1z -fconcepts t.cpp
t.cpp:24:21: error: converting overloaded function ‘f’ to type ‘int (*
const)()’ is ambiguous
 constexpr auto x2 = f; // spurious error: 'converting overloaded
 ^~
t.cpp:11:15: note: candidates are: constexpr int f() [with U = int]
 constexpr int f() { return 0; } // #1, unconstrained overload.
   ^
t.cpp:13:15: note: constexpr int f() [with U = int]
 constexpr int f() { return 1; } // #2, constrained overload.
   ^
t.cpp:26:1: error: non-constant condition for static assertion
 static_assert(x2() == 1);
 ^

[Bug libstdc++/71135] New: rl78-elf libstdc++ FTBFS with some multilibs

2016-05-15 Thread yselkowi at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71135

Bug ID: 71135
   Summary: rl78-elf libstdc++ FTBFS with some multilibs
   Product: gcc
   Version: 6.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: yselkowi at redhat dot com
  Target Milestone: ---
  Host: x86_64-cygwin
Target: rl78-elf
 Build: x86_64-cygwin

rl78-elf FTBFS in GCC 6.1 libstdc++-v3 (but not in recent 4.x or 5) due to
r232454:

src/c++11/cow-stdexcept.cc: In function ‘void* txnal_read_ptr(void* const*)’:
src/c++11/cow-stdexcept.cc:274:3: error: static assertion failed: Pointers must
be 32 bits or 64 bits wide
   static_assert(sizeof(uint64_t) == sizeof(void*)
   ^

rl78 has 16-bit pointers.

[Bug bootstrap/71134] New: GCC fails to build with in-tree dependencies:

2016-05-15 Thread dcollinsn at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71134

Bug ID: 71134
   Summary: GCC fails to build with in-tree dependencies:
   Product: gcc
   Version: 6.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dcollinsn at gmail dot com
  Target Milestone: ---

The folder ~/toolchain/gcc-6.1.0 is the unzipped GCC source distribution. I
have extracted into that folder the contents of binutils-2.26.tar.gz,
gmp-6.1.0.tar.xz, mpc-1.0.3.tar.gz, mpfr-3.1.4.tar.gz, and isl-0.16.1.tar.bz2.
All were extracted to their own folders (gcc-6.1.0/gmp/, etc) with the
exception of binutils, which was extracted directly into the source directory.
The folder ~/toolchain/gcc-build is a separate, empty build directory. 

The platform is Debian Stretch, otherwise up to date, running inside VMware.

I have configured using the following instructions. --enable-shared and
--enable-host-shared are to attempt to fix a separate bug. I accept the default
languages. I have also deleted all instances of --disable-shared in Makefile.in
because I was getting similar issues as in Bug 67137, despite the "jit"
language not being selected.

dcollins@nightshade64:~/toolchain/gcc-build$ ../gcc-6.1.0/configure
--program-suffix=-6.1 --enable-shared --enable-host-shared

dcollins@nightshade64:~/toolchain/gcc-build$ make 

Configuring stage 2 in ./libiberty
configure: loading cache ./config.cache
checking whether to enable maintainer-specific portions of Makefiles... no
checking for makeinfo... makeinfo --split-size=500 --split-size=500
checking for perl... perl
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for x86_64-pc-linux-gnu-ar... ar
checking for x86_64-pc-linux-gnu-ranlib... ranlib
checking whether to install libiberty headers and static library... no
configure: target_header_dir =
checking for x86_64-pc-linux-gnu-gcc... 
/home/dcollins/toolchain/gcc-build/./prev-gcc/xgcc
-B/home/dcollins/toolchain/gcc-build/./prev-gcc/
-B/usr/local/x86_64-pc-linux-gnu/bin/ -B/usr/local/x86_64-pc-linux-gnu/bin/
-B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem
/usr/local/x86_64-pc-linux-gnu/include -isystem
/usr/local/x86_64-pc-linux-gnu/sys-include
-L/home/dcollins/toolchain/gcc-build/./ld
checking for suffix of object files... configure: error: in
`/home/dcollins/toolchain/gcc-build/libiberty':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
Makefile:16209: recipe for target 'configure-stage2-libiberty' failed
make[2]: *** [configure-stage2-libiberty] Error 1
make[2]: Leaving directory '/home/dcollins/toolchain/gcc-build'
Makefile:29946: recipe for target 'stage2-bubble' failed
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory '/home/dcollins/toolchain/gcc-build'
Makefile:916: recipe for target 'all' failed
make: *** [all] Error 2


dcollins@nightshade64:~/toolchain/gcc-build$ cat libiberty/config.log

## --- ##
## Core tests. ##
## --- ##

configure:2334: loading cache ./config.cache
configure:2493: checking whether to enable maintainer-specific portions of
Makefiles
configure:2503: result: no
configure:2518: checking for makeinfo
configure:2545: result: makeinfo --split-size=500 --split-size=500
configure:2585: checking for perl
configure:2601: found /usr/bin/perl
configure:2612: result: perl
configure:2631: checking build system type
configure:2645: result: x86_64-pc-linux-gnu
configure:2665: checking host system type
configure:2678: result: x86_64-pc-linux-gnu
configure:2703: checking for x86_64-pc-linux-gnu-ar
configure:2730: result: ar
configure:2795: checking for x86_64-pc-linux-gnu-ranlib
configure:2822: result: ranlib
configure:2907: checking whether to install libiberty headers and static
library
configure:2930: result: no
configure:2932: target_header_dir =
configure:2944: checking for x86_64-pc-linux-gnu-gcc
configure:2971: result:  /home/dcollins/toolchain/gcc-build/./prev-gcc/xgcc
-B/home/dcollins/toolchain/gcc-build/./prev-gcc/
-B/usr/local/x86_64-pc-linux-gnu/bin/ -B/usr/local/x86_64-pc-linux-gnu/b
in/ -B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem
/usr/local/x86_64-pc-linux-gnu/include -isystem
/usr/local/x86_64-pc-linux-gnu/sys-include
-L/home/dcollins/toolchain/gcc-build/./ld
configure:3240: checking for C compiler version
configure:3249:  /home/dcollins/toolchain/gcc-build/./prev-gcc/xgcc
-B/home/dcollins/toolchain/gcc-build/./prev-gcc/
-B/usr/local/x86_64-pc-linux-gnu/bin/ -B/usr/local/x86_64-pc-linux-gnu/bin/
-B/u
sr/local/x86_64-pc-linux-gnu/lib/ -isystem
/usr/local/x86_64-pc-linux-gnu/include -isystem
/usr/local/x86_64-pc-linux-gnu/sys-include
-L/home/dcollins/toolchain/gcc-build/./ld--version >&5
xgcc (GCC) 6.1.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for 

[Bug c++/71092] [6/7 Regression] ICE: in cxx_eval_call_expression, at cp/constexpr.c:1449; only with -Os

2016-05-15 Thread schoko.teddy at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71092

--- Comment #4 from schoko.teddy at web dot de ---
(In reply to schoko.teddy from comment #3)
> Created attachment 38494 [details]
> Preprocessed source
> 
> This Error occurs while compiling this motioncontrollayer.cpp file from a Qt
> project. Gzipped because of largeness.

Oh, and the console output (I tried different -O values, all crashing):

g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe
-fstack-protector-strong -flto -std=gnu++0x -Wall -W -D_REENTRANT -fPIC
-DQT_USE_QSTRINGBUILDER -DQT_STRICT_ITERATORS -DPACKAGE_VERSION=3.1.0
-DPACKAGE_NAME=turag-console -DSIM -DSIMULATION -DTURAG_DEBUG_ENABLE_BINARY
-DQWT_DLL -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_MULTIMEDIAWIDGETS_LIB
-DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB
-DQT_SERIALPORT_LIB -DQT_XML_LIB -DQT_CORE_LIB -I../Console -I.
-Itina-platform/public -I../Console -I../../../libs
-I../../../libs/libsimeurobot/plugin -I../../Debug-Server -I../../Debug-Server
-I../../../src/common -I../../../tina -I../../../tina/platform/desktop/public
-isystem /usr/include/qwt -isystem /usr/include/qt -isystem
/usr/include/qt/QtPrintSupport -isystem /usr/include/qt/QtMultimediaWidgets
-isystem /usr/include/qt/QtSvg -isystem /usr/include/qt/QtWidgets -isystem
/usr/include/qt/QtMultimedia -isystem /usr/include/qt/QtGui -isystem
/usr/include/qt/QtNetwork -isystem /usr/include/qt/QtSerialPort -isystem
/usr/include/qt/QtXml -isystem /usr/include/qt/QtCore -I.
-I/usr/lib/qt/mkspecs/linux-g++ -o motioncontrollayer.o
../../../libs/libsimeurobot/vis/motioncontrollayer.cpp

In file included from ../../../libs/libsimeurobot/vis/motioncontrollayer.h:7:0,
 from ../../../libs/libsimeurobot/vis/motioncontrollayer.cpp:1:
../../../libs/libsimeurobot/vis/debugobjects.h: In constructor
'TURAG::SimEurobot::Debug::DriveSplineV1::DriveSplineV1()':
../../../libs/libsimeurobot/vis/debugobjects.h:108:8:   in constexpr expansion
of 'TURAG::Pose()'
../../../tina/tina++/geometry/geometry.h:167:20:   in constexpr expansion of
'((TURAG::Pose*)this)->TURAG::Pose::x.TURAG::Units::Quantity::Quantity(0)'
../../../tina/tina++/geometry/units/unit.h:185:42:   in constexpr expansion of
'TURAG::Units::detail::toValue(val)'
../../../libs/libsimeurobot/vis/debugobjects.h:108:8: internal compiler error:
in cxx_eval_call_expression, at cp/constexpr.c:1449
 struct DriveSplineV1 {
^
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
Makefile:3342: recipe for target 'motioncontrollayer.o' failed
make: *** [motioncontrollayer.o] Error 1


So here we have our ICE in cxx_eval_call_expression etc.

[Bug c++/71092] [6/7 Regression] ICE: in cxx_eval_call_expression, at cp/constexpr.c:1449; only with -Os

2016-05-15 Thread schoko.teddy at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71092

schoko.teddy at web dot de changed:

   What|Removed |Added

 CC||schoko.teddy at web dot de

--- Comment #3 from schoko.teddy at web dot de ---
Created attachment 38494
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38494=edit
Preprocessed source

This Error occurs while compiling this motioncontrollayer.cpp file from a Qt
project. Gzipped because of largeness.

[Bug c++/68807] operator->* returning a temporary T will in some cases be treated as returning an lvalue

2016-05-15 Thread adrianbibbywalther at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68807

Adrian Bibby Walther  changed:

   What|Removed |Added

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

--- Comment #1 from Adrian Bibby Walther  
---
The attached code case seems to compile successfully in 6.1.0

[Bug rtl-optimization/71118] [5,6,7 Regression] ftois instruction not emitted for float -> int bitcast

2016-05-15 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71118

--- Comment #4 from Segher Boessenkool  ---
This is caused by https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01445.html .

After the change, the hard (argument) register is no longer propagated
into the (set (int reg) (subreg of fp reg)), and then IRA puts the fp
reg in memory.

We should find a way to express the conversion in a way that we can
match it to its own instruction (it matches the generic integer pattern
now, nothing looks inside the subreg), or if it has to go through memory,
do that at expand time already.

[Bug libstdc++/71133] New: msp430-elf -mlarge FTBFS in libstdc++-v3

2016-05-15 Thread yselkowi at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71133

Bug ID: 71133
   Summary: msp430-elf -mlarge FTBFS in libstdc++-v3
   Product: gcc
   Version: 6.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: yselkowi at redhat dot com
  Target Milestone: ---

Building gcc 6.1.0 with newlib 2.4.0 for target msp430-elf fails during
configure-target-libstdc++-v3 in the 'large' multilib:

checking how size_t is mangled... x
configure: error: Unknown underlying type for size_t

Where the relevant information that GLIBCXX_CHECK_SIZE_T_MANGLING doesn't know
how to handle appears to be:

#define __SIZE_TYPE__ __int20 unsigned

[Bug tree-optimization/71132] New: gcc ICE at -O3 on valid code on x86_64-linux-gnu with “seg fault”

2016-05-15 Thread helloqirun at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71132

Bug ID: 71132
   Summary: gcc ICE at -O3 on valid code on x86_64-linux-gnu with
“seg fault”
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: helloqirun at gmail dot com
  Target Milestone: ---

The following valid code causes an ICE when compiled with the current gcc trunk
at only -O3 on x86_64-linux-gnu in both 32-bit and 64-bit modes.

It appears to be a 7 regression.

$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/home/absozero/trunk/root-gcc/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure --prefix=/home/absozero/trunk/root-gcc
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 7.0.0 20160515 (experimental) [trunk revision 236250] (GCC) 



$ gcc-trunk -O3 abc.c
abc.c: In function ‘main’:
abc.c:6:5: internal compiler error: Segmentation fault
 int main() {
 ^~~~
0xbaa52f crash_signal
../../gcc/gcc/toplev.c:333
0xbe18e0 bb_seq_addr
../../gcc/gcc/gimple.h:1654
0xbe18e0 gsi_last_bb
../../gcc/gcc/gimple-iterator.h:163
0xbe18e0 last_stmt(basic_block_def*)
../../gcc/gcc/tree-cfg.c:2640
0xc38900 create_edge_for_control_dependence
../../gcc/gcc/tree-loop-distribution.c:282
0xc39bb6 create_rdg_cd_edges
../../gcc/gcc/tree-loop-distribution.c:327
0xc39bb6 build_rdg
../../gcc/gcc/tree-loop-distribution.c:458
0xc39f0b distribute_loop
../../gcc/gcc/tree-loop-distribution.c:1418
0xc3cdc7 execute
../../gcc/gcc/tree-loop-distribution.c:1791
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.

$ cat abc.c
typedef unsigned size_t;
struct {
  unsigned char buf[sizeof(long)];
} a;
size_t b;
int main() {
  size_t c, i;
  unsigned char *d;
  for (; c < sizeof(long);) {
d = a.buf;
b = 0;
for (; b < i; b++)
  *d++ = '\0';
for (; c < b; c++)
  *d++ = 'a';
c = 0;
for (; i < sizeof(long); i++)
  ;
  }
}

[Bug target/64375] m32c ICE building newlib in calls.cL3638

2016-05-15 Thread yselkowi at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64375

--- Comment #2 from Yaakov Selkowitz  ---
Still not working with 6.1.0 m32c-elf at calls.c:3679.

[Bug c++/71131] New: [concepts] Ill-formed code declaring a variable with a template concept not rejected

2016-05-15 Thread tom at honermann dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71131

Bug ID: 71131
   Summary: [concepts] Ill-formed code declaring a variable with a
template concept not rejected
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: tom at honermann dot net
CC: andrew.n.sutton at gmail dot com, asutton at gcc dot gnu.org
  Target Milestone: ---

The following ill-formed code is not rejected as it should be in gcc r236239.

This test case is similar to the one that triggers an ICE in bug 71127.

$ cat t.cpp
template