Summary: | g++ fails to allow a redundant typedef if the redundant typedef depends on a template parameter | ||
---|---|---|---|
Product: | gcc | Reporter: | Jeff Walden (remove +ggo to email) <jwalden+ggo> |
Component: | c++ | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | NEW --- | ||
Severity: | normal | CC: | webrown.cpp |
Priority: | P3 | Keywords: | rejects-valid |
Version: | unknown | ||
Target Milestone: | --- | ||
See Also: |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78217 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70943 |
||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2011-12-24 00:00:00 |
Description
Jeff Walden (remove +ggo to email)
2011-12-24 09:10:23 UTC
For what it's worth, clang also has this bug. See <http://llvm.org/bugs/show_bug.cgi?id=11630>, which is this bug plus an extra testcase that GCC handles correctly. ICC is fine instead, indeed in my experience in quite a few cases tries to do less at definition time. Delaying the check shouldn't be too hard. I suppose tweaking comp_array_types should do it... Another testcase: template <typename T, typename U> struct S { static void f() { typedef T q; typedef U q; } }; |