[Bug c++/60267] New: ICE in c_pp_lookup_pragma, at c-family/c-pragma.c:1232; ICE in tsubst_copy, at cp/pt.c:12887
slayoo at staszic dot waw.pl
gcc-bugzilla@gcc.gnu.org
Tue Feb 18 22:59:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60267
Bug ID: 60267
Summary: ICE in c_pp_lookup_pragma, at
c-family/c-pragma.c:1232; ICE in tsubst_copy, at
cp/pt.c:12887
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: slayoo at staszic dot waw.pl
Hi All,
The Blitz++ library (http://sf.net/projects/blitz) contains some "#pragma
ivdep" macros intended for the Intel C++ compiler. Having learnt that GCC now
supports a corresponding "GCC ivdep" pragma, I've tried changing all occurances
of pragma ivdep in Blitz++ with the GCC ones (encapsulating them in some
define-checks to detect the compiler).
Trying then just to parse the include files with:
#define BZ_USE_ALIGNMENT_PRAGMAS
#include <blitz/array-impl.h>
int main() {}
using the Debian's gcc-snapshot (20140212) I've got an ICE:
**************************************************************************************
In file included from /usr/include/blitz/globeval.cc:34:0,
from /usr/include/blitz/array/ops.cc:38,
from /usr/include/blitz/array.cc:13,
from /usr/include/blitz/array-impl.h:2559,
from bug.cpp:2:
/usr/include/blitz/tvevaluate.h: In instantiation of 'static void
blitz::_tv_evaluator<unroll, N_length>::evaluate_aligned(T_numtype*, const
T_expr&, T_update) [with T_numtype = bool; T_expr =
blitz::_bz_ArrayExpr<blitz::_bz_ArrayExprConstant<bool> >; T_update =
blitz::_bz_update<bool, bool>; bool unroll = false; int N_length = 1]':
/usr/include/blitz/tvevaluate.h:88:85: required from 'static void
blitz::_tv_evaluator<unroll,
N_length>::select_evaluation(blitz::TinyVector<T_numtype2, N_length>&, const
T_expr&, T_update) [with T = bool; T_expr =
blitz::_bz_ArrayExpr<blitz::_bz_ArrayExprConstant<bool> >; T_update =
blitz::_bz_update<bool, bool>; bool unroll = false; int N_length = 1]'
/usr/include/blitz/tvevaluate.h:195:81: required from 'void
blitz::TinyVector<T, N>::_tv_evaluate(const T_expr&, T_update) [with T_expr =
blitz::_bz_ArrayExpr<blitz::_bz_ArrayExprConstant<bool> >; T_update =
blitz::_bz_update<bool, bool>; P_numtype = bool; int N_length = 1]'
/usr/include/blitz/tinyvec2.cc:89:57: required from 'blitz::TinyVector<T, N>&
blitz::TinyVector<T, N>::operator=(const blitz::ETBase<T_expr>&) [with T_expr =
blitz::_bz_ArrayExpr<blitz::_bz_ArrayExprConstant<bool> >; P_numtype = bool;
int N_length = 1]'
/usr/include/blitz/tinyvec2.cc:77:13: required from 'blitz::TinyVector<T, N>&
blitz::TinyVector<T, N>::initialize(blitz::TinyVector<T, N>::T_numtype) [with
P_numtype = bool; int N_length = 1; blitz::TinyVector<T, N>::T_numtype = bool]'
/usr/include/blitz/listinit.h:90:13: required from
'blitz::ListInitializationSwitch<T_array,
T_iterator>::~ListInitializationSwitch() [with T_array =
blitz::TinyVector<bool, 1>; T_iterator = bool*]'
/usr/include/blitz/array/storage.h:93:24: required from
'blitz::GeneralArrayStorage<N_rank>::GeneralArrayStorage(blitz::paddingPolicy)
[with int N_rank = 1]'
/usr/include/blitz/array/storage.h:228:47: required from here
/usr/include/blitz/tvevaluate.h:108:17: internal compiler error: in
tsubst_copy, at cp/pt.c:12887
for (int i=0; i < N_length; ++i)
^
Please submit a full bug report,
**************************************************************************************
Trying to better prepare the bug report and executing gcc with "-save-temps"
results in another ICE:
**************************************************************************************
In file included from /usr/include/blitz/globeval.cc:34:0,
from /usr/include/blitz/array/ops.cc:38,
from /usr/include/blitz/array.cc:13,
from /usr/include/blitz/array-impl.h:2559,
from bug.cpp:2:
/usr/include/blitz/tvevaluate.h:38:0: internal compiler error: in
c_pp_lookup_pragma, at c-family/c-pragma.c:1232
^
Please submit a full bug report,
**************************************************************************************
How to best help in tracking those down?
Sylwester
More information about the Gcc-bugs
mailing list