tool/parse_cxx: consider __attribute__((...))

This change is needed to parse the __attribute__((deprecated))
annotations present in 'util/xml_node.h'.
This commit is contained in:
Norman Feske
2020-05-22 15:37:03 +02:00
committed by Christian Helmuth
parent 78497c03ca
commit 7c20ba84e4

View File

@ -527,11 +527,11 @@ extract modifier {(
extract funcdecl {(<28>mlcomment\d+<2B> *\n[ \t]*)?(<28>(modifier|keyunsigned|keyconst)\d+<2B>\s*)*<2A>(identifier|keyunsigned|keyconst)\d+<2B>(\s|(<28>amper\d+<2B>)|(<28>star\d+<2B>))*<2A>(operator)?function\d+<2B>\s*(<28>(keyconst|keyoverride)\d+<2B>\s*)*(<28>assign\d+<2B>\s*<2A>identifier\d+<2B>)?\s*;} {content block classblock}
# extract function implementations
extract funcimpl {(<28>mlcomment\d+<2B> *\n[ \t]*)?(<28>(modifier|keyunsigned|keyconst)\d+<2B>\s*)*(<28>(identifier|keyunsigned|keyconst)\d+<2B>\s*)+(\s|(<28>amper\d+<2B>)|(<28>star\d+<2B>))*<2A>(operator)?function\d+<2B>\s*(<28>(keyconst|keyoverride)\d+<2B>\s*)*<2A>block\d+<2B>[;\t ]*} {content block classblock}
extract funcimpl {(<28>mlcomment\d+<2B> *\n[ \t]*)?(<28>(modifier|keyunsigned|keyconst)\d+<2B>\s*)*(<28>(identifier|keyunsigned|keyconst)\d+<2B>\s*)+(\s|(<28>amper\d+<2B>)|(<28>star\d+<2B>))*<2A>(operator)?function\d+<2B>\s*(<28>(keyconst|keyoverride)\d+<2B>\s*)*(<28>attribute\d+<2B>\s*)*<EFBFBD>block\d+<2B>[;\t ]*} {content block classblock}
extract funcimpl {(<28>mlcomment\d+<2B> *\n[ \t]*)?<3F>operatorfunction\d+<2B>\s*(<28>modifier\d+<2B>\s*)?<3F>block\d+<2B>[;\t ]*} {content block classblock}
# extract template functions
extract tplfunc {(<28>mlcomment\d+<2B> *\n[ \t]*)?<3F>keytemplate\d+<2B>\s*<2A>tplargs\d+<2B>\s*<2A>funcimpl\d+<2B>} {content block classblock}
extract tplfunc {(<28>mlcomment\d+<2B> *\n[ \t]*)?<3F>keytemplate\d+<2B>\s*<2A>tplargs\d+<2B>\s*(<28>attribute\d+<2B>\s*)*<EFBFBD>funcimpl\d+<2B>} {content block classblock}
# extract template functions declarations
extract tplfuncdecl {(<28>mlcomment\d+<2B> *\n[ \t]*)?<3F>keytemplate\d+<2B>\s*<2A>tplargs\d+<2B>\s*<2A>funcdecl\d+<2B>} {content block classblock}