2 Jun 2012 05:59
C++ PATCH for c++/52973 (wrong visibility with template base)
Jason Merrill <jason <at> redhat.com>
2012-06-02 03:59:49 GMT
2012-06-02 03:59:49 GMT
The change in 4.7 to properly restrict visibility of a class based on its template arguments exposed this bug: we were waiting until after the base list is parsed to apply attributes, so if a class is used as a template argument in its own base list, it has the wrong visibility in that context. Fixed by applying infix attributes before parsing the base list. Happily, this also allows us to stop passing attributes around so much. Tested x86_64-pc-linux-gnu, applying to trunk and 4.7.
RSS Feed