This patch adds demangling support for __attribute__((abi_tag)). I.e, the following function: __attribute__((abi_tag("foo"))) void f() {} mangles to _Z1fB3foov, and now demangles to f[abi:foo]() (this syntax is the same as GCC's demangler). This patch parses the attribute everywhere in the grammer ItaniumMangle emits it.
While looking through ItaniumMangle, I noticed a couple of features that it supports that this file doesn't, so I added them to a list of them to the top. I'm going to submit some more patches for those as well.
https://bugs.llvm.org/show_bug.cgi?id=35310
Thanks for taking a look!