[Bug c++/60228] New: ICE using lambda in #pragma omp declare reduction
reichelt at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Feb 16 18:47:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60228
Bug ID: 60228
Summary: ICE using lambda in #pragma omp declare reduction
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code, openmp
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 -fopenmp")
triggers an ICE on trunk:
=======================================================
template<typename T> struct A
{
#pragma omp declare reduction (x : T : omp_out += omp_in + [](){ return 0;
}()) initializer (omp_priv = 0)
};
=======================================================
bug.cc:3:108: internal compiler error: in cp_check_omp_declare_reduction, at
cp/semantics.c:4944
#pragma omp declare reduction (x : T : omp_out += omp_in + [](){ return 0;
}()) initializer (omp_priv = 0)
^
0x7328eb cp_check_omp_declare_reduction(tree_node*)
../../gcc/gcc/cp/semantics.c:4944
0x6cfd7c cp_parser_late_parsing_for_member
../../gcc/gcc/cp/parser.c:23459
0x6a9edc cp_parser_class_specifier_1
../../gcc/gcc/cp/parser.c:19406
0x6a9edc cp_parser_class_specifier
../../gcc/gcc/cp/parser.c:19437
0x6a9edc cp_parser_type_specifier
../../gcc/gcc/cp/parser.c:14302
0x6c2ba0 cp_parser_decl_specifier_seq
../../gcc/gcc/cp/parser.c:11547
0x6c8883 cp_parser_single_declaration
../../gcc/gcc/cp/parser.c:23039
0x6c8d64 cp_parser_template_declaration_after_export
../../gcc/gcc/cp/parser.c:22915
0x6d4119 cp_parser_declaration
../../gcc/gcc/cp/parser.c:10947
0x6d2c08 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:10869
0x6d44aa cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:4014
0x6d44aa c_parse_file()
../../gcc/gcc/cp/parser.c:31536
0x7f3813 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1060
Please submit a full bug report, [etc.]
More information about the Gcc-bugs
mailing list