summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-05-12 13:21:41 (GMT)
committerBrad King <brad.king@kitware.com>2015-05-12 15:46:34 (GMT)
commit0a10370aedd3cc08ebe2a8c0909406859058e146 (patch)
treec72c61a0fd5092608a86039fd982943860b57269
parent9a56b84fc1f6def5b26860e4f18353bab6cc88ab (diff)
downloadCastXML-0a10370aedd3cc08ebe2a8c0909406859058e146.zip
CastXML-0a10370aedd3cc08ebe2a8c0909406859058e146.tar.gz
CastXML-0a10370aedd3cc08ebe2a8c0909406859058e146.tar.bz2
Output: Add mangled="" attributes to function and variable decls
The gccxml output format includes mangled="" attributes on almost all elements. Clang only defines mangling for function and variable declarations. Add mangled attributes to castxml output where possible.
-rw-r--r--src/Output.cxx33
-rw-r--r--test/expect/gccxml.any.Class-abstract.xml.txt6
-rw-r--r--test/expect/gccxml.any.Class-base-typedef.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-forward.xml.txt2
-rw-r--r--test/expect/gccxml.any.Class-friends.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-implicit-member-access-mutable.xml.txt2
-rw-r--r--test/expect/gccxml.any.Class-implicit-member-access.xml.txt2
-rw-r--r--test/expect/gccxml.any.Class-implicit-member-array.xml.txt2
-rw-r--r--test/expect/gccxml.any.Class-implicit-members.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-member-template.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-partial-template-member-Typedef.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-template-Method-Argument-const.xml.txt6
-rw-r--r--test/expect/gccxml.any.Class-template-Method-Argument-default.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-template-Method-return-const.xml.txt6
-rw-r--r--test/expect/gccxml.any.Class-template-constructor-template.xml.txt2
-rw-r--r--test/expect/gccxml.any.Class-template-friends.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-template-member-Typedef-const.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-template-member-Typedef.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-template-member-template.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-template.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class.xml.txt2
-rw-r--r--test/expect/gccxml.any.Field.xml.txt2
-rw-r--r--test/expect/gccxml.any.Function-Argument-decay.xml.txt2
-rw-r--r--test/expect/gccxml.any.Function-Argument-default.xml.txt2
-rw-r--r--test/expect/gccxml.any.Function-calling-convention-ms.xml.txt8
-rw-r--r--test/expect/gccxml.any.Function-rvalue-reference.xml.txt2
-rw-r--r--test/expect/gccxml.any.Function-template.xml.txt4
-rw-r--r--test/expect/gccxml.any.Function-throw.xml.txt2
-rw-r--r--test/expect/gccxml.any.Function-variadic.xml.txt2
-rw-r--r--test/expect/gccxml.any.Function.xml.txt2
-rw-r--r--test/expect/gccxml.any.GNU-float128.xml.txt4
-rw-r--r--test/expect/gccxml.any.Method-rvalue-reference.xml.txt4
-rw-r--r--test/expect/gccxml.any.Method.xml.txt4
-rw-r--r--test/expect/gccxml.any.Namespace-Class-members.xml.txt4
-rw-r--r--test/expect/gccxml.any.Namespace-extern-C-members.xml.txt2
-rw-r--r--test/expect/gccxml.any.Namespace-repeat-start.xml.txt4
-rw-r--r--test/expect/gccxml.any.Namespace-repeat.xml.txt4
-rw-r--r--test/expect/gccxml.any.OperatorFunction.xml.txt2
-rw-r--r--test/expect/gccxml.any.OperatorMethod.xml.txt4
-rw-r--r--test/expect/gccxml.any.Variable-in-Class.xml.txt4
-rw-r--r--test/expect/gccxml.any.Variable-init.xml.txt4
-rw-r--r--test/expect/gccxml.any.Variable.xml.txt2
-rw-r--r--test/expect/gccxml.any.implicit-decl-ms.xml.txt2
-rw-r--r--test/expect/gccxml.any.inline-asm-ms.xml.txt2
-rw-r--r--test/expect/gccxml.any.using-declaration-class.xml.txt8
-rw-r--r--test/expect/gccxml.broken.any.ReferenceType-to-Class-template.xml.txt6
-rw-r--r--test/expect/gccxml.c++11.Class-bases.xml.txt8
-rw-r--r--test/expect/gccxml.c++11.Class-template-bases.xml.txt6
-rw-r--r--test/expect/gccxml.c++98.Class-bases.xml.txt8
-rw-r--r--test/expect/gccxml.c++98.Class-template-bases.xml.txt6
-rw-r--r--test/expect/gccxml.c89.GNU-float128.xml.txt2
-rw-r--r--test/run.cmake1
52 files changed, 128 insertions, 96 deletions
diff --git a/src/Output.cxx b/src/Output.cxx
index e19c4a7..374f1c3 100644
--- a/src/Output.cxx
+++ b/src/Output.cxx
@@ -25,6 +25,7 @@
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclOpenMP.h"
#include "clang/AST/DeclTemplate.h"
+#include "clang/AST/Mangle.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Lex/Preprocessor.h"
@@ -300,6 +301,9 @@ class ASTVisitor: public ASTVisitorBase
/** Print a name="..." attribute. */
void PrintNameAttribute(std::string const& name);
+ /** Print a mangled="..." attribute. */
+ void PrintMangledAttribute(clang::NamedDecl const* d);
+
/** Print an offset="..." attribute. */
void PrintOffsetAttribute(unsigned int const& offset);
@@ -449,6 +453,9 @@ private:
// Whether we are in the complete or incomplete output step.
bool RequireComplete;
+ // Mangling context for target ABI.
+ std::unique_ptr<clang::MangleContext> MangleContext;
+
// Map from clang AST declaration node to our dump status node.
typedef std::map<clang::Decl const*, DumpNode> DeclNodesMap;
DeclNodesMap DeclNodes;
@@ -480,7 +487,8 @@ public:
Opts(opts),
NodeCount(0), FileCount(0),
FileBuiltin(false),
- RequireComplete(true) {}
+ RequireComplete(true),
+ MangleContext(ctx.createMangleContext()) {}
/** Visit declarations in the given translation unit.
This is the main entry point. */
@@ -988,6 +996,24 @@ void ASTVisitor::PrintNameAttribute(std::string const& name)
}
//----------------------------------------------------------------------------
+void ASTVisitor::PrintMangledAttribute(clang::NamedDecl const* d)
+{
+ // Compute the mangled name.
+ std::string s;
+ {
+ llvm::raw_string_ostream rso(s);
+ this->MangleContext->mangleName(d, rso);
+ }
+
+ // Strip a leading 1 byte in MS mangling.
+ if (!s.empty() && s[0] == '\1') {
+ s = s.substr(1);
+ }
+
+ this->OS << " mangled=\"" << encodeXML(s) << "\"";
+}
+
+//----------------------------------------------------------------------------
void ASTVisitor::PrintOffsetAttribute(unsigned int const& offset)
{
this->OS << " offset=\"" << offset << "\"";
@@ -1238,6 +1264,10 @@ void ASTVisitor::OutputFunctionHelper(clang::FunctionDecl const* d,
d->getType()->getAs<clang::FunctionProtoType>()) {
this->PrintFunctionTypeAttributes(fpt);
this->PrintThrowsAttribute(fpt, dn->Complete);
+ if (!clang::isa<clang::CXXConstructorDecl>(d) &&
+ !clang::isa<clang::CXXDestructorDecl>(d)) {
+ this->PrintMangledAttribute(d);
+ }
}
if(unsigned np = d->getNumParams()) {
@@ -1521,6 +1551,7 @@ void ASTVisitor::OutputVarDecl(clang::VarDecl const* d, DumpNode const* dn)
if(d->getStorageClass() == clang::SC_Extern) {
this->OS << " extern=\"1\"";
}
+ this->PrintMangledAttribute(d);
this->OS << "/>\n";
}
diff --git a/test/expect/gccxml.any.Class-abstract.xml.txt b/test/expect/gccxml.any.Class-abstract.xml.txt
index 336e014..b018e22 100644
--- a/test/expect/gccxml.any.Class-abstract.xml.txt
+++ b/test/expect/gccxml.any.Class-abstract.xml.txt
@@ -1,12 +1,12 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start" context="_2" location="f1:1" file="f1" line="1" abstract="1" members="_3 _4 _5 _6 _7 _8" size="[0-9]+" align="[0-9]+"/>
- <Method id="_3" name="method" returns="_9" context="_1" access="private" location="f1:2" file="f1" line="2" virtual="1" pure_virtual="1">
+ <Method id="_3" name="method" returns="_9" context="_1" access="private" location="f1:2" file="f1" line="2" virtual="1" pure_virtual="1" mangled="[^"]+">
<Argument type="_9" location="f1:2" file="f1" line="2"/>
</Method>
- <Converter id="_4" returns="_9" context="_1" access="private" location="f1:3" file="f1" line="3" virtual="1" pure_virtual="1"/>
+ <Converter id="_4" returns="_9" context="_1" access="private" location="f1:3" file="f1" line="3" virtual="1" pure_virtual="1" mangled="[^"]+"/>
<Destructor id="_5" name="start" context="_1" access="private" location="f1:4" file="f1" line="4" virtual="1" pure_virtual="1"/>
- <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_11" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Constructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-base-typedef.xml.txt b/test/expect/gccxml.any.Class-base-typedef.xml.txt
index 1c143ad..d0fd46f 100644
--- a/test/expect/gccxml.any.Class-base-typedef.xml.txt
+++ b/test/expect/gccxml.any.Class-base-typedef.xml.txt
@@ -7,7 +7,7 @@
<Constructor id="_4" name="start" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throws="")?>
<Argument type="_8" location="f1:3" file="f1" line="3"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_9" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_5" name="=" returns="_9" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_8" location="f1:3" file="f1" line="3"/>
</OperatorMethod>
<Destructor id="_6" name="start" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throws="")?/>
@@ -19,7 +19,7 @@
<Constructor id="_11" name="base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_14" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_12" name="=" returns="_15" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_12" name="=" returns="_15" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_14" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_13" name="base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-forward.xml.txt b/test/expect/gccxml.any.Class-forward.xml.txt
index 1b7be75..59c4902 100644
--- a/test/expect/gccxml.any.Class-forward.xml.txt
+++ b/test/expect/gccxml.any.Class-forward.xml.txt
@@ -5,7 +5,7 @@
<Constructor id="_4" name="start" context="_1" access="public" location="f1:5" file="f1" line="5">
<Argument type="_7" location="f1:5" file="f1" line="5"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_8" context="_1" access="public" location="f1:6" file="f1" line="6">
+ <OperatorMethod id="_5" name="=" returns="_8" context="_1" access="public" location="f1:6" file="f1" line="6" mangled="[^"]+">
<Argument type="_7" location="f1:6" file="f1" line="6"/>
</OperatorMethod>
<Destructor id="_6" name="start" context="_1" access="public" location="f1:7" file="f1" line="7"/>
diff --git a/test/expect/gccxml.any.Class-friends.xml.txt b/test/expect/gccxml.any.Class-friends.xml.txt
index ace95cd..e68a4fa 100644
--- a/test/expect/gccxml.any.Class-friends.xml.txt
+++ b/test/expect/gccxml.any.Class-friends.xml.txt
@@ -5,7 +5,7 @@
<Constructor id="_4" name="start" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throws="")?>
<Argument type="_9" location="f1:3" file="f1" line="3"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_9" location="f1:3" file="f1" line="3"/>
</OperatorMethod>
<Destructor id="_6" name="start" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throws="")?/>
@@ -13,7 +13,7 @@
<CvQualifiedType id="_1c" type="_1" const="1"/>
<ReferenceType id="_10" type="_1"/>
<Namespace id="_2" name="::"/>
- <Function id="_7" name="f" returns="_11" context="_2" location="f1:2" file="f1" line="2"/>
+ <Function id="_7" name="f" returns="_11" context="_2" location="f1:2" file="f1" line="2" mangled="[^"]+"/>
<Class id="_8" name="A" context="_2" location="f1:1" file="f1" line="1" size="[0-9]+" align="[0-9]+"/>
<FundamentalType id="_11" name="void" size="[0-9]+" align="[0-9]+"/>
<File id="f1" name=".*/test/input/Class-friends.cxx"/>
diff --git a/test/expect/gccxml.any.Class-implicit-member-access-mutable.xml.txt b/test/expect/gccxml.any.Class-implicit-member-access-mutable.xml.txt
index 9b98f75..d64e0ec 100644
--- a/test/expect/gccxml.any.Class-implicit-member-access-mutable.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-member-access-mutable.xml.txt
@@ -11,7 +11,7 @@
<Constructor id="_8" name="base" context="_5" access="private" location="f1:6" file="f1" line="6">
<Argument type="_11" location="f1:6" file="f1" line="6"/>
</Constructor>
- <OperatorMethod id="_9" name="=" returns="_12" context="_5" access="private" location="f1:7" file="f1" line="7">
+ <OperatorMethod id="_9" name="=" returns="_12" context="_5" access="private" location="f1:7" file="f1" line="7" mangled="[^"]+">
<Argument type="_11" location="f1:7" file="f1" line="7"/>
</OperatorMethod>
<Field id="_10" name="data" type="_13" context="_5" access="private" location="f1:8" file="f1" line="8" offset="0" mutable="1"/>
diff --git a/test/expect/gccxml.any.Class-implicit-member-access.xml.txt b/test/expect/gccxml.any.Class-implicit-member-access.xml.txt
index 6483804..7a842cd 100644
--- a/test/expect/gccxml.any.Class-implicit-member-access.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-member-access.xml.txt
@@ -11,7 +11,7 @@
<Constructor id="_8" name="base" context="_5" access="private" location="f1:6" file="f1" line="6">
<Argument type="_10" location="f1:6" file="f1" line="6"/>
</Constructor>
- <OperatorMethod id="_9" name="=" returns="_11" context="_5" access="private" location="f1:7" file="f1" line="7">
+ <OperatorMethod id="_9" name="=" returns="_11" context="_5" access="private" location="f1:7" file="f1" line="7" mangled="[^"]+">
<Argument type="_10" location="f1:7" file="f1" line="7"/>
</OperatorMethod>
<ReferenceType id="_10" type="_5c"/>
diff --git a/test/expect/gccxml.any.Class-implicit-member-array.xml.txt b/test/expect/gccxml.any.Class-implicit-member-array.xml.txt
index 1310ad6..e6ce58d 100644
--- a/test/expect/gccxml.any.Class-implicit-member-array.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-member-array.xml.txt
@@ -6,7 +6,7 @@
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_9" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_9" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-implicit-members.xml.txt b/test/expect/gccxml.any.Class-implicit-members.xml.txt
index 6a2115f..53da7d6 100644
--- a/test/expect/gccxml.any.Class-implicit-members.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-members.xml.txt
@@ -1,14 +1,14 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start" context="_2" location="f1:1" file="f1" line="1" members="_3 _4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
- <Method id="_3" name="method" returns="_1" context="_1" access="private" location="f1:2" file="f1" line="2" inline="1">
+ <Method id="_3" name="method" returns="_1" context="_1" access="private" location="f1:2" file="f1" line="2" inline="1" mangled="[^"]+">
<Argument name="x" type="_8" location="f1:2" file="f1" line="2"/>
</Method>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_8" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_9" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_9" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_8" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-member-template.xml.txt b/test/expect/gccxml.any.Class-member-template.xml.txt
index 01bf425..cff74d1 100644
--- a/test/expect/gccxml.any.Class-member-template.xml.txt
+++ b/test/expect/gccxml.any.Class-member-template.xml.txt
@@ -1,14 +1,14 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start" context="_2" location="f1:1" file="f1" line="1" members="_3 _4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
- <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2" inline="1">
+ <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2" inline="1" mangled="[^"]+">
<Argument name="v" type="_8" location="f1:2" file="f1" line="2"/>
</Method>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_9" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_9" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-partial-template-member-Typedef.xml.txt b/test/expect/gccxml.any.Class-partial-template-member-Typedef.xml.txt
index a3d8c18..8ff1557 100644
--- a/test/expect/gccxml.any.Class-partial-template-member-Typedef.xml.txt
+++ b/test/expect/gccxml.any.Class-partial-template-member-Typedef.xml.txt
@@ -2,14 +2,14 @@
<GCC_XML[^>]*>
<Class id="_1" name="start&lt;int &amp;&gt;" context="_2" location="f1:7" file="f1" line="7" members="_3 _4 _5 _6 _7 _8" size="[0-9]+" align="[0-9]+"/>
<Typedef id="_3" name="Int" type="_9" context="_1" access="private" location="f1:3" file="f1" line="3"/>
- <Method id="_4" name="method" returns="_9" context="_1" access="public" location="f1:5" file="f1" line="5">
+ <Method id="_4" name="method" returns="_9" context="_1" access="public" location="f1:5" file="f1" line="5" mangled="[^"]+">
<Argument type="_3" location="f1:5" file="f1" line="5"/>
</Method>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throws="")?/>
<Constructor id="_6" name="start" context="_1" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throws="")?>
<Argument type="_10" location="f1:7" file="f1" line="7"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_10" location="f1:7" file="f1" line="7"/>
</OperatorMethod>
<Destructor id="_8" name="start" context="_1" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-template-Method-Argument-const.xml.txt b/test/expect/gccxml.any.Class-template-Method-Argument-const.xml.txt
index c4e288c..d9bc600 100644
--- a/test/expect/gccxml.any.Class-template-Method-Argument-const.xml.txt
+++ b/test/expect/gccxml.any.Class-template-Method-Argument-const.xml.txt
@@ -1,14 +1,14 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start&lt;const int&gt;" context="_2" location="f1:4" file="f1" line="4" members="_3 _4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
- <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2">
+ <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2" mangled="[^"]+">
<Argument type="_9" location="f1:2" file="f1" line="2"/>
</Method>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?>
<Argument type="_10" location="f1:4" file="f1" line="4"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_11" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_11" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_10" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
<Destructor id="_7" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-template-Method-Argument-default.xml.txt b/test/expect/gccxml.any.Class-template-Method-Argument-default.xml.txt
index b5dd76c..bf4bce1 100644
--- a/test/expect/gccxml.any.Class-template-Method-Argument-default.xml.txt
+++ b/test/expect/gccxml.any.Class-template-Method-Argument-default.xml.txt
@@ -1,14 +1,14 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:4" file="f1" line="4" members="_3 _4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
- <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2">
+ <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2" mangled="[^"]+">
<Argument type="_8" location="f1:2" file="f1" line="2" default="123"/>
</Method>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?>
<Argument type="_9" location="f1:4" file="f1" line="4"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_9" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
<Destructor id="_7" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-template-Method-return-const.xml.txt b/test/expect/gccxml.any.Class-template-Method-return-const.xml.txt
index cbb3c76..080ecfe 100644
--- a/test/expect/gccxml.any.Class-template-Method-return-const.xml.txt
+++ b/test/expect/gccxml.any.Class-template-Method-return-const.xml.txt
@@ -1,12 +1,12 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start&lt;const int&gt;" context="_2" location="f1:4" file="f1" line="4" members="_3 _4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
- <Method id="_3" name="method" returns="_8c" context="_1" access="private" location="f1:2" file="f1" line="2"/>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Method id="_3" name="method" returns="_8c" context="_1" access="private" location="f1:2" file="f1" line="2" mangled="[^"]+"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?>
<Argument type="_9" location="f1:4" file="f1" line="4"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_9" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
<Destructor id="_7" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-template-constructor-template.xml.txt b/test/expect/gccxml.any.Class-template-constructor-template.xml.txt
index b9a8e1f..44eba24 100644
--- a/test/expect/gccxml.any.Class-template-constructor-template.xml.txt
+++ b/test/expect/gccxml.any.Class-template-constructor-template.xml.txt
@@ -7,7 +7,7 @@
<Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4">
<Argument type="_8" location="f1:4" file="f1" line="4"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_9" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_5" name="=" returns="_9" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_7" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_6" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-template-friends.xml.txt b/test/expect/gccxml.any.Class-template-friends.xml.txt
index 837a162..3f3f7a2 100644
--- a/test/expect/gccxml.any.Class-template-friends.xml.txt
+++ b/test/expect/gccxml.any.Class-template-friends.xml.txt
@@ -5,7 +5,7 @@
<Constructor id="_4" name="start" context="_1" access="public" location="f1:8" file="f1" line="8" inline="1" artificial="1"( throws="")?>
<Argument type="_9" location="f1:8" file="f1" line="8"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:8" file="f1" line="8" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:8" file="f1" line="8" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_9" location="f1:8" file="f1" line="8"/>
</OperatorMethod>
<Destructor id="_6" name="start" context="_1" access="public" location="f1:8" file="f1" line="8" inline="1" artificial="1"( throws="")?/>
@@ -13,7 +13,7 @@
<CvQualifiedType id="_1c" type="_1" const="1"/>
<ReferenceType id="_10" type="_1"/>
<Namespace id="_2" name="::"/>
- <Function id="_7" name="f" returns="_11" context="_2" location="f1:5" file="f1" line="5">
+ <Function id="_7" name="f" returns="_11" context="_2" location="f1:5" file="f1" line="5" mangled="[^"]+">
<Argument type="_11" location="f1:2" file="f1" line="2"/>
</Function>
<Class id="_8" name="A&lt;int&gt;" context="_2" location="f1:1" file="f1" line="1" incomplete="1"/>
diff --git a/test/expect/gccxml.any.Class-template-member-Typedef-const.xml.txt b/test/expect/gccxml.any.Class-template-member-Typedef-const.xml.txt
index e6e4c73..8cb9712 100644
--- a/test/expect/gccxml.any.Class-template-member-Typedef-const.xml.txt
+++ b/test/expect/gccxml.any.Class-template-member-Typedef-const.xml.txt
@@ -2,14 +2,14 @@
<GCC_XML[^>]*>
<Class id="_1" name="start&lt;const int&gt;" context="_2" location="f1:6" file="f1" line="6" members="_3 _4 _5 _6 _7 _8" size="[0-9]+" align="[0-9]+"/>
<Typedef id="_3" name="IntConst" type="_9c" context="_1" access="private" location="f1:2" file="f1" line="2"/>
- <Method id="_4" name="method" returns="_9c" context="_1" access="public" location="f1:4" file="f1" line="4">
+ <Method id="_4" name="method" returns="_9c" context="_1" access="public" location="f1:4" file="f1" line="4" mangled="[^"]+">
<Argument type="_3" location="f1:4" file="f1" line="4"/>
</Method>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throws="")?/>
<Constructor id="_6" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throws="")?>
<Argument type="_10" location="f1:6" file="f1" line="6"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_10" location="f1:6" file="f1" line="6"/>
</OperatorMethod>
<Destructor id="_8" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-template-member-Typedef.xml.txt b/test/expect/gccxml.any.Class-template-member-Typedef.xml.txt
index d687249..d5927f8 100644
--- a/test/expect/gccxml.any.Class-template-member-Typedef.xml.txt
+++ b/test/expect/gccxml.any.Class-template-member-Typedef.xml.txt
@@ -2,14 +2,14 @@
<GCC_XML[^>]*>
<Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:6" file="f1" line="6" members="_3 _4 _5 _6 _7 _8" size="[0-9]+" align="[0-9]+"/>
<Typedef id="_3" name="Int" type="_9" context="_1" access="private" location="f1:2" file="f1" line="2"/>
- <Method id="_4" name="method" returns="_9" context="_1" access="public" location="f1:4" file="f1" line="4">
+ <Method id="_4" name="method" returns="_9" context="_1" access="public" location="f1:4" file="f1" line="4" mangled="[^"]+">
<Argument type="_3" location="f1:4" file="f1" line="4"/>
</Method>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throws="")?/>
<Constructor id="_6" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throws="")?>
<Argument type="_10" location="f1:6" file="f1" line="6"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_10" location="f1:6" file="f1" line="6"/>
</OperatorMethod>
<Destructor id="_8" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-template-member-template.xml.txt b/test/expect/gccxml.any.Class-template-member-template.xml.txt
index b7f565e..8c8967a 100644
--- a/test/expect/gccxml.any.Class-template-member-template.xml.txt
+++ b/test/expect/gccxml.any.Class-template-member-template.xml.txt
@@ -1,14 +1,14 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:1" file="f1" line="1" members="_3 _4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
- <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2" inline="1">
+ <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2" inline="1" mangled="[^"]+">
<Argument type="_9" location="f1:2" file="f1" line="2"/>
</Method>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_10" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_11" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_11" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_10" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class-template.xml.txt b/test/expect/gccxml.any.Class-template.xml.txt
index ccec63f..dc688ce 100644
--- a/test/expect/gccxml.any.Class-template.xml.txt
+++ b/test/expect/gccxml.any.Class-template.xml.txt
@@ -7,7 +7,7 @@
<Constructor id="_6" name="start" context="_2" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?>
<Argument type="_13" location="f1:4" file="f1" line="4"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_14" context="_2" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_7" name="=" returns="_14" context="_2" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_13" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
<Destructor id="_8" name="start" context="_2" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?/>
@@ -15,7 +15,7 @@
<Constructor id="_10" name="start" context="_3" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throws="")?>
<Argument type="_15" location="f1:5" file="f1" line="5"/>
</Constructor>
- <OperatorMethod id="_11" name="=" returns="_16" context="_3" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_11" name="=" returns="_16" context="_3" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_15" location="f1:5" file="f1" line="5"/>
</OperatorMethod>
<Destructor id="_12" name="start" context="_3" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Class.xml.txt b/test/expect/gccxml.any.Class.xml.txt
index 6c87c6f..f534c0a 100644
--- a/test/expect/gccxml.any.Class.xml.txt
+++ b/test/expect/gccxml.any.Class.xml.txt
@@ -5,7 +5,7 @@
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_7" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_8" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_5" name="=" returns="_8" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_7" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_6" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Field.xml.txt b/test/expect/gccxml.any.Field.xml.txt
index c967c77..3354c8c 100644
--- a/test/expect/gccxml.any.Field.xml.txt
+++ b/test/expect/gccxml.any.Field.xml.txt
@@ -7,7 +7,7 @@
<Constructor id="_6" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_12" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_13" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_7" name="=" returns="_13" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_12" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Constructor id="_8" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Function-Argument-decay.xml.txt b/test/expect/gccxml.any.Function-Argument-decay.xml.txt
index 133cffe..53a0f21 100644
--- a/test/expect/gccxml.any.Function-Argument-decay.xml.txt
+++ b/test/expect/gccxml.any.Function-Argument-decay.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1">
+ <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" mangled="[^"]+">
<Argument type="_4" location="f1:1" file="f1" line="1"/>
<Argument type="_4" location="f1:1" file="f1" line="1"/>
<Argument type="_5" location="f1:1" file="f1" line="1"/>
diff --git a/test/expect/gccxml.any.Function-Argument-default.xml.txt b/test/expect/gccxml.any.Function-Argument-default.xml.txt
index ce29f8d..7bb944c 100644
--- a/test/expect/gccxml.any.Function-Argument-default.xml.txt
+++ b/test/expect/gccxml.any.Function-Argument-default.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1">
+ <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" mangled="[^"]+">
<Argument type="_4" location="f1:1" file="f1" line="1" default="123"/>
<Argument type="_5" location="f1:1" file="f1" line="1" default="&quot;abc&quot;"/>
</Function>
diff --git a/test/expect/gccxml.any.Function-calling-convention-ms.xml.txt b/test/expect/gccxml.any.Function-calling-convention-ms.xml.txt
index 6115014..2a0a1b3 100644
--- a/test/expect/gccxml.any.Function-calling-convention-ms.xml.txt
+++ b/test/expect/gccxml.any.Function-calling-convention-ms.xml.txt
@@ -1,15 +1,15 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_5" context="_6" location="f1:1" file="f1" line="1">
+ <Function id="_1" name="start" returns="_5" context="_6" location="f1:1" file="f1" line="1" mangled="[^"]+">
<Argument type="_7" location="f1:1" file="f1" line="1"/>
</Function>
- <Function id="_2" name="start" returns="_5" context="_6" location="f1:2" file="f1" line="2" attributes="__stdcall__">
+ <Function id="_2" name="start" returns="_5" context="_6" location="f1:2" file="f1" line="2" attributes="__stdcall__" mangled="[^"]+">
<Argument type="_8" location="f1:2" file="f1" line="2"/>
</Function>
- <Function id="_3" name="start" returns="_5" context="_6" location="f1:3" file="f1" line="3" attributes="__fastcall__">
+ <Function id="_3" name="start" returns="_5" context="_6" location="f1:3" file="f1" line="3" attributes="__fastcall__" mangled="[^"]+">
<Argument type="_9" location="f1:3" file="f1" line="3"/>
</Function>
- <Function id="_4" name="start" returns="_5" context="_6" location="f1:4" file="f1" line="4" attributes="__thiscall__">
+ <Function id="_4" name="start" returns="_5" context="_6" location="f1:4" file="f1" line="4" attributes="__thiscall__" mangled="[^"]+">
<Argument type="_10" location="f1:4" file="f1" line="4"/>
</Function>
<FundamentalType id="_5" name="void" size="[0-9]+" align="[0-9]+"/>
diff --git a/test/expect/gccxml.any.Function-rvalue-reference.xml.txt b/test/expect/gccxml.any.Function-rvalue-reference.xml.txt
index 6930590..062d5f4 100644
--- a/test/expect/gccxml.any.Function-rvalue-reference.xml.txt
+++ b/test/expect/gccxml.any.Function-rvalue-reference.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1">
+ <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" mangled="[^"]+">
<Argument type="_2" location="f1:1" file="f1" line="1"/>
</Function>
<FundamentalType id="_2" name="int" size="[0-9]+" align="[0-9]+"/>
diff --git a/test/expect/gccxml.any.Function-template.xml.txt b/test/expect/gccxml.any.Function-template.xml.txt
index e41bd3d..f74aaba 100644
--- a/test/expect/gccxml.any.Function-template.xml.txt
+++ b/test/expect/gccxml.any.Function-template.xml.txt
@@ -1,9 +1,9 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_3" context="_4" location="f1:2" file="f1" line="2">
+ <Function id="_1" name="start" returns="_3" context="_4" location="f1:2" file="f1" line="2" mangled="[^"]+">
<Argument type="_3" location="f1:1" file="f1" line="1"/>
</Function>
- <Function id="_2" name="start" returns="_5" context="_4" location="f1:1" file="f1" line="1">
+ <Function id="_2" name="start" returns="_5" context="_4" location="f1:1" file="f1" line="1" mangled="[^"]+">
<Argument type="_5" location="f1:1" file="f1" line="1"/>
</Function>
<FundamentalType id="_3" name="char" size="[0-9]+" align="[0-9]+"/>
diff --git a/test/expect/gccxml.any.Function-throw.xml.txt b/test/expect/gccxml.any.Function-throw.xml.txt
index 43c21cf..7a873c5 100644
--- a/test/expect/gccxml.any.Function-throw.xml.txt
+++ b/test/expect/gccxml.any.Function-throw.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" throws="_4 _5">
+ <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" throws="_4 _5" mangled="[^"]+">
<Argument type="_4" location="f1:1" file="f1" line="1"/>
</Function>
<FundamentalType id="_2" name="void" size="[0-9]+" align="[0-9]+"/>
diff --git a/test/expect/gccxml.any.Function-variadic.xml.txt b/test/expect/gccxml.any.Function-variadic.xml.txt
index c7565e1..35fc46a 100644
--- a/test/expect/gccxml.any.Function-variadic.xml.txt
+++ b/test/expect/gccxml.any.Function-variadic.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1">
+ <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" mangled="[^"]+">
<Argument type="_4" location="f1:1" file="f1" line="1"/>
<Ellipsis/>
</Function>
diff --git a/test/expect/gccxml.any.Function.xml.txt b/test/expect/gccxml.any.Function.xml.txt
index 54d9efe..4db302e 100644
--- a/test/expect/gccxml.any.Function.xml.txt
+++ b/test/expect/gccxml.any.Function.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1">
+ <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" mangled="[^"]+">
<Argument type="_4" location="f1:1" file="f1" line="1"/>
</Function>
<FundamentalType id="_2" name="void" size="[0-9]+" align="[0-9]+"/>
diff --git a/test/expect/gccxml.any.GNU-float128.xml.txt b/test/expect/gccxml.any.GNU-float128.xml.txt
index d21678f..bfcf0da 100644
--- a/test/expect/gccxml.any.GNU-float128.xml.txt
+++ b/test/expect/gccxml.any.GNU-float128.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1">
+ <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" mangled="[^"]+">
<Argument type="_2" location="f1:1" file="f1" line="1"/>
</Function>
<Typedef id="_2" name="__float128" type="_4" context="_3"/>
@@ -10,7 +10,7 @@
<Constructor id="_7" context="_4" access="public" location="f0:0" file="f0" line="0" inline="1" artificial="1"( throws="")?>
<Argument type="_11"/>
</Constructor>
- <OperatorMethod id="_8" name="=" returns="_12" context="_4" access="public" location="f0:0" file="f0" line="0" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_8" name="=" returns="_12" context="_4" access="public" location="f0:0" file="f0" line="0" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_11"/>
</OperatorMethod>
<Destructor id="_9" context="_4" access="public" location="f0:0" file="f0" line="0" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Method-rvalue-reference.xml.txt b/test/expect/gccxml.any.Method-rvalue-reference.xml.txt
index a8bfeec..50bf8cc 100644
--- a/test/expect/gccxml.any.Method-rvalue-reference.xml.txt
+++ b/test/expect/gccxml.any.Method-rvalue-reference.xml.txt
@@ -4,10 +4,10 @@
<Constructor id="_3" name="start" context="_1" access="private" location="f1:2" file="f1" line="2">
<Argument type="_7" location="f1:2" file="f1" line="2"/>
</Constructor>
- <OperatorMethod id="_4" name="=" returns="_7" context="_1" access="private" location="f1:4" file="f1" line="4">
+ <OperatorMethod id="_4" name="=" returns="_7" context="_1" access="private" location="f1:4" file="f1" line="4" mangled="[^"]+">
<Argument type="_7" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
- <Method id="_5" name="method" returns="_8" context="_1" access="private" location="f1:6" file="f1" line="6">
+ <Method id="_5" name="method" returns="_8" context="_1" access="private" location="f1:6" file="f1" line="6" mangled="[^"]+">
<Argument type="_8" location="f1:6" file="f1" line="6"/>
</Method>
<Destructor id="_6" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Method.xml.txt b/test/expect/gccxml.any.Method.xml.txt
index ca938e8..49a7861 100644
--- a/test/expect/gccxml.any.Method.xml.txt
+++ b/test/expect/gccxml.any.Method.xml.txt
@@ -1,14 +1,14 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start" context="_2" location="f1:1" file="f1" line="1" members="_3 _4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
- <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2">
+ <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2" mangled="[^"]+">
<Argument type="_8" location="f1:2" file="f1" line="2"/>
</Method>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_9" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_9" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Namespace-Class-members.xml.txt b/test/expect/gccxml.any.Namespace-Class-members.xml.txt
index bda8d84..0d3d0f0 100644
--- a/test/expect/gccxml.any.Namespace-Class-members.xml.txt
+++ b/test/expect/gccxml.any.Namespace-Class-members.xml.txt
@@ -2,12 +2,12 @@
<GCC_XML[^>]*>
<Namespace id="_1" name="start" context="_2" members="_3"/>
<Class id="_3" name="A" context="_1" location="f1:2" file="f1" line="2" members="_4 _5 _6 _7 _8" size="[0-9]+" align="[0-9]+"/>
- <Variable id="_4" name="data" type="_9" context="_3" access="private" location="f1:3" file="f1" line="3" static="1"/>
+ <Variable id="_4" name="data" type="_9" context="_3" access="private" location="f1:3" file="f1" line="3" static="1" mangled="[^"]+"/>
<Constructor id="_5" name="A" context="_3" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throws="")?/>
<Constructor id="_6" name="A" context="_3" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throws="")?>
<Argument type="_10" location="f1:2" file="f1" line="2"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_11" context="_3" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_7" name="=" returns="_11" context="_3" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_10" location="f1:2" file="f1" line="2"/>
</OperatorMethod>
<Destructor id="_8" name="A" context="_3" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Namespace-extern-C-members.xml.txt b/test/expect/gccxml.any.Namespace-extern-C-members.xml.txt
index 16ce547..640c221 100644
--- a/test/expect/gccxml.any.Namespace-extern-C-members.xml.txt
+++ b/test/expect/gccxml.any.Namespace-extern-C-members.xml.txt
@@ -2,7 +2,7 @@
<GCC_XML[^>]*>
<Namespace id="_1" name="start" context="_2" members="_3 _4"/>
<Typedef id="_3" name="Int" type="_5" context="_1" location="f1:3" file="f1" line="3"/>
- <Function id="_4" name="function" returns="_3" context="_1" location="f1:4" file="f1" line="4">
+ <Function id="_4" name="function" returns="_3" context="_1" location="f1:4" file="f1" line="4" mangled="[^"]+">
<Argument type="_3" location="f1:4" file="f1" line="4"/>
</Function>
<FundamentalType id="_5" name="int" size="[0-9]+" align="[0-9]+"/>
diff --git a/test/expect/gccxml.any.Namespace-repeat-start.xml.txt b/test/expect/gccxml.any.Namespace-repeat-start.xml.txt
index a493bd3..dc21ff9 100644
--- a/test/expect/gccxml.any.Namespace-repeat-start.xml.txt
+++ b/test/expect/gccxml.any.Namespace-repeat-start.xml.txt
@@ -1,8 +1,8 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Namespace id="_1" name="start" context="_2" members="_3 _4"/>
- <Function id="_3" name="f1" returns="_5" context="_1" location="f1:2" file="f1" line="2"/>
- <Function id="_4" name="f2" returns="_5" context="_1" location="f1:5" file="f1" line="5"/>
+ <Function id="_3" name="f1" returns="_5" context="_1" location="f1:2" file="f1" line="2" mangled="[^"]+"/>
+ <Function id="_4" name="f2" returns="_5" context="_1" location="f1:5" file="f1" line="5" mangled="[^"]+"/>
<FundamentalType id="_5" name="void" size="[0-9]+" align="[0-9]+"/>
<Namespace id="_2" name="::"/>
<File id="f1" name=".*/test/input/Namespace-repeat-start.cxx"/>
diff --git a/test/expect/gccxml.any.Namespace-repeat.xml.txt b/test/expect/gccxml.any.Namespace-repeat.xml.txt
index 6abb7cb..b8b3733 100644
--- a/test/expect/gccxml.any.Namespace-repeat.xml.txt
+++ b/test/expect/gccxml.any.Namespace-repeat.xml.txt
@@ -2,8 +2,8 @@
<GCC_XML[^>]*>
<Namespace id="_1" name="start" context="_2" members="_3"/>
<Namespace id="_3" name="ns" context="_1" members="_4 _5"/>
- <Function id="_4" name="f1" returns="_6" context="_3" location="f1:3" file="f1" line="3"/>
- <Function id="_5" name="f2" returns="_6" context="_3" location="f1:6" file="f1" line="6"/>
+ <Function id="_4" name="f1" returns="_6" context="_3" location="f1:3" file="f1" line="3" mangled="[^"]+"/>
+ <Function id="_5" name="f2" returns="_6" context="_3" location="f1:6" file="f1" line="6" mangled="[^"]+"/>
<FundamentalType id="_6" name="void" size="[0-9]+" align="[0-9]+"/>
<Namespace id="_2" name="::"/>
<File id="f1" name=".*/test/input/Namespace-repeat.cxx"/>
diff --git a/test/expect/gccxml.any.OperatorFunction.xml.txt b/test/expect/gccxml.any.OperatorFunction.xml.txt
index f7037ce..831e1bf 100644
--- a/test/expect/gccxml.any.OperatorFunction.xml.txt
+++ b/test/expect/gccxml.any.OperatorFunction.xml.txt
@@ -1,7 +1,7 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Namespace id="_1" name="start" context="_2" members="_3"/>
- <OperatorFunction id="_3" name="&lt;&lt;" returns="_4" context="_1" location="f1:3" file="f1" line="3">
+ <OperatorFunction id="_3" name="&lt;&lt;" returns="_4" context="_1" location="f1:3" file="f1" line="3" mangled="[^"]+">
<Argument type="_4" location="f1:3" file="f1" line="3"/>
<Argument type="_5" location="f1:3" file="f1" line="3"/>
</OperatorFunction>
diff --git a/test/expect/gccxml.any.OperatorMethod.xml.txt b/test/expect/gccxml.any.OperatorMethod.xml.txt
index b72b2cd..9e2fed5 100644
--- a/test/expect/gccxml.any.OperatorMethod.xml.txt
+++ b/test/expect/gccxml.any.OperatorMethod.xml.txt
@@ -1,14 +1,14 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start" context="_2" location="f1:1" file="f1" line="1" members="_3 _4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
- <OperatorMethod id="_3" name="&lt;&lt;" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2">
+ <OperatorMethod id="_3" name="&lt;&lt;" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2" mangled="[^"]+">
<Argument type="_9" location="f1:2" file="f1" line="2"/>
</OperatorMethod>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_10" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_8" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_8" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_10" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Variable-in-Class.xml.txt b/test/expect/gccxml.any.Variable-in-Class.xml.txt
index 12e8056..e693ab1 100644
--- a/test/expect/gccxml.any.Variable-in-Class.xml.txt
+++ b/test/expect/gccxml.any.Variable-in-Class.xml.txt
@@ -1,12 +1,12 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start" context="_2" location="f1:1" file="f1" line="1" members="_3 _4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
- <Variable id="_3" name="static_field" type="_8" context="_1" access="private" location="f1:2" file="f1" line="2" static="1"/>
+ <Variable id="_3" name="static_field" type="_8" context="_1" access="private" location="f1:2" file="f1" line="2" static="1" mangled="[^"]+"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_9" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_9" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.any.Variable-init.xml.txt b/test/expect/gccxml.any.Variable-init.xml.txt
index 6061dc1..96ed031 100644
--- a/test/expect/gccxml.any.Variable-init.xml.txt
+++ b/test/expect/gccxml.any.Variable-init.xml.txt
@@ -1,8 +1,8 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Namespace id="_1" name="start" context="_2" members="_3 _4"/>
- <Variable id="_3" name="var_int" type="_5" init="123" context="_1" location="f1:2" file="f1" line="2"/>
- <Variable id="_4" name="var_str" type="_6" init="&quot;abc&quot;" context="_1" location="f1:3" file="f1" line="3"/>
+ <Variable id="_3" name="var_int" type="_5" init="123" context="_1" location="f1:2" file="f1" line="2" mangled="[^"]+"/>
+ <Variable id="_4" name="var_str" type="_6" init="&quot;abc&quot;" context="_1" location="f1:3" file="f1" line="3" mangled="[^"]+"/>
<FundamentalType id="_5" name="int" size="[0-9]+" align="[0-9]+"/>
<PointerType id="_6" type="_7c"/>
<CvQualifiedType id="_7c" type="_7" const="1"/>
diff --git a/test/expect/gccxml.any.Variable.xml.txt b/test/expect/gccxml.any.Variable.xml.txt
index 8438c3c..3dde32c 100644
--- a/test/expect/gccxml.any.Variable.xml.txt
+++ b/test/expect/gccxml.any.Variable.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Variable id="_1" name="start" type="_2" context="_3" location="f1:1" file="f1" line="1"/>
+ <Variable id="_1" name="start" type="_2" context="_3" location="f1:1" file="f1" line="1" mangled="[^"]+"/>
<FundamentalType id="_2" name="int" size="[0-9]+" align="[0-9]+"/>
<Namespace id="_3" name="::"/>
<File id="f1" name=".*/test/input/Variable.cxx"/>
diff --git a/test/expect/gccxml.any.implicit-decl-ms.xml.txt b/test/expect/gccxml.any.implicit-decl-ms.xml.txt
index f4ba07a..63d2e25 100644
--- a/test/expect/gccxml.any.implicit-decl-ms.xml.txt
+++ b/test/expect/gccxml.any.implicit-decl-ms.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1">
+ <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" mangled="[^"]+">
<Argument type="_2" location="f1:1" file="f1" line="1"/>
</Function>
<Typedef id="_2" name="size_t" type="_4" context="_3" location="f0:0" file="f0" line="0"/>
diff --git a/test/expect/gccxml.any.inline-asm-ms.xml.txt b/test/expect/gccxml.any.inline-asm-ms.xml.txt
index 950ac5f..9cca376 100644
--- a/test/expect/gccxml.any.inline-asm-ms.xml.txt
+++ b/test/expect/gccxml.any.inline-asm-ms.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1"/>
+ <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" mangled="[^"]+"/>
<FundamentalType id="_2" name="void" size="[0-9]+" align="[0-9]+"/>
<Namespace id="_3" name="::"/>
<File id="f1" name=".*/test/input/inline-asm-ms.cxx"/>
diff --git a/test/expect/gccxml.any.using-declaration-class.xml.txt b/test/expect/gccxml.any.using-declaration-class.xml.txt
index 1ade161..27e2a4f 100644
--- a/test/expect/gccxml.any.using-declaration-class.xml.txt
+++ b/test/expect/gccxml.any.using-declaration-class.xml.txt
@@ -3,17 +3,17 @@
<Class id="_1" name="start" context="_2" location="f1:5" file="f1" line="5" members="_3 _4 _5 _6 _7 _8" bases="_9" size="[0-9]+" align="[0-9]+">
<Base type="_9" access="public" virtual="0"/>
</Class>
- <Method id="_3" name="f" returns="_10" context="_9" access="protected" location="f1:3" file="f1" line="3">
+ <Method id="_3" name="f" returns="_10" context="_9" access="protected" location="f1:3" file="f1" line="3" mangled="[^"]+">
<Argument type="_10" location="f1:3" file="f1" line="3"/>
</Method>
- <Method id="_4" name="f" returns="_10" context="_1" access="private" location="f1:7" file="f1" line="7">
+ <Method id="_4" name="f" returns="_10" context="_1" access="private" location="f1:7" file="f1" line="7" mangled="[^"]+">
<Argument type="_11" location="f1:7" file="f1" line="7"/>
</Method>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throws="")?/>
<Constructor id="_6" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throws="")?>
<Argument type="_12" location="f1:5" file="f1" line="5"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_13" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_7" name="=" returns="_13" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_12" location="f1:5" file="f1" line="5"/>
</OperatorMethod>
<Destructor id="_8" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throws="")?/>
@@ -27,7 +27,7 @@
<Constructor id="_15" name="base" context="_9" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
<Argument type="_18" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_16" name="=" returns="_19" context="_9" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?>
+ <OperatorMethod id="_16" name="=" returns="_19" context="_9" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")? mangled="[^"]+">
<Argument type="_18" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_17" name="base" context="_9" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.broken.any.ReferenceType-to-Class-template.xml.txt b/test/expect/gccxml.broken.any.ReferenceType-to-Class-template.xml.txt
index 8e2b830..e15cd3c 100644
--- a/test/expect/gccxml.broken.any.ReferenceType-to-Class-template.xml.txt
+++ b/test/expect/gccxml.broken.any.ReferenceType-to-Class-template.xml.txt
@@ -1,14 +1,14 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_4" context="_5" location="f1:2" file="f1" line="2">
+ <Function id="_1" name="start" returns="_4" context="_5" location="f1:2" file="f1" line="2" mangled="[^"]+">
<Argument type="_6" location="f1:2" file="f1" line="2"/>
<Argument type="_7" location="f1:2" file="f1" line="2"/>
</Function>
- <Function id="_2" name="start" returns="_4" context="_5" location="f1:3" file="f1" line="3">
+ <Function id="_2" name="start" returns="_4" context="_5" location="f1:3" file="f1" line="3" mangled="[^"]+">
<Argument type="_8" location="f1:3" file="f1" line="3"/>
<Argument type="_9" location="f1:3" file="f1" line="3"/>
</Function>
- <Function id="_3" name="start" returns="_4" context="_5" location="f1:4" file="f1" line="4">
+ <Function id="_3" name="start" returns="_4" context="_5" location="f1:4" file="f1" line="4" mangled="[^"]+">
<Argument type="_10" location="f1:4" file="f1" line="4"/>
<Argument type="_11" location="f1:4" file="f1" line="4"/>
</Function>
diff --git a/test/expect/gccxml.c++11.Class-bases.xml.txt b/test/expect/gccxml.c++11.Class-bases.xml.txt
index 56d391f..c9535df 100644
--- a/test/expect/gccxml.c++11.Class-bases.xml.txt
+++ b/test/expect/gccxml.c++11.Class-bases.xml.txt
@@ -5,7 +5,7 @@
<Base type="_8" access="private" virtual="0"/>
<Base type="_9" access="protected" virtual="1"/>
</Class>
- <OperatorMethod id="_3" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1">
+ <OperatorMethod id="_3" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" mangled="[^"]+">
<Argument type="_11" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
<Destructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
@@ -19,7 +19,7 @@
<ReferenceType id="_10" type="_1"/>
<ReferenceType id="_11" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
- <OperatorMethod id="_12" name="=" returns="_24" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1">
+ <OperatorMethod id="_12" name="=" returns="_24" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" mangled="[^"]+">
<Argument type="_25" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_13" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
@@ -27,7 +27,7 @@
<Constructor id="_15" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1">
<Argument type="_25" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_16" name="=" returns="_26" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1">
+ <OperatorMethod id="_16" name="=" returns="_26" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" mangled="[^"]+">
<Argument type="_27" location="f1:2" file="f1" line="2"/>
</OperatorMethod>
<Destructor id="_17" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
@@ -35,7 +35,7 @@
<Constructor id="_19" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1">
<Argument type="_27" location="f1:2" file="f1" line="2"/>
</Constructor>
- <OperatorMethod id="_20" name="=" returns="_28" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1">
+ <OperatorMethod id="_20" name="=" returns="_28" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1" mangled="[^"]+">
<Argument type="_29" location="f1:3" file="f1" line="3"/>
</OperatorMethod>
<Destructor id="_21" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"/>
diff --git a/test/expect/gccxml.c++11.Class-template-bases.xml.txt b/test/expect/gccxml.c++11.Class-template-bases.xml.txt
index a335a95..33f0acc 100644
--- a/test/expect/gccxml.c++11.Class-template-bases.xml.txt
+++ b/test/expect/gccxml.c++11.Class-template-bases.xml.txt
@@ -8,7 +8,7 @@
<Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1">
<Argument type="_9" location="f1:4" file="f1" line="4"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1">
+ <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" mangled="[^"]+">
<Argument type="_9" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
<Destructor id="_6" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
@@ -21,7 +21,7 @@
<Constructor id="_12" name="non_dependent_base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1">
<Argument type="_19" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_13" name="=" returns="_20" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1">
+ <OperatorMethod id="_13" name="=" returns="_20" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" mangled="[^"]+">
<Argument type="_19" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_14" name="non_dependent_base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"/>
@@ -29,7 +29,7 @@
<Constructor id="_16" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1">
<Argument type="_21" location="f1:2" file="f1" line="2"/>
</Constructor>
- <OperatorMethod id="_17" name="=" returns="_22" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1">
+ <OperatorMethod id="_17" name="=" returns="_22" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" mangled="[^"]+">
<Argument type="_21" location="f1:2" file="f1" line="2"/>
</OperatorMethod>
<Destructor id="_18" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
diff --git a/test/expect/gccxml.c++98.Class-bases.xml.txt b/test/expect/gccxml.c++98.Class-bases.xml.txt
index 8d8ade5..6c6f11d 100644
--- a/test/expect/gccxml.c++98.Class-bases.xml.txt
+++ b/test/expect/gccxml.c++98.Class-bases.xml.txt
@@ -5,7 +5,7 @@
<Base type="_8" access="private" virtual="0"/>
<Base type="_9" access="protected" virtual="1"/>
</Class>
- <OperatorMethod id="_3" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throws="">
+ <OperatorMethod id="_3" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throws="" mangled="[^"]+">
<Argument type="_11" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
<Destructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?/>
@@ -23,7 +23,7 @@
<Constructor id="_13" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" throws="">
<Argument type="_24" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_14" name="=" returns="_25" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" throws="">
+ <OperatorMethod id="_14" name="=" returns="_25" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" throws="" mangled="[^"]+">
<Argument type="_24" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_15" name="base_public" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
@@ -31,7 +31,7 @@
<Constructor id="_17" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throws="">
<Argument type="_26" location="f1:2" file="f1" line="2"/>
</Constructor>
- <OperatorMethod id="_18" name="=" returns="_27" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throws="">
+ <OperatorMethod id="_18" name="=" returns="_27" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throws="" mangled="[^"]+">
<Argument type="_26" location="f1:2" file="f1" line="2"/>
</OperatorMethod>
<Destructor id="_19" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throws="")?/>
@@ -39,7 +39,7 @@
<Constructor id="_21" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1" throws="">
<Argument type="_28" location="f1:3" file="f1" line="3"/>
</Constructor>
- <OperatorMethod id="_22" name="=" returns="_29" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1" throws="">
+ <OperatorMethod id="_22" name="=" returns="_29" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1" throws="" mangled="[^"]+">
<Argument type="_28" location="f1:3" file="f1" line="3"/>
</OperatorMethod>
<Destructor id="_23" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.c++98.Class-template-bases.xml.txt b/test/expect/gccxml.c++98.Class-template-bases.xml.txt
index 3629ddb..a7c7af9 100644
--- a/test/expect/gccxml.c++98.Class-template-bases.xml.txt
+++ b/test/expect/gccxml.c++98.Class-template-bases.xml.txt
@@ -8,7 +8,7 @@
<Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throws="">
<Argument type="_9" location="f1:4" file="f1" line="4"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throws="">
+ <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throws="" mangled="[^"]+">
<Argument type="_9" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
<Destructor id="_6" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throws="")?/>
@@ -21,7 +21,7 @@
<Constructor id="_12" name="non_dependent_base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" throws="">
<Argument type="_19" location="f1:1" file="f1" line="1"/>
</Constructor>
- <OperatorMethod id="_13" name="=" returns="_20" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" throws="">
+ <OperatorMethod id="_13" name="=" returns="_20" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1" throws="" mangled="[^"]+">
<Argument type="_19" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_14" name="non_dependent_base" context="_7" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throws="")?/>
@@ -29,7 +29,7 @@
<Constructor id="_16" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throws="">
<Argument type="_21" location="f1:2" file="f1" line="2"/>
</Constructor>
- <OperatorMethod id="_17" name="=" returns="_22" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throws="">
+ <OperatorMethod id="_17" name="=" returns="_22" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throws="" mangled="[^"]+">
<Argument type="_21" location="f1:2" file="f1" line="2"/>
</OperatorMethod>
<Destructor id="_18" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throws="")?/>
diff --git a/test/expect/gccxml.c89.GNU-float128.xml.txt b/test/expect/gccxml.c89.GNU-float128.xml.txt
index 7e15809..66dfde7 100644
--- a/test/expect/gccxml.c89.GNU-float128.xml.txt
+++ b/test/expect/gccxml.c89.GNU-float128.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1">
+ <Function id="_1" name="start" returns="_2" context="_3" location="f1:1" file="f1" line="1" mangled="[^"]+">
<Argument type="_2" location="f1:1" file="f1" line="1"/>
</Function>
<Typedef id="_2" name="__float128" type="_4" context="_3"/>
diff --git a/test/run.cmake b/test/run.cmake
index a123639..fda9f00 100644
--- a/test/run.cmake
+++ b/test/run.cmake
@@ -78,6 +78,7 @@ if(msg)
set(update_xml "${actual_xml}")
string(REGEX REPLACE "^<\\?xml version=\"1.0\"\\?>" "^<\\\\?xml version=\"1.0\"\\\\?>" update_xml "${update_xml}")
string(REGEX REPLACE "<GCC_XML[^>]*>" "<GCC_XML[^>]*>" update_xml "${update_xml}")
+ string(REGEX REPLACE "mangled=\"[^\"]*\"" "mangled=\"[^\"]+\"" update_xml "${update_xml}")
string(REGEX REPLACE "artificial=\"1\"( throws=\"\")?" "artificial=\"1\"( throws=\"\")?" update_xml "${update_xml}")
string(REGEX REPLACE "size=\"[0-9]+\" align=\"[0-9]+\"" "size=\"[0-9]+\" align=\"[0-9]+\"" update_xml "${update_xml}")
string(REGEX REPLACE "<File id=\"(f[0-9]+)\" name=\"[^\"]*/test/input/([^\"]*)\"/>" "<File id=\"\\1\" name=\".*/test/input/\\2\"/>" update_xml "${update_xml}")