C++ PATCH for c++/56208 (wrong sfinae with private inheritance)
Wed Feb 6 03:28:00 GMT 2013
In this case, when we see the explicit template arguments for test and
go to substitute them into the type of sfinae_base::test, we were
recording that we wanted to check access to sfinae_base::make in the
context of is_printable, but then by the time we got around to checking
it we had pushed into the context of sfinae_base which doesn't have the
right to see make by way of is_printable. Fixed by discarding any
deferred access checks from explicit template argument substitution,
because we'll get the same access checks when we substitute in all the
template arguments in instantiate_template, and those will have the
right access path.
Tested x86_64-pc-linux-gnu, applying to trunk.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1708 bytes
Desc: not available
More information about the Gcc-patches