https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77427
Bug ID: 77427 Summary: ice when canonical types differ for identical types Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- Created attachment 39527 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39527&action=edit C++ source code The attached code, when compiled by g++ trunk dated 20160830, does this: src/messages.cpp: In function ‘std::__cxx11::string mysprintf(const char*, ...)’ : src/messages.cpp:64:26: internal compiler error: canonical types differ for iden tical types __va_list_tag [1] and __va_list_tag [1] 0x7c521c comptypes(tree_node*, tree_node*, int) ../../src/trunk/gcc/cp/typeck.c:1430 0x644c04 reference_related_p(tree_node*, tree_node*) ../../src/trunk/gcc/cp/call.c:1415 0x64c3a3 reference_binding ../../src/trunk/gcc/cp/call.c:1559 0x64b26c implicit_conversion ../../src/trunk/gcc/cp/call.c:1805