--- Comment #8 from jason at gcc dot gnu dot org 2010-04-18 15:04 ---
*** Bug 43775 has been marked as a duplicate of this bug. ***
--
jason at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #1 from redi at gcc dot gnu dot org 2010-04-01 10:49 ---
Created an attachment (id=20271)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20271action=view)
reduced testcase
reduced to just the instantiation that fails with 4.5
--
--- Comment #2 from redi at gcc dot gnu dot org 2010-04-01 10:53 ---
the subject line is misleading, I think the placeholders are still substituted
in exactly the same way, but as part of that an invalid instantiation is
generated while determining the template_arity of the
--- Comment #3 from redi at gcc dot gnu dot org 2010-04-01 11:10 ---
Created an attachment (id=20272)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20272action=view)
reduced testcase with fix added but commented out
Comeau's online compiler agrees with GCC 4.5
As the reporter
--- Comment #4 from rguenth at gcc dot gnu dot org 2010-04-01 13:56 ---
EDG accepts the reduced testcase in strict mode.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #5 from jason at gcc dot gnu dot org 2010-04-01 14:47 ---
My copy of EDG 4.1 does not accept the reduced testcase; it gives the same
error as GCC 4.5.
red.cc, line 111: error: class arg2 has no member inner_type
typedef typename Foo::inner_type type;
--- Comment #6 from jason at gcc dot gnu dot org 2010-04-01 14:59 ---
Another way to fix the testcase would be to give an explicit scope for
arity_helper, so argument-dependent lookup isn't needed.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43608
--- Comment #7 from sefi at s-e-f-i dot de 2010-04-01 15:21 ---
Thank you all very much. Explicitly scoping arity_helper indeed fixes the
issue.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43608