Matthew Fosdick
Matthew Fosdick
So I tested the regexp against several popular C++ library and projects (LibreOffice, gcc, llvm, chromium, firefox, boost) and found 2816 matches. The vast majority appear to be genuine attribute...
[[gram.cpp]](http://eel.is/c++draft/gram.cpp) specifies that `#define` shall be followed by an _identifier_ which is defined as combination of one or more of _digit_, _nondigit_ and _univeral-character-name_. None of those allow for `:`...
API and ABI are probably the riskiest as it is semi common in the example projects to have a enum member with API and pass to a function. Avoiding `,`...
Hopefully later today, I'll be able to rewrite the inline attribute pattern to support this issue and maybe use subexp to match perens.
There are effectively 4 types of attributes: - C++ style attributes (`[[noreturn]]`) - The parsing of these is basically correct - Contracts are wrong, but those have been pushed back...