On Fri, Dec 7, 2012 at 3:08 PM, Michael Han <[email protected]> wrote:
> Hi,
>
> There are a couple of places in parser where we parse attributes, then
> discard them immediately because these attributes are not allowed to appear
> on certain locations. This patch kills the unnecessary parsing by simply
> skipping these attributes.
>
> The existing attribute tests should cover all cases related to this change,
> with one tweaked test case to cover different combination of C++11 attribute
> syntax ([[ and alignas).

Please use BalancedDelimiterTracker instead of the manual
ConsumeBracket / ExpectAndConsume dance. Also, please add some test
cases for your error recovery (missing ')', missing ']', tokens
between ']' characters).

Since the presence of attributes in these cases is a hard error, we
could afford to pass Disambiguate = true to isCXX11AttributeSpecifier.
Are there any cases in which that would allow us to recover better?
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to