[Bug c++/72764] [5/6/7 Regression] ICE on invalid C++11 code instantiating an alias template: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in typedef_variant_p, at tree.c:12660
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Dec 20 15:27:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72764
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org,
| |jason at gcc dot gnu.org
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Seems both make_typename_type and finish_decltype_type can return
error_mark_node even if the arguments passed to those aren't error_mark_node
(as they are called tf_none, no diagnostics is emitted).
The question is what strip_typedefs should do if that happens? Shall it return
error_mark_node, or the original type, something different? The end of the
function assumes that result is a valid type.
More information about the Gcc-bugs
mailing list