https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80150
Bug ID: 80150 Summary: Internal compiler error when in in try_one_overload, at cp/pt.c:18903 Product: gcc Version: 6.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gordon at codeplay dot com Target Milestone: --- Created attachment 41018 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41018&action=edit Pre-process We encountered the following error message: function_ptr_argument_substitution.cpp: In substitution of ‘template<class R, class ... Args> bool compare_functions(R (*)(Args ...), R (*)(Args ...), Args ...) [with R = int; Args = {int}]’: function_ptr_argument_substitution.cpp:16:37: required from here function_ptr_argument_substitution.cpp:16:37: internal compiler error: in try_one_overload, at cp/pt.c:18903 compare_functions<int>(foo, foo, a); ^ When comping the attached source file with the following command line options: gcc -std=c++11 function_ptr_argument_substitution.cpp With gcc version / os version: gcc (Ubuntu 6.2.0-3ubuntu11~14.04) 6.2.0 20160901 I am not sure of the options that were specified when gcc was built as the version I have was installed via apt-get. The pre-process file is attached. In summary the problem seems to arise when substituting the kernel arguments for the function pointer, when there is more than one overload with that name. If you require any additional information for this bug please let me know.