[Bug c++/80150] [6 Regression] Internal compiler error when in in try_one_overload, at cp/pt.c:18903

2017-03-23 Thread gordon at codeplay dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80150

--- Comment #5 from Gordon Brown  ---
That's great, thanks Jason.

[Bug c++/80150] New: Internal compiler error when in in try_one_overload, at cp/pt.c:18903

2017-03-22 Thread gordon at codeplay dot com
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=edit
Pre-process

We encountered the following error message:

function_ptr_argument_substitution.cpp: In substitution of ‘template 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(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.