This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/50019] New: internal compiler error when compiling template function (should print error instead)
- From: "joca.bt at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 7 Aug 2011 21:02:43 +0000
- Subject: [Bug c++/50019] New: internal compiler error when compiling template function (should print error instead)
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50019
Summary: internal compiler error when compiling template
function (should print error instead)
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: joca.bt@gmail.com
compiler version:
$ gcc -v
Using built-in specs.
COLLECT_GCC=C:\work\mingw\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/work/mingw/bin/../libexec/gcc/i686-pc-mingw32/4.6.0/lto-wrapper.exe
Target: i686-pc-mingw32
Configured with: ../src/configure --prefix=/c/temp/gcc/dest
--enable-languages=c,c++ --with-arch=i686 --with-tune=generic
--disable-libstdcxx-pch --disable-nls --disable-shared
--disable-sjlj-exceptions --disable-win32-registry --enable-checking=release
--disable-lto
Thread model: win32
gcc version 4.6.0 (GCC)
compiler output:
$ make all
evaluation_function.cpp: In function 'int evaluate(Position*)':
evaluation_function.cpp:58:72: warning: conversion to 'unsigned int' from 'int'
may change the sign of the result [-Wsign-conversion]
evaluation_function.cpp: In function 'int mobility(uint32, uint32, uint32,
uint32, uint32, unsigned int) [with bool colour = true, uint32 (*
fw_left)(unsigned int, unsigned int) = shl, unsigned int fw_left_mask =
-2113795550u, uint32 (* bw_right)(unsigned int, unsigned int) = shr, unsigned
int bw_right_mask = 67376197u, unsigned int left_diagonal_shift = 1u, uint32 (*
fw_right)(unsigned int, unsigned int) = rol, unsigned int fw_right_mask =
-2046555100u, uint32 (* bw_left)(unsigned int, unsigned int) = ror, unsigned
int bw_left_mask = 33952323u, unsigned int right_diagonal_shift = 7u, uint32 =
unsigned int]':
evaluation_function.cpp:65:71: instantiated from here
evaluation_function.cpp:164:2: internal compiler error: in build_call_a, at
cp/call.c:342
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[1]: *** [all] Error 1
make: *** [knowledge] Error 2
compiler flags:
g++ -Wall -Wextra -pedantic -fno-default-inline -Winline -Wpacked -Wcast-align
-Wcast-qual -Wconversion -Wdouble-promotion -Wold-style-cast -Wsign-conversion
-Wsign-promo -Wredundant-decls -Wmissing-declarations
-Wmissing-format-attribute -Wmissing-include-dirs -Wunused -Wunused-macros
-Wfloat-equal -Wformat=2 -Winit-self -Wlogical-op -Wstrict-overflow=5 -Wundef
-std=c++0x -ggdb3 -DDEBUG
I'm sending all the .i* and not only the one were the crash occurs
(knowledge/evaluation_function.ii).
The crash happens in the lines that look like (which I guess are not standard):
template <x, y, ...>
int outer_func(...) {
...
var = (x == CONST ? func<a, b, c> : func<d, e, f>)(arg1, arg2, ...);
...
}