summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKitware Robot <kwrobot@kitware.com>2016-11-10 19:22:30 (GMT)
committerBrad King <brad.king@kitware.com>2016-11-10 19:52:15 (GMT)
commit24b03cffb0d3f42110dcaf754708cd1204800d12 (patch)
tree3182eaa878a3e13e3afe3f28637a2482d2c009f2
parent1ec76bcab6b545763c7b804506edeef1c7fd9700 (diff)
downloadCastXML-24b03cffb0d3f42110dcaf754708cd1204800d12.zip
CastXML-24b03cffb0d3f42110dcaf754708cd1204800d12.tar.gz
CastXML-24b03cffb0d3f42110dcaf754708cd1204800d12.tar.bz2
Revise C++ coding style using clang-format
Run the `src/clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. Fix expected test output for new line numbers. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
-rw-r--r--src/Detect.cxx92
-rw-r--r--src/Detect.h6
-rw-r--r--src/Options.h20
-rw-r--r--src/Output.cxx1087
-rw-r--r--src/Output.h12
-rw-r--r--src/RunClang.cxx301
-rw-r--r--src/RunClang.h3
-rw-r--r--src/Utils.cxx125
-rw-r--r--src/Utils.h5
-rw-r--r--src/castxml.cxx92
-rw-r--r--test/expect/gccxml.any.Class-abstract.xml.txt8
-rw-r--r--test/expect/gccxml.any.Class-base-offset.xml.txt2
-rw-r--r--test/expect/gccxml.any.Class-base-typedef.xml.txt14
-rw-r--r--test/expect/gccxml.any.Class-forward.xml.txt12
-rw-r--r--test/expect/gccxml.any.Class-friends.xml.txt16
-rw-r--r--test/expect/gccxml.any.Class-implicit-member-access-mutable.xml.txt20
-rw-r--r--test/expect/gccxml.any.Class-implicit-member-access.xml.txt18
-rw-r--r--test/expect/gccxml.any.Class-implicit-member-array.xml.txt2
-rw-r--r--test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt12
-rw-r--r--test/expect/gccxml.any.Class-implicit-member-const-aggregate.xml.txt2
-rw-r--r--test/expect/gccxml.any.Class-implicit-member-const.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-implicit-member-reference.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-implicit-members.xml.txt4
-rw-r--r--test/expect/gccxml.any.Class-member-template-access.xml.txt18
-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.txt20
-rw-r--r--test/expect/gccxml.any.Class-template-Method-Argument-const.xml.txt18
-rw-r--r--test/expect/gccxml.any.Class-template-Method-Argument-default.xml.txt18
-rw-r--r--test/expect/gccxml.any.Class-template-Method-return-const.xml.txt16
-rw-r--r--test/expect/gccxml.any.Class-template-constructor-template.xml.txt16
-rw-r--r--test/expect/gccxml.any.Class-template-friends.xml.txt20
-rw-r--r--test/expect/gccxml.any.Class-template-member-Typedef-const.xml.txt20
-rw-r--r--test/expect/gccxml.any.Class-template-member-Typedef.xml.txt20
-rw-r--r--test/expect/gccxml.any.Class-template-member-nontemplate-Typedef.xml.txt8
-rw-r--r--test/expect/gccxml.any.Class-template-member-template.xml.txt18
-rw-r--r--test/expect/gccxml.any.Class-template-recurse.xml.txt16
-rw-r--r--test/expect/gccxml.any.Class-template.xml.txt30
-rw-r--r--test/expect/gccxml.any.Constructor-annotate.xml.txt2
-rw-r--r--test/expect/gccxml.any.Constructor.xml.txt2
-rw-r--r--test/expect/gccxml.any.Converter-annotate.xml.txt2
-rw-r--r--test/expect/gccxml.any.Converter.xml.txt2
-rw-r--r--test/expect/gccxml.any.Destructor-annotate.xml.txt2
-rw-r--r--test/expect/gccxml.any.Destructor.xml.txt2
-rw-r--r--test/expect/gccxml.any.Field-annotate.xml.txt2
-rw-r--r--test/expect/gccxml.any.Field.xml.txt6
-rw-r--r--test/expect/gccxml.any.Function-Argument-default-cast.xml.txt38
-rw-r--r--test/expect/gccxml.any.Function-Argument-default-ns.xml.txt6
-rw-r--r--test/expect/gccxml.any.Function-calling-convention-ms-annotate.xml.txt14
-rw-r--r--test/expect/gccxml.any.Function-template.xml.txt8
-rw-r--r--test/expect/gccxml.any.GNU-float128.xml.txt10
-rw-r--r--test/expect/gccxml.any.Method-Argument-default-cast.xml.txt12
-rw-r--r--test/expect/gccxml.any.Method-Argument-default.xml.txt6
-rw-r--r--test/expect/gccxml.any.Method-annotate.xml.txt4
-rw-r--r--test/expect/gccxml.any.Method-overrides.xml.txt22
-rw-r--r--test/expect/gccxml.any.Method-rvalue-reference.xml.txt12
-rw-r--r--test/expect/gccxml.any.Method.xml.txt4
-rw-r--r--test/expect/gccxml.any.Namespace-Class-members.xml.txt2
-rw-r--r--test/expect/gccxml.any.Namespace-inline-template.xml.txt4
-rw-r--r--test/expect/gccxml.any.OperatorMethod-annotate.xml.txt4
-rw-r--r--test/expect/gccxml.any.OperatorMethod.xml.txt4
-rw-r--r--test/expect/gccxml.any.Typedef-to-Class-template.xml.txt4
-rw-r--r--test/expect/gccxml.any.Typedef-to-Enumeration-anonymous.xml.txt2
-rw-r--r--test/expect/gccxml.any.Typedef-to-Enumeration.xml.txt2
-rw-r--r--test/expect/gccxml.any.Variable-in-Class.xml.txt2
-rw-r--r--test/expect/gccxml.any.invalid-decl-for-type.xml.txt34
-rw-r--r--test/expect/gccxml.any.qualified-type-name.xml.txt4
-rw-r--r--test/expect/gccxml.any.using-declaration-class.xml.txt22
-rw-r--r--test/expect/gccxml.broken.any.ReferenceType-to-Class-template.xml.txt20
-rw-r--r--test/expect/gccxml.c++11.Class-bases.xml.txt42
-rw-r--r--test/expect/gccxml.c++11.Class-template-bases.xml.txt28
-rw-r--r--test/expect/gccxml.c++14.Class-bases.xml.txt42
-rw-r--r--test/expect/gccxml.c++14.Class-template-bases.xml.txt28
-rw-r--r--test/expect/gccxml.c++98.Class-bases.xml.txt42
-rw-r--r--test/expect/gccxml.c++98.Class-template-bases.xml.txt28
-rw-r--r--test/input/CXXLiteral.cxx2
-rw-r--r--test/input/Class-abstract.cxx3
-rw-r--r--test/input/Class-annotate.cxx4
-rw-r--r--test/input/Class-base-offset.cxx19
-rw-r--r--test/input/Class-base-typedef.cxx8
-rw-r--r--test/input/Class-bases.cxx19
-rw-r--r--test/input/Class-forward.cxx3
-rw-r--r--test/input/Class-friends.cxx7
-rw-r--r--test/input/Class-implicit-member-access-mutable.cxx8
-rw-r--r--test/input/Class-implicit-member-access.cxx8
-rw-r--r--test/input/Class-implicit-member-array.cxx3
-rw-r--r--test/input/Class-implicit-member-bad-base.cxx12
-rw-r--r--test/input/Class-implicit-member-const-aggregate.cxx3
-rw-r--r--test/input/Class-implicit-member-const.cxx4
-rw-r--r--test/input/Class-implicit-member-reference.cxx4
-rw-r--r--test/input/Class-implicit-members.cxx6
-rw-r--r--test/input/Class-incomplete-twice.cxx4
-rw-r--r--test/input/Class-member-template-access.cxx9
-rw-r--r--test/input/Class-member-template.cxx9
-rw-r--r--test/input/Class-partial-template-member-Typedef.cxx8
-rw-r--r--test/input/Class-template-Method-Argument-const.cxx4
-rw-r--r--test/input/Class-template-Method-Argument-default.cxx4
-rw-r--r--test/input/Class-template-Method-return-const.cxx4
-rw-r--r--test/input/Class-template-bases.cxx14
-rw-r--r--test/input/Class-template-constructor-template.cxx12
-rw-r--r--test/input/Class-template-friends.cxx13
-rw-r--r--test/input/Class-template-member-Typedef-const.cxx5
-rw-r--r--test/input/Class-template-member-Typedef.cxx5
-rw-r--r--test/input/Class-template-member-nontemplate-Typedef.cxx7
-rw-r--r--test/input/Class-template-member-template.cxx10
-rw-r--r--test/input/Class-template-recurse.cxx17
-rw-r--r--test/input/Class-template.cxx15
-rw-r--r--test/input/Class.cxx4
-rw-r--r--test/input/Constructor-annotate.cxx5
-rw-r--r--test/input/Constructor.cxx3
-rw-r--r--test/input/Converter-annotate.cxx5
-rw-r--r--test/input/Converter.cxx3
-rw-r--r--test/input/Destructor-annotate.cxx5
-rw-r--r--test/input/Destructor.cxx3
-rw-r--r--test/input/Enumeration-annotate.cxx5
-rw-r--r--test/input/Enumeration-anonymous.cxx9
-rw-r--r--test/input/Enumeration.cxx3
-rw-r--r--test/input/Field-annotate.cxx5
-rw-r--r--test/input/Field.cxx5
-rw-r--r--test/input/Function-Argument-annotate.cxx2
-rw-r--r--test/input/Function-Argument-default-cast.cxx25
-rw-r--r--test/input/Function-Argument-default-ns.cxx9
-rw-r--r--test/input/Function-annotate.cxx2
-rw-r--r--test/input/Function-calling-convention-ms-annotate.cxx12
-rw-r--r--test/input/Function-calling-convention-ms.cxx8
-rw-r--r--test/input/Function-template.cxx9
-rw-r--r--test/input/Function-variadic.cxx2
-rw-r--r--test/input/FunctionType-variadic.cxx2
-rw-r--r--test/input/FundamentalTypes.cxx26
-rw-r--r--test/input/GNU-float128.cxx9
-rw-r--r--test/input/GNU-va_arg_pack.cxx3
-rw-r--r--test/input/Method-Argument-default-cast.cxx7
-rw-r--r--test/input/Method-Argument-default.cxx3
-rw-r--r--test/input/Method-annotate.cxx5
-rw-r--r--test/input/Method-overrides.cxx6
-rw-r--r--test/input/Method-rvalue-reference.cxx3
-rw-r--r--test/input/Method.cxx3
-rw-r--r--test/input/MethodType-cv.cxx2
-rw-r--r--test/input/MethodType.cxx2
-rw-r--r--test/input/Namespace-Class-members.cxx9
-rw-r--r--test/input/Namespace-Class-partial-template-members.cxx14
-rw-r--r--test/input/Namespace-Class-template-members.cxx11
-rw-r--r--test/input/Namespace-Function-template-members.cxx3
-rw-r--r--test/input/Namespace-anonymous.cxx6
-rw-r--r--test/input/Namespace-empty.cxx2
-rw-r--r--test/input/Namespace-extern-C-members.cxx8
-rw-r--r--test/input/Namespace-inline-start.cxx3
-rw-r--r--test/input/Namespace-inline-template.cxx11
-rw-r--r--test/input/Namespace-inline.cxx12
-rw-r--r--test/input/Namespace-nested.cxx18
-rw-r--r--test/input/Namespace-repeat-start.cxx4
-rw-r--r--test/input/Namespace-repeat.cxx12
-rw-r--r--test/input/Namespace.cxx3
-rw-r--r--test/input/OffsetType-cv.cxx2
-rw-r--r--test/input/OffsetType.cxx2
-rw-r--r--test/input/OperatorFunction-annotate.cxx2
-rw-r--r--test/input/OperatorFunction.cxx2
-rw-r--r--test/input/OperatorMethod-annotate.cxx5
-rw-r--r--test/input/OperatorMethod.cxx3
-rw-r--r--test/input/PointerType.cxx2
-rw-r--r--test/input/RValueReferenceType.cxx2
-rw-r--r--test/input/ReferenceType-to-Class-template.cxx5
-rw-r--r--test/input/ReferenceType.cxx2
-rw-r--r--test/input/TypeAlias.cxx2
-rw-r--r--test/input/TypeAliasTemplate.cxx9
-rw-r--r--test/input/Typedef-annotate.cxx2
-rw-r--r--test/input/Typedef-paren.cxx2
-rw-r--r--test/input/Typedef-to-Class-template.cxx3
-rw-r--r--test/input/Typedef-to-Enumeration-anonymous.cxx3
-rw-r--r--test/input/Typedef-to-Enumeration.cxx4
-rw-r--r--test/input/Typedef-to-FundamentalType-mode.cxx2
-rw-r--r--test/input/Typedef-to-extern-C-FundamentalType-mode.cxx2
-rw-r--r--test/input/Variable-annotate.cxx2
-rw-r--r--test/input/Variable-in-Class.cxx3
-rw-r--r--test/input/Variable-init-cast.cxx6
-rw-r--r--test/input/Variable-init-ns.cxx4
-rw-r--r--test/input/Variable-init.cxx4
-rw-r--r--test/input/inline-asm-ms.cxx5
-rw-r--r--test/input/invalid-decl-for-type.cxx15
-rw-r--r--test/input/make_integer_seq.cxx15
-rw-r--r--test/input/nostart.cxx2
-rw-r--r--test/input/qualified-type-name.cxx4
-rw-r--r--test/input/using-declaration-class.cxx6
-rw-r--r--test/input/using-declaration-ns.cxx2
-rw-r--r--test/input/using-declaration-start.cxx2
-rw-r--r--test/input/using-directive-ns.cxx4
-rw-r--r--test/input/using-directive-start.cxx2
186 files changed, 1801 insertions, 1468 deletions
diff --git a/src/Detect.cxx b/src/Detect.cxx
index e1e7b79..21bfef2 100644
--- a/src/Detect.cxx
+++ b/src/Detect.cxx
@@ -34,20 +34,19 @@ static std::string getClangBuiltinIncludeDir()
return getClangResourceDir() + "/include";
}
-static bool failedCC(const char* id,
- std::vector<const char*> const& args,
- std::string const& out,
- std::string const& err,
+static bool failedCC(const char* id, std::vector<const char*> const& args,
+ std::string const& out, std::string const& err,
std::string const& msg)
{
std::cerr << "error: '--castxml-cc-" << id
<< "' compiler command failed:\n\n";
- for(std::vector<const char*>::const_iterator i = args.begin(),
- e = args.end(); i != e; ++i) {
+ for (std::vector<const char *>::const_iterator i = args.begin(),
+ e = args.end();
+ i != e; ++i) {
std::cerr << " '" << *i << "'";
}
std::cerr << "\n";
- if(!msg.empty()) {
+ if (!msg.empty()) {
std::cerr << msg << "\n";
} else {
std::cerr << out << "\n";
@@ -61,11 +60,10 @@ static void fixPredefines(Options& opts)
// Remove any detected conflicting definition of a Clang builtin macro.
std::string& pd = opts.Predefines;
std::string::size_type beg = 0;
- while ((beg = pd.find("#define __has", beg),
- beg != std::string::npos)) {
+ while ((beg = pd.find("#define __has", beg), beg != std::string::npos)) {
std::string::size_type end = pd.find('\n', beg);
if (end != std::string::npos) {
- pd.erase(beg, end+1 - beg);
+ pd.erase(beg, end + 1 - beg);
} else {
pd.erase(beg);
}
@@ -76,31 +74,28 @@ static void setTriple(Options& opts)
{
std::string const& pd = opts.Predefines;
llvm::Triple triple(llvm::sys::getDefaultTargetTriple());
- if(pd.find("#define __x86_64__ 1") != pd.npos ||
- pd.find("#define _M_X64 ") != pd.npos) {
+ if (pd.find("#define __x86_64__ 1") != pd.npos ||
+ pd.find("#define _M_X64 ") != pd.npos) {
triple.setArchName("x86_64");
- } else if(pd.find("#define __amd64__ 1") != pd.npos ||
- pd.find("#define _M_AMD64 ") != pd.npos) {
+ } else if (pd.find("#define __amd64__ 1") != pd.npos ||
+ pd.find("#define _M_AMD64 ") != pd.npos) {
triple.setArchName("amd64");
- } else if(pd.find("#define __i386__ 1") != pd.npos ||
- pd.find("#define _M_IX86 ") != pd.npos) {
+ } else if (pd.find("#define __i386__ 1") != pd.npos ||
+ pd.find("#define _M_IX86 ") != pd.npos) {
triple.setArchName("i386");
}
- if(pd.find("#define _WIN32 1") != pd.npos) {
+ if (pd.find("#define _WIN32 1") != pd.npos) {
triple.setVendorName("pc");
triple.setOSName("windows");
}
- if(pd.find("#define __MINGW32__ 1") != pd.npos) {
+ if (pd.find("#define __MINGW32__ 1") != pd.npos) {
triple.setEnvironmentName("gnu");
}
opts.Triple = triple.getTriple();
}
-static bool detectCC_GNU(const char* const* argBeg,
- const char* const* argEnd,
- Options& opts,
- const char* id,
- const char* ext)
+static bool detectCC_GNU(const char* const* argBeg, const char* const* argEnd,
+ Options& opts, const char* id, const char* ext)
{
std::string const fwExplicitSuffix = " (framework directory)";
std::string const fwImplicitSuffix = "/Frameworks";
@@ -114,33 +109,33 @@ static bool detectCC_GNU(const char* const* argBeg,
cc_args.push_back("-dM");
cc_args.push_back("-v");
cc_args.push_back(empty_cpp.c_str());
- if(runCommand(int(cc_args.size()), &cc_args[0], ret, out, err, msg) &&
- ret == 0) {
+ if (runCommand(int(cc_args.size()), &cc_args[0], ret, out, err, msg) &&
+ ret == 0) {
opts.Predefines = out;
const char* start_line = "#include <...> search starts here:";
- if(const char* c = strstr(err.c_str(), start_line)) {
- if((c = strchr(c, '\n'), c++)) {
- while(*c++ == ' ') {
- if(const char* e = strchr(c, '\n')) {
+ if (const char* c = strstr(err.c_str(), start_line)) {
+ if ((c = strchr(c, '\n'), c++)) {
+ while (*c++ == ' ') {
+ if (const char* e = strchr(c, '\n')) {
const char* s = c;
c = e + 1;
- if(*(e - 1) == '\r') {
+ if (*(e - 1) == '\r') {
--e;
}
- std::string inc(s, e-s);
+ std::string inc(s, e - s);
std::replace(inc.begin(), inc.end(), '\\', '/');
bool fw = ((inc.size() > fwExplicitSuffix.size()) &&
- (inc.substr(inc.size()-fwExplicitSuffix.size()) ==
+ (inc.substr(inc.size() - fwExplicitSuffix.size()) ==
fwExplicitSuffix));
- if(fw) {
- inc = inc.substr(0, inc.size()-fwExplicitSuffix.size());
+ if (fw) {
+ inc = inc.substr(0, inc.size() - fwExplicitSuffix.size());
} else {
fw = ((inc.size() > fwImplicitSuffix.size()) &&
- (inc.substr(inc.size()-fwImplicitSuffix.size()) ==
+ (inc.substr(inc.size() - fwImplicitSuffix.size()) ==
fwImplicitSuffix));
}
// Replace the compiler builtin include directory with ours.
- if (!fw && llvm::sys::fs::exists(inc+"/emmintrin.h")) {
+ if (!fw && llvm::sys::fs::exists(inc + "/emmintrin.h")) {
inc = getClangBuiltinIncludeDir();
}
opts.Includes.push_back(Options::Include(inc, fw));
@@ -156,11 +151,8 @@ static bool detectCC_GNU(const char* const* argBeg,
}
}
-static bool detectCC_MSVC(const char* const* argBeg,
- const char* const* argEnd,
- Options& opts,
- const char* id,
- const char* ext)
+static bool detectCC_MSVC(const char* const* argBeg, const char* const* argEnd,
+ Options& opts, const char* id, const char* ext)
{
std::vector<const char*> cc_args(argBeg, argEnd);
std::string detect_vs_cpp = getResourceDir() + "/detect_vs." + ext;
@@ -171,16 +163,16 @@ static bool detectCC_MSVC(const char* const* argBeg,
cc_args.push_back("-c");
cc_args.push_back("-FoNUL");
cc_args.push_back(detect_vs_cpp.c_str());
- if(runCommand(int(cc_args.size()), &cc_args[0], ret, out, err, msg) &&
- ret == 0) {
- if(const char* predefs = strstr(out.c_str(), "\n#define")) {
- opts.Predefines = predefs+1;
+ if (runCommand(int(cc_args.size()), &cc_args[0], ret, out, err, msg) &&
+ ret == 0) {
+ if (const char* predefs = strstr(out.c_str(), "\n#define")) {
+ opts.Predefines = predefs + 1;
}
- if(const char* includes_str = std::getenv("INCLUDE")) {
+ if (const char* includes_str = std::getenv("INCLUDE")) {
llvm::SmallVector<llvm::StringRef, 8> includes;
llvm::StringRef includes_ref(includes_str);
includes_ref.split(includes, ";", -1, false);
- for (llvm::StringRef i: includes) {
+ for (llvm::StringRef i : includes) {
if (!i.empty()) {
std::string inc = i;
std::replace(inc.begin(), inc.end(), '\\', '/');
@@ -196,10 +188,8 @@ static bool detectCC_MSVC(const char* const* argBeg,
}
}
-bool detectCC(const char* id,
- const char* const* argBeg,
- const char* const* argEnd,
- Options& opts)
+bool detectCC(const char* id, const char* const* argBeg,
+ const char* const* argEnd, Options& opts)
{
if (strcmp(id, "gnu") == 0) {
return detectCC_GNU(argBeg, argEnd, opts, id, "cpp");
diff --git a/src/Detect.h b/src/Detect.h
index 1877433..652d712 100644
--- a/src/Detect.h
+++ b/src/Detect.h
@@ -20,9 +20,7 @@ struct Options;
/// detectCC - Detect settings from given compiler command.
-bool detectCC(const char* id,
- const char* const* argBeg,
- const char* const* argEnd,
- Options& opts);
+bool detectCC(const char* id, const char* const* argBeg,
+ const char* const* argEnd, Options& opts);
#endif // CASTXML_DETECT_H
diff --git a/src/Options.h b/src/Options.h
index 34f5089..ab7f7ef 100644
--- a/src/Options.h
+++ b/src/Options.h
@@ -22,16 +22,26 @@
struct Options
{
- Options(): PPOnly(false), GccXml(false), HaveCC(false),
- HaveStd(false), HaveTarget(false) {}
+ Options()
+ : PPOnly(false)
+ , GccXml(false)
+ , HaveCC(false)
+ , HaveStd(false)
+ , HaveTarget(false)
+ {
+ }
bool PPOnly;
bool GccXml;
bool HaveCC;
bool HaveStd;
bool HaveTarget;
- struct Include {
- Include(std::string const& d, bool f = false):
- Directory(d), Framework(f) {}
+ struct Include
+ {
+ Include(std::string const& d, bool f = false)
+ : Directory(d)
+ , Framework(f)
+ {
+ }
std::string Directory;
bool Framework;
};
diff --git a/src/Output.cxx b/src/Output.cxx
index 32ce4b8..55e9ee5 100644
--- a/src/Output.cxx
+++ b/src/Output.cxx
@@ -49,12 +49,17 @@ protected:
clang::ASTContext const& CTX;
llvm::raw_ostream& OS;
- ASTVisitorBase(clang::CompilerInstance& ci,
- clang::ASTContext const& ctx,
- llvm::raw_ostream& os): CI(ci), CTX(ctx), OS(os) {}
+ ASTVisitorBase(clang::CompilerInstance& ci, clang::ASTContext const& ctx,
+ llvm::raw_ostream& os)
+ : CI(ci)
+ , CTX(ctx)
+ , OS(os)
+ {
+ }
// Represent cv qualifier state of one dump node.
- struct DumpQual {
+ struct DumpQual
+ {
private:
typedef void (DumpQual::*bool_type)() const;
void bool_true() const {}
@@ -62,12 +67,20 @@ protected:
bool IsConst;
bool IsVolatile;
bool IsRestrict;
- DumpQual(): IsConst(false), IsVolatile(false), IsRestrict(false) {}
- operator bool_type() const {
- return (this->IsConst || this->IsVolatile || this->IsRestrict)?
- &DumpQual::bool_true : nullptr;
+ DumpQual()
+ : IsConst(false)
+ , IsVolatile(false)
+ , IsRestrict(false)
+ {
}
- friend bool operator < (DumpQual const& l, DumpQual const& r) {
+ operator bool_type() const
+ {
+ return (this->IsConst || this->IsVolatile || this->IsRestrict)
+ ? &DumpQual::bool_true
+ : nullptr;
+ }
+ friend bool operator<(DumpQual const& l, DumpQual const& r)
+ {
if (!l.IsConst && r.IsConst) {
return true;
} else if (l.IsConst && !r.IsConst) {
@@ -84,28 +97,39 @@ protected:
return false;
}
}
- friend llvm::raw_ostream& operator << (llvm::raw_ostream& os,
- DumpQual const& dq) {
- return os << (dq.IsConst? "c":"")
- << (dq.IsVolatile? "v":"")
- << (dq.IsRestrict? "r":"");
+ friend llvm::raw_ostream& operator<<(llvm::raw_ostream& os,
+ DumpQual const& dq)
+ {
+ return os << (dq.IsConst ? "c" : "") << (dq.IsVolatile ? "v" : "")
+ << (dq.IsRestrict ? "r" : "");
}
};
// Represent id of one dump node.
- struct DumpId {
+ struct DumpId
+ {
private:
typedef void (DumpId::*bool_type)() const;
void bool_true() const {}
public:
unsigned int Id;
DumpQual Qual;
- DumpId(): Id(0), Qual() {}
- DumpId(unsigned int id, DumpQual dq): Id(id), Qual(dq) {}
- operator bool_type() const {
- return this->Id != 0? &DumpId::bool_true : nullptr;
+ DumpId()
+ : Id(0)
+ , Qual()
+ {
+ }
+ DumpId(unsigned int id, DumpQual dq)
+ : Id(id)
+ , Qual(dq)
+ {
}
- friend bool operator < (DumpId const& l, DumpId const& r) {
+ operator bool_type() const
+ {
+ return this->Id != 0 ? &DumpId::bool_true : nullptr;
+ }
+ friend bool operator<(DumpId const& l, DumpId const& r)
+ {
if (l.Id < r.Id) {
return true;
} else if (l.Id > r.Id) {
@@ -114,15 +138,21 @@ protected:
return l.Qual < r.Qual;
}
}
- friend llvm::raw_ostream& operator << (llvm::raw_ostream& os,
- DumpId const& id) {
+ friend llvm::raw_ostream& operator<<(llvm::raw_ostream& os,
+ DumpId const& id)
+ {
return os << id.Id << id.Qual;
}
};
// Record status of one AST node to be dumped.
- struct DumpNode {
- DumpNode(): Index(), Complete(false) {}
+ struct DumpNode
+ {
+ DumpNode()
+ : Index()
+ , Complete(false)
+ {
+ }
// Index in nodes ordered by first encounter.
DumpId Index;
@@ -131,30 +161,34 @@ protected:
bool Complete;
};
- // Report all decl nodes as unimplemented until overridden.
+// Report all decl nodes as unimplemented until overridden.
#define ABSTRACT_DECL(DECL)
-#define DECL(CLASS, BASE) \
- void Output##CLASS##Decl(clang::CLASS##Decl const* d, DumpNode const* dn) { \
- this->OutputUnimplementedDecl(d, dn); \
+#define DECL(CLASS, BASE) \
+ void Output##CLASS##Decl(clang::CLASS##Decl const* d, DumpNode const* dn) \
+ { \
+ this->OutputUnimplementedDecl(d, dn); \
}
#include "clang/AST/DeclNodes.inc"
- void OutputUnimplementedDecl(clang::Decl const* d, DumpNode const* dn) {
+ void OutputUnimplementedDecl(clang::Decl const* d, DumpNode const* dn)
+ {
/* clang-format off */
this->OS << " <Unimplemented id=\"_" << dn->Index
<< "\" kind=\"" << encodeXML(d->getDeclKindName()) << "\"/>\n";
/* clang-format on */
}
- // Report all type nodes as unimplemented until overridden.
+// Report all type nodes as unimplemented until overridden.
#define ABSTRACT_TYPE(CLASS, BASE)
-#define TYPE(CLASS, BASE) \
- void Output##CLASS##Type(clang::CLASS##Type const* t, DumpNode const* dn) { \
- this->OutputUnimplementedType(t, dn); \
- }
+#define TYPE(CLASS, BASE) \
+ void Output##CLASS##Type(clang::CLASS##Type const* t, DumpNode const* dn) \
+ { \
+ this->OutputUnimplementedType(t, dn); \
+ }
#include "clang/AST/TypeNodes.def"
- void OutputUnimplementedType(clang::Type const* t, DumpNode const* dn) {
+ void OutputUnimplementedType(clang::Type const* t, DumpNode const* dn)
+ {
/* clang-format off */
this->OS << " <Unimplemented id=\"_" << dn->Index
<< "\" type_class=\"" << encodeXML(t->getTypeClassName())
@@ -163,47 +197,74 @@ protected:
}
};
-class ASTVisitor: public ASTVisitorBase
+class ASTVisitor : public ASTVisitorBase
{
// Store a type to be visited, possibly as a record member.
- struct DumpType {
- DumpType(): Type(), Class(0) {}
- DumpType(clang::QualType t, clang::Type const* c = 0): Type(t), Class(c) {}
- friend bool operator < (DumpType const& l, DumpType const& r) {
+ struct DumpType
+ {
+ DumpType()
+ : Type()
+ , Class(0)
+ {
+ }
+ DumpType(clang::QualType t, clang::Type const* c = 0)
+ : Type(t)
+ , Class(c)
+ {
+ }
+ friend bool operator<(DumpType const& l, DumpType const& r)
+ {
// Order by pointer value without discarding low-order
// bits used to encode qualifiers.
void const* lpp = &l.Type;
void const* rpp = &r.Type;
void const* lpv = *static_cast<void const* const*>(lpp);
void const* rpv = *static_cast<void const* const*>(rpp);
- if(lpv < rpv) {
+ if (lpv < rpv) {
return true;
- } else if(lpv > rpv) {
+ } else if (lpv > rpv) {
return false;
} else {
return l.Class < r.Class;
}
}
- clang::QualType Type;
+ clang::QualType Type;
clang::Type const* Class;
};
// Store an entry in the node traversal queue.
- struct QueueEntry {
+ struct QueueEntry
+ {
// Available node kinds.
- enum Kinds {
+ enum Kinds
+ {
KindQual,
KindDecl,
KindType
};
- QueueEntry(DumpNode const* dn):
- Kind(KindQual), Decl(nullptr), Type(), DN(dn) {}
- QueueEntry(clang::Decl const* d, DumpNode const* dn):
- Kind(KindDecl), Decl(d), Type(), DN(dn) {}
- QueueEntry(DumpType t, DumpNode const* dn):
- Kind(KindType), Decl(nullptr), Type(t), DN(dn) {}
+ QueueEntry(DumpNode const* dn)
+ : Kind(KindQual)
+ , Decl(nullptr)
+ , Type()
+ , DN(dn)
+ {
+ }
+ QueueEntry(clang::Decl const* d, DumpNode const* dn)
+ : Kind(KindDecl)
+ , Decl(d)
+ , Type()
+ , DN(dn)
+ {
+ }
+ QueueEntry(DumpType t, DumpNode const* dn)
+ : Kind(KindType)
+ , Decl(nullptr)
+ , Type(t)
+ , DN(dn)
+ {
+ }
// Kind of node at this entry.
Kinds Kind;
@@ -217,32 +278,36 @@ class ASTVisitor: public ASTVisitorBase
// The dump status for this node.
DumpNode const* DN;
- friend bool operator < (QueueEntry const& l, QueueEntry const& r) {
+ friend bool operator<(QueueEntry const& l, QueueEntry const& r)
+ {
return l.DN->Index < r.DN->Index;
}
};
- class PrinterHelper: public clang::PrinterHelper {
+ class PrinterHelper : public clang::PrinterHelper
+ {
ASTVisitor& Visitor;
+
public:
- PrinterHelper(ASTVisitor& v): Visitor(v) {}
- bool handledStmt(clang::Stmt* s, llvm::raw_ostream& os) override {
+ PrinterHelper(ASTVisitor& v)
+ : Visitor(v)
+ {
+ }
+ bool handledStmt(clang::Stmt* s, llvm::raw_ostream& os) override
+ {
return this->Visitor.PrintHelpStmt(s, os);
}
};
/** Get the dump status node for a Clang declaration. */
- DumpNode* GetDumpNode(clang::Decl const* d) {
- return &this->DeclNodes[d];
- }
+ DumpNode* GetDumpNode(clang::Decl const* d) { return &this->DeclNodes[d]; }
/** Get the dump status node for a Clang type. */
- DumpNode* GetDumpNode(DumpType t) {
- return &this->TypeNodes[t];
- }
+ DumpNode* GetDumpNode(DumpType t) { return &this->TypeNodes[t]; }
/** Get the dump status node for a qualified DumpId. */
- DumpNode* GetDumpNode(DumpId id) {
+ DumpNode* GetDumpNode(DumpId id)
+ {
assert(id.Qual);
return &this->QualNodes[id];
}
@@ -260,7 +325,8 @@ class ASTVisitor: public ASTVisitorBase
DumpId AddQualDumpNode(DumpId id);
/** Helper common to AddDeclDumpNode and AddTypeDumpNode. */
- template <typename K> DumpId AddDumpNodeImpl(K k, bool complete);
+ template <typename K>
+ DumpId AddDumpNodeImpl(K k, bool complete);
/** Allocate a dump node for a source file entry. */
unsigned int AddDumpFile(clang::FileEntry const* f);
@@ -385,13 +451,14 @@ class ASTVisitor: public ASTVisitorBase
/** Flags used by function output methods to pass information
to the OutputFunctionHelper method. */
- enum FunctionHelperFlags {
- FH_Returns = (1<<0),
- FH_Static = (1<<1),
- FH_Explicit = (1<<2),
- FH_Const = (1<<3),
- FH_Virtual = (1<<4),
- FH_Pure = (1<<5),
+ enum FunctionHelperFlags
+ {
+ FH_Returns = (1 << 0),
+ FH_Static = (1 << 1),
+ FH_Explicit = (1 << 2),
+ FH_Const = (1 << 3),
+ FH_Virtual = (1 << 4),
+ FH_Pure = (1 << 5),
FH__Last
};
@@ -516,17 +583,17 @@ private:
std::queue<clang::FileEntry const*> FileQueue;
public:
- ASTVisitor(clang::CompilerInstance& ci,
- clang::ASTContext& ctx,
- llvm::raw_ostream& os,
- Options const& opts):
- ASTVisitorBase(ci, ctx, os),
- Opts(opts),
- NodeCount(0), FileCount(0),
- FileBuiltin(false),
- RequireComplete(true),
- MangleContext(ctx.createMangleContext()),
- PrintingPolicy(ctx.getPrintingPolicy()) {
+ ASTVisitor(clang::CompilerInstance& ci, clang::ASTContext& ctx,
+ llvm::raw_ostream& os, Options const& opts)
+ : ASTVisitorBase(ci, ctx, os)
+ , Opts(opts)
+ , NodeCount(0)
+ , FileCount(0)
+ , FileBuiltin(false)
+ , RequireComplete(true)
+ , MangleContext(ctx.createMangleContext())
+ , PrintingPolicy(ctx.getPrintingPolicy())
+ {
this->PrintingPolicy.SuppressUnwrittenScope = true;
}
@@ -536,29 +603,30 @@ public:
};
ASTVisitor::DumpId ASTVisitor::AddDeclDumpNode(clang::Decl const* d,
- bool complete, bool forType) {
+ bool complete, bool forType)
+{
// Select the definition or canonical declaration.
d = d->getCanonicalDecl();
- if(clang::RecordDecl const* rd = clang::dyn_cast<clang::RecordDecl>(d)) {
- if(clang::RecordDecl const* rdd = rd->getDefinition()) {
+ if (clang::RecordDecl const* rd = clang::dyn_cast<clang::RecordDecl>(d)) {
+ if (clang::RecordDecl const* rdd = rd->getDefinition()) {
d = rdd;
}
}
// Replace some decls with those they reference.
switch (d->getKind()) {
- case clang::Decl::UsingShadow:
- return this->AddDeclDumpNode(
- static_cast<clang::UsingShadowDecl const*>(d)->getTargetDecl(),
- complete, forType);
- case clang::Decl::LinkageSpec: {
- clang::DeclContext const* dc =
- static_cast<clang::LinkageSpecDecl const*>(d)->getDeclContext();
- return this->AddDeclDumpNode(clang::Decl::castFromDeclContext(dc),
- complete, forType);
- } break;
- default:
- break;
+ case clang::Decl::UsingShadow:
+ return this->AddDeclDumpNode(
+ static_cast<clang::UsingShadowDecl const*>(d)->getTargetDecl(),
+ complete, forType);
+ case clang::Decl::LinkageSpec: {
+ clang::DeclContext const* dc =
+ static_cast<clang::LinkageSpecDecl const*>(d)->getDeclContext();
+ return this->AddDeclDumpNode(clang::Decl::castFromDeclContext(dc),
+ complete, forType);
+ } break;
+ default:
+ break;
}
// Skip invalid declarations that are not needed for a type element.
@@ -569,7 +637,7 @@ ASTVisitor::DumpId ASTVisitor::AddDeclDumpNode(clang::Decl const* d,
// Skip C++11 declarations gccxml does not support.
if (this->Opts.GccXml) {
if (clang::FunctionDecl const* fd =
- clang::dyn_cast<clang::FunctionDecl>(d)) {
+ clang::dyn_cast<clang::FunctionDecl>(d)) {
if (fd->isDeleted()) {
return DumpId();
}
@@ -579,14 +647,15 @@ ASTVisitor::DumpId ASTVisitor::AddDeclDumpNode(clang::Decl const* d,
}
if (clang::FunctionProtoType const* fpt =
- fd->getType()->getAs<clang::FunctionProtoType>()) {
+ fd->getType()->getAs<clang::FunctionProtoType>()) {
if (fpt->getReturnType()->isRValueReferenceType()) {
return DumpId();
}
for (clang::FunctionProtoType::param_type_iterator
- i = fpt->param_type_begin(), e = fpt->param_type_end();
+ i = fpt->param_type_begin(),
+ e = fpt->param_type_end();
i != e; ++i) {
- if((*i)->isRValueReferenceType()) {
+ if ((*i)->isRValueReferenceType()) {
return DumpId();
}
}
@@ -602,7 +671,7 @@ ASTVisitor::DumpId ASTVisitor::AddDeclDumpNode(clang::Decl const* d,
}
if (clang::TypedefDecl const* td =
- clang::dyn_cast<clang::TypedefDecl>(d)) {
+ clang::dyn_cast<clang::TypedefDecl>(d)) {
if (td->getUnderlyingType()->isRValueReferenceType()) {
return DumpId();
}
@@ -614,7 +683,8 @@ ASTVisitor::DumpId ASTVisitor::AddDeclDumpNode(clang::Decl const* d,
ASTVisitor::DumpId ASTVisitor::AddDeclDumpNodeForType(clang::Decl const* d,
bool complete,
- DumpQual dq) {
+ DumpQual dq)
+{
// Get the id for the canonical decl.
DumpId id = this->AddDeclDumpNode(d, complete, true);
@@ -628,12 +698,13 @@ ASTVisitor::DumpId ASTVisitor::AddDeclDumpNodeForType(clang::Decl const* d,
}
ASTVisitor::DumpId ASTVisitor::AddTypeDumpNode(DumpType dt, bool complete,
- DumpQual dq) {
+ DumpQual dq)
+{
clang::QualType t = dt.Type;
clang::Type const* c = dt.Class;
// Extract local qualifiers and recurse with locally unqualified type.
- if(t.hasLocalQualifiers()) {
+ if (t.hasLocalQualifiers()) {
dq.IsConst = dq.IsConst || t.isLocalConstQualified();
dq.IsVolatile = dq.IsVolatile || t.isLocalVolatileQualified();
dq.IsRestrict = dq.IsRestrict || t.isLocalRestrictQualified();
@@ -643,72 +714,74 @@ ASTVisitor::DumpId ASTVisitor::AddTypeDumpNode(DumpType dt, bool complete,
// Replace some types with their decls.
switch (t->getTypeClass()) {
- case clang::Type::Adjusted:
- return this->AddTypeDumpNode(DumpType(
- t->getAs<clang::AdjustedType>()->getAdjustedType(), c),
- complete, dq);
- case clang::Type::Attributed:
- return this->AddTypeDumpNode(DumpType(
- t->getAs<clang::AttributedType>()->getEquivalentType(), c),
- complete, dq);
- case clang::Type::Decayed:
- return this->AddTypeDumpNode(DumpType(
- t->getAs<clang::DecayedType>()->getDecayedType(), c),
- complete, dq);
- case clang::Type::Elaborated:
- return this->AddTypeDumpNode(DumpType(
- t->getAs<clang::ElaboratedType>()->getNamedType(), c),
- complete, dq);
- case clang::Type::Enum:
- return this->AddDeclDumpNodeForType(
- t->getAs<clang::EnumType>()->getDecl(), complete, dq);
- case clang::Type::Paren:
- return this->AddTypeDumpNode(DumpType(
- t->getAs<clang::ParenType>()->getInnerType(), c),
- complete, dq);
- case clang::Type::Record:
- return this->AddDeclDumpNodeForType(
- t->getAs<clang::RecordType>()->getDecl(), complete, dq);
- case clang::Type::SubstTemplateTypeParm:
- return this->AddTypeDumpNode(DumpType(
- t->getAs<clang::SubstTemplateTypeParmType>()->getReplacementType(), c),
- complete, dq);
- case clang::Type::TemplateSpecialization: {
- clang::TemplateSpecializationType const* tst =
- t->getAs<clang::TemplateSpecializationType>();
- if(tst->isSugared()) {
- return this->AddTypeDumpNode(DumpType(tst->desugar(), c),
- complete, dq);
- }
- } break;
- case clang::Type::Typedef: {
- clang::TypedefType const* tdt = t->getAs<clang::TypedefType>();
- if(!tdt->isInstantiationDependentType() && tdt->isSugared()) {
- // Make sure all containing contexts are not templates.
- clang::Decl const* d = tdt->getDecl();
- while (clang::DeclContext const* tdc = d->getDeclContext()) {
- if (clang::CXXRecordDecl const* tdx =
- clang::dyn_cast<clang::CXXRecordDecl>(tdc)) {
- d = tdx;
- if (tdx->getDescribedClassTemplate() ||
- clang::isa<clang::ClassTemplatePartialSpecializationDecl>(tdx)
- ) {
- // This TypedefType refers to a non-dependent
- // TypedefDecl member of a class template. Since gccxml
- // format does not include uninstantiated templates we
- // must use the desugared type so that we do not end up
- // referencing a class template as context.
- return this->AddTypeDumpNode(tdt->desugar(), complete, dq);
+ case clang::Type::Adjusted:
+ return this->AddTypeDumpNode(
+ DumpType(t->getAs<clang::AdjustedType>()->getAdjustedType(), c),
+ complete, dq);
+ case clang::Type::Attributed:
+ return this->AddTypeDumpNode(
+ DumpType(t->getAs<clang::AttributedType>()->getEquivalentType(), c),
+ complete, dq);
+ case clang::Type::Decayed:
+ return this->AddTypeDumpNode(
+ DumpType(t->getAs<clang::DecayedType>()->getDecayedType(), c),
+ complete, dq);
+ case clang::Type::Elaborated:
+ return this->AddTypeDumpNode(
+ DumpType(t->getAs<clang::ElaboratedType>()->getNamedType(), c),
+ complete, dq);
+ case clang::Type::Enum:
+ return this->AddDeclDumpNodeForType(
+ t->getAs<clang::EnumType>()->getDecl(), complete, dq);
+ case clang::Type::Paren:
+ return this->AddTypeDumpNode(
+ DumpType(t->getAs<clang::ParenType>()->getInnerType(), c), complete,
+ dq);
+ case clang::Type::Record:
+ return this->AddDeclDumpNodeForType(
+ t->getAs<clang::RecordType>()->getDecl(), complete, dq);
+ case clang::Type::SubstTemplateTypeParm:
+ return this->AddTypeDumpNode(
+ DumpType(
+ t->getAs<clang::SubstTemplateTypeParmType>()->getReplacementType(),
+ c),
+ complete, dq);
+ case clang::Type::TemplateSpecialization: {
+ clang::TemplateSpecializationType const* tst =
+ t->getAs<clang::TemplateSpecializationType>();
+ if (tst->isSugared()) {
+ return this->AddTypeDumpNode(DumpType(tst->desugar(), c), complete,
+ dq);
+ }
+ } break;
+ case clang::Type::Typedef: {
+ clang::TypedefType const* tdt = t->getAs<clang::TypedefType>();
+ if (!tdt->isInstantiationDependentType() && tdt->isSugared()) {
+ // Make sure all containing contexts are not templates.
+ clang::Decl const* d = tdt->getDecl();
+ while (clang::DeclContext const* tdc = d->getDeclContext()) {
+ if (clang::CXXRecordDecl const* tdx =
+ clang::dyn_cast<clang::CXXRecordDecl>(tdc)) {
+ d = tdx;
+ if (tdx->getDescribedClassTemplate() ||
+ clang::isa<clang::ClassTemplatePartialSpecializationDecl>(
+ tdx)) {
+ // This TypedefType refers to a non-dependent
+ // TypedefDecl member of a class template. Since gccxml
+ // format does not include uninstantiated templates we
+ // must use the desugared type so that we do not end up
+ // referencing a class template as context.
+ return this->AddTypeDumpNode(tdt->desugar(), complete, dq);
+ }
+ } else {
+ break;
}
- } else {
- break;
}
}
- }
- return this->AddDeclDumpNodeForType(tdt->getDecl(), complete, dq);
- } break;
- default:
- break;
+ return this->AddDeclDumpNodeForType(tdt->getDecl(), complete, dq);
+ } break;
+ default:
+ break;
}
// Get the id for the fully desugared, unqualified type.
@@ -723,7 +796,8 @@ ASTVisitor::DumpId ASTVisitor::AddTypeDumpNode(DumpType dt, bool complete,
return id;
}
-ASTVisitor::DumpId ASTVisitor::AddQualDumpNode(DumpId id) {
+ASTVisitor::DumpId ASTVisitor::AddQualDumpNode(DumpId id)
+{
DumpNode* dn = this->GetDumpNode(id);
if (!dn->Index) {
dn->Index = id;
@@ -741,7 +815,7 @@ ASTVisitor::DumpId ASTVisitor::AddDumpNodeImpl(K k, bool complete)
DumpNode* dn = this->GetDumpNode(k);
if (dn->Index) {
// Node was already encountered. See if it is now complete.
- if(complete && !dn->Complete) {
+ if (complete && !dn->Complete) {
// Node is now complete, but wasn't before. Queue it.
dn->Complete = true;
this->Queue.insert(QueueEntry(k, dn));
@@ -750,7 +824,7 @@ ASTVisitor::DumpId ASTVisitor::AddDumpNodeImpl(K k, bool complete)
// This is a new node. Assign it an index.
dn->Index.Id = ++this->NodeCount;
dn->Complete = complete;
- if(complete || !this->RequireComplete) {
+ if (complete || !this->RequireComplete) {
// Node is complete. Queue it.
this->Queue.insert(QueueEntry(k, dn));
}
@@ -762,7 +836,7 @@ ASTVisitor::DumpId ASTVisitor::AddDumpNodeImpl(K k, bool complete)
unsigned int ASTVisitor::AddDumpFile(clang::FileEntry const* f)
{
unsigned int& index = this->FileNodes[f];
- if(index == 0) {
+ if (index == 0) {
index = ++this->FileCount;
this->FileQueue.push(f);
}
@@ -773,11 +847,12 @@ void ASTVisitor::AddClassTemplateDecl(clang::ClassTemplateDecl const* d,
std::set<DumpId>* emitted)
{
// Queue all the instantiations of this class template.
- for(clang::ClassTemplateDecl::spec_iterator i = d->spec_begin(),
- e = d->spec_end(); i != e; ++i) {
+ for (clang::ClassTemplateDecl::spec_iterator i = d->spec_begin(),
+ e = d->spec_end();
+ i != e; ++i) {
clang::CXXRecordDecl const* rd = *i;
DumpId id = this->AddDeclDumpNode(rd, true);
- if(id && emitted) {
+ if (id && emitted) {
emitted->insert(id);
}
}
@@ -787,11 +862,12 @@ void ASTVisitor::AddFunctionTemplateDecl(clang::FunctionTemplateDecl const* d,
std::set<DumpId>* emitted)
{
// Queue all the instantiations of this function template.
- for(clang::FunctionTemplateDecl::spec_iterator i = d->spec_begin(),
- e = d->spec_end(); i != e; ++i) {
+ for (clang::FunctionTemplateDecl::spec_iterator i = d->spec_begin(),
+ e = d->spec_end();
+ i != e; ++i) {
clang::FunctionDecl const* fd = *i;
DumpId id = this->AddDeclDumpNode(fd, true);
- if(id && emitted) {
+ if (id && emitted) {
emitted->insert(id);
}
}
@@ -802,12 +878,13 @@ void ASTVisitor::AddDeclContextMembers(clang::DeclContext const* dc,
{
bool const isTranslationUnit = clang::isa<clang::TranslationUnitDecl>(dc);
- for(clang::DeclContext::decl_iterator i = dc->decls_begin(),
- e = dc->decls_end(); i != e; ++i) {
+ for (clang::DeclContext::decl_iterator i = dc->decls_begin(),
+ e = dc->decls_end();
+ i != e; ++i) {
clang::Decl const* d = *i;
// Skip declarations that are not really members of this context.
- if(d->getDeclContext() != dc) {
+ if (d->getDeclContext() != dc) {
continue;
}
@@ -824,60 +901,60 @@ void ASTVisitor::AddDeclContextMembers(clang::DeclContext const* dc,
// Ignore certain members.
switch (d->getKind()) {
- case clang::Decl::CXXRecord: {
- clang::CXXRecordDecl const* rd =
- static_cast<clang::CXXRecordDecl const*>(d);
- if (rd->isInjectedClassName()) {
+ case clang::Decl::CXXRecord: {
+ clang::CXXRecordDecl const* rd =
+ static_cast<clang::CXXRecordDecl const*>(d);
+ if (rd->isInjectedClassName()) {
+ continue;
+ }
+ } break;
+ case clang::Decl::AccessSpec: {
continue;
- }
- } break;
- case clang::Decl::AccessSpec: {
- continue;
- } break;
- case clang::Decl::ClassTemplate: {
- this->AddClassTemplateDecl(
- static_cast<clang::ClassTemplateDecl const*>(d), &emitted);
- continue;
- } break;
- case clang::Decl::ClassTemplatePartialSpecialization: {
- continue;
- } break;
- case clang::Decl::Empty: {
- continue;
- } break;
- case clang::Decl::Friend: {
- continue;
- } break;
- case clang::Decl::FunctionTemplate: {
- this->AddFunctionTemplateDecl(
- static_cast<clang::FunctionTemplateDecl const*>(d), &emitted);
- continue;
- } break;
- case clang::Decl::LinkageSpec: {
- this->AddDeclContextMembers(
- static_cast<clang::LinkageSpecDecl const*>(d), emitted);
- continue;
- } break;
- case clang::Decl::Namespace: {
- clang::NamespaceDecl const* nd =
- static_cast<clang::NamespaceDecl const*>(d);
- if (nd->isInline()) {
- this->AddDeclContextMembers(nd, emitted);
+ } break;
+ case clang::Decl::ClassTemplate: {
+ this->AddClassTemplateDecl(
+ static_cast<clang::ClassTemplateDecl const*>(d), &emitted);
continue;
- }
- } break;
- case clang::Decl::Using: {
- continue;
- } break;
- case clang::Decl::UsingDirective: {
- continue;
- } break;
- default:
- break;
+ } break;
+ case clang::Decl::ClassTemplatePartialSpecialization: {
+ continue;
+ } break;
+ case clang::Decl::Empty: {
+ continue;
+ } break;
+ case clang::Decl::Friend: {
+ continue;
+ } break;
+ case clang::Decl::FunctionTemplate: {
+ this->AddFunctionTemplateDecl(
+ static_cast<clang::FunctionTemplateDecl const*>(d), &emitted);
+ continue;
+ } break;
+ case clang::Decl::LinkageSpec: {
+ this->AddDeclContextMembers(
+ static_cast<clang::LinkageSpecDecl const*>(d), emitted);
+ continue;
+ } break;
+ case clang::Decl::Namespace: {
+ clang::NamespaceDecl const* nd =
+ static_cast<clang::NamespaceDecl const*>(d);
+ if (nd->isInline()) {
+ this->AddDeclContextMembers(nd, emitted);
+ continue;
+ }
+ } break;
+ case clang::Decl::Using: {
+ continue;
+ } break;
+ case clang::Decl::UsingDirective: {
+ continue;
+ } break;
+ default:
+ break;
}
// Queue this decl and print its id.
- if(DumpId id = this->AddDeclDumpNode(d, true)) {
+ if (DumpId id = this->AddDeclDumpNode(d, true)) {
emitted.insert(id);
}
}
@@ -886,46 +963,49 @@ void ASTVisitor::AddDeclContextMembers(clang::DeclContext const* dc,
void ASTVisitor::AddStartDecl(clang::Decl const* d)
{
switch (d->getKind()) {
- case clang::Decl::ClassTemplate:
- this->AddClassTemplateDecl(
- static_cast<clang::ClassTemplateDecl const*>(d));
- break;
- case clang::Decl::FunctionTemplate:
- this->AddFunctionTemplateDecl(
- static_cast<clang::FunctionTemplateDecl const*>(d));
- break;
- case clang::Decl::Namespace: {
- if (!static_cast<clang::NamespaceDecl const*>(d)->isInline()) {
- this->AddDeclDumpNode(d, true);
- }
- } break;
- case clang::Decl::Using: {
+ case clang::Decl::ClassTemplate:
+ this->AddClassTemplateDecl(
+ static_cast<clang::ClassTemplateDecl const*>(d));
+ break;
+ case clang::Decl::FunctionTemplate:
+ this->AddFunctionTemplateDecl(
+ static_cast<clang::FunctionTemplateDecl const*>(d));
+ break;
+ case clang::Decl::Namespace: {
+ if (!static_cast<clang::NamespaceDecl const*>(d)->isInline()) {
+ this->AddDeclDumpNode(d, true);
+ }
+ } break;
+ case clang::Decl::Using: {
clang::UsingDecl const* ud = static_cast<clang::UsingDecl const*>(d);
- for(clang::UsingDecl::shadow_iterator i = ud->shadow_begin(),
- e = ud->shadow_end(); i != e; ++i) {
+ for (clang::UsingDecl::shadow_iterator i = ud->shadow_begin(),
+ e = ud->shadow_end();
+ i != e; ++i) {
this->AddDeclDumpNode(*i, true);
}
- } break;
- default:
- this->AddDeclDumpNode(d, true);
- break;
+ } break;
+ default:
+ this->AddDeclDumpNode(d, true);
+ break;
}
}
void ASTVisitor::QueueIncompleteDumpNodes()
{
// Queue declaration nodes that do not need complete output.
- for(DeclNodesMap::const_iterator i = this->DeclNodes.begin(),
- e = this->DeclNodes.end(); i != e; ++i) {
- if(!i->second.Complete) {
+ for (DeclNodesMap::const_iterator i = this->DeclNodes.begin(),
+ e = this->DeclNodes.end();
+ i != e; ++i) {
+ if (!i->second.Complete) {
this->Queue.insert(QueueEntry(i->first, &i->second));
}
}
// Queue type nodes that do not need complete output.
- for(TypeNodesMap::const_iterator i = this->TypeNodes.begin(),
- e = this->TypeNodes.end(); i != e; ++i) {
- if(!i->second.Complete) {
+ for (TypeNodesMap::const_iterator i = this->TypeNodes.begin(),
+ e = this->TypeNodes.end();
+ i != e; ++i) {
+ if (!i->second.Complete) {
this->Queue.insert(QueueEntry(i->first, &i->second));
}
}
@@ -934,33 +1014,33 @@ void ASTVisitor::QueueIncompleteDumpNodes()
void ASTVisitor::ProcessQueue()
{
// Dispatch each entry in the queue based on its node kind.
- while(!this->Queue.empty()) {
+ while (!this->Queue.empty()) {
QueueEntry qe = *this->Queue.begin();
this->Queue.erase(this->Queue.begin());
- switch(qe.Kind) {
- case QueueEntry::KindQual:
- this->OutputCvQualifiedType(qe.DN);
- break;
- case QueueEntry::KindDecl:
- this->OutputDecl(qe.Decl, qe.DN);
- break;
- case QueueEntry::KindType:
- this->OutputType(qe.Type, qe.DN);
- break;
+ switch (qe.Kind) {
+ case QueueEntry::KindQual:
+ this->OutputCvQualifiedType(qe.DN);
+ break;
+ case QueueEntry::KindDecl:
+ this->OutputDecl(qe.Decl, qe.DN);
+ break;
+ case QueueEntry::KindType:
+ this->OutputType(qe.Type, qe.DN);
+ break;
}
}
}
void ASTVisitor::ProcessFileQueue()
{
- if(this->FileBuiltin) {
+ if (this->FileBuiltin) {
/* clang-format off */
this->OS <<
" <File id=\"f0\" name=\"" << encodeXML("<builtin>") << "\"/>\n"
;
/* clang-format on */
}
- while(!this->FileQueue.empty()) {
+ while (!this->FileQueue.empty()) {
clang::FileEntry const* f = this->FileQueue.front();
this->FileQueue.pop();
/* clang-format off */
@@ -979,10 +1059,9 @@ void ASTVisitor::OutputDecl(clang::Decl const* d, DumpNode const* dn)
// Dispatch output of the declaration.
switch (d->getKind()) {
#define ABSTRACT_DECL(DECL)
-#define DECL(CLASS, BASE) \
- case clang::Decl::CLASS: \
- this->Output##CLASS##Decl( \
- static_cast<clang::CLASS##Decl const*>(d), dn); \
+#define DECL(CLASS, BASE) \
+ case clang::Decl::CLASS: \
+ this->Output##CLASS##Decl(static_cast<clang::CLASS##Decl const*>(d), dn); \
break;
#include "clang/AST/DeclNodes.inc"
}
@@ -993,18 +1072,18 @@ void ASTVisitor::OutputType(DumpType dt, DumpNode const* dn)
clang::QualType t = dt.Type;
clang::Type const* c = dt.Class;
- if(c) {
+ if (c) {
// Output the method type.
this->OutputMethodType(t->getAs<clang::FunctionProtoType>(), c, dn);
} else {
// Dispatch output of the unqualified type.
switch (t->getTypeClass()) {
#define ABSTRACT_TYPE(CLASS, BASE)
-#define TYPE(CLASS, BASE) \
- case clang::Type::CLASS: \
- this->Output##CLASS##Type( \
- static_cast<clang::CLASS##Type const*>(t.getTypePtr()), dn); \
- break;
+#define TYPE(CLASS, BASE) \
+ case clang::Type::CLASS: \
+ this->Output##CLASS##Type( \
+ static_cast<clang::CLASS##Type const*>(t.getTypePtr()), dn); \
+ break;
#include "clang/AST/TypeNodes.def"
}
}
@@ -1040,7 +1119,7 @@ ASTVisitor::DumpId ASTVisitor::GetContextIdRef(clang::DeclContext const* dc)
dc = dc->getParent();
}
- if(clang::Decl const* d = clang::dyn_cast<clang::Decl>(dc)) {
+ if (clang::Decl const* d = clang::dyn_cast<clang::Decl>(dc)) {
return this->AddDeclDumpNode(d, false);
} else {
return DumpId();
@@ -1050,7 +1129,7 @@ ASTVisitor::DumpId ASTVisitor::GetContextIdRef(clang::DeclContext const* dc)
std::string ASTVisitor::GetContextName(clang::CXXMethodDecl const* d)
{
clang::DeclContext const* dc = d->getDeclContext();
- if(clang::RecordDecl const* rd = clang::dyn_cast<clang::RecordDecl>(dc)) {
+ if (clang::RecordDecl const* rd = clang::dyn_cast<clang::RecordDecl>(dc)) {
return rd->getName().str();
}
return "";
@@ -1106,9 +1185,9 @@ void ASTVisitor::PrintOffsetAttribute(unsigned int const& offset)
void ASTVisitor::PrintABIAttributes(clang::TypeDecl const* d)
{
- if(clang::TypeDecl const* td = clang::dyn_cast<clang::TypeDecl>(d)) {
+ if (clang::TypeDecl const* td = clang::dyn_cast<clang::TypeDecl>(d)) {
clang::Type const* ty = td->getTypeForDecl();
- if(!ty->isIncompleteType()) {
+ if (!ty->isIncompleteType()) {
this->PrintABIAttributes(this->CTX.getTypeInfo(ty));
}
}
@@ -1144,10 +1223,10 @@ void ASTVisitor::PrintReturnsAttribute(clang::QualType t, bool complete)
void ASTVisitor::PrintLocationAttribute(clang::Decl const* d)
{
clang::SourceLocation sl = d->getLocation();
- if(sl.isValid()) {
+ if (sl.isValid()) {
clang::FullSourceLoc fsl = this->CTX.getFullLoc(sl).getExpansionLoc();
if (clang::FileEntry const* f =
- this->CI.getSourceManager().getFileEntryForID(fsl.getFileID())) {
+ this->CI.getSourceManager().getFileEntryForID(fsl.getFileID())) {
unsigned int id = this->AddDumpFile(f);
unsigned int line = fsl.getExpansionLineNumber();
/* clang-format off */
@@ -1159,7 +1238,7 @@ void ASTVisitor::PrintLocationAttribute(clang::Decl const* d)
return;
}
}
- if(d->isImplicit()) {
+ if (d->isImplicit()) {
this->FileBuiltin = true;
this->OS << " location=\"f0:0\" file=\"f0\" line=\"0\"";
}
@@ -1168,58 +1247,58 @@ void ASTVisitor::PrintLocationAttribute(clang::Decl const* d)
bool ASTVisitor::PrintHelpStmt(clang::Stmt const* s, llvm::raw_ostream& os)
{
switch (s->getStmtClass()) {
- case clang::Stmt::CStyleCastExprClass: {
- // Duplicate clang::StmtPrinter::VisitCStyleCastExpr
- // but with canonical type so we do not print an unqualified name.
- clang::CStyleCastExpr const* e =
- static_cast<clang::CStyleCastExpr const*>(s);
- os << "(";
- e->getTypeAsWritten().getCanonicalType().print(os, this->PrintingPolicy);
- os << ")";
- PrinterHelper ph(*this);
- e->getSubExpr()->printPretty(os, &ph, this->PrintingPolicy);
- return true;
- } break;
- case clang::Stmt::CXXConstCastExprClass: // fallthrough
- case clang::Stmt::CXXDynamicCastExprClass: // fallthrough
- case clang::Stmt::CXXReinterpretCastExprClass: // fallthrough
- case clang::Stmt::CXXStaticCastExprClass: {
- // Duplicate clang::StmtPrinter::VisitCXXNamedCastExpr
- // but with canonical type so we do not print an unqualified name.
- clang::CXXNamedCastExpr const* e =
- static_cast<clang::CXXNamedCastExpr const*>(s);
- os << e->getCastName() << '<';
- e->getTypeAsWritten().getCanonicalType().print(os, this->PrintingPolicy);
- os << ">(";
- PrinterHelper ph(*this);
- e->getSubExpr()->printPretty(os, &ph, this->PrintingPolicy);
- os << ")";
- return true;
- } break;
- case clang::Stmt::DeclRefExprClass: {
- // Print the fully qualified name of the referenced declaration.
- clang::DeclRefExpr const* e = static_cast<clang::DeclRefExpr const*>(s);
- if (clang::NamedDecl const* d =
- clang::dyn_cast<clang::NamedDecl>(e->getDecl())) {
- std::string s;
- {
- llvm::raw_string_ostream rso(s);
- d->printQualifiedName(rso, this->PrintingPolicy);
- rso.str();
- }
- if (clang::isa<clang::EnumConstantDecl>(d)) {
- // Clang does not exclude the "::" after an unnamed enum type.
- std::string::size_type pos = s.find("::::");
- if (pos != s.npos) {
- s.erase(pos, 2);
+ case clang::Stmt::CStyleCastExprClass: {
+ // Duplicate clang::StmtPrinter::VisitCStyleCastExpr
+ // but with canonical type so we do not print an unqualified name.
+ clang::CStyleCastExpr const* e =
+ static_cast<clang::CStyleCastExpr const*>(s);
+ os << "(";
+ e->getTypeAsWritten().getCanonicalType().print(os, this->PrintingPolicy);
+ os << ")";
+ PrinterHelper ph(*this);
+ e->getSubExpr()->printPretty(os, &ph, this->PrintingPolicy);
+ return true;
+ } break;
+ case clang::Stmt::CXXConstCastExprClass: // fallthrough
+ case clang::Stmt::CXXDynamicCastExprClass: // fallthrough
+ case clang::Stmt::CXXReinterpretCastExprClass: // fallthrough
+ case clang::Stmt::CXXStaticCastExprClass: {
+ // Duplicate clang::StmtPrinter::VisitCXXNamedCastExpr
+ // but with canonical type so we do not print an unqualified name.
+ clang::CXXNamedCastExpr const* e =
+ static_cast<clang::CXXNamedCastExpr const*>(s);
+ os << e->getCastName() << '<';
+ e->getTypeAsWritten().getCanonicalType().print(os, this->PrintingPolicy);
+ os << ">(";
+ PrinterHelper ph(*this);
+ e->getSubExpr()->printPretty(os, &ph, this->PrintingPolicy);
+ os << ")";
+ return true;
+ } break;
+ case clang::Stmt::DeclRefExprClass: {
+ // Print the fully qualified name of the referenced declaration.
+ clang::DeclRefExpr const* e = static_cast<clang::DeclRefExpr const*>(s);
+ if (clang::NamedDecl const* d =
+ clang::dyn_cast<clang::NamedDecl>(e->getDecl())) {
+ std::string s;
+ {
+ llvm::raw_string_ostream rso(s);
+ d->printQualifiedName(rso, this->PrintingPolicy);
+ rso.str();
+ }
+ if (clang::isa<clang::EnumConstantDecl>(d)) {
+ // Clang does not exclude the "::" after an unnamed enum type.
+ std::string::size_type pos = s.find("::::");
+ if (pos != s.npos) {
+ s.erase(pos, 2);
+ }
}
+ os << s;
+ return true;
}
- os << s;
- return true;
- }
- } break;
- default:
- break;
+ } break;
+ default:
+ break;
}
return false;
}
@@ -1227,17 +1306,17 @@ bool ASTVisitor::PrintHelpStmt(clang::Stmt const* s, llvm::raw_ostream& os)
void ASTVisitor::PrintAccessAttribute(clang::AccessSpecifier as)
{
switch (as) {
- case clang::AS_private:
- this->OS << " access=\"private\"";
- break;
- case clang::AS_protected:
- this->OS << " access=\"protected\"";
- break;
- case clang::AS_public:
- this->OS << " access=\"public\"";
- break;
- case clang::AS_none:
- break;
+ case clang::AS_private:
+ this->OS << " access=\"private\"";
+ break;
+ case clang::AS_protected:
+ this->OS << " access=\"protected\"";
+ break;
+ case clang::AS_public:
+ this->OS << " access=\"public\"";
+ break;
+ case clang::AS_none:
+ break;
}
}
@@ -1245,11 +1324,11 @@ void ASTVisitor::PrintContextAttribute(clang::Decl const* d,
clang::AccessSpecifier alt)
{
clang::DeclContext const* dc = d->getDeclContext();
- if(DumpId id = this->GetContextIdRef(dc)) {
+ if (DumpId id = this->GetContextIdRef(dc)) {
this->OS << " context=\"_" << id << "\"";
if (dc->isRecord()) {
clang::AccessSpecifier as = d->getAccess();
- this->PrintAccessAttribute(as != clang::AS_none? as : alt);
+ this->PrintAccessAttribute(as != clang::AS_none ? as : alt);
}
}
}
@@ -1263,11 +1342,12 @@ void ASTVisitor::PrintMembersAttribute(clang::DeclContext const* dc)
void ASTVisitor::PrintMembersAttribute(std::set<DumpId> const& emitted)
{
- if(!emitted.empty()) {
+ if (!emitted.empty()) {
this->OS << " members=\"";
const char* sep = "";
- for(std::set<DumpId>::const_iterator i = emitted.begin(),
- e = emitted.end(); i != e; ++i) {
+ for (std::set<DumpId>::const_iterator i = emitted.begin(),
+ e = emitted.end();
+ i != e; ++i) {
this->OS << sep << "_" << *i;
sep = " ";
}
@@ -1279,14 +1359,20 @@ void ASTVisitor::PrintBasesAttribute(clang::CXXRecordDecl const* dx)
{
this->OS << " bases=\"";
const char* sep = "";
- for(clang::CXXRecordDecl::base_class_const_iterator i = dx->bases_begin(),
- e = dx->bases_end(); i != e; ++i) {
+ for (clang::CXXRecordDecl::base_class_const_iterator i = dx->bases_begin(),
+ e = dx->bases_end();
+ i != e; ++i) {
this->OS << sep;
sep = " ";
switch (i->getAccessSpecifier()) {
- case clang::AS_private: this->OS << "private:"; break;
- case clang::AS_protected: this->OS << "protected:"; break;
- default: break;
+ case clang::AS_private:
+ this->OS << "private:";
+ break;
+ case clang::AS_protected:
+ this->OS << "protected:";
+ break;
+ default:
+ break;
}
this->PrintTypeIdRef(i->getType().getCanonicalType(), true);
}
@@ -1301,7 +1387,7 @@ void ASTVisitor::PrintAttributesAttribute(
}
this->OS << " attributes=\"";
const char* sep = "";
- for (std::string const& a: attrs) {
+ for (std::string const& a : attrs) {
this->OS << sep << encodeXML(a);
sep = " ";
}
@@ -1319,26 +1405,26 @@ void ASTVisitor::GetFunctionTypeAttributes(clang::FunctionProtoType const* t,
std::vector<std::string>& attrs)
{
switch (t->getExtInfo().getCC()) {
- case clang::CallingConv::CC_C:
- break;
- case clang::CallingConv::CC_X86StdCall:
- attrs.push_back("__stdcall__");
- break;
- case clang::CallingConv::CC_X86FastCall:
- attrs.push_back("__fastcall__");
- break;
- case clang::CallingConv::CC_X86ThisCall:
- attrs.push_back("__thiscall__");
- break;
- default:
- break;
+ case clang::CallingConv::CC_C:
+ break;
+ case clang::CallingConv::CC_X86StdCall:
+ attrs.push_back("__stdcall__");
+ break;
+ case clang::CallingConv::CC_X86FastCall:
+ attrs.push_back("__fastcall__");
+ break;
+ case clang::CallingConv::CC_X86ThisCall:
+ attrs.push_back("__thiscall__");
+ break;
+ default:
+ break;
}
}
void ASTVisitor::GetDeclAttributes(clang::Decl const* d,
std::vector<std::string>& attrs)
{
- for (auto const* a: d->specific_attrs<clang::AnnotateAttr>()) {
+ for (auto const* a : d->specific_attrs<clang::AnnotateAttr>()) {
attrs.push_back("annotate(" + a->getAnnotation().str() + ")");
}
}
@@ -1346,12 +1432,12 @@ void ASTVisitor::GetDeclAttributes(clang::Decl const* d,
void ASTVisitor::PrintThrowsAttribute(clang::FunctionProtoType const* fpt,
bool complete)
{
- if(fpt && fpt->hasDynamicExceptionSpec()) {
+ if (fpt && fpt->hasDynamicExceptionSpec()) {
clang::FunctionProtoType::exception_iterator i = fpt->exception_begin();
clang::FunctionProtoType::exception_iterator e = fpt->exception_end();
this->OS << " throw=\"";
const char* sep = "";
- for(;i != e; ++i) {
+ for (; i != e; ++i) {
this->OS << sep;
this->PrintTypeIdRef(*i, complete);
sep = " ";
@@ -1362,23 +1448,24 @@ void ASTVisitor::PrintThrowsAttribute(clang::FunctionProtoType const* fpt,
void ASTVisitor::PrintBefriendingAttribute(clang::CXXRecordDecl const* dx)
{
- if(dx && dx->hasFriends()) {
+ if (dx && dx->hasFriends()) {
this->OS << " befriending=\"";
const char* sep = "";
- for(clang::CXXRecordDecl::friend_iterator i = dx->friend_begin(),
- e = dx->friend_end(); i != e; ++i) {
+ for (clang::CXXRecordDecl::friend_iterator i = dx->friend_begin(),
+ e = dx->friend_end();
+ i != e; ++i) {
clang::FriendDecl const* fd = *i;
- if(clang::NamedDecl const* nd = fd->getFriendDecl()) {
- if(nd->isTemplateDecl()) {
+ if (clang::NamedDecl const* nd = fd->getFriendDecl()) {
+ if (nd->isTemplateDecl()) {
// gccxml output format does not have uninstantiated templates
continue;
}
- if(DumpId id = this->AddDeclDumpNode(nd, false)) {
+ if (DumpId id = this->AddDeclDumpNode(nd, false)) {
this->OS << sep << "_" << id;
sep = " ";
}
- } else if(clang::TypeSourceInfo const* tsi = fd->getFriendType()) {
+ } else if (clang::TypeSourceInfo const* tsi = fd->getFriendType()) {
this->OS << sep;
this->PrintTypeIdRef(tsi->getType(), false);
sep = " ";
@@ -1396,49 +1483,48 @@ void ASTVisitor::PrintFloat128Type(DumpNode const* dn)
}
void ASTVisitor::OutputFunctionHelper(clang::FunctionDecl const* d,
- DumpNode const* dn,
- const char* tag,
+ DumpNode const* dn, const char* tag,
std::string const& name,
unsigned int flags)
{
this->OS << " <" << tag;
this->PrintIdAttribute(dn);
- if(!name.empty()) {
+ if (!name.empty()) {
this->PrintNameAttribute(name);
}
- if(flags & FH_Returns) {
+ if (flags & FH_Returns) {
this->PrintReturnsAttribute(d->getReturnType(), dn->Complete);
}
this->PrintContextAttribute(d);
this->PrintLocationAttribute(d);
- if(flags & FH_Static) {
+ if (flags & FH_Static) {
this->OS << " static=\"1\"";
}
- if(flags & FH_Explicit) {
+ if (flags & FH_Explicit) {
this->OS << " explicit=\"1\"";
}
- if(flags & FH_Const) {
+ if (flags & FH_Const) {
this->OS << " const=\"1\"";
}
- if(flags & FH_Virtual) {
+ if (flags & FH_Virtual) {
this->OS << " virtual=\"1\"";
}
- if(flags & FH_Pure) {
+ if (flags & FH_Pure) {
this->OS << " pure_virtual=\"1\"";
}
- if(d->isInlined()) {
+ if (d->isInlined()) {
this->OS << " inline=\"1\"";
}
- if(d->getStorageClass() == clang::SC_Extern) {
+ if (d->getStorageClass() == clang::SC_Extern) {
this->OS << " extern=\"1\"";
}
- if(d->isImplicit()) {
+ if (d->isImplicit()) {
this->OS << " artificial=\"1\"";
}
if (clang::CXXMethodDecl const* md =
- clang::dyn_cast<clang::CXXMethodDecl>(d)) {
+ clang::dyn_cast<clang::CXXMethodDecl>(d)) {
if (md->size_overridden_methods() > 0) {
this->OS << " overrides=\"";
const char* sep = "";
@@ -1458,7 +1544,7 @@ void ASTVisitor::OutputFunctionHelper(clang::FunctionDecl const* d,
std::vector<std::string> attributes;
if (clang::FunctionProtoType const* fpt =
- d->getType()->getAs<clang::FunctionProtoType>()) {
+ d->getType()->getAs<clang::FunctionProtoType>()) {
this->PrintThrowsAttribute(fpt, dn->Complete);
if (!clang::isa<clang::CXXConstructorDecl>(d) &&
!clang::isa<clang::CXXDestructorDecl>(d)) {
@@ -1470,7 +1556,7 @@ void ASTVisitor::OutputFunctionHelper(clang::FunctionDecl const* d,
this->GetDeclAttributes(d, attributes);
this->PrintAttributesAttribute(attributes);
- if(unsigned np = d->getNumParams()) {
+ if (unsigned np = d->getNumParams()) {
this->OS << ">\n";
for (unsigned i = 0; i < np; ++i) {
// Use the default argument from the most recent declaration.
@@ -1478,14 +1564,14 @@ void ASTVisitor::OutputFunctionHelper(clang::FunctionDecl const* d,
// them all.
clang::ParmVarDecl const* pd = d->getMostRecentDecl()->getParamDecl(i);
clang::Expr const* def = pd->getInit();
- if(!def && pd->hasUninstantiatedDefaultArg()) {
+ if (!def && pd->hasUninstantiatedDefaultArg()) {
def = pd->getUninstantiatedDefaultArg();
}
// Use the parameter located in the canonical declaration.
this->OutputFunctionArgument(d->getParamDecl(i), dn->Complete, def);
}
- if(d->isVariadic()) {
+ if (d->isVariadic()) {
this->OS << " <Ellipsis/>\n";
}
this->OS << " </" << tag << ">\n";
@@ -1500,31 +1586,33 @@ void ASTVisitor::OutputFunctionTypeHelper(clang::FunctionProtoType const* t,
{
this->OS << " <" << tag;
this->PrintIdAttribute(dn);
- if(c) {
+ if (c) {
this->PrintBaseTypeAttribute(c, dn->Complete);
}
this->PrintReturnsAttribute(t->getReturnType(), dn->Complete);
- if(t->isConst()) {
+ if (t->isConst()) {
this->OS << " const=\"1\"";
}
- if(t->isVolatile()) {
+ if (t->isVolatile()) {
this->OS << " volatile=\"1\"";
}
- if(t->isRestrict()) {
+ if (t->isRestrict()) {
this->OS << " restrict=\"1\"";
}
std::vector<std::string> attributes;
this->GetFunctionTypeAttributes(t, attributes);
this->PrintAttributesAttribute(attributes);
- if(t->param_type_begin() != t->param_type_end()) {
+ if (t->param_type_begin() != t->param_type_end()) {
this->OS << ">\n";
for (clang::FunctionProtoType::param_type_iterator
- i = t->param_type_begin(), e = t->param_type_end(); i != e; ++i) {
+ i = t->param_type_begin(),
+ e = t->param_type_end();
+ i != e; ++i) {
this->OS << " <Argument";
this->PrintTypeAttribute(*i, dn->Complete);
this->OS << "/>\n";
}
- if(t->isVariadic()) {
+ if (t->isVariadic()) {
this->OS << " <Ellipsis/>\n";
}
this->OS << " </" << tag << ">\n";
@@ -1538,12 +1626,12 @@ void ASTVisitor::OutputFunctionArgument(clang::ParmVarDecl const* a,
{
this->OS << " <Argument";
std::string name = a->getName().str();
- if(!name.empty()) {
+ if (!name.empty()) {
this->PrintNameAttribute(name);
}
this->PrintTypeAttribute(a->getType(), complete);
this->PrintLocationAttribute(a);
- if(def) {
+ if (def) {
this->OS << " default=\"";
std::string s;
llvm::raw_string_ostream rso(s);
@@ -1556,20 +1644,20 @@ void ASTVisitor::OutputFunctionArgument(clang::ParmVarDecl const* a,
this->OS << "/>\n";
}
-void ASTVisitor::OutputTranslationUnitDecl(
- clang::TranslationUnitDecl const* d, DumpNode const* dn)
+void ASTVisitor::OutputTranslationUnitDecl(clang::TranslationUnitDecl const* d,
+ DumpNode const* dn)
{
this->OS << " <Namespace";
this->PrintIdAttribute(dn);
this->PrintNameAttribute("::");
- if(dn->Complete) {
+ if (dn->Complete) {
this->PrintMembersAttribute(d);
}
this->OS << "/>\n";
}
-void ASTVisitor::OutputNamespaceDecl(
- clang::NamespaceDecl const* d, DumpNode const* dn)
+void ASTVisitor::OutputNamespaceDecl(clang::NamespaceDecl const* d,
+ DumpNode const* dn)
{
this->OS << " <Namespace";
this->PrintIdAttribute(dn);
@@ -1578,9 +1666,9 @@ void ASTVisitor::OutputNamespaceDecl(
this->PrintNameAttribute(name);
}
this->PrintContextAttribute(d);
- if(dn->Complete) {
+ if (dn->Complete) {
std::set<DumpId> emitted;
- for (clang::NamespaceDecl const* r: d->redecls()) {
+ for (clang::NamespaceDecl const* r : d->redecls()) {
this->AddDeclContextMembers(r, emitted);
}
this->PrintMembersAttribute(emitted);
@@ -1593,18 +1681,26 @@ void ASTVisitor::OutputRecordDecl(clang::RecordDecl const* d,
{
const char* tag;
switch (d->getTagKind()) {
- case clang::TTK_Class: tag = "Class"; break;
- case clang::TTK_Union: tag = "Union"; break;
- case clang::TTK_Struct: tag = "Struct"; break;
- case clang::TTK_Interface: return;
- case clang::TTK_Enum: return;
+ case clang::TTK_Class:
+ tag = "Class";
+ break;
+ case clang::TTK_Union:
+ tag = "Union";
+ break;
+ case clang::TTK_Struct:
+ tag = "Struct";
+ break;
+ case clang::TTK_Interface:
+ return;
+ case clang::TTK_Enum:
+ return;
}
clang::CXXRecordDecl const* dx = clang::dyn_cast<clang::CXXRecordDecl>(d);
bool doBases = false;
this->OS << " <" << tag;
this->PrintIdAttribute(dn);
- if(!d->isAnonymousStructOrUnion()) {
+ if (!d->isAnonymousStructOrUnion()) {
std::string s;
llvm::raw_string_ostream rso(s);
d->getNameForDiagnostic(rso, this->PrintingPolicy, false);
@@ -1612,24 +1708,23 @@ void ASTVisitor::OutputRecordDecl(clang::RecordDecl const* d,
}
clang::AccessSpecifier access = clang::AS_none;
if (clang::ClassTemplateSpecializationDecl const* dxts =
- clang::dyn_cast<clang::ClassTemplateSpecializationDecl>(d)) {
+ clang::dyn_cast<clang::ClassTemplateSpecializationDecl>(d)) {
// This is a template instantiation so get the access of the original
// template. Access of the instantiation itself has no meaning.
- if (clang::ClassTemplateDecl const* dxt =
- dxts->getSpecializedTemplate()) {
+ if (clang::ClassTemplateDecl const* dxt = dxts->getSpecializedTemplate()) {
access = dxt->getAccess();
}
}
this->PrintContextAttribute(d, access);
this->PrintLocationAttribute(d);
- if(d->getDefinition()) {
- if(dx && dx->isAbstract()) {
+ if (d->getDefinition()) {
+ if (dx && dx->isAbstract()) {
this->OS << " abstract=\"1\"";
}
if (dn->Complete && !d->isInvalidDecl()) {
this->PrintMembersAttribute(d);
doBases = dx && dx->getNumBases();
- if(doBases) {
+ if (doBases) {
this->PrintBasesAttribute(dx);
}
this->PrintBefriendingAttribute(dx);
@@ -1639,21 +1734,22 @@ void ASTVisitor::OutputRecordDecl(clang::RecordDecl const* d,
}
this->PrintABIAttributes(d);
this->PrintAttributesAttribute(d);
- if(doBases) {
+ if (doBases) {
this->OS << ">\n";
clang::ASTRecordLayout const& layout = this->CTX.getASTRecordLayout(dx);
- for(clang::CXXRecordDecl::base_class_const_iterator i = dx->bases_begin(),
- e = dx->bases_end(); i != e; ++i) {
+ for (clang::CXXRecordDecl::base_class_const_iterator i = dx->bases_begin(),
+ e = dx->bases_end();
+ i != e; ++i) {
clang::QualType bt = i->getType().getCanonicalType();
clang::CXXRecordDecl const* bd = clang::dyn_cast<clang::CXXRecordDecl>(
bt->getAs<clang::RecordType>()->getDecl());
this->OS << " <Base";
this->PrintTypeAttribute(bt, true);
this->PrintAccessAttribute(i->getAccessSpecifier());
- this->OS << " virtual=\"" << (i->isVirtual()? 1 : 0) << "\"";
+ this->OS << " virtual=\"" << (i->isVirtual() ? 1 : 0) << "\"";
if (bd && !i->isVirtual()) {
- this->OS << " offset=\"" <<
- layout.getBaseClassOffset(bd).getQuantity() << "\"";
+ this->OS << " offset=\"" << layout.getBaseClassOffset(bd).getQuantity()
+ << "\"";
}
this->OS << "/>\n";
}
@@ -1666,7 +1762,7 @@ void ASTVisitor::OutputRecordDecl(clang::RecordDecl const* d,
void ASTVisitor::OutputCXXRecordDecl(clang::CXXRecordDecl const* d,
DumpNode const* dn)
{
- if(d->getDescribedClassTemplate()) {
+ if (d->getDescribedClassTemplate()) {
// We do not implement class template output yet.
this->ASTVisitorBase::OutputCXXRecordDecl(d, dn);
return;
@@ -1713,8 +1809,8 @@ void ASTVisitor::OutputEnumDecl(clang::EnumDecl const* d, DumpNode const* dn)
this->OS << " <Enumeration";
this->PrintIdAttribute(dn);
std::string name = d->getName().str();
- if(name.empty()) {
- if(clang::TypedefNameDecl const* td = d->getTypedefNameForAnonDecl()) {
+ if (name.empty()) {
+ if (clang::TypedefNameDecl const* td = d->getTypedefNameForAnonDecl()) {
name = td->getName().str();
}
}
@@ -1724,10 +1820,10 @@ void ASTVisitor::OutputEnumDecl(clang::EnumDecl const* d, DumpNode const* dn)
this->PrintAttributesAttribute(d);
clang::EnumDecl::enumerator_iterator enum_begin = d->enumerator_begin();
clang::EnumDecl::enumerator_iterator enum_end = d->enumerator_end();
- if(enum_begin != enum_end) {
+ if (enum_begin != enum_end) {
this->OS << ">\n";
- for(clang::EnumDecl::enumerator_iterator i = enum_begin;
- i != enum_end; ++i) {
+ for (clang::EnumDecl::enumerator_iterator i = enum_begin; i != enum_end;
+ ++i) {
clang::EnumConstantDecl const* ecd = *i;
this->OS << " <EnumValue";
this->PrintNameAttribute(ecd->getName());
@@ -1747,14 +1843,14 @@ void ASTVisitor::OutputFieldDecl(clang::FieldDecl const* d, DumpNode const* dn)
this->PrintIdAttribute(dn);
this->PrintNameAttribute(d->getName().str());
this->PrintTypeAttribute(d->getType(), dn->Complete);
- if(d->isBitField()) {
+ if (d->isBitField()) {
unsigned bits = d->getBitWidthValue(this->CTX);
this->OS << " bits=\"" << bits << "\"";
}
this->PrintContextAttribute(d);
this->PrintLocationAttribute(d);
this->PrintOffsetAttribute(this->CTX.getFieldOffset(d));
- if(d->isMutable()) {
+ if (d->isMutable()) {
this->OS << " mutable=\"1\"";
}
this->PrintAttributesAttribute(d);
@@ -1768,7 +1864,7 @@ void ASTVisitor::OutputVarDecl(clang::VarDecl const* d, DumpNode const* dn)
this->PrintIdAttribute(dn);
this->PrintNameAttribute(d->getName().str());
this->PrintTypeAttribute(d->getType(), dn->Complete);
- if(clang::Expr const* init = d->getInit()) {
+ if (clang::Expr const* init = d->getInit()) {
this->OS << " init=\"";
std::string s;
llvm::raw_string_ostream rso(s);
@@ -1779,10 +1875,10 @@ void ASTVisitor::OutputVarDecl(clang::VarDecl const* d, DumpNode const* dn)
}
this->PrintContextAttribute(d);
this->PrintLocationAttribute(d);
- if(d->getStorageClass() == clang::SC_Static) {
+ if (d->getStorageClass() == clang::SC_Static) {
this->OS << " static=\"1\"";
}
- if(d->getStorageClass() == clang::SC_Extern) {
+ if (d->getStorageClass() == clang::SC_Extern) {
this->OS << " extern=\"1\"";
}
this->PrintMangledAttribute(d);
@@ -1794,18 +1890,19 @@ void ASTVisitor::OutputVarDecl(clang::VarDecl const* d, DumpNode const* dn)
void ASTVisitor::OutputFunctionDecl(clang::FunctionDecl const* d,
DumpNode const* dn)
{
- if(d->getDescribedFunctionTemplate()) {
+ if (d->getDescribedFunctionTemplate()) {
// We do not implement function template output yet.
this->ASTVisitorBase::OutputFunctionDecl(d, dn);
return;
}
unsigned int flags = FH_Returns;
- if(d->getStorageClass() == clang::SC_Static) {
+ if (d->getStorageClass() == clang::SC_Static) {
flags |= FH_Static;
}
- if(d->isOverloadedOperator()) {
- this->OutputFunctionHelper(d, dn, "OperatorFunction",
+ if (d->isOverloadedOperator()) {
+ this->OutputFunctionHelper(
+ d, dn, "OperatorFunction",
clang::getOperatorSpelling(d->getOverloadedOperator()), flags);
} else if (clang::IdentifierInfo const* ii = d->getIdentifier()) {
this->OutputFunctionHelper(d, dn, "Function", ii->getName().str(), flags);
@@ -1817,27 +1914,28 @@ void ASTVisitor::OutputFunctionDecl(clang::FunctionDecl const* d,
void ASTVisitor::OutputCXXMethodDecl(clang::CXXMethodDecl const* d,
DumpNode const* dn)
{
- if(d->getDescribedFunctionTemplate()) {
+ if (d->getDescribedFunctionTemplate()) {
// We do not implement function template output yet.
this->ASTVisitorBase::OutputCXXMethodDecl(d, dn);
return;
}
unsigned int flags = FH_Returns;
- if(d->isStatic()) {
+ if (d->isStatic()) {
flags |= FH_Static;
}
- if(d->isConst()) {
+ if (d->isConst()) {
flags |= FH_Const;
}
- if(d->isVirtual()) {
+ if (d->isVirtual()) {
flags |= FH_Virtual;
}
- if(d->isPure()) {
+ if (d->isPure()) {
flags |= FH_Pure;
}
- if(d->isOverloadedOperator()) {
- this->OutputFunctionHelper(d, dn, "OperatorMethod",
+ if (d->isOverloadedOperator()) {
+ this->OutputFunctionHelper(
+ d, dn, "OperatorMethod",
clang::getOperatorSpelling(d->getOverloadedOperator()), flags);
} else if (clang::IdentifierInfo const* ii = d->getIdentifier()) {
this->OutputFunctionHelper(d, dn, "Method", ii->getName().str(), flags);
@@ -1849,20 +1947,20 @@ void ASTVisitor::OutputCXXMethodDecl(clang::CXXMethodDecl const* d,
void ASTVisitor::OutputCXXConversionDecl(clang::CXXConversionDecl const* d,
DumpNode const* dn)
{
- if(d->getDescribedFunctionTemplate()) {
+ if (d->getDescribedFunctionTemplate()) {
// We do not implement function template output yet.
this->ASTVisitorBase::OutputCXXConversionDecl(d, dn);
return;
}
unsigned int flags = FH_Returns;
- if(d->isConst()) {
+ if (d->isConst()) {
flags |= FH_Const;
}
- if(d->isVirtual()) {
+ if (d->isVirtual()) {
flags |= FH_Virtual;
}
- if(d->isPure()) {
+ if (d->isPure()) {
flags |= FH_Pure;
}
this->OutputFunctionHelper(d, dn, "Converter", "", flags);
@@ -1871,38 +1969,38 @@ void ASTVisitor::OutputCXXConversionDecl(clang::CXXConversionDecl const* d,
void ASTVisitor::OutputCXXConstructorDecl(clang::CXXConstructorDecl const* d,
DumpNode const* dn)
{
- if(d->getDescribedFunctionTemplate()) {
+ if (d->getDescribedFunctionTemplate()) {
// We do not implement function template output yet.
this->ASTVisitorBase::OutputCXXConstructorDecl(d, dn);
return;
}
unsigned int flags = 0;
- if(d->isExplicit()) {
+ if (d->isExplicit()) {
flags |= FH_Explicit;
}
- this->OutputFunctionHelper(d, dn, "Constructor",
- this->GetContextName(d), flags);
+ this->OutputFunctionHelper(d, dn, "Constructor", this->GetContextName(d),
+ flags);
}
void ASTVisitor::OutputCXXDestructorDecl(clang::CXXDestructorDecl const* d,
DumpNode const* dn)
{
- if(d->getDescribedFunctionTemplate()) {
+ if (d->getDescribedFunctionTemplate()) {
// We do not implement function template output yet.
this->ASTVisitorBase::OutputCXXDestructorDecl(d, dn);
return;
}
unsigned int flags = 0;
- if(d->isVirtual()) {
+ if (d->isVirtual()) {
flags |= FH_Virtual;
}
- if(d->isPure()) {
+ if (d->isPure()) {
flags |= FH_Pure;
}
- this->OutputFunctionHelper(d, dn, "Destructor",
- this->GetContextName(d), flags);
+ this->OutputFunctionHelper(d, dn, "Destructor", this->GetContextName(d),
+ flags);
}
void ASTVisitor::OutputBuiltinType(clang::BuiltinType const* t,
@@ -1914,13 +2012,27 @@ void ASTVisitor::OutputBuiltinType(clang::BuiltinType const* t,
// gccxml used different name variants than Clang for some types
std::string name;
switch (t->getKind()) {
- case clang::BuiltinType::Short: name = "short int"; break;
- case clang::BuiltinType::UShort: name = "short unsigned int"; break;
- case clang::BuiltinType::Long: name = "long int"; break;
- case clang::BuiltinType::ULong: name = "long unsigned int"; break;
- case clang::BuiltinType::LongLong: name = "long long int"; break;
- case clang::BuiltinType::ULongLong: name = "long long unsigned int"; break;
- default: name = t->getName(this->PrintingPolicy).str(); break;
+ case clang::BuiltinType::Short:
+ name = "short int";
+ break;
+ case clang::BuiltinType::UShort:
+ name = "short unsigned int";
+ break;
+ case clang::BuiltinType::Long:
+ name = "long int";
+ break;
+ case clang::BuiltinType::ULong:
+ name = "long unsigned int";
+ break;
+ case clang::BuiltinType::LongLong:
+ name = "long long int";
+ break;
+ case clang::BuiltinType::ULongLong:
+ name = "long long unsigned int";
+ break;
+ default:
+ name = t->getName(this->PrintingPolicy).str();
+ break;
};
this->PrintNameAttribute(name);
this->PrintABIAttributes(this->CTX.getTypeInfo(t));
@@ -1933,7 +2045,7 @@ void ASTVisitor::OutputConstantArrayType(clang::ConstantArrayType const* t,
{
this->OS << " <ArrayType";
this->PrintIdAttribute(dn);
- this->OS << " min=\"0\" max=\"" << (t->getSize()-1) << "\"";
+ this->OS << " min=\"0\" max=\"" << (t->getSize() - 1) << "\"";
this->PrintTypeAttribute(t->getElementType(), dn->Complete);
this->OS << "/>\n";
}
@@ -1966,7 +2078,7 @@ void ASTVisitor::OutputLValueReferenceType(clang::LValueReferenceType const* t,
void ASTVisitor::OutputMemberPointerType(clang::MemberPointerType const* t,
DumpNode const* dn)
{
- if(t->isMemberDataPointerType()) {
+ if (t->isMemberDataPointerType()) {
this->OutputOffsetType(t->getPointeeType(), t->getClass(), dn);
} else {
this->OS << " <PointerType";
@@ -2011,15 +2123,15 @@ void ASTVisitor::LookupStart(clang::DeclContext const* dc,
clang::IdentifierTable& ids = CI.getPreprocessor().getIdentifierTable();
auto const& result = dc->lookup(clang::DeclarationName(&ids.get(cur)));
- if(pos == name.npos) {
- for (clang::NamedDecl const* n: result) {
+ if (pos == name.npos) {
+ for (clang::NamedDecl const* n : result) {
this->AddStartDecl(n);
}
} else {
- std::string rest = name.substr(pos+2);
- for (clang::NamedDecl const* n: result) {
+ std::string rest = name.substr(pos + 2);
+ for (clang::NamedDecl const* n : result) {
if (clang::DeclContext const* idc =
- clang::dyn_cast<clang::DeclContext const>(n)) {
+ clang::dyn_cast<clang::DeclContext const>(n)) {
this->LookupStart(idc, rest);
}
}
@@ -2033,11 +2145,12 @@ void ASTVisitor::LookupStart(clang::DeclContext const* dc,
void ASTVisitor::HandleTranslationUnit(clang::TranslationUnitDecl const* tu)
{
// Add the starting nodes for the dump.
- if(!this->Opts.StartNames.empty()) {
+ if (!this->Opts.StartNames.empty()) {
// Use the specified starting locations.
- for(std::vector<std::string>::const_iterator
- i = this->Opts.StartNames.begin(), e = this->Opts.StartNames.end();
- i != e; ++i) {
+ for (std::vector<std::string>::const_iterator
+ i = this->Opts.StartNames.begin(),
+ e = this->Opts.StartNames.end();
+ i != e; ++i) {
this->LookupStart(tu, *i);
}
} else {
@@ -2074,10 +2187,8 @@ void ASTVisitor::HandleTranslationUnit(clang::TranslationUnitDecl const* tu)
/* clang-format on */
}
-void outputXML(clang::CompilerInstance& ci,
- clang::ASTContext& ctx,
- llvm::raw_ostream& os,
- Options const& opts)
+void outputXML(clang::CompilerInstance& ci, clang::ASTContext& ctx,
+ llvm::raw_ostream& os, Options const& opts)
{
ASTVisitor v(ci, ctx, os, opts);
v.HandleTranslationUnit(ctx.getTranslationUnitDecl());
diff --git a/src/Output.h b/src/Output.h
index 9df6391..db1982b 100644
--- a/src/Output.h
+++ b/src/Output.h
@@ -19,20 +19,18 @@
#include <cxsys/Configure.h>
namespace llvm {
- class raw_ostream;
+class raw_ostream;
}
namespace clang {
- class CompilerInstance;
- class ASTContext;
+class CompilerInstance;
+class ASTContext;
}
struct Options;
/// outputXML - Print a gccxml-compatible AST dump.
-void outputXML(clang::CompilerInstance& ci,
- clang::ASTContext& ctx,
- llvm::raw_ostream& os,
- Options const& opts);
+void outputXML(clang::CompilerInstance& ci, clang::ASTContext& ctx,
+ llvm::raw_ostream& os, Options const& opts);
#endif // CASTXML_OUTPUT_H
diff --git a/src/RunClang.cxx b/src/RunClang.cxx
index 1bc62dd..a1d67cf 100644
--- a/src/RunClang.cxx
+++ b/src/RunClang.cxx
@@ -50,12 +50,12 @@
#include <memory>
#include <queue>
-#if LLVM_VERSION_MAJOR > 3 \
- || LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 9
-# define CASTXML_OWNS_OSTREAM
+#if LLVM_VERSION_MAJOR > 3 || \
+ LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 9
+#define CASTXML_OWNS_OSTREAM
#endif
-class ASTConsumer: public clang::ASTConsumer
+class ASTConsumer : public clang::ASTConsumer
{
clang::CompilerInstance& CI;
#ifdef CASTXML_OWNS_OSTREAM
@@ -63,47 +63,63 @@ class ASTConsumer: public clang::ASTConsumer
#endif
llvm::raw_ostream& OS;
Options const& Opts;
- struct Class {
+ struct Class
+ {
clang::CXXRecordDecl* RD;
int Depth;
- Class(clang::CXXRecordDecl* rd, int depth): RD(rd), Depth(depth) {}
+ Class(clang::CXXRecordDecl* rd, int depth)
+ : RD(rd)
+ , Depth(depth)
+ {
+ }
};
std::queue<Class> Classes;
int ClassImplicitMemberDepth = 0;
+
public:
#ifdef CASTXML_OWNS_OSTREAM
ASTConsumer(clang::CompilerInstance& ci,
- std::unique_ptr<llvm::raw_ostream> os, Options const& opts):
- CI(ci), OwnOS(std::move(os)), OS(*OwnOS), Opts(opts) {}
+ std::unique_ptr<llvm::raw_ostream> os, Options const& opts)
+ : CI(ci)
+ , OwnOS(std::move(os))
+ , OS(*OwnOS)
+ , Opts(opts)
+ {
+ }
#else
ASTConsumer(clang::CompilerInstance& ci, llvm::raw_ostream& os,
- Options const& opts):
- CI(ci), OS(os), Opts(opts) {}
+ Options const& opts)
+ : CI(ci)
+ , OS(os)
+ , Opts(opts)
+ {
+ }
#endif
- void AddImplicitMembers(Class const& c) {
+ void AddImplicitMembers(Class const& c)
+ {
clang::CXXRecordDecl* rd = c.RD;
this->ClassImplicitMemberDepth = c.Depth + 1;
clang::Sema& sema = this->CI.getSema();
sema.ForceDeclarationOfImplicitMembers(rd);
- for(clang::DeclContext::decl_iterator i = rd->decls_begin(),
- e = rd->decls_end(); i != e; ++i) {
+ for (clang::DeclContext::decl_iterator i = rd->decls_begin(),
+ e = rd->decls_end();
+ i != e; ++i) {
clang::CXXMethodDecl* m = clang::dyn_cast<clang::CXXMethodDecl>(*i);
- if(m && !m->isDeleted() && !m->isInvalidDecl()) {
+ if (m && !m->isDeleted() && !m->isInvalidDecl()) {
bool mark = false;
clang::CXXConstructorDecl* c =
- clang::dyn_cast<clang::CXXConstructorDecl>(m);
+ clang::dyn_cast<clang::CXXConstructorDecl>(m);
if (c) {
- mark = (c->isDefaultConstructor() ||
- c->isCopyConstructor() ||
+ mark = (c->isDefaultConstructor() || c->isCopyConstructor() ||
c->isMoveConstructor());
} else if (clang::dyn_cast<clang::CXXDestructorDecl>(m)) {
mark = true;
} else {
- mark = (m->isCopyAssignmentOperator() ||
- m->isMoveAssignmentOperator());
+ mark =
+ (m->isCopyAssignmentOperator() || m->isMoveAssignmentOperator());
}
if (mark) {
/* Ensure the member is defined. */
@@ -122,9 +138,10 @@ public:
}
}
- void HandleTagDeclDefinition(clang::TagDecl* d) {
- if(clang::CXXRecordDecl* rd = clang::dyn_cast<clang::CXXRecordDecl>(d)) {
- if(!rd->isDependentContext()) {
+ void HandleTagDeclDefinition(clang::TagDecl* d)
+ {
+ if (clang::CXXRecordDecl* rd = clang::dyn_cast<clang::CXXRecordDecl>(d)) {
+ if (!rd->isDependentContext()) {
if (this->ClassImplicitMemberDepth < 16) {
this->Classes.push(Class(rd, this->ClassImplicitMemberDepth));
}
@@ -132,7 +149,8 @@ public:
}
}
- void HandleTranslationUnit(clang::ASTContext& ctx) {
+ void HandleTranslationUnit(clang::ASTContext& ctx)
+ {
clang::Sema& sema = this->CI.getSema();
// Perform instantiations needed by the original translation unit.
@@ -159,13 +177,17 @@ public:
};
template <class T>
-class CastXMLPredefines: public T
+class CastXMLPredefines : public T
{
protected:
Options const& Opts;
- CastXMLPredefines(Options const& opts): Opts(opts) {}
- std::string UpdatePredefines(clang::CompilerInstance const& CI) {
+ CastXMLPredefines(Options const& opts)
+ : Opts(opts)
+ {
+ }
+ std::string UpdatePredefines(clang::CompilerInstance const& CI)
+ {
std::string const& predefines = CI.getPreprocessor().getPredefines();
// Identify the portion of the predefines string corresponding to
@@ -175,7 +197,7 @@ protected:
std::string::size_type start = predefines.find(predef_start);
std::string::size_type end = std::string::npos;
if (start != std::string::npos) {
- start += sizeof(predef_start)-1;
+ start += sizeof(predef_start) - 1;
end = predefines.find(predef_end, start);
if (end == std::string::npos) {
end = predefines.size();
@@ -193,15 +215,19 @@ protected:
builtins +=
#define STR(x) STR_(x)
#define STR_(x) #x
- "#define __castxml_clang_major__ " STR(CLANG_VERSION_MAJOR) "\n"
- "#define __castxml_clang_minor__ " STR(CLANG_VERSION_MINOR) "\n"
- "#define __castxml_clang_patchlevel__ "
+ "#define __castxml_clang_major__ " STR(
+ CLANG_VERSION_MAJOR) "\n"
+ "#define __castxml_clang_minor__ " STR(
+ CLANG_VERSION_MINOR) "\n"
+ "#define "
+ "__castxml_clang_"
+ "patchlevel__ "
#ifdef CLANG_VERSION_PATCHLEVEL
STR(CLANG_VERSION_PATCHLEVEL)
#else
- "0"
+ "0"
#endif
- "\n"
+ "\n"
#undef STR
#undef STR_
;
@@ -215,9 +241,8 @@ protected:
// Clang does not support this builtin, so fake it to tolerate
// uses in function bodies while parsing.
builtins += "\n"
- "#define __builtin_va_arg_pack() 0\n"
- "#define __builtin_va_arg_pack_len() 1\n"
- ;
+ "#define __builtin_va_arg_pack() 0\n"
+ "#define __builtin_va_arg_pack_len() 1\n";
}
// Provide __float128 if simulating the actual GNU compiler.
@@ -226,11 +251,10 @@ protected:
// diagnostics when it is used in some contexts. Provide our own
// approximation of the builtin instead.
builtins += "\n"
- "typedef struct __castxml__float128_s { "
- " char x[16] __attribute__((aligned(16))); "
- "} __castxml__float128;\n"
- "#define __float128 __castxml__float128\n"
- ;
+ "typedef struct __castxml__float128_s { "
+ " char x[16] __attribute__((aligned(16))); "
+ "} __castxml__float128;\n"
+ "#define __float128 __castxml__float128\n";
}
// Provide __is_assignable builtin if simulating MSVC.
@@ -238,7 +262,8 @@ protected:
// we can skip this when built against such a Clang.
if (CI.getLangOpts().MSCompatibilityVersion >= 190000000 &&
CI.getLangOpts().CPlusPlus11) {
- builtins += "\n"
+ builtins +=
+ "\n"
"template <typename T> T&& __castxml__declval() noexcept;\n"
"template <typename To, typename Fr, typename =\n"
" decltype(__castxml__declval<To>() = __castxml__declval<Fr>())>\n"
@@ -247,16 +272,15 @@ protected:
" static char (&__castxml__is_assignable_check(...))[2];\n"
"#define __is_assignable(_To,_Fr) \\\n"
" (sizeof(__castxml__is_assignable_check<_To,_Fr>(0)) == \\\n"
- " sizeof(char(&)[1]))\n"
- ;
+ " sizeof(char(&)[1]))\n";
}
-#if LLVM_VERSION_MAJOR < 3 \
- || LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR < 8
+#if LLVM_VERSION_MAJOR < 3 || LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR < 8
// Clang 3.8 and above provide a __make_integer_seq builtin needed
// in C++14 mode. Provide it ourselves for older Clang versions.
if (CI.getLangOpts().CPlusPlus14) {
- builtins += "\n"
+ builtins +=
+ "\n"
"template <typename _T, _T> struct __castxml__integral_constant;\n"
"template <template<typename _U, _U...> class _S,\n"
" typename, typename, bool>\n"
@@ -282,25 +306,24 @@ protected:
" __castxml__make_integer_seq_impl<_S,\n"
" __castxml__integral_constant<_T, _Sz>,\n"
" _S<_T>, (_Sz>=0)>::type;\n"
- "#define __make_integer_seq __castxml__make_integer_seq\n"
- ;
+ "#define __make_integer_seq __castxml__make_integer_seq\n";
}
#endif
// Prevent glibc use of a GNU extension not implemented by Clang.
if (this->NeedNoMathInlines(this->Opts.Predefines)) {
builtins += "\n"
- "#define __NO_MATH_INLINES 1\n"
- ;
+ "#define __NO_MATH_INLINES 1\n";
}
} else {
- builtins += predefines.substr(start, end-start);
+ builtins += predefines.substr(start, end - start);
}
return predefines.substr(0, start) + builtins + predefines.substr(end);
}
- bool IsActualGNU(std::string const& pd) const {
+ bool IsActualGNU(std::string const& pd) const
+ {
return (pd.find("#define __GNUC__ ") != pd.npos &&
pd.find("#define __clang__ ") == pd.npos &&
pd.find("#define __INTEL_COMPILER ") == pd.npos &&
@@ -308,18 +331,21 @@ protected:
pd.find("#define __PGI ") == pd.npos);
}
- bool NeedBuiltinVarArgPack(std::string const& pd) {
+ bool NeedBuiltinVarArgPack(std::string const& pd)
+ {
return this->IsActualGNU(pd);
}
- bool NeedFloat128(std::string const& pd) const {
+ bool NeedFloat128(std::string const& pd) const
+ {
return (this->IsActualGNU(pd) &&
(pd.find("#define __i386__ ") != pd.npos ||
pd.find("#define __x86_64__ ") != pd.npos ||
pd.find("#define __ia64__ ") != pd.npos));
}
- bool NeedNoMathInlines(std::string const& pd) const {
+ bool NeedNoMathInlines(std::string const& pd) const
+ {
return (this->IsActualGNU(pd) &&
(pd.find("#define __i386__ ") != pd.npos &&
pd.find("#define __OPTIMIZE__ ") != pd.npos &&
@@ -327,7 +353,8 @@ protected:
}
bool BeginSourceFileAction(clang::CompilerInstance& CI,
- llvm::StringRef /*Filename*/) {
+ llvm::StringRef /*Filename*/)
+ {
CI.getPreprocessor().setPredefines(this->UpdatePredefines(CI));
// Tell Clang not to tear down the parser at EOF.
@@ -337,54 +364,59 @@ protected:
}
};
-class CastXMLPrintPreprocessedAction:
- public CastXMLPredefines<clang::PrintPreprocessedAction>
+class CastXMLPrintPreprocessedAction
+ : public CastXMLPredefines<clang::PrintPreprocessedAction>
{
public:
- CastXMLPrintPreprocessedAction(Options const& opts):
- CastXMLPredefines(opts) {}
+ CastXMLPrintPreprocessedAction(Options const& opts)
+ : CastXMLPredefines(opts)
+ {
+ }
};
-class CastXMLSyntaxOnlyAction:
- public CastXMLPredefines<clang::SyntaxOnlyAction>
+class CastXMLSyntaxOnlyAction
+ : public CastXMLPredefines<clang::SyntaxOnlyAction>
{
- std::unique_ptr<clang::ASTConsumer>
- CreateASTConsumer(clang::CompilerInstance &CI,
- llvm::StringRef InFile) override {
+ std::unique_ptr<clang::ASTConsumer> CreateASTConsumer(
+ clang::CompilerInstance& CI, llvm::StringRef InFile) override
+ {
using llvm::sys::path::filename;
- if(!this->Opts.GccXml) {
+ if (!this->Opts.GccXml) {
return clang::SyntaxOnlyAction::CreateASTConsumer(CI, InFile);
#ifdef CASTXML_OWNS_OSTREAM
- } else if(std::unique_ptr<llvm::raw_ostream> OS =
- CI.createDefaultOutputFile(false, filename(InFile), "xml")) {
+ } else if (std::unique_ptr<llvm::raw_ostream> OS =
+ CI.createDefaultOutputFile(false, filename(InFile), "xml")) {
return llvm::make_unique<ASTConsumer>(CI, std::move(OS), this->Opts);
#else
- } else if(llvm::raw_ostream* OS =
- CI.createDefaultOutputFile(false, filename(InFile), "xml")) {
+ } else if (llvm::raw_ostream* OS =
+ CI.createDefaultOutputFile(false, filename(InFile), "xml")) {
return llvm::make_unique<ASTConsumer>(CI, *OS, this->Opts);
#endif
} else {
return nullptr;
}
}
+
public:
- CastXMLSyntaxOnlyAction(Options const& opts):
- CastXMLPredefines(opts) {}
+ CastXMLSyntaxOnlyAction(Options const& opts)
+ : CastXMLPredefines(opts)
+ {
+ }
};
-static clang::FrontendAction*
-CreateFrontendAction(clang::CompilerInstance* CI, Options const& opts)
+static clang::FrontendAction* CreateFrontendAction(clang::CompilerInstance* CI,
+ Options const& opts)
{
clang::frontend::ActionKind action =
CI->getInvocation().getFrontendOpts().ProgramAction;
- switch(action) {
- case clang::frontend::PrintPreprocessedInput:
- return new CastXMLPrintPreprocessedAction(opts);
- case clang::frontend::ParseSyntaxOnly:
- return new CastXMLSyntaxOnlyAction(opts);
- default:
- std::cerr << "error: unsupported action: " << int(action) << "\n";
- return nullptr;
+ switch (action) {
+ case clang::frontend::PrintPreprocessedInput:
+ return new CastXMLPrintPreprocessedAction(opts);
+ case clang::frontend::ParseSyntaxOnly:
+ return new CastXMLSyntaxOnlyAction(opts);
+ default:
+ std::cerr << "error: unsupported action: " << int(action) << "\n";
+ return nullptr;
}
}
@@ -392,28 +424,28 @@ static bool runClangCI(clang::CompilerInstance* CI, Options const& opts)
{
// Create a diagnostics engine for this compiler instance.
CI->createDiagnostics();
- if(!CI->hasDiagnostics()) {
+ if (!CI->hasDiagnostics()) {
return false;
}
// Set frontend options we captured directly.
CI->getFrontendOpts().OutputFile = opts.OutputFile;
- if(opts.GccXml) {
-# define MSG(x) "error: '--castxml-gccxml' does not work with " x "\n"
- if(CI->getLangOpts().ObjC1 || CI->getLangOpts().ObjC2) {
+ if (opts.GccXml) {
+#define MSG(x) "error: '--castxml-gccxml' does not work with " x "\n"
+ if (CI->getLangOpts().ObjC1 || CI->getLangOpts().ObjC2) {
std::cerr << MSG("Objective C");
return false;
}
-# undef MSG
+#undef MSG
}
// Construct our Clang front-end action. This dispatches
// handling of each input file with an action based on the
// flags provided (e.g. -E to preprocess-only).
- std::unique_ptr<clang::FrontendAction>
- action(CreateFrontendAction(CI, opts));
- if(action) {
+ std::unique_ptr<clang::FrontendAction> action(
+ CreateFrontendAction(CI, opts));
+ if (action) {
return CI->ExecuteAction(*action);
} else {
return false;
@@ -423,34 +455,32 @@ static bool runClangCI(clang::CompilerInstance* CI, Options const& opts)
static llvm::IntrusiveRefCntPtr<clang::DiagnosticsEngine>
runClangCreateDiagnostics(const char* const* argBeg, const char* const* argEnd)
{
- llvm::IntrusiveRefCntPtr<clang::DiagnosticOptions>
- diagOpts(new clang::DiagnosticOptions);
- llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs>
- diagID(new clang::DiagnosticIDs());
- std::unique_ptr<llvm::opt::OptTable>
- opts(clang::driver::createDriverOptTable());
+ llvm::IntrusiveRefCntPtr<clang::DiagnosticOptions> diagOpts(
+ new clang::DiagnosticOptions);
+ llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> diagID(
+ new clang::DiagnosticIDs());
+ std::unique_ptr<llvm::opt::OptTable> opts(
+ clang::driver::createDriverOptTable());
unsigned missingArgIndex, missingArgCount;
-#if LLVM_VERSION_MAJOR > 3 \
- || LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7
- llvm::opt::InputArgList
- args(opts->ParseArgs(llvm::makeArrayRef(argBeg, argEnd),
- missingArgIndex, missingArgCount));
+#if LLVM_VERSION_MAJOR > 3 || \
+ LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7
+ llvm::opt::InputArgList args(opts->ParseArgs(
+ llvm::makeArrayRef(argBeg, argEnd), missingArgIndex, missingArgCount));
clang::ParseDiagnosticArgs(*diagOpts, args);
#else
- std::unique_ptr<llvm::opt::InputArgList>
- args(opts->ParseArgs(argBeg, argEnd, missingArgIndex, missingArgCount));
+ std::unique_ptr<llvm::opt::InputArgList> args(
+ opts->ParseArgs(argBeg, argEnd, missingArgIndex, missingArgCount));
clang::ParseDiagnosticArgs(*diagOpts, *args);
#endif
clang::TextDiagnosticPrinter* diagClient =
new clang::TextDiagnosticPrinter(llvm::errs(), &*diagOpts);
- llvm::IntrusiveRefCntPtr<clang::DiagnosticsEngine>
- diags(new clang::DiagnosticsEngine(diagID, &*diagOpts, diagClient));
+ llvm::IntrusiveRefCntPtr<clang::DiagnosticsEngine> diags(
+ new clang::DiagnosticsEngine(diagID, &*diagOpts, diagClient));
clang::ProcessWarningOptions(*diags, *diagOpts, /*ReportDiags=*/false);
return diags;
}
-static int runClangImpl(const char* const* argBeg,
- const char* const* argEnd,
+static int runClangImpl(const char* const* argBeg, const char* const* argEnd,
Options const& opts)
{
// Construct a diagnostics engine for use while processing driver options.
@@ -465,12 +495,12 @@ static int runClangImpl(const char* const* argBeg,
!llvm::sys::fs::is_directory(d.ResourceDir)) {
d.ResourceDir = getClangResourceDir();
}
- llvm::SmallVector<const char *, 16> cArgs;
+ llvm::SmallVector<const char*, 16> cArgs;
cArgs.push_back("<clang>");
cArgs.insert(cArgs.end(), argBeg, argEnd);
// Tell the driver not to generate any commands past syntax parsing.
- if(opts.PPOnly) {
+ if (opts.PPOnly) {
cArgs.push_back("-E");
} else {
cArgs.push_back("-fsyntax-only");
@@ -483,13 +513,13 @@ static int runClangImpl(const char* const* argBeg,
}
// For '-###' just print the jobs and exit early.
- if(c->getArgs().hasArg(clang::driver::options::OPT__HASH_HASH_HASH)) {
+ if (c->getArgs().hasArg(clang::driver::options::OPT__HASH_HASH_HASH)) {
c->getJobs().Print(llvm::errs(), "\n", true);
return 0;
}
// Reject '-o' with multiple inputs.
- if(!opts.OutputFile.empty() && c->getJobs().size() > 1) {
+ if (!opts.OutputFile.empty() && c->getJobs().size() > 1) {
diags->Report(clang::diag::err_drv_output_argument_with_multiple_files);
return 1;
}
@@ -497,17 +527,17 @@ static int runClangImpl(const char* const* argBeg,
// Run Clang for each compilation computed by the driver.
// This should be once per input source file.
bool result = true;
- for(auto const& job : c->getJobs()) {
+ for (auto const& job : c->getJobs()) {
clang::driver::Command const* cmd =
llvm::dyn_cast<clang::driver::Command>(&job);
- if(cmd && strcmp(cmd->getCreator().getName(), "clang") == 0) {
+ if (cmd && strcmp(cmd->getCreator().getName(), "clang") == 0) {
// Invoke Clang with this set of arguments.
- std::unique_ptr<clang::CompilerInstance>
- CI(new clang::CompilerInstance());
+ std::unique_ptr<clang::CompilerInstance> CI(
+ new clang::CompilerInstance());
const char* const* cmdArgBeg = cmd->getArguments().data();
const char* const* cmdArgEnd = cmdArgBeg + cmd->getArguments().size();
- if (clang::CompilerInvocation::CreateFromArgs
- (CI->getInvocation(), cmdArgBeg, cmdArgEnd, *diags)) {
+ if (clang::CompilerInvocation::CreateFromArgs(
+ CI->getInvocation(), cmdArgBeg, cmdArgEnd, *diags)) {
if (diags->hasErrorOccurred()) {
return 1;
}
@@ -521,25 +551,23 @@ static int runClangImpl(const char* const* argBeg,
llvm::raw_svector_ostream msg(buf);
job.Print(msg, "\n", true);
diags->Report(clang::diag::err_fe_expected_clang_command);
- diags->Report(clang::diag::err_fe_expected_compiler_job)
- << msg.str();
+ diags->Report(clang::diag::err_fe_expected_compiler_job) << msg.str();
result = false;
}
}
- return result? 0:1;
+ return result ? 0 : 1;
}
-int runClang(const char* const* argBeg,
- const char* const* argEnd,
+int runClang(const char* const* argBeg, const char* const* argEnd,
Options const& opts)
{
llvm::SmallVector<const char*, 32> args(argBeg, argEnd);
std::string fmsc_version = "-fmsc-version=";
std::string std_flag = "-std=";
- if(opts.HaveCC) {
+ if (opts.HaveCC) {
// Configure target to match that of given compiler.
- if(!opts.HaveTarget && !opts.Triple.empty()) {
+ if (!opts.HaveTarget && !opts.Triple.empty()) {
args.push_back("-target");
args.push_back(opts.Triple.c_str());
}
@@ -549,10 +577,11 @@ int runClang(const char* const* argBeg,
args.push_back("-nostdlibinc");
// Add header search paths detected from given compiler.
- for(std::vector<Options::Include>::const_iterator
- i = opts.Includes.begin(), e = opts.Includes.end();
- i != e; ++i) {
- if(i->Framework) {
+ for (std::vector<Options::Include>::const_iterator
+ i = opts.Includes.begin(),
+ e = opts.Includes.end();
+ i != e; ++i) {
+ if (i->Framework) {
args.push_back("-iframework");
} else {
args.push_back("-isystem");
@@ -565,18 +594,18 @@ int runClang(const char* const* argBeg,
// Configure language options to match given compiler.
std::string const& pd = opts.Predefines;
- if(pd.find("#define _MSC_EXTENSIONS ") != pd.npos) {
+ if (pd.find("#define _MSC_EXTENSIONS ") != pd.npos) {
args.push_back("-fms-extensions");
}
- if(const char* d = strstr(pd.c_str(), "#define _MSC_VER ")) {
+ if (const char* d = strstr(pd.c_str(), "#define _MSC_VER ")) {
args.push_back("-fms-compatibility");
// Extract the _MSC_VER value to give to -fmsc-version=.
d += 17;
- if(const char* e = strchr(d, '\n')) {
- if(*(e - 1) == '\r') {
+ if (const char* e = strchr(d, '\n')) {
+ if (*(e - 1) == '\r') {
--e;
}
- std::string const msc_ver_str(d, e-d);
+ std::string const msc_ver_str(d, e - d);
fmsc_version += msc_ver_str;
args.push_back(fmsc_version.c_str());
@@ -621,7 +650,7 @@ int runClang(const char* const* argBeg,
}
// Add the standard year.
- std::string const std_date_str(d, e-d);
+ std::string const std_date_str(d, e - d);
errno = 0;
long std_date = std::strtol(std_date_str.c_str(), nullptr, 10);
if (errno != 0) {
@@ -640,14 +669,14 @@ int runClang(const char* const* argBeg,
args.push_back(std_flag.c_str());
}
} else if (const char* d =
- strstr(pd.c_str(), "#define __STDC_VERSION__ ")) {
+ strstr(pd.c_str(), "#define __STDC_VERSION__ ")) {
// Extract the C standard level.
d += 25;
if (const char* e = strchr(d, '\n')) {
if (*(e - 1) == '\r') {
--e;
}
- std::string const std_date_str(d, e-d);
+ std::string const std_date_str(d, e - d);
errno = 0;
long std_date = std::strtol(std_date_str.c_str(), nullptr, 10);
if (errno != 0) {
diff --git a/src/RunClang.h b/src/RunClang.h
index 4918137..5fc6350 100644
--- a/src/RunClang.h
+++ b/src/RunClang.h
@@ -19,8 +19,7 @@
struct Options;
/// runClang - Run Clang with given user arguments and detected options.
-int runClang(const char* const* argBeg,
- const char* const* argEnd,
+int runClang(const char* const* argBeg, const char* const* argEnd,
Options const& opts);
#endif // CASTXML_RUNCLANG_H
diff --git a/src/Utils.cxx b/src/Utils.cxx
index 4977489..160e13c 100644
--- a/src/Utils.cxx
+++ b/src/Utils.cxx
@@ -18,10 +18,10 @@
#include "Version.h"
#include <cxsys/Process.h>
+#include <fstream>
#include <llvm/ADT/SmallString.h>
#include <llvm/Support/FileSystem.h>
#include <llvm/Support/Path.h>
-#include <fstream>
#include <vector>
static std::string castxmlResourceDir;
@@ -29,8 +29,8 @@ static std::string castxmlClangResourceDir;
static std::string GetMainExecutable(const char* argv0)
{
- return llvm::sys::fs::getMainExecutable
- (argv0, (void*)(intptr_t)GetMainExecutable);
+ return llvm::sys::fs::getMainExecutable(argv0,
+ (void*)(intptr_t)GetMainExecutable);
}
static bool tryBuildDir(std::string const& dir)
@@ -44,10 +44,8 @@ static bool tryBuildDir(std::string const& dir)
std::ifstream cl_fin(cl_dir_txt.c_str());
std::string src_dir;
std::string cl_dir;
- if (std::getline(src_fin, src_dir) &&
- llvm::sys::fs::is_directory(src_dir) &&
- std::getline(cl_fin, cl_dir) &&
- llvm::sys::fs::is_directory(cl_dir)) {
+ if (std::getline(src_fin, src_dir) && llvm::sys::fs::is_directory(src_dir) &&
+ std::getline(cl_fin, cl_dir) && llvm::sys::fs::is_directory(cl_dir)) {
castxmlResourceDir = src_dir + "/share/castxml";
castxmlClangResourceDir = cl_dir;
return true;
@@ -78,8 +76,7 @@ bool findResourceDir(const char* argv0, std::ostream& error)
llvm::sys::path::remove_filename(dir2);
// Build tree has
// <build>/bin[/<config>]/castxml
- if (!tryBuildDir(dir.str()) &&
- !tryBuildDir(dir2.str())) {
+ if (!tryBuildDir(dir.str()) && !tryBuildDir(dir2.str())) {
error << "Unable to locate resources for " << exe << "\n";
return false;
}
@@ -105,14 +102,12 @@ std::string getVersionString()
unsigned int getVersionValue()
{
- return (CASTXML_VERSION_MAJOR * 1000000 +
- CASTXML_VERSION_MINOR * 1000 +
- CASTXML_VERSION_PATCH * 1);
+ return (CASTXML_VERSION_MAJOR * 1000000 + CASTXML_VERSION_MINOR * 1000 +
+ CASTXML_VERSION_PATCH * 1);
}
-bool runCommand(int argc, const char* const* argv,
- int& ret, std::string& out, std::string& err,
- std::string& msg)
+bool runCommand(int argc, const char* const* argv, int& ret, std::string& out,
+ std::string& err, std::string& msg)
{
std::vector<const char*> cmd(argv, argv + argc);
cmd.push_back(0);
@@ -135,39 +130,39 @@ bool runCommand(int argc, const char* const* argv,
char* data;
int length;
int pipe;
- while((pipe = cxsysProcess_WaitForData(cp, &data, &length, 0)) > 0) {
- if(pipe == cxsysProcess_Pipe_STDOUT) {
- outBuf.insert(outBuf.end(), data, data+length);
- } else if(pipe == cxsysProcess_Pipe_STDERR) {
- errBuf.insert(errBuf.end(), data, data+length);
+ while ((pipe = cxsysProcess_WaitForData(cp, &data, &length, 0)) > 0) {
+ if (pipe == cxsysProcess_Pipe_STDOUT) {
+ outBuf.insert(outBuf.end(), data, data + length);
+ } else if (pipe == cxsysProcess_Pipe_STDERR) {
+ errBuf.insert(errBuf.end(), data, data + length);
}
}
cxsysProcess_WaitForExit(cp, 0);
- if(!outBuf.empty()) {
+ if (!outBuf.empty()) {
out.append(&*outBuf.begin(), outBuf.size());
}
- if(!errBuf.empty()) {
+ if (!errBuf.empty()) {
err.append(&*errBuf.begin(), errBuf.size());
}
bool result = true;
- switch(cxsysProcess_GetState(cp)) {
- case cxsysProcess_State_Exited:
- ret = cxsysProcess_GetExitValue(cp);
- break;
- case cxsysProcess_State_Exception:
- msg = cxsysProcess_GetExceptionString(cp);
- result = false;
- break;
- case cxsysProcess_State_Error:
- msg = cxsysProcess_GetErrorString(cp);
- result = false;
- break;
- default:
- msg = "Process terminated in unexpected state.\n";
- result = false;
- break;
+ switch (cxsysProcess_GetState(cp)) {
+ case cxsysProcess_State_Exited:
+ ret = cxsysProcess_GetExitValue(cp);
+ break;
+ case cxsysProcess_State_Exception:
+ msg = cxsysProcess_GetExceptionString(cp);
+ result = false;
+ break;
+ case cxsysProcess_State_Error:
+ msg = cxsysProcess_GetErrorString(cp);
+ result = false;
+ break;
+ default:
+ msg = "Process terminated in unexpected state.\n";
+ result = false;
+ break;
}
cxsysProcess_Delete(cp);
@@ -178,27 +173,34 @@ std::string encodeXML(std::string const& in, bool cdata)
{
std::string xml;
const char* last = in.c_str();
- for(const char* c = last; *c; ++c) {
- switch(*c) {
-# define XML(OUT) \
- xml.append(last, c - last); \
- last = c + 1; \
- xml.append(OUT)
- case '&': XML("&amp;"); break;
- case '<': XML("&lt;"); break;
- case '>': XML("&gt;"); break;
- case '\'':
- if(!cdata) {
- XML("&apos;");
- }
- break;
- case '"':
- if(!cdata) {
- XML("&quot;");
- }
- break;
- default: break;
-# undef XML
+ for (const char* c = last; *c; ++c) {
+ switch (*c) {
+#define XML(OUT) \
+ xml.append(last, c - last); \
+ last = c + 1; \
+ xml.append(OUT)
+ case '&':
+ XML("&amp;");
+ break;
+ case '<':
+ XML("&lt;");
+ break;
+ case '>':
+ XML("&gt;");
+ break;
+ case '\'':
+ if (!cdata) {
+ XML("&apos;");
+ }
+ break;
+ case '"':
+ if (!cdata) {
+ XML("&quot;");
+ }
+ break;
+ default:
+ break;
+#undef XML
}
}
xml.append(last);
@@ -206,7 +208,8 @@ std::string encodeXML(std::string const& in, bool cdata)
}
std::string stringReplace(std::string str, std::string const& in,
- std::string const& out) {
+ std::string const& out)
+{
std::string::size_type p = 0;
while ((p = str.find(in, p)) != std::string::npos) {
str.replace(p, in.size(), out);
@@ -216,7 +219,7 @@ std::string stringReplace(std::string str, std::string const& in,
}
#if defined(_WIN32)
-# include <windows.h>
+#include <windows.h>
#endif
void suppressInteractiveErrors()
diff --git a/src/Utils.h b/src/Utils.h
index 7103fa7..a29e96f 100644
--- a/src/Utils.h
+++ b/src/Utils.h
@@ -37,9 +37,8 @@ std::string getVersionString();
unsigned int getVersionValue();
/// runCommand - Run a given command line and capture the output.
-bool runCommand(int argc, const char* const* argv,
- int& ret, std::string& out, std::string& err,
- std::string& msg);
+bool runCommand(int argc, const char* const* argv, int& ret, std::string& out,
+ std::string& err, std::string& msg);
/// suppressInteractiveErrors - Disable Windows error dialog popups
void suppressInteractiveErrors();
diff --git a/src/castxml.cxx b/src/castxml.cxx
index 79232e1..485d939 100644
--- a/src/castxml.cxx
+++ b/src/castxml.cxx
@@ -29,20 +29,23 @@
#include "llvm/Support/raw_ostream.h"
#include <iostream>
-#include <sstream>
#include <set>
+#include <sstream>
+#include <string.h>
#include <system_error>
#include <vector>
-#include <string.h>
-#if LLVM_VERSION_MAJOR > 3 \
- || LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7
-# include "llvm/Support/StringSaver.h"
+#if LLVM_VERSION_MAJOR > 3 || \
+ LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7
+#include "llvm/Support/StringSaver.h"
#else
-class StringSaver: public llvm::cl::StringSaver {
+class StringSaver : public llvm::cl::StringSaver
+{
std::set<std::string> Strings;
+
public:
- const char* SaveString(const char* s) {
+ const char* SaveString(const char* s)
+ {
return this->Strings.insert(s).first->c_str();
}
};
@@ -59,18 +62,17 @@ int main(int argc_in, const char** argv_in)
llvm::SmallVector<const char*, 64> argv;
llvm::SpecificBumpPtrAllocator<char> argAlloc;
- if(std::error_code e =
- llvm::sys::Process::GetArgumentVector(
- argv, llvm::ArrayRef<const char*>(argv_in, argc_in), argAlloc)) {
+ if (std::error_code e = llvm::sys::Process::GetArgumentVector(
+ argv, llvm::ArrayRef<const char*>(argv_in, argc_in), argAlloc)) {
llvm::errs() << "error: could not get arguments: " << e.message() << "\n";
return 1;
- } else if(argv.empty()) {
+ } else if (argv.empty()) {
llvm::errs() << "error: no argv[0]?!\n";
return 1;
}
-#if LLVM_VERSION_MAJOR > 3 \
- || LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 8
+#if LLVM_VERSION_MAJOR > 3 || \
+ LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 8
llvm::BumpPtrAllocator argSaverAlloc;
llvm::StringSaver argSaver(argSaverAlloc);
#elif LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR == 7
@@ -79,12 +81,12 @@ int main(int argc_in, const char** argv_in)
#else
StringSaver argSaver;
#endif
- llvm::cl::ExpandResponseFiles(
- argSaver, llvm::cl::TokenizeGNUCommandLine, argv);
+ llvm::cl::ExpandResponseFiles(argSaver, llvm::cl::TokenizeGNUCommandLine,
+ argv);
size_t const argc = argv.size();
- if(!findResourceDir(argv[0], std::cerr)) {
+ if (!findResourceDir(argv[0], std::cerr)) {
return 1;
}
@@ -126,13 +128,13 @@ int main(int argc_in, const char** argv_in)
/* clang-format on */
Options opts;
- llvm::SmallVector<const char *, 16> clang_args;
- llvm::SmallVector<const char *, 16> cc_args;
+ llvm::SmallVector<const char*, 16> clang_args;
+ llvm::SmallVector<const char*, 16> cc_args;
const char* cc_id = 0;
- for(size_t i=1; i < argc; ++i) {
- if(strcmp(argv[i], "--castxml-gccxml") == 0) {
- if(!opts.GccXml) {
+ for (size_t i = 1; i < argc; ++i) {
+ if (strcmp(argv[i], "--castxml-gccxml") == 0) {
+ if (!opts.GccXml) {
opts.GccXml = true;
} else {
/* clang-format off */
@@ -144,8 +146,8 @@ int main(int argc_in, const char** argv_in)
/* clang-format on */
return 1;
}
- } else if(strcmp(argv[i], "--castxml-start") == 0) {
- if((i+1) < argc) {
+ } else if (strcmp(argv[i], "--castxml-start") == 0) {
+ if ((i + 1) < argc) {
std::string item;
std::stringstream stream(argv[++i]);
while (std::getline(stream, item, ',')) {
@@ -162,14 +164,14 @@ int main(int argc_in, const char** argv_in)
/* clang-format on */
return 1;
}
- } else if(strncmp(argv[i], "--castxml-cc-", 13) == 0) {
- if(!cc_id) {
+ } else if (strncmp(argv[i], "--castxml-cc-", 13) == 0) {
+ if (!cc_id) {
cc_id = argv[i] + 13;
- if((i+1) >= argc) {
+ if ((i + 1) >= argc) {
continue;
}
++i;
- if(strncmp(argv[i], "-", 1) == 0) {
+ if (strncmp(argv[i], "-", 1) == 0) {
/* clang-format off */
std::cerr <<
"error: argument to '--castxml-cc-" << cc_id <<
@@ -180,10 +182,10 @@ int main(int argc_in, const char** argv_in)
/* clang-format on */
return 1;
}
- if(strcmp(argv[i], "(") == 0) {
+ if (strcmp(argv[i], "(") == 0) {
unsigned int depth = 1;
- for(++i; i < argc && depth > 0; ++i) {
- if(strncmp(argv[i], "--castxml-", 10) == 0) {
+ for (++i; i < argc && depth > 0; ++i) {
+ if (strncmp(argv[i], "--castxml-", 10) == 0) {
/* clang-format off */
std::cerr <<
"error: arguments to '--castxml-cc-" << cc_id <<
@@ -193,18 +195,18 @@ int main(int argc_in, const char** argv_in)
;
/* clang-format on */
return 1;
- } else if(strcmp(argv[i], "(") == 0) {
+ } else if (strcmp(argv[i], "(") == 0) {
++depth;
cc_args.push_back(argv[i]);
- } else if(strcmp(argv[i], ")") == 0) {
- if(--depth) {
+ } else if (strcmp(argv[i], ")") == 0) {
+ if (--depth) {
cc_args.push_back(argv[i]);
}
} else {
cc_args.push_back(argv[i]);
}
}
- if(depth) {
+ if (depth) {
/* clang-format off */
std::cerr <<
"error: unbalanced parentheses after '--castxml-cc-" <<
@@ -229,10 +231,10 @@ int main(int argc_in, const char** argv_in)
/* clang-format on */
return 1;
}
- } else if(strcmp(argv[i], "-E") == 0) {
+ } else if (strcmp(argv[i], "-E") == 0) {
opts.PPOnly = true;
- } else if(strcmp(argv[i], "-o") == 0) {
- if((i+1) < argc) {
+ } else if (strcmp(argv[i], "-o") == 0) {
+ if ((i + 1) < argc) {
opts.OutputFile = argv[++i];
} else {
/* clang-format off */
@@ -244,8 +246,8 @@ int main(int argc_in, const char** argv_in)
/* clang-format on */
return 1;
}
- } else if(strcmp(argv[i], "-help") == 0 ||
- strcmp(argv[i], "--help") == 0) {
+ } else if (strcmp(argv[i], "-help") == 0 ||
+ strcmp(argv[i], "--help") == 0) {
/* clang-format off */
std::cout <<
usage <<
@@ -258,7 +260,7 @@ int main(int argc_in, const char** argv_in)
/* clang-format on */
// Also print Clang help.
clang_args.push_back(argv[i]);
- } else if(strcmp(argv[i], "--version") == 0) {
+ } else if (strcmp(argv[i], "--version") == 0) {
/* clang-format off */
std::cout <<
"castxml version " << getVersionString() << "\n"
@@ -282,9 +284,9 @@ int main(int argc_in, const char** argv_in)
}
}
- if(cc_id) {
+ if (cc_id) {
opts.HaveCC = true;
- if(cc_args.empty()) {
+ if (cc_args.empty()) {
/* clang-format off */
std::cerr <<
"error: '--castxml-cc-" << cc_id <<
@@ -295,13 +297,13 @@ int main(int argc_in, const char** argv_in)
/* clang-format on */
return 1;
}
- if(!detectCC(cc_id, cc_args.data(), cc_args.data() + cc_args.size(),
- opts)) {
+ if (!detectCC(cc_id, cc_args.data(), cc_args.data() + cc_args.size(),
+ opts)) {
return 1;
}
}
- if(clang_args.empty()) {
+ if (clang_args.empty()) {
return 0;
}
diff --git a/test/expect/gccxml.any.Class-abstract.xml.txt b/test/expect/gccxml.any.Class-abstract.xml.txt
index 935f473..0072787 100644
--- a/test/expect/gccxml.any.Class-abstract.xml.txt
+++ b/test/expect/gccxml.any.Class-abstract.xml.txt
@@ -1,11 +1,11 @@
^<\?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" mangled="[^"]+">
- <Argument type="_9" location="f1:2" file="f1" line="2"/>
+ <Method id="_3" name="method" returns="_9" context="_1" access="private" location="f1:3" file="f1" line="3" virtual="1" pure_virtual="1" mangled="[^"]+">
+ <Argument type="_9" location="f1:3" file="f1" line="3"/>
</Method>
- <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"/>
+ <Converter id="_4" returns="_9" context="_1" access="private" location="f1:4" file="f1" line="4" virtual="1" pure_virtual="1" mangled="[^"]+"/>
+ <Destructor id="_5" name="start" context="_1" access="private" location="f1:5" file="f1" line="5" 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"( throw="")? mangled="[^"]+">
<Argument type="_11" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
diff --git a/test/expect/gccxml.any.Class-base-offset.xml.txt b/test/expect/gccxml.any.Class-base-offset.xml.txt
index 14f49b6..a1a4f40 100644
--- a/test/expect/gccxml.any.Class-base-offset.xml.txt
+++ b/test/expect/gccxml.any.Class-base-offset.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start" context="_2" location="f1:4" file="f1" line="4" members="_3 _4 _5 _6" bases="_7 _8 _9" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start" context="_2" location="f1:13" file="f1" line="13" members="_3 _4 _5 _6" bases="_7 _8 _9" size="[0-9]+" align="[0-9]+">
<Base type="_7" access="public" virtual="0" offset="0"/>
<Base type="_8" access="public" virtual="0" offset="1"/>
<Base type="_9" access="public" virtual="0" offset="2"/>
diff --git a/test/expect/gccxml.any.Class-base-typedef.xml.txt b/test/expect/gccxml.any.Class-base-typedef.xml.txt
index f82be8a..e4cad62 100644
--- a/test/expect/gccxml.any.Class-base-typedef.xml.txt
+++ b/test/expect/gccxml.any.Class-base-typedef.xml.txt
@@ -1,16 +1,16 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start" context="_2" location="f1:3" file="f1" line="3" members="_3 _4 _5 _6" bases="_7" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start" context="_2" location="f1:5" file="f1" line="5" members="_3 _4 _5 _6" bases="_7" size="[0-9]+" align="[0-9]+">
<Base type="_7" access="public" virtual="0" offset="0"/>
</Class>
- <Constructor id="_3" name="start" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")?>
- <Argument type="_8" location="f1:3" file="f1" line="3"/>
+ <Constructor id="_3" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?>
+ <Argument type="_8" location="f1:5" file="f1" line="5"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_9" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_8" location="f1:3" file="f1" line="3"/>
+ <OperatorMethod id="_5" name="=" returns="_9" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_8" location="f1:5" file="f1" line="5"/>
</OperatorMethod>
- <Destructor id="_6" name="start" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_6" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
<Class id="_7" name="base" context="_2" location="f1:1" file="f1" line="1" members="_10 _11 _12 _13" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_8" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
diff --git a/test/expect/gccxml.any.Class-forward.xml.txt b/test/expect/gccxml.any.Class-forward.xml.txt
index 59c4902..313e06b 100644
--- a/test/expect/gccxml.any.Class-forward.xml.txt
+++ b/test/expect/gccxml.any.Class-forward.xml.txt
@@ -1,14 +1,14 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Class id="_1" name="start" context="_2" location="f1:2" file="f1" line="2" members="_3 _4 _5 _6" size="[0-9]+" align="[0-9]+"/>
- <Constructor id="_3" name="start" context="_1" access="public" location="f1:4" file="f1" line="4"/>
- <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" mangled="[^"]+">
+ <Constructor id="_3" name="start" context="_1" access="public" location="f1:5" file="f1" line="5"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:6" file="f1" line="6">
<Argument type="_7" location="f1:6" file="f1" line="6"/>
+ </Constructor>
+ <OperatorMethod id="_5" name="=" returns="_8" context="_1" access="public" location="f1:7" file="f1" line="7" mangled="[^"]+">
+ <Argument type="_7" location="f1:7" file="f1" line="7"/>
</OperatorMethod>
- <Destructor id="_6" name="start" context="_1" access="public" location="f1:7" file="f1" line="7"/>
+ <Destructor id="_6" name="start" context="_1" access="public" location="f1:8" file="f1" line="8"/>
<ReferenceType id="_7" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
<ReferenceType id="_8" type="_1"/>
diff --git a/test/expect/gccxml.any.Class-friends.xml.txt b/test/expect/gccxml.any.Class-friends.xml.txt
index 353afcd..bac3cc2 100644
--- a/test/expect/gccxml.any.Class-friends.xml.txt
+++ b/test/expect/gccxml.any.Class-friends.xml.txt
@@ -1,19 +1,19 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start" context="_2" location="f1:3" file="f1" line="3" members="_3 _4 _5 _6" befriending="_7 _8" size="[0-9]+" align="[0-9]+"/>
- <Constructor id="_3" name="start" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")?>
- <Argument type="_9" location="f1:3" file="f1" line="3"/>
+ <Class id="_1" name="start" context="_2" location="f1:5" file="f1" line="5" members="_3 _4 _5 _6" befriending="_7 _8" size="[0-9]+" align="[0-9]+"/>
+ <Constructor id="_3" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?>
+ <Argument type="_9" location="f1:5" file="f1" line="5"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_9" location="f1:3" file="f1" line="3"/>
+ <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_9" location="f1:5" file="f1" line="5"/>
</OperatorMethod>
- <Destructor id="_6" name="start" context="_1" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_6" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
<ReferenceType id="_9" type="_1c"/>
<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" mangled="[^"]+"/>
+ <Function id="_7" name="f" returns="_11" context="_2" location="f1:4" file="f1" line="4" 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 56dece8..bacc2fc 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
@@ -1,20 +1,20 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start" context="_2" location="f1:10" file="f1" line="10" members="_3 _4" bases="_5" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start" context="_2" location="f1:12" file="f1" line="12" members="_3 _4" bases="_5" size="[0-9]+" align="[0-9]+">
<Base type="_5" access="public" virtual="0" offset="0"/>
</Class>
- <Destructor id="_3" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_3" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")?/>
<Class id="_5" name="base" context="_2" location="f1:1" file="f1" line="1" members="_6 _7 _8 _9 _10" size="[0-9]+" align="[0-9]+"/>
- <Constructor id="_6" name="base" context="_5" access="protected" location="f1:3" file="f1" line="3"/>
- <Destructor id="_7" name="base" context="_5" access="protected" location="f1:4" file="f1" line="4"/>
- <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 id="_6" name="base" context="_5" access="protected" location="f1:4" file="f1" line="4"/>
+ <Destructor id="_7" name="base" context="_5" access="protected" location="f1:5" file="f1" line="5"/>
+ <Constructor id="_8" name="base" context="_5" access="private" location="f1:8" file="f1" line="8">
+ <Argument type="_11" location="f1:8" file="f1" line="8"/>
</Constructor>
- <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 id="_9" name="=" returns="_12" context="_5" access="private" location="f1:9" file="f1" line="9" mangled="[^"]+">
+ <Argument type="_11" location="f1:9" file="f1" line="9"/>
</OperatorMethod>
- <Field id="_10" name="data" type="_13" context="_5" access="private" location="f1:8" file="f1" line="8" offset="0" mutable="1"/>
+ <Field id="_10" name="data" type="_13" context="_5" access="private" location="f1:10" file="f1" line="10" offset="0" mutable="1"/>
<ReferenceType id="_11" type="_5c"/>
<CvQualifiedType id="_5c" type="_5" const="1"/>
<ReferenceType id="_12" type="_5"/>
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 9cf2a14..035cb7d 100644
--- a/test/expect/gccxml.any.Class-implicit-member-access.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-member-access.xml.txt
@@ -1,18 +1,18 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start" context="_2" location="f1:9" file="f1" line="9" members="_3 _4" bases="_5" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start" context="_2" location="f1:11" file="f1" line="11" members="_3 _4" bases="_5" size="[0-9]+" align="[0-9]+">
<Base type="_5" access="public" virtual="0" offset="0"/>
</Class>
- <Destructor id="_3" name="start" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_3" name="start" context="_1" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?/>
<Class id="_5" name="base" context="_2" location="f1:1" file="f1" line="1" members="_6 _7 _8 _9" size="[0-9]+" align="[0-9]+"/>
- <Constructor id="_6" name="base" context="_5" access="protected" location="f1:3" file="f1" line="3"/>
- <Destructor id="_7" name="base" context="_5" access="protected" location="f1:4" file="f1" line="4"/>
- <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 id="_6" name="base" context="_5" access="protected" location="f1:4" file="f1" line="4"/>
+ <Destructor id="_7" name="base" context="_5" access="protected" location="f1:5" file="f1" line="5"/>
+ <Constructor id="_8" name="base" context="_5" access="private" location="f1:8" file="f1" line="8">
+ <Argument type="_10" location="f1:8" file="f1" line="8"/>
</Constructor>
- <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 id="_9" name="=" returns="_11" context="_5" access="private" location="f1:9" file="f1" line="9" mangled="[^"]+">
+ <Argument type="_10" location="f1:9" file="f1" line="9"/>
</OperatorMethod>
<ReferenceType id="_10" type="_5c"/>
<CvQualifiedType id="_5c" type="_5" const="1"/>
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 f7519c7..586011f 100644
--- a/test/expect/gccxml.any.Class-implicit-member-array.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-member-array.xml.txt
@@ -1,7 +1,7 @@
^<\?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]+"/>
- <Field id="_3" name="data" type="_8" context="_1" access="private" location="f1:2" file="f1" line="2" offset="0"/>
+ <Field id="_3" name="data" type="_8" context="_1" access="private" location="f1:3" file="f1" line="3" offset="0"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_9" location="f1:1" file="f1" line="1"/>
diff --git a/test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt b/test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt
index 6c98ab9..5bf41e3 100644
--- a/test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-member-bad-base.xml.txt
@@ -8,15 +8,15 @@
<Argument type="_7" location="f1:9" file="f1" line="9"/>
</Constructor>
<Destructor id="_5" name="start" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")?/>
- <Class id="_6" name="base&lt;const int&gt;" context="_2" location="f1:1" file="f1" line="1" members="_8 _9 _10 _11" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_6" name="base&lt;const int&gt;" context="_2" location="f1:2" file="f1" line="2" members="_8 _9 _10 _11" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_7" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
- <Field id="_8" name="data" type="_12c" context="_6" access="protected" location="f1:3" file="f1" line="3" offset="0"/>
- <Constructor id="_9" name="base" context="_6" access="protected" location="f1:4" file="f1" line="4"/>
- <Constructor id="_10" name="base" context="_6" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
- <Argument type="_13" location="f1:1" file="f1" line="1"/>
+ <Field id="_8" name="data" type="_12c" context="_6" access="protected" location="f1:5" file="f1" line="5" offset="0"/>
+ <Constructor id="_9" name="base" context="_6" access="protected" location="f1:6" file="f1" line="6"/>
+ <Constructor id="_10" name="base" context="_6" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?>
+ <Argument type="_13" location="f1:2" file="f1" line="2"/>
</Constructor>
- <Destructor id="_11" name="base" context="_6" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_11" name="base" context="_6" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?/>
<FundamentalType id="_12" name="int" size="[0-9]+" align="[0-9]+"/>
<CvQualifiedType id="_12c" type="_12" const="1"/>
<ReferenceType id="_13" type="_6c"/>
diff --git a/test/expect/gccxml.any.Class-implicit-member-const-aggregate.xml.txt b/test/expect/gccxml.any.Class-implicit-member-const-aggregate.xml.txt
index a6761b4..0c678f9 100644
--- a/test/expect/gccxml.any.Class-implicit-member-const-aggregate.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-member-const-aggregate.xml.txt
@@ -1,7 +1,7 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Struct id="_1" name="start" context="_2" location="f1:1" file="f1" line="1" members="_3 _4 _5" size="[0-9]+" align="[0-9]+"/>
- <Field id="_3" name="data" type="_6c" context="_1" access="public" location="f1:2" file="f1" line="2" offset="0"/>
+ <Field id="_3" name="data" type="_6c" context="_1" access="public" location="f1:3" file="f1" line="3" offset="0"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_7" location="f1:1" file="f1" line="1"/>
</Constructor>
diff --git a/test/expect/gccxml.any.Class-implicit-member-const.xml.txt b/test/expect/gccxml.any.Class-implicit-member-const.xml.txt
index fedda86..38edff8 100644
--- a/test/expect/gccxml.any.Class-implicit-member-const.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-member-const.xml.txt
@@ -1,8 +1,8 @@
^<\?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" size="[0-9]+" align="[0-9]+"/>
- <Field id="_3" name="data" type="_7c" context="_1" access="private" location="f1:2" file="f1" line="2" offset="0"/>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4"/>
+ <Field id="_3" name="data" type="_7c" context="_1" access="private" location="f1:3" file="f1" line="3" offset="0"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:6" file="f1" line="6"/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_8" location="f1:1" file="f1" line="1"/>
</Constructor>
diff --git a/test/expect/gccxml.any.Class-implicit-member-reference.xml.txt b/test/expect/gccxml.any.Class-implicit-member-reference.xml.txt
index 619941d..d522d6c 100644
--- a/test/expect/gccxml.any.Class-implicit-member-reference.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-member-reference.xml.txt
@@ -1,8 +1,8 @@
^<\?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" size="[0-9]+" align="[0-9]+"/>
- <Field id="_3" name="ref" type="_7" context="_1" access="private" location="f1:2" file="f1" line="2" offset="0"/>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4"/>
+ <Field id="_3" name="ref" type="_7" context="_1" access="private" location="f1:3" file="f1" line="3" offset="0"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:6" file="f1" line="6"/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_8" location="f1:1" file="f1" line="1"/>
</Constructor>
diff --git a/test/expect/gccxml.any.Class-implicit-members.xml.txt b/test/expect/gccxml.any.Class-implicit-members.xml.txt
index 8676dd6..bd2dc9f 100644
--- a/test/expect/gccxml.any.Class-implicit-members.xml.txt
+++ b/test/expect/gccxml.any.Class-implicit-members.xml.txt
@@ -1,8 +1,8 @@
^<\?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" mangled="[^"]+">
- <Argument name="x" type="_8" location="f1:2" file="f1" line="2"/>
+ <Method id="_3" name="method" returns="_1" context="_1" access="private" location="f1:3" file="f1" line="3" inline="1" mangled="[^"]+">
+ <Argument name="x" type="_8" location="f1:3" file="f1" line="3"/>
</Method>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
diff --git a/test/expect/gccxml.any.Class-member-template-access.xml.txt b/test/expect/gccxml.any.Class-member-template-access.xml.txt
index 4c2a0fc..1dcefc5 100644
--- a/test/expect/gccxml.any.Class-member-template-access.xml.txt
+++ b/test/expect/gccxml.any.Class-member-template-access.xml.txt
@@ -1,9 +1,9 @@
^<\?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 _8 _9" size="[0-9]+" align="[0-9]+"/>
- <Class id="_3" name="member&lt;char&gt;" context="_1" access="private" location="f1:2" file="f1" line="2" incomplete="1"/>
- <Class id="_4" name="member&lt;int&gt;" context="_1" access="private" location="f1:6" file="f1" line="6" members="_10 _11 _12 _13" size="[0-9]+" align="[0-9]+"/>
- <Typedef id="_5" name="member_char" type="_3" context="_1" access="public" location="f1:4" file="f1" line="4"/>
+ <Class id="_3" name="member&lt;char&gt;" context="_1" access="private" location="f1:4" file="f1" line="4" incomplete="1"/>
+ <Class id="_4" name="member&lt;int&gt;" context="_1" access="private" location="f1:11" file="f1" line="11" members="_10 _11 _12 _13" size="[0-9]+" align="[0-9]+"/>
+ <Typedef id="_5" name="member_char" type="_3" context="_1" access="public" location="f1:9" file="f1" line="9"/>
<Constructor id="_6" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_14" location="f1:1" file="f1" line="1"/>
@@ -12,14 +12,14 @@
<Argument type="_14" location="f1:1" file="f1" line="1"/>
</OperatorMethod>
<Destructor id="_9" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_10" name="member" context="_4" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_11" name="member" context="_4" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?>
- <Argument type="_16" location="f1:6" file="f1" line="6"/>
+ <Constructor id="_10" name="member" context="_4" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_11" name="member" context="_4" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?>
+ <Argument type="_16" location="f1:11" file="f1" line="11"/>
</Constructor>
- <OperatorMethod id="_12" name="=" returns="_17" context="_4" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_16" location="f1:6" file="f1" line="6"/>
+ <OperatorMethod id="_12" name="=" returns="_17" context="_4" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_16" location="f1:11" file="f1" line="11"/>
</OperatorMethod>
- <Destructor id="_13" name="member" context="_4" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_13" name="member" context="_4" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?/>
<ReferenceType id="_14" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
<ReferenceType id="_15" type="_1"/>
diff --git a/test/expect/gccxml.any.Class-member-template.xml.txt b/test/expect/gccxml.any.Class-member-template.xml.txt
index cc5ae33..ffdea37 100644
--- a/test/expect/gccxml.any.Class-member-template.xml.txt
+++ b/test/expect/gccxml.any.Class-member-template.xml.txt
@@ -1,8 +1,8 @@
^<\?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" mangled="[^"]+">
- <Argument name="v" type="_8" location="f1:2" file="f1" line="2"/>
+ <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:4" file="f1" line="4" inline="1" mangled="[^"]+">
+ <Argument name="v" type="_8" location="f1:4" file="f1" line="4"/>
</Method>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
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 56b2dd4..6ec6fe1 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
@@ -1,18 +1,18 @@
^<\?xml version="1.0"\?>
<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" mangled="[^"]+">
- <Argument type="_3" location="f1:5" file="f1" line="5"/>
+ <Class id="_1" name="start&lt;int &amp;&gt;" context="_2" location="f1:11" file="f1" line="11" 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:6" file="f1" line="6"/>
+ <Method id="_4" name="method" returns="_9" context="_1" access="public" location="f1:9" file="f1" line="9" mangled="[^"]+">
+ <Argument type="_3" location="f1:9" file="f1" line="9"/>
</Method>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_6" name="start" context="_1" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")?>
- <Argument type="_10" location="f1:7" file="f1" line="7"/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?>
+ <Argument type="_10" location="f1:11" file="f1" line="11"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_10" location="f1:7" file="f1" line="7"/>
+ <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_10" location="f1:11" file="f1" line="11"/>
</OperatorMethod>
- <Destructor id="_8" name="start" context="_1" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_8" name="start" context="_1" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?/>
<FundamentalType id="_9" name="int" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_10" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
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 35a9f71..8ecd5b2 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,17 +1,17 @@
^<\?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" mangled="[^"]+">
- <Argument type="_9" location="f1:2" file="f1" line="2"/>
+ <Class id="_1" name="start&lt;const int&gt;" context="_2" location="f1:6" file="f1" line="6" 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:4" file="f1" line="4" mangled="[^"]+">
+ <Argument type="_9" location="f1:4" file="f1" line="4"/>
</Method>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?>
- <Argument type="_10" location="f1:4" file="f1" line="4"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?>
+ <Argument type="_10" location="f1:6" file="f1" line="6"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_11" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_10" location="f1:4" file="f1" line="4"/>
+ <OperatorMethod id="_6" name="=" returns="_11" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_10" location="f1:6" file="f1" line="6"/>
</OperatorMethod>
- <Destructor id="_7" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_7" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
<FundamentalType id="_8" name="void" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_9" type="_12c"/>
<ReferenceType id="_10" type="_1c"/>
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 5ebccfb..70cfe24 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,17 +1,17 @@
^<\?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" mangled="[^"]+">
- <Argument type="_8" location="f1:2" file="f1" line="2" default="123"/>
+ <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:6" file="f1" line="6" 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:4" file="f1" line="4" mangled="[^"]+">
+ <Argument type="_8" location="f1:4" file="f1" line="4" default="123"/>
</Method>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?>
- <Argument type="_9" location="f1:4" file="f1" line="4"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?>
+ <Argument type="_9" location="f1:6" file="f1" line="6"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_9" location="f1:4" file="f1" line="4"/>
+ <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_9" location="f1:6" file="f1" line="6"/>
</OperatorMethod>
- <Destructor id="_7" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_7" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
<FundamentalType id="_8" name="int" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_9" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
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 aa75b74..b44a4a4 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,15 +1,15 @@
^<\?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" mangled="[^"]+"/>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?>
- <Argument type="_9" location="f1:4" file="f1" line="4"/>
+ <Class id="_1" name="start&lt;const int&gt;" context="_2" location="f1:6" file="f1" line="6" 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:4" file="f1" line="4" mangled="[^"]+"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?>
+ <Argument type="_9" location="f1:6" file="f1" line="6"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_9" location="f1:4" file="f1" line="4"/>
+ <OperatorMethod id="_6" name="=" returns="_10" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_9" location="f1:6" file="f1" line="6"/>
</OperatorMethod>
- <Destructor id="_7" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_7" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
<FundamentalType id="_8" name="int" size="[0-9]+" align="[0-9]+"/>
<CvQualifiedType id="_8c" type="_8" const="1"/>
<ReferenceType id="_9" type="_1c"/>
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 4bbdd52..1b32202 100644
--- a/test/expect/gccxml.any.Class-template-constructor-template.xml.txt
+++ b/test/expect/gccxml.any.Class-template-constructor-template.xml.txt
@@ -1,16 +1,16 @@
^<\?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" size="[0-9]+" align="[0-9]+"/>
- <Constructor id="_3" name="start" context="_1" access="public" location="f1:3" file="f1" line="3">
- <Argument type="_7" location="f1:3" file="f1" line="3"/>
+ <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:2" file="f1" line="2" members="_3 _4 _5 _6" size="[0-9]+" align="[0-9]+"/>
+ <Constructor id="_3" name="start" context="_1" access="public" location="f1:5" file="f1" line="5">
+ <Argument type="_7" location="f1:5" file="f1" line="5"/>
</Constructor>
- <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 id="_4" name="start" context="_1" access="public" location="f1:7" file="f1" line="7">
+ <Argument type="_8" location="f1:7" file="f1" line="7"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_9" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_7" location="f1:1" file="f1" line="1"/>
+ <OperatorMethod id="_5" name="=" returns="_9" context="_1" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_7" location="f1:2" file="f1" line="2"/>
</OperatorMethod>
- <Destructor id="_6" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_6" name="start" context="_1" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?/>
<ReferenceType id="_7" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
<ReferenceType id="_8" type="_1c"/>
diff --git a/test/expect/gccxml.any.Class-template-friends.xml.txt b/test/expect/gccxml.any.Class-template-friends.xml.txt
index 53d0860..da38882 100644
--- a/test/expect/gccxml.any.Class-template-friends.xml.txt
+++ b/test/expect/gccxml.any.Class-template-friends.xml.txt
@@ -1,22 +1,22 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:8" file="f1" line="8" members="_3 _4 _5 _6" befriending="_7 _8" size="[0-9]+" align="[0-9]+"/>
- <Constructor id="_3" name="start" context="_1" access="public" location="f1:8" file="f1" line="8" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:8" file="f1" line="8" inline="1" artificial="1"( throw="")?>
- <Argument type="_9" location="f1:8" file="f1" line="8"/>
+ <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:13" file="f1" line="13" members="_3 _4 _5 _6" befriending="_7 _8" size="[0-9]+" align="[0-9]+"/>
+ <Constructor id="_3" name="start" context="_1" access="public" location="f1:13" file="f1" line="13" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:13" file="f1" line="13" inline="1" artificial="1"( throw="")?>
+ <Argument type="_9" location="f1:13" file="f1" line="13"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:8" file="f1" line="8" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_9" location="f1:8" file="f1" line="8"/>
+ <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:13" file="f1" line="13" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_9" location="f1:13" file="f1" line="13"/>
</OperatorMethod>
- <Destructor id="_6" name="start" context="_1" access="public" location="f1:8" file="f1" line="8" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_6" name="start" context="_1" access="public" location="f1:13" file="f1" line="13" inline="1" artificial="1"( throw="")?/>
<ReferenceType id="_9" type="_1c"/>
<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" mangled="[^"]+">
- <Argument type="_11" location="f1:2" file="f1" line="2"/>
+ <Function id="_7" name="f" returns="_11" context="_2" location="f1:9" file="f1" line="9" mangled="[^"]+">
+ <Argument type="_11" location="f1:4" file="f1" line="4"/>
</Function>
- <Class id="_8" name="A&lt;int&gt;" context="_2" location="f1:1" file="f1" line="1" incomplete="1"/>
+ <Class id="_8" name="A&lt;int&gt;" context="_2" location="f1:2" file="f1" line="2" incomplete="1"/>
<FundamentalType id="_11" name="int" size="[0-9]+" align="[0-9]+"/>
<File id="f1" name=".*/test/input/Class-template-friends.cxx"/>
</GCC_XML>$
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 f918475..964c82c 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
@@ -1,18 +1,18 @@
^<\?xml version="1.0"\?>
<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" mangled="[^"]+">
- <Argument type="_3" location="f1:4" file="f1" line="4"/>
+ <Class id="_1" name="start&lt;const int&gt;" context="_2" location="f1:9" file="f1" line="9" 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:4" file="f1" line="4"/>
+ <Method id="_4" name="method" returns="_9c" context="_1" access="public" location="f1:7" file="f1" line="7" mangled="[^"]+">
+ <Argument type="_3" location="f1:7" file="f1" line="7"/>
</Method>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_6" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?>
- <Argument type="_10" location="f1:6" file="f1" line="6"/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")?>
+ <Argument type="_10" location="f1:9" file="f1" line="9"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_10" location="f1:6" file="f1" line="6"/>
+ <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_10" location="f1:9" file="f1" line="9"/>
</OperatorMethod>
- <Destructor id="_8" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_8" name="start" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")?/>
<FundamentalType id="_9" name="int" size="[0-9]+" align="[0-9]+"/>
<CvQualifiedType id="_9c" type="_9" const="1"/>
<ReferenceType id="_10" type="_1c"/>
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 859c196..e767040 100644
--- a/test/expect/gccxml.any.Class-template-member-Typedef.xml.txt
+++ b/test/expect/gccxml.any.Class-template-member-Typedef.xml.txt
@@ -1,18 +1,18 @@
^<\?xml version="1.0"\?>
<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" mangled="[^"]+">
- <Argument type="_3" location="f1:4" file="f1" line="4"/>
+ <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:9" file="f1" line="9" 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:4" file="f1" line="4"/>
+ <Method id="_4" name="method" returns="_9" context="_1" access="public" location="f1:7" file="f1" line="7" mangled="[^"]+">
+ <Argument type="_3" location="f1:7" file="f1" line="7"/>
</Method>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_6" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?>
- <Argument type="_10" location="f1:6" file="f1" line="6"/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")?>
+ <Argument type="_10" location="f1:9" file="f1" line="9"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_10" location="f1:6" file="f1" line="6"/>
+ <OperatorMethod id="_7" name="=" returns="_11" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_10" location="f1:9" file="f1" line="9"/>
</OperatorMethod>
- <Destructor id="_8" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_8" name="start" context="_1" access="public" location="f1:9" file="f1" line="9" inline="1" artificial="1"( throw="")?/>
<FundamentalType id="_9" name="int" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_10" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
diff --git a/test/expect/gccxml.any.Class-template-member-nontemplate-Typedef.xml.txt b/test/expect/gccxml.any.Class-template-member-nontemplate-Typedef.xml.txt
index 693ac8d..5c70a39 100644
--- a/test/expect/gccxml.any.Class-template-member-nontemplate-Typedef.xml.txt
+++ b/test/expect/gccxml.any.Class-template-member-nontemplate-Typedef.xml.txt
@@ -1,10 +1,10 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Typedef id="_1" name="start" type="_2" context="_3" location="f1:7" file="f1" line="7"/>
- <Typedef id="_2" name="type" type="_4" context="_5" access="public" location="f1:4" file="f1" line="4"/>
+ <Typedef id="_1" name="start" type="_2" context="_3" location="f1:10" file="f1" line="10"/>
+ <Typedef id="_2" name="type" type="_4" context="_5" access="public" location="f1:7" file="f1" line="7"/>
<FundamentalType id="_4" name="int" size="[0-9]+" align="[0-9]+"/>
<Namespace id="_3" name="::"/>
- <Struct id="_5" name="B" context="_6" access="public" location="f1:2" file="f1" line="2" size="[0-9]+" align="[0-9]+"/>
- <Struct id="_6" name="A&lt;int&gt;" context="_3" location="f1:1" file="f1" line="1" size="[0-9]+" align="[0-9]+"/>
+ <Struct id="_5" name="B" context="_6" access="public" location="f1:4" file="f1" line="4" size="[0-9]+" align="[0-9]+"/>
+ <Struct id="_6" name="A&lt;int&gt;" context="_3" location="f1:2" file="f1" line="2" size="[0-9]+" align="[0-9]+"/>
<File id="f1" name=".*/test/input/Class-template-member-nontemplate-Typedef.cxx"/>
</GCC_XML>$
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 8e23b3f..00c7ac5 100644
--- a/test/expect/gccxml.any.Class-template-member-template.xml.txt
+++ b/test/expect/gccxml.any.Class-template-member-template.xml.txt
@@ -1,17 +1,17 @@
^<\?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" mangled="[^"]+">
- <Argument type="_9" location="f1:2" file="f1" line="2"/>
+ <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:2" file="f1" line="2" 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:5" file="f1" line="5" inline="1" mangled="[^"]+">
+ <Argument type="_9" location="f1:5" file="f1" line="5"/>
</Method>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
- <Argument type="_10" location="f1:1" file="f1" line="1"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?>
+ <Argument type="_10" location="f1:2" file="f1" line="2"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_11" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_10" location="f1:1" file="f1" line="1"/>
+ <OperatorMethod id="_6" name="=" returns="_11" context="_1" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_10" location="f1:2" file="f1" line="2"/>
</OperatorMethod>
- <Destructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_7" name="start" context="_1" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?/>
<FundamentalType id="_8" name="int" size="[0-9]+" align="[0-9]+"/>
<FundamentalType id="_9" name="char" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_10" type="_1c"/>
diff --git a/test/expect/gccxml.any.Class-template-recurse.xml.txt b/test/expect/gccxml.any.Class-template-recurse.xml.txt
index 2a4a214..627b844 100644
--- a/test/expect/gccxml.any.Class-template-recurse.xml.txt
+++ b/test/expect/gccxml.any.Class-template-recurse.xml.txt
@@ -1,15 +1,15 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Variable id="_1" name="start" type="_2" init="" context="_3" location="f1:13" file="f1" line="13" mangled="[^"]+"/>
- <Struct id="_2" name="C&lt;void&gt;" context="_3" location="f1:6" file="f1" line="6" members="_4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
- <Constructor id="_4" name="C" context="_2" access="public" location="f1:7" file="f1" line="7" inline="1"/>
- <Constructor id="_5" name="C" context="_2" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?>
- <Argument type="_8" location="f1:6" file="f1" line="6"/>
+ <Variable id="_1" name="start" type="_2" init="" context="_3" location="f1:20" file="f1" line="20" mangled="[^"]+"/>
+ <Struct id="_2" name="C&lt;void&gt;" context="_3" location="f1:11" file="f1" line="11" members="_4 _5 _6 _7" size="[0-9]+" align="[0-9]+"/>
+ <Constructor id="_4" name="C" context="_2" access="public" location="f1:13" file="f1" line="13" inline="1"/>
+ <Constructor id="_5" name="C" context="_2" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?>
+ <Argument type="_8" location="f1:11" file="f1" line="11"/>
</Constructor>
- <OperatorMethod id="_6" name="=" returns="_9" context="_2" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_8" location="f1:6" file="f1" line="6"/>
+ <OperatorMethod id="_6" name="=" returns="_9" context="_2" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_8" location="f1:11" file="f1" line="11"/>
</OperatorMethod>
- <Destructor id="_7" name="C" context="_2" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_7" name="C" context="_2" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?/>
<ReferenceType id="_8" type="_2c"/>
<CvQualifiedType id="_2c" type="_2" const="1"/>
<ReferenceType id="_9" type="_2"/>
diff --git a/test/expect/gccxml.any.Class-template.xml.txt b/test/expect/gccxml.any.Class-template.xml.txt
index 829ceb0..fcc577a 100644
--- a/test/expect/gccxml.any.Class-template.xml.txt
+++ b/test/expect/gccxml.any.Class-template.xml.txt
@@ -1,24 +1,24 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start&lt;char&gt;" context="_4" location="f1:3" file="f1" line="3" incomplete="1"/>
- <Class id="_2" name="start&lt;int&gt;" context="_4" location="f1:4" file="f1" line="4" members="_5 _6 _7 _8" size="[0-9]+" align="[0-9]+"/>
- <Struct id="_3" name="start&lt;int &amp;&gt;" context="_4" location="f1:5" file="f1" line="5" members="_9 _10 _11 _12" size="[0-9]+" align="[0-9]+"/>
- <Constructor id="_5" name="start" context="_2" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_6" name="start" context="_2" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?>
- <Argument type="_13" location="f1:4" file="f1" line="4"/>
+ <Class id="_1" name="start&lt;char&gt;" context="_4" location="f1:10" file="f1" line="10" incomplete="1"/>
+ <Class id="_2" name="start&lt;int&gt;" context="_4" location="f1:11" file="f1" line="11" members="_5 _6 _7 _8" size="[0-9]+" align="[0-9]+"/>
+ <Struct id="_3" name="start&lt;int &amp;&gt;" context="_4" location="f1:12" file="f1" line="12" members="_9 _10 _11 _12" size="[0-9]+" align="[0-9]+"/>
+ <Constructor id="_5" name="start" context="_2" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_6" name="start" context="_2" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?>
+ <Argument type="_13" location="f1:11" file="f1" line="11"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_14" context="_2" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_13" location="f1:4" file="f1" line="4"/>
+ <OperatorMethod id="_7" name="=" returns="_14" context="_2" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_13" location="f1:11" file="f1" line="11"/>
</OperatorMethod>
- <Destructor id="_8" name="start" context="_2" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_9" name="start" context="_3" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_10" name="start" context="_3" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?>
- <Argument type="_15" location="f1:5" file="f1" line="5"/>
+ <Destructor id="_8" name="start" context="_2" access="public" location="f1:11" file="f1" line="11" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_9" name="start" context="_3" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_10" name="start" context="_3" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")?>
+ <Argument type="_15" location="f1:12" file="f1" line="12"/>
</Constructor>
- <OperatorMethod id="_11" name="=" returns="_16" context="_3" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_15" location="f1:5" file="f1" line="5"/>
+ <OperatorMethod id="_11" name="=" returns="_16" context="_3" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_15" location="f1:12" file="f1" line="12"/>
</OperatorMethod>
- <Destructor id="_12" name="start" context="_3" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_12" name="start" context="_3" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")?/>
<ReferenceType id="_13" type="_2c"/>
<CvQualifiedType id="_2c" type="_2" const="1"/>
<ReferenceType id="_14" type="_2"/>
diff --git a/test/expect/gccxml.any.Constructor-annotate.xml.txt b/test/expect/gccxml.any.Constructor-annotate.xml.txt
index 90c7f02..e9e250e 100644
--- a/test/expect/gccxml.any.Constructor-annotate.xml.txt
+++ b/test/expect/gccxml.any.Constructor-annotate.xml.txt
@@ -1,7 +1,7 @@
^<\?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" size="[0-9]+" align="[0-9]+"/>
- <Constructor id="_3" name="start" context="_1" access="private" location="f1:2" file="f1" line="2" attributes="annotate\(an annotation\)"/>
+ <Constructor id="_3" name="start" context="_1" access="private" location="f1:3" file="f1" line="3" attributes="annotate\(an annotation\)"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_7" location="f1:1" file="f1" line="1"/>
</Constructor>
diff --git a/test/expect/gccxml.any.Constructor.xml.txt b/test/expect/gccxml.any.Constructor.xml.txt
index 4aec461..f52ca65 100644
--- a/test/expect/gccxml.any.Constructor.xml.txt
+++ b/test/expect/gccxml.any.Constructor.xml.txt
@@ -1,7 +1,7 @@
^<\?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" size="[0-9]+" align="[0-9]+"/>
- <Constructor id="_3" name="start" context="_1" access="private" location="f1:2" file="f1" line="2"/>
+ <Constructor id="_3" name="start" context="_1" access="private" location="f1:3" file="f1" line="3"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_7" location="f1:1" file="f1" line="1"/>
</Constructor>
diff --git a/test/expect/gccxml.any.Converter-annotate.xml.txt b/test/expect/gccxml.any.Converter-annotate.xml.txt
index 0642674..b07160e 100644
--- a/test/expect/gccxml.any.Converter-annotate.xml.txt
+++ b/test/expect/gccxml.any.Converter-annotate.xml.txt
@@ -1,7 +1,7 @@
^<\?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]+"/>
- <Converter id="_3" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2" mangled="[^"]+" attributes="annotate\(an annotation\)"/>
+ <Converter id="_3" returns="_8" context="_1" access="private" location="f1:3" file="f1" line="3" mangled="[^"]+" attributes="annotate\(an annotation\)"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_9" location="f1:1" file="f1" line="1"/>
diff --git a/test/expect/gccxml.any.Converter.xml.txt b/test/expect/gccxml.any.Converter.xml.txt
index 0c563a3..90218dd 100644
--- a/test/expect/gccxml.any.Converter.xml.txt
+++ b/test/expect/gccxml.any.Converter.xml.txt
@@ -1,7 +1,7 @@
^<\?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]+"/>
- <Converter id="_3" returns="_8" context="_1" access="private" location="f1:2" file="f1" line="2" mangled="[^"]+"/>
+ <Converter id="_3" returns="_8" context="_1" access="private" location="f1:3" file="f1" line="3" mangled="[^"]+"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_9" location="f1:1" file="f1" line="1"/>
diff --git a/test/expect/gccxml.any.Destructor-annotate.xml.txt b/test/expect/gccxml.any.Destructor-annotate.xml.txt
index 0660f79..c7898d2 100644
--- a/test/expect/gccxml.any.Destructor-annotate.xml.txt
+++ b/test/expect/gccxml.any.Destructor-annotate.xml.txt
@@ -1,7 +1,7 @@
^<\?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" size="[0-9]+" align="[0-9]+"/>
- <Destructor id="_3" name="start" context="_1" access="private" location="f1:2" file="f1" line="2" attributes="annotate\(an annotation\)"/>
+ <Destructor id="_3" name="start" context="_1" access="private" location="f1:3" file="f1" line="3" attributes="annotate\(an annotation\)"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_7" location="f1:1" file="f1" line="1"/>
diff --git a/test/expect/gccxml.any.Destructor.xml.txt b/test/expect/gccxml.any.Destructor.xml.txt
index 130b197..1e2be84 100644
--- a/test/expect/gccxml.any.Destructor.xml.txt
+++ b/test/expect/gccxml.any.Destructor.xml.txt
@@ -1,7 +1,7 @@
^<\?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" size="[0-9]+" align="[0-9]+"/>
- <Destructor id="_3" name="start" context="_1" access="private" location="f1:2" file="f1" line="2"/>
+ <Destructor id="_3" name="start" context="_1" access="private" location="f1:3" file="f1" line="3"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_7" location="f1:1" file="f1" line="1"/>
diff --git a/test/expect/gccxml.any.Field-annotate.xml.txt b/test/expect/gccxml.any.Field-annotate.xml.txt
index d5d524e..3e52277 100644
--- a/test/expect/gccxml.any.Field-annotate.xml.txt
+++ b/test/expect/gccxml.any.Field-annotate.xml.txt
@@ -1,7 +1,7 @@
^<\?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]+"/>
- <Field id="_3" name="field" type="_8" context="_1" access="private" location="f1:2" file="f1" line="2" offset="0" attributes="annotate\(an annotation\)"/>
+ <Field id="_3" name="field" type="_8" context="_1" access="private" location="f1:3" file="f1" line="3" offset="0" attributes="annotate\(an annotation\)"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_9" location="f1:1" file="f1" line="1"/>
diff --git a/test/expect/gccxml.any.Field.xml.txt b/test/expect/gccxml.any.Field.xml.txt
index a3389c1..8b695f0 100644
--- a/test/expect/gccxml.any.Field.xml.txt
+++ b/test/expect/gccxml.any.Field.xml.txt
@@ -1,9 +1,9 @@
^<\?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 _8 _9" size="[0-9]+" align="[0-9]+"/>
- <Field id="_3" name="field" type="_10" context="_1" access="private" location="f1:2" file="f1" line="2" offset="0"/>
- <Field id="_4" name="bit_field" type="_11" bits="2" context="_1" access="private" location="f1:3" file="f1" line="3" offset="32"/>
- <Field id="_5" name="mutable_field" type="_10" context="_1" access="private" location="f1:4" file="f1" line="4" offset="64" mutable="1"/>
+ <Field id="_3" name="field" type="_10" context="_1" access="private" location="f1:3" file="f1" line="3" offset="0"/>
+ <Field id="_4" name="bit_field" type="_11" bits="2" context="_1" access="private" location="f1:4" file="f1" line="4" offset="32"/>
+ <Field id="_5" name="mutable_field" type="_10" context="_1" access="private" location="f1:5" file="f1" line="5" offset="64" mutable="1"/>
<Constructor id="_6" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_12" location="f1:1" file="f1" line="1"/>
</Constructor>
diff --git a/test/expect/gccxml.any.Function-Argument-default-cast.xml.txt b/test/expect/gccxml.any.Function-Argument-default-cast.xml.txt
index 577adb1..d4c40d4 100644
--- a/test/expect/gccxml.any.Function-Argument-default-cast.xml.txt
+++ b/test/expect/gccxml.any.Function-Argument-default-cast.xml.txt
@@ -2,35 +2,35 @@
<GCC_XML[^>]*>
<Namespace id="_1" name="start" context="_2" members="_3 _4 _5 _6 _7 _8"/>
<Struct id="_3" name="Base" context="_1" location="f1:2" file="f1" line="2" members="_9 _10 _11 _12" size="[0-9]+" align="[0-9]+"/>
- <Struct id="_4" name="Derived" context="_1" location="f1:3" file="f1" line="3" members="_13 _14 _15 _16" bases="_3" size="[0-9]+" align="[0-9]+">
+ <Struct id="_4" name="Derived" context="_1" location="f1:7" file="f1" line="7" members="_13 _14 _15 _16" bases="_3" size="[0-9]+" align="[0-9]+">
<Base type="_3" access="public" virtual="0" offset="0"/>
</Struct>
- <Function id="_5" name="b" returns="_17" context="_1" location="f1:4" file="f1" line="4" mangled="[^"]+"/>
- <Function id="_6" name="bc" returns="_18" context="_1" location="f1:5" file="f1" line="5" mangled="[^"]+"/>
- <Typedef id="_7" name="Int" type="_19" context="_1" location="f1:6" file="f1" line="6"/>
- <Function id="_8" name="f" returns="_20" context="_1" location="f1:7" file="f1" line="7" mangled="[^"]+">
- <Argument type="_7" location="f1:7" file="f1" line="7" default="\(int\)0"/>
- <Argument type="_17" location="f1:8" file="f1" line="8" default="\(start::Base \*\)0"/>
- <Argument type="_17" location="f1:9" file="f1" line="9" default="static_cast&lt;start::Base \*&gt;\(0\)"/>
- <Argument type="_17" location="f1:10" file="f1" line="10" default="reinterpret_cast&lt;start::Base \*&gt;\(0\)"/>
- <Argument type="_17" location="f1:11" file="f1" line="11" default="const_cast&lt;start::Base \*&gt;\(start::bc\(\)\)"/>
- <Argument type="_21" location="f1:12" file="f1" line="12" default="dynamic_cast&lt;start::Derived \*&gt;\(start::b\(\)\)"/>
+ <Function id="_5" name="b" returns="_17" context="_1" location="f1:10" file="f1" line="10" mangled="[^"]+"/>
+ <Function id="_6" name="bc" returns="_18" context="_1" location="f1:11" file="f1" line="11" mangled="[^"]+"/>
+ <Typedef id="_7" name="Int" type="_19" context="_1" location="f1:12" file="f1" line="12"/>
+ <Function id="_8" name="f" returns="_20" context="_1" location="f1:13" file="f1" line="13" mangled="[^"]+">
+ <Argument type="_7" location="f1:13" file="f1" line="13" default="\(int\)0"/>
+ <Argument type="_17" location="f1:13" file="f1" line="13" default="\(start::Base \*\)0"/>
+ <Argument type="_17" location="f1:13" file="f1" line="13" default="static_cast&lt;start::Base \*&gt;\(0\)"/>
+ <Argument type="_17" location="f1:14" file="f1" line="14" default="reinterpret_cast&lt;start::Base \*&gt;\(0\)"/>
+ <Argument type="_17" location="f1:14" file="f1" line="14" default="const_cast&lt;start::Base \*&gt;\(start::bc\(\)\)"/>
+ <Argument type="_21" location="f1:15" file="f1" line="15" default="dynamic_cast&lt;start::Derived \*&gt;\(start::b\(\)\)"/>
</Function>
- <Constructor id="_9" name="Base" context="_3" access="public" location="f1:2" file="f1" line="2"/>
- <Destructor id="_10" name="Base" context="_3" access="public" location="f1:2" file="f1" line="2" virtual="1"/>
+ <Constructor id="_9" name="Base" context="_3" access="public" location="f1:4" file="f1" line="4"/>
+ <Destructor id="_10" name="Base" context="_3" access="public" location="f1:5" file="f1" line="5" virtual="1"/>
<OperatorMethod id="_11" name="=" returns="_22" context="_3" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")? mangled="[^"]+">
<Argument type="_23" location="f1:2" file="f1" line="2"/>
</OperatorMethod>
<Constructor id="_12" name="Base" context="_3" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?>
<Argument type="_23" location="f1:2" file="f1" line="2"/>
</Constructor>
- <OperatorMethod id="_13" name="=" returns="_24" context="_4" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_25" location="f1:3" file="f1" line="3"/>
+ <OperatorMethod id="_13" name="=" returns="_24" context="_4" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_25" location="f1:7" file="f1" line="7"/>
</OperatorMethod>
- <Destructor id="_14" name="Derived" context="_4" access="public" location="f1:3" file="f1" line="3" virtual="1" inline="1" artificial="1"( throw="")? overrides="_10"/>
- <Constructor id="_15" name="Derived" context="_4" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_16" name="Derived" context="_4" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")?>
- <Argument type="_25" location="f1:3" file="f1" line="3"/>
+ <Destructor id="_14" name="Derived" context="_4" access="public" location="f1:7" file="f1" line="7" virtual="1" inline="1" artificial="1"( throw="")? overrides="_10"/>
+ <Constructor id="_15" name="Derived" context="_4" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_16" name="Derived" context="_4" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")?>
+ <Argument type="_25" location="f1:7" file="f1" line="7"/>
</Constructor>
<PointerType id="_17" type="_3"/>
<PointerType id="_18" type="_3c"/>
diff --git a/test/expect/gccxml.any.Function-Argument-default-ns.xml.txt b/test/expect/gccxml.any.Function-Argument-default-ns.xml.txt
index c6a3282..7dc1cad 100644
--- a/test/expect/gccxml.any.Function-Argument-default-ns.xml.txt
+++ b/test/expect/gccxml.any.Function-Argument-default-ns.xml.txt
@@ -5,9 +5,9 @@
<Enumeration id="_4" name="" context="_1" location="f1:3" file="f1" line="3">
<EnumValue name="E" init="0"/>
</Enumeration>
- <Function id="_5" name="f" returns="_7" context="_1" location="f1:4" file="f1" line="4" mangled="[^"]+">
- <Argument type="_6" location="f1:4" file="f1" line="4" default="start::C"/>
- <Argument type="_6" location="f1:4" file="f1" line="4" default="start::E"/>
+ <Function id="_5" name="f" returns="_7" context="_1" location="f1:7" file="f1" line="7" mangled="[^"]+">
+ <Argument type="_6" location="f1:7" file="f1" line="7" default="start::C"/>
+ <Argument type="_6" location="f1:7" file="f1" line="7" default="start::E"/>
</Function>
<FundamentalType id="_6" name="int" size="[0-9]+" align="[0-9]+"/>
<CvQualifiedType id="_6c" type="_6" const="1"/>
diff --git a/test/expect/gccxml.any.Function-calling-convention-ms-annotate.xml.txt b/test/expect/gccxml.any.Function-calling-convention-ms-annotate.xml.txt
index ba7fb08..89668b5 100644
--- a/test/expect/gccxml.any.Function-calling-convention-ms-annotate.xml.txt
+++ b/test/expect/gccxml.any.Function-calling-convention-ms-annotate.xml.txt
@@ -1,16 +1,16 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Function id="_1" name="start" returns="_5" context="_6" location="f1:1" file="f1" line="1" mangled="[^"]+" attributes="annotate\(an annotation\)">
- <Argument type="_7" location="f1:1" file="f1" line="1"/>
+ <Argument type="_7" location="f1:2" file="f1" line="2"/>
</Function>
- <Function id="_2" name="start" returns="_5" context="_6" location="f1:2" file="f1" line="2" mangled="[^"]+" attributes="__stdcall__ annotate\(an annotation\)">
- <Argument type="_8" location="f1:2" file="f1" line="2"/>
+ <Function id="_2" name="start" returns="_5" context="_6" location="f1:3" file="f1" line="3" mangled="[^"]+" attributes="__stdcall__ annotate\(an annotation\)">
+ <Argument type="_8" location="f1:4" file="f1" line="4"/>
</Function>
- <Function id="_3" name="start" returns="_5" context="_6" location="f1:3" file="f1" line="3" mangled="[^"]+" attributes="__fastcall__ annotate\(an annotation\)">
- <Argument type="_9" location="f1:3" file="f1" line="3"/>
+ <Function id="_3" name="start" returns="_5" context="_6" location="f1:5" file="f1" line="5" mangled="[^"]+" attributes="__fastcall__ annotate\(an annotation\)">
+ <Argument type="_9" location="f1:6" file="f1" line="6"/>
</Function>
- <Function id="_4" name="start" returns="_5" context="_6" location="f1:4" file="f1" line="4" mangled="[^"]+" attributes="__thiscall__ annotate\(an annotation\)">
- <Argument type="_10" location="f1:4" file="f1" line="4"/>
+ <Function id="_4" name="start" returns="_5" context="_6" location="f1:7" file="f1" line="7" mangled="[^"]+" attributes="__thiscall__ annotate\(an annotation\)">
+ <Argument type="_10" location="f1:8" file="f1" line="8"/>
</Function>
<FundamentalType id="_5" name="void" size="[0-9]+" align="[0-9]+"/>
<PointerType id="_7" type="_11"/>
diff --git a/test/expect/gccxml.any.Function-template.xml.txt b/test/expect/gccxml.any.Function-template.xml.txt
index f74aaba..add7387 100644
--- a/test/expect/gccxml.any.Function-template.xml.txt
+++ b/test/expect/gccxml.any.Function-template.xml.txt
@@ -1,10 +1,10 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <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 id="_1" name="start" returns="_3" context="_4" location="f1:7" file="f1" line="7" mangled="[^"]+">
+ <Argument type="_3" location="f1:2" file="f1" line="2"/>
</Function>
- <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 id="_2" name="start" returns="_5" context="_4" location="f1:2" file="f1" line="2" mangled="[^"]+">
+ <Argument type="_5" location="f1:2" file="f1" line="2"/>
</Function>
<FundamentalType id="_3" name="char" size="[0-9]+" align="[0-9]+"/>
<FundamentalType id="_5" name="int" 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 8ae15a6..24520eb 100644
--- a/test/expect/gccxml.any.GNU-float128.xml.txt
+++ b/test/expect/gccxml.any.GNU-float128.xml.txt
@@ -1,14 +1,14 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
<Namespace id="_1" name="start" context="_2" members="_3 _4 _5"/>
- <Function id="_3" name="f" returns="_6" context="_1" location="f1:3" file="f1" line="3" mangled="">
- <Argument type="_6" location="f1:3" file="f1" line="3"/>
+ <Function id="_3" name="f" returns="_6" context="_1" location="f1:4" file="f1" line="4" mangled="">
+ <Argument type="_6" location="f1:4" file="f1" line="4"/>
</Function>
- <Variable id="_4" name="v" type="_6" init="" context="_1" location="f1:4" file="f1" line="4" mangled="[^"]*"/>
- <Variable id="_5" name="pa" type="_7" context="_1" location="f1:5" file="f1" line="5" mangled="[^"]*"/>
+ <Variable id="_4" name="v" type="_6" init="" context="_1" location="f1:5" file="f1" line="5" mangled="[^"]*"/>
+ <Variable id="_5" name="pa" type="_7" context="_1" location="f1:6" file="f1" line="6" mangled="[^"]*"/>
<FundamentalType id="_6" name="__float128" size="128" align="128"/>
<PointerType id="_7" type="_8"/>
<Namespace id="_2" name="::"/>
- <Struct id="_8" name="A&lt;__float128&gt;" context="_2" location="f1:1" file="f1" line="1" incomplete="1"/>
+ <Struct id="_8" name="A&lt;__float128&gt;" context="_2" location="f1:2" file="f1" line="2" incomplete="1"/>
<File id="f1" name=".*/test/input/GNU-float128.cxx"/>
</GCC_XML>$
diff --git a/test/expect/gccxml.any.Method-Argument-default-cast.xml.txt b/test/expect/gccxml.any.Method-Argument-default-cast.xml.txt
index e7f93f2..809b667 100644
--- a/test/expect/gccxml.any.Method-Argument-default-cast.xml.txt
+++ b/test/expect/gccxml.any.Method-Argument-default-cast.xml.txt
@@ -1,13 +1,13 @@
^<\?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 _8 _9" size="[0-9]+" align="[0-9]+"/>
- <Class id="_3" name="Class" context="_1" access="private" location="f1:2" file="f1" line="2" incomplete="1"/>
- <Typedef id="_4" name="Int" type="_10" context="_1" access="private" location="f1:3" file="f1" line="3"/>
- <Method id="_5" name="f" returns="_10" context="_1" access="private" location="f1:4" file="f1" line="4" mangled="[^"]+">
- <Argument type="_4" location="f1:4" file="f1" line="4" default="\(int\)0"/>
+ <Class id="_3" name="Class" context="_1" access="private" location="f1:3" file="f1" line="3" incomplete="1"/>
+ <Typedef id="_4" name="Int" type="_10" context="_1" access="private" location="f1:4" file="f1" line="4"/>
+ <Method id="_5" name="f" returns="_10" context="_1" access="private" location="f1:5" file="f1" line="5" mangled="[^"]+">
+ <Argument type="_4" location="f1:5" file="f1" line="5" default="\(int\)0"/>
<Argument type="_11" location="f1:5" file="f1" line="5" default="\(start::Class \*\)0"/>
- <Argument type="_11" location="f1:6" file="f1" line="6" default="static_cast&lt;start::Class \*&gt;\(0\)"/>
- <Argument type="_11" location="f1:7" file="f1" line="7" default="reinterpret_cast&lt;start::Class \*&gt;\(0\)"/>
+ <Argument type="_11" location="f1:5" file="f1" line="5" default="static_cast&lt;start::Class \*&gt;\(0\)"/>
+ <Argument type="_11" location="f1:6" file="f1" line="6" default="reinterpret_cast&lt;start::Class \*&gt;\(0\)"/>
</Method>
<Constructor id="_6" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_7" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
diff --git a/test/expect/gccxml.any.Method-Argument-default.xml.txt b/test/expect/gccxml.any.Method-Argument-default.xml.txt
index 0e10cbf..ee5a364 100644
--- a/test/expect/gccxml.any.Method-Argument-default.xml.txt
+++ b/test/expect/gccxml.any.Method-Argument-default.xml.txt
@@ -1,9 +1,9 @@
^<\?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 _8" size="[0-9]+" align="[0-9]+"/>
- <Variable id="_3" name="C" type="_9c" init="0" context="_1" access="private" location="f1:2" file="f1" line="2" static="1" mangled="[^"]+"/>
- <Method id="_4" name="method" returns="_9" context="_1" access="private" location="f1:3" file="f1" line="3" mangled="[^"]+">
- <Argument type="_9" location="f1:3" file="f1" line="3" default="start::C"/>
+ <Variable id="_3" name="C" type="_9c" init="0" context="_1" access="private" location="f1:3" file="f1" line="3" static="1" mangled="[^"]+"/>
+ <Method id="_4" name="method" returns="_9" context="_1" access="private" location="f1:4" file="f1" line="4" mangled="[^"]+">
+ <Argument type="_9" location="f1:4" file="f1" line="4" default="start::C"/>
</Method>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_6" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
diff --git a/test/expect/gccxml.any.Method-annotate.xml.txt b/test/expect/gccxml.any.Method-annotate.xml.txt
index 3e4f2f3..4362819 100644
--- a/test/expect/gccxml.any.Method-annotate.xml.txt
+++ b/test/expect/gccxml.any.Method-annotate.xml.txt
@@ -1,8 +1,8 @@
^<\?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" mangled="[^"]+" attributes="annotate\(an annotation\)">
- <Argument type="_8" location="f1:2" file="f1" line="2"/>
+ <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:3" file="f1" line="3" mangled="[^"]+" attributes="annotate\(an annotation\)">
+ <Argument type="_8" location="f1:3" file="f1" line="3"/>
</Method>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
diff --git a/test/expect/gccxml.any.Method-overrides.xml.txt b/test/expect/gccxml.any.Method-overrides.xml.txt
index dc95285..5fd9f52 100644
--- a/test/expect/gccxml.any.Method-overrides.xml.txt
+++ b/test/expect/gccxml.any.Method-overrides.xml.txt
@@ -1,23 +1,23 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start" context="_2" location="f1:4" file="f1" line="4" members="_3 _4 _5 _6 _7" bases="_8" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start" context="_2" location="f1:5" file="f1" line="5" members="_3 _4 _5 _6 _7" bases="_8" size="[0-9]+" align="[0-9]+">
<Base type="_8" access="public" virtual="0" offset="0"/>
</Class>
- <Method id="_3" name="method" returns="_9" context="_1" access="private" location="f1:5" file="f1" line="5" virtual="1" overrides="_10" mangled="[^"]+">
- <Argument type="_9" location="f1:5" file="f1" line="5"/>
+ <Method id="_3" name="method" returns="_9" context="_1" access="private" location="f1:7" file="f1" line="7" virtual="1" overrides="_10" mangled="[^"]+">
+ <Argument type="_9" location="f1:7" file="f1" line="7"/>
</Method>
- <OperatorMethod id="_4" name="=" returns="_11" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_12" location="f1:4" file="f1" line="4"/>
+ <OperatorMethod id="_4" name="=" returns="_11" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_12" location="f1:5" file="f1" line="5"/>
</OperatorMethod>
- <Destructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_6" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_7" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?>
- <Argument type="_12" location="f1:4" file="f1" line="4"/>
+ <Destructor id="_5" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_7" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?>
+ <Argument type="_12" location="f1:5" file="f1" line="5"/>
</Constructor>
<Class id="_8" name="base" context="_2" location="f1:1" file="f1" line="1" members="_10 _13 _14 _15 _16" size="[0-9]+" align="[0-9]+"/>
<FundamentalType id="_9" name="int" size="[0-9]+" align="[0-9]+"/>
- <Method id="_10" name="method" returns="_9" context="_8" access="private" location="f1:2" file="f1" line="2" virtual="1" mangled="[^"]+">
- <Argument type="_9" location="f1:2" file="f1" line="2"/>
+ <Method id="_10" name="method" returns="_9" context="_8" access="private" location="f1:3" file="f1" line="3" virtual="1" mangled="[^"]+">
+ <Argument type="_9" location="f1:3" file="f1" line="3"/>
</Method>
<ReferenceType id="_11" type="_1"/>
<ReferenceType id="_12" type="_1c"/>
diff --git a/test/expect/gccxml.any.Method-rvalue-reference.xml.txt b/test/expect/gccxml.any.Method-rvalue-reference.xml.txt
index 1fd1126..bf9d6a9 100644
--- a/test/expect/gccxml.any.Method-rvalue-reference.xml.txt
+++ b/test/expect/gccxml.any.Method-rvalue-reference.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" size="[0-9]+" align="[0-9]+"/>
- <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 id="_3" name="start" context="_1" access="private" location="f1:3" file="f1" line="3">
+ <Argument type="_7" location="f1:3" file="f1" line="3"/>
</Constructor>
- <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 id="_4" name="=" returns="_7" context="_1" access="private" location="f1:5" file="f1" line="5" mangled="[^"]+">
+ <Argument type="_7" location="f1:5" file="f1" line="5"/>
</OperatorMethod>
- <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 id="_5" name="method" returns="_8" context="_1" access="private" location="f1:7" file="f1" line="7" mangled="[^"]+">
+ <Argument type="_8" location="f1:7" file="f1" line="7"/>
</Method>
<Destructor id="_6" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<ReferenceType id="_7" type="_1"/>
diff --git a/test/expect/gccxml.any.Method.xml.txt b/test/expect/gccxml.any.Method.xml.txt
index 953620a..d9ab112 100644
--- a/test/expect/gccxml.any.Method.xml.txt
+++ b/test/expect/gccxml.any.Method.xml.txt
@@ -1,8 +1,8 @@
^<\?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" mangled="[^"]+">
- <Argument type="_8" location="f1:2" file="f1" line="2"/>
+ <Method id="_3" name="method" returns="_8" context="_1" access="private" location="f1:3" file="f1" line="3" mangled="[^"]+">
+ <Argument type="_8" location="f1:3" file="f1" line="3"/>
</Method>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
diff --git a/test/expect/gccxml.any.Namespace-Class-members.xml.txt b/test/expect/gccxml.any.Namespace-Class-members.xml.txt
index 9f434ae..4f9a34d 100644
--- a/test/expect/gccxml.any.Namespace-Class-members.xml.txt
+++ b/test/expect/gccxml.any.Namespace-Class-members.xml.txt
@@ -2,7 +2,7 @@
<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" mangled="[^"]+"/>
+ <Variable id="_4" name="data" type="_9" context="_3" access="private" location="f1:4" file="f1" line="4" static="1" mangled="[^"]+"/>
<Constructor id="_5" name="A" context="_3" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?/>
<Constructor id="_6" name="A" context="_3" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?>
<Argument type="_10" location="f1:2" file="f1" line="2"/>
diff --git a/test/expect/gccxml.any.Namespace-inline-template.xml.txt b/test/expect/gccxml.any.Namespace-inline-template.xml.txt
index fc966fb..8279588 100644
--- a/test/expect/gccxml.any.Namespace-inline-template.xml.txt
+++ b/test/expect/gccxml.any.Namespace-inline-template.xml.txt
@@ -2,8 +2,8 @@
<GCC_XML[^>]*>
<Namespace id="_1" name="start" context="_2" members="_3 _4 _5"/>
<Struct id="_3" name="A" context="_1" location="f1:4" file="f1" line="4" incomplete="1"/>
- <Struct id="_4" name="B&lt;start::A&gt;" context="_1" location="f1:6" file="f1" line="6" incomplete="1"/>
- <Typedef id="_5" name="B_A" type="_4" context="_1" location="f1:7" file="f1" line="7"/>
+ <Struct id="_4" name="B&lt;start::A&gt;" context="_1" location="f1:7" file="f1" line="7" incomplete="1"/>
+ <Typedef id="_5" name="B_A" type="_4" context="_1" location="f1:8" file="f1" line="8"/>
<Namespace id="_2" name="::"/>
<File id="f1" name=".*/test/input/Namespace-inline-template.cxx"/>
</GCC_XML>$
diff --git a/test/expect/gccxml.any.OperatorMethod-annotate.xml.txt b/test/expect/gccxml.any.OperatorMethod-annotate.xml.txt
index 692cd5e..ad6fb5a 100644
--- a/test/expect/gccxml.any.OperatorMethod-annotate.xml.txt
+++ b/test/expect/gccxml.any.OperatorMethod-annotate.xml.txt
@@ -1,8 +1,8 @@
^<\?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" mangled="[^"]+" attributes="annotate\(an annotation\)">
- <Argument type="_9" location="f1:2" file="f1" line="2"/>
+ <OperatorMethod id="_3" name="&lt;&lt;" returns="_8" context="_1" access="private" location="f1:3" file="f1" line="3" mangled="[^"]+" attributes="annotate\(an annotation\)">
+ <Argument type="_9" location="f1:3" file="f1" line="3"/>
</OperatorMethod>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
diff --git a/test/expect/gccxml.any.OperatorMethod.xml.txt b/test/expect/gccxml.any.OperatorMethod.xml.txt
index fad0f46..3dceaf5 100644
--- a/test/expect/gccxml.any.OperatorMethod.xml.txt
+++ b/test/expect/gccxml.any.OperatorMethod.xml.txt
@@ -1,8 +1,8 @@
^<\?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" mangled="[^"]+">
- <Argument type="_9" location="f1:2" file="f1" line="2"/>
+ <OperatorMethod id="_3" name="&lt;&lt;" returns="_8" context="_1" access="private" location="f1:3" file="f1" line="3" mangled="[^"]+">
+ <Argument type="_9" location="f1:3" file="f1" line="3"/>
</OperatorMethod>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
diff --git a/test/expect/gccxml.any.Typedef-to-Class-template.xml.txt b/test/expect/gccxml.any.Typedef-to-Class-template.xml.txt
index 3e6f75d..8d53cb9 100644
--- a/test/expect/gccxml.any.Typedef-to-Class-template.xml.txt
+++ b/test/expect/gccxml.any.Typedef-to-Class-template.xml.txt
@@ -1,7 +1,7 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Typedef id="_1" name="start" type="_2" context="_3" location="f1:2" file="f1" line="2"/>
- <Class id="_2" name="A&lt;int&gt;" context="_3" location="f1:1" file="f1" line="1" incomplete="1"/>
+ <Typedef id="_1" name="start" type="_2" context="_3" location="f1:3" file="f1" line="3"/>
+ <Class id="_2" name="A&lt;int&gt;" context="_3" location="f1:2" file="f1" line="2" incomplete="1"/>
<Namespace id="_3" name="::"/>
<File id="f1" name=".*/test/input/Typedef-to-Class-template.cxx"/>
</GCC_XML>$
diff --git a/test/expect/gccxml.any.Typedef-to-Enumeration-anonymous.xml.txt b/test/expect/gccxml.any.Typedef-to-Enumeration-anonymous.xml.txt
index bb21d49..d3a5950 100644
--- a/test/expect/gccxml.any.Typedef-to-Enumeration-anonymous.xml.txt
+++ b/test/expect/gccxml.any.Typedef-to-Enumeration-anonymous.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Typedef id="_1" name="start" type="_2" context="_3" location="f1:2" file="f1" line="2"/>
+ <Typedef id="_1" name="start" type="_2" context="_3" location="f1:1" file="f1" line="1"/>
<Enumeration id="_2" name="start" context="_3" location="f1:1" file="f1" line="1"/>
<Namespace id="_3" name="::"/>
<File id="f1" name=".*/test/input/Typedef-to-Enumeration-anonymous.cxx"/>
diff --git a/test/expect/gccxml.any.Typedef-to-Enumeration.xml.txt b/test/expect/gccxml.any.Typedef-to-Enumeration.xml.txt
index 1e8ec8f..0e452dc 100644
--- a/test/expect/gccxml.any.Typedef-to-Enumeration.xml.txt
+++ b/test/expect/gccxml.any.Typedef-to-Enumeration.xml.txt
@@ -1,6 +1,6 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Typedef id="_1" name="start" type="_2" context="_3" location="f1:2" file="f1" line="2"/>
+ <Typedef id="_1" name="start" type="_2" context="_3" location="f1:4" file="f1" line="4"/>
<Enumeration id="_2" name="E" context="_3" location="f1:1" file="f1" line="1"/>
<Namespace id="_3" name="::"/>
<File id="f1" name=".*/test/input/Typedef-to-Enumeration.cxx"/>
diff --git a/test/expect/gccxml.any.Variable-in-Class.xml.txt b/test/expect/gccxml.any.Variable-in-Class.xml.txt
index 510e985..ea92a1e 100644
--- a/test/expect/gccxml.any.Variable-in-Class.xml.txt
+++ b/test/expect/gccxml.any.Variable-in-Class.xml.txt
@@ -1,7 +1,7 @@
^<\?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" mangled="[^"]+"/>
+ <Variable id="_3" name="static_field" type="_8" context="_1" access="private" location="f1:3" file="f1" line="3" static="1" mangled="[^"]+"/>
<Constructor id="_4" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?/>
<Constructor id="_5" name="start" context="_1" access="public" location="f1:1" file="f1" line="1" inline="1" artificial="1"( throw="")?>
<Argument type="_9" location="f1:1" file="f1" line="1"/>
diff --git a/test/expect/gccxml.any.invalid-decl-for-type.xml.txt b/test/expect/gccxml.any.invalid-decl-for-type.xml.txt
index 4d3cbab..f7905c3 100644
--- a/test/expect/gccxml.any.invalid-decl-for-type.xml.txt
+++ b/test/expect/gccxml.any.invalid-decl-for-type.xml.txt
@@ -1,29 +1,29 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Struct id="_1" name="start" context="_2" location="f1:4" file="f1" line="4" members="_3 _4 _5 _6 _7 _8" size="[0-9]+" align="[0-9]+"/>
- <Field id="_3" name="b" type="_9" context="_1" access="public" location="f1:5" file="f1" line="5" offset="0"/>
- <Typedef id="_4" name="type" type="_10" context="_1" access="public" location="f1:6" file="f1" line="6"/>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_6" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?>
- <Argument type="_11" location="f1:4" file="f1" line="4"/>
+ <Struct id="_1" name="start" context="_2" location="f1:12" file="f1" line="12" members="_3 _4 _5 _6 _7 _8" size="[0-9]+" align="[0-9]+"/>
+ <Field id="_3" name="b" type="_9" context="_1" access="public" location="f1:14" file="f1" line="14" offset="0"/>
+ <Typedef id="_4" name="type" type="_10" context="_1" access="public" location="f1:15" file="f1" line="15"/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")?>
+ <Argument type="_11" location="f1:12" file="f1" line="12"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_12" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_11" location="f1:4" file="f1" line="4"/>
+ <OperatorMethod id="_7" name="=" returns="_12" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_11" location="f1:12" file="f1" line="12"/>
</OperatorMethod>
- <Destructor id="_8" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Struct id="_9" name="B&lt;Incomplete&gt;" context="_2" location="f1:2" file="f1" line="2" members="_13 _14 _15 _16" size="[0-9]+" align="[0-9]+"/>
- <Struct id="_10" name="A&lt;Incomplete&gt;" context="_2" location="f1:1" file="f1" line="1" size="[0-9]+" align="[0-9]+"/>
+ <Destructor id="_8" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")?/>
+ <Struct id="_9" name="B&lt;Incomplete&gt;" context="_2" location="f1:7" file="f1" line="7" members="_13 _14 _15 _16" size="[0-9]+" align="[0-9]+"/>
+ <Struct id="_10" name="A&lt;Incomplete&gt;" context="_2" location="f1:2" file="f1" line="2" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_11" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
<ReferenceType id="_12" type="_1"/>
- <Constructor id="_13" name="B" context="_9" access="public" location="f1:2" file="f1" line="2" inline="1"/>
- <Constructor id="_14" name="B" context="_9" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?>
- <Argument type="_17" location="f1:2" file="f1" line="2"/>
+ <Constructor id="_13" name="B" context="_9" access="public" location="f1:9" file="f1" line="9" inline="1"/>
+ <Constructor id="_14" name="B" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")?>
+ <Argument type="_17" location="f1:7" file="f1" line="7"/>
</Constructor>
- <OperatorMethod id="_15" name="=" returns="_18" context="_9" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_17" location="f1:2" file="f1" line="2"/>
+ <OperatorMethod id="_15" name="=" returns="_18" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_17" location="f1:7" file="f1" line="7"/>
</OperatorMethod>
- <Destructor id="_16" name="B" context="_9" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_16" name="B" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")?/>
<ReferenceType id="_17" type="_9c"/>
<CvQualifiedType id="_9c" type="_9" const="1"/>
<ReferenceType id="_18" type="_9"/>
diff --git a/test/expect/gccxml.any.qualified-type-name.xml.txt b/test/expect/gccxml.any.qualified-type-name.xml.txt
index fe1eefa..84bc907 100644
--- a/test/expect/gccxml.any.qualified-type-name.xml.txt
+++ b/test/expect/gccxml.any.qualified-type-name.xml.txt
@@ -1,7 +1,7 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Typedef id="_1" name="start" type="_2" context="_3" location="f1:2" file="f1" line="2"/>
- <Typedef id="_2" name="type" type="_4" context="_5" location="f1:1" file="f1" line="1"/>
+ <Typedef id="_1" name="start" type="_2" context="_3" location="f1:4" file="f1" line="4"/>
+ <Typedef id="_2" name="type" type="_4" context="_5" location="f1:2" file="f1" line="2"/>
<FundamentalType id="_4" name="int" size="[0-9]+" align="[0-9]+"/>
<Namespace id="_3" name="::"/>
<Namespace id="_5" name="ns" context="_3"/>
diff --git a/test/expect/gccxml.any.using-declaration-class.xml.txt b/test/expect/gccxml.any.using-declaration-class.xml.txt
index 857d19f..2cd4661 100644
--- a/test/expect/gccxml.any.using-declaration-class.xml.txt
+++ b/test/expect/gccxml.any.using-declaration-class.xml.txt
@@ -1,22 +1,22 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <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]+">
+ <Class id="_1" name="start" context="_2" location="f1:6" file="f1" line="6" members="_3 _4 _5 _6 _7 _8" bases="_9" size="[0-9]+" align="[0-9]+">
<Base type="_9" access="public" virtual="0" offset="0"/>
</Class>
- <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 id="_3" name="f" returns="_10" context="_9" access="protected" location="f1:4" file="f1" line="4" mangled="[^"]+">
+ <Argument type="_10" location="f1:4" file="f1" line="4"/>
</Method>
- <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 id="_4" name="f" returns="_10" context="_1" access="private" location="f1:9" file="f1" line="9" mangled="[^"]+">
+ <Argument type="_11" location="f1:9" file="f1" line="9"/>
</Method>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_6" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?>
- <Argument type="_12" location="f1:5" file="f1" line="5"/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?>
+ <Argument type="_12" location="f1:6" file="f1" line="6"/>
</Constructor>
- <OperatorMethod id="_7" name="=" returns="_13" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")? mangled="[^"]+">
- <Argument type="_12" location="f1:5" file="f1" line="5"/>
+ <OperatorMethod id="_7" name="=" returns="_13" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")? mangled="[^"]+">
+ <Argument type="_12" location="f1:6" file="f1" line="6"/>
</OperatorMethod>
- <Destructor id="_8" name="start" context="_1" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_8" name="start" context="_1" access="public" location="f1:6" file="f1" line="6" inline="1" artificial="1"( throw="")?/>
<Class id="_9" name="base" context="_2" location="f1:1" file="f1" line="1" members="_3 _14 _15 _16 _17" size="[0-9]+" align="[0-9]+"/>
<FundamentalType id="_10" name="int" size="[0-9]+" align="[0-9]+"/>
<FundamentalType id="_11" name="char" size="[0-9]+" align="[0-9]+"/>
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 e15cd3c..9e64c22 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,16 +1,16 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <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 id="_1" name="start" returns="_4" context="_5" location="f1:5" file="f1" line="5" mangled="[^"]+">
+ <Argument type="_6" location="f1:5" file="f1" line="5"/>
+ <Argument type="_7" location="f1:5" file="f1" line="5"/>
</Function>
- <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 id="_2" name="start" returns="_4" context="_5" location="f1:6" file="f1" line="6" mangled="[^"]+">
+ <Argument type="_8" location="f1:6" file="f1" line="6"/>
+ <Argument type="_9" location="f1:6" file="f1" line="6"/>
</Function>
- <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 id="_3" name="start" returns="_4" context="_5" location="f1:7" file="f1" line="7" mangled="[^"]+">
+ <Argument type="_10" location="f1:7" file="f1" line="7"/>
+ <Argument type="_11" location="f1:7" file="f1" line="7"/>
</Function>
<FundamentalType id="_4" name="void" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_6" type="_12"/>
@@ -20,6 +20,6 @@
<ReferenceType id="_10" type="_12"/>(broken: duplicate ReferenceType)?
<FundamentalType id="_11" name="long int" size="[0-9]+" align="[0-9]+"/>
<Namespace id="_5" name="::"/>
- <Class id="_12" name="A&lt;int&gt;" context="_5" location="f1:1" file="f1" line="1" incomplete="1"/>
+ <Class id="_12" name="A&lt;int&gt;" context="_5" location="f1:2" file="f1" line="2" incomplete="1"/>
<File id="f1" name=".*/test/input/ReferenceType-to-Class-template.cxx"/>
</GCC_XML>$
diff --git a/test/expect/gccxml.c++11.Class-bases.xml.txt b/test/expect/gccxml.c++11.Class-bases.xml.txt
index 48b51e1..189f65a 100644
--- a/test/expect/gccxml.c++11.Class-bases.xml.txt
+++ b/test/expect/gccxml.c++11.Class-bases.xml.txt
@@ -1,21 +1,21 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start" context="_2" location="f1:4" file="f1" line="4" members="_3 _4 _5 _6" bases="_7 private:_8 protected:_9" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start" context="_2" location="f1:10" file="f1" line="10" members="_3 _4 _5 _6" bases="_7 private:_8 protected:_9" size="[0-9]+" align="[0-9]+">
<Base type="_7" access="public" virtual="0" offset="[0-9]+"/>
<Base type="_8" access="private" virtual="0" offset="[0-9]+"/>
<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" mangled="[^"]+">
- <Argument type="_11" location="f1:4" file="f1" line="4"/>
+ <OperatorMethod id="_3" name="=" returns="_10" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_11" location="f1:10" file="f1" line="10"/>
</OperatorMethod>
- <Destructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
- <Constructor id="_6" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1">
- <Argument type="_11" location="f1:4" file="f1" line="4"/>
+ <Destructor id="_4" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1">
+ <Argument type="_11" location="f1:10" file="f1" line="10"/>
</Constructor>
<Class id="_7" name="base_public" context="_2" location="f1:1" file="f1" line="1" members="_12 _13 _14 _15" size="[0-9]+" align="[0-9]+"/>
- <Class id="_8" name="base_private" context="_2" location="f1:2" file="f1" line="2" members="_16 _17 _18 _19" size="[0-9]+" align="[0-9]+"/>
- <Class id="_9" name="base_protected" context="_2" location="f1:3" file="f1" line="3" members="_20 _21 _22 _23" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_8" name="base_private" context="_2" location="f1:4" file="f1" line="4" members="_16 _17 _18 _19" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_9" name="base_protected" context="_2" location="f1:7" file="f1" line="7" members="_20 _21 _22 _23" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_10" type="_1"/>
<ReferenceType id="_11" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
@@ -27,21 +27,21 @@
<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" mangled="[^"]+">
- <Argument type="_27" location="f1:2" file="f1" line="2"/>
+ <OperatorMethod id="_16" name="=" returns="_26" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_27" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
- <Destructor id="_17" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
- <Constructor id="_18" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
- <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"/>
+ <Destructor id="_17" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Constructor id="_18" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Constructor id="_19" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1">
+ <Argument type="_27" location="f1:4" file="f1" line="4"/>
</Constructor>
- <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 id="_20" name="=" returns="_28" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_29" location="f1:7" file="f1" line="7"/>
</OperatorMethod>
- <Destructor id="_21" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"/>
- <Constructor id="_22" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"/>
- <Constructor id="_23" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1">
- <Argument type="_29" location="f1:3" file="f1" line="3"/>
+ <Destructor id="_21" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"/>
+ <Constructor id="_22" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"/>
+ <Constructor id="_23" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1">
+ <Argument type="_29" location="f1:7" file="f1" line="7"/>
</Constructor>
<ReferenceType id="_24" type="_7"/>
<ReferenceType id="_25" type="_7c"/>
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 6f9b62a..d213494 100644
--- a/test/expect/gccxml.c++11.Class-template-bases.xml.txt
+++ b/test/expect/gccxml.c++11.Class-template-bases.xml.txt
@@ -1,19 +1,19 @@
^<\?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" bases="_7 _8" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:12" file="f1" line="12" members="_3 _4 _5 _6" bases="_7 _8" size="[0-9]+" align="[0-9]+">
<Base type="_7" access="public" virtual="0" offset="[0-9]+"/>
<Base type="_8" access="public" virtual="0" offset="[0-9]+"/>
</Class>
- <Constructor id="_3" 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">
- <Argument type="_9" location="f1:4" file="f1" line="4"/>
+ <Constructor id="_3" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1">
+ <Argument type="_9" location="f1:12" file="f1" line="12"/>
</Constructor>
- <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 id="_5" name="=" returns="_10" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_9" location="f1:12" file="f1" line="12"/>
</OperatorMethod>
- <Destructor id="_6" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Destructor id="_6" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"/>
<Class id="_7" name="non_dependent_base" context="_2" location="f1:1" file="f1" line="1" members="_11 _12 _13 _14" size="[0-9]+" align="[0-9]+"/>
- <Class id="_8" name="dependent_base&lt;int&gt;" context="_2" location="f1:2" file="f1" line="2" members="_15 _16 _17 _18" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_8" name="dependent_base&lt;int&gt;" context="_2" location="f1:5" file="f1" line="5" members="_15 _16 _17 _18" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_9" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
<ReferenceType id="_10" type="_1"/>
@@ -25,14 +25,14 @@
<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"/>
- <Constructor id="_15" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
- <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 id="_15" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"/>
+ <Constructor id="_16" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1">
+ <Argument type="_21" location="f1:5" file="f1" line="5"/>
</Constructor>
- <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 id="_17" name="=" returns="_22" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_21" location="f1:5" file="f1" line="5"/>
</OperatorMethod>
- <Destructor id="_18" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
+ <Destructor id="_18" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"/>
<ReferenceType id="_19" type="_7c"/>
<CvQualifiedType id="_7c" type="_7" const="1"/>
<ReferenceType id="_20" type="_7"/>
diff --git a/test/expect/gccxml.c++14.Class-bases.xml.txt b/test/expect/gccxml.c++14.Class-bases.xml.txt
index 48b51e1..189f65a 100644
--- a/test/expect/gccxml.c++14.Class-bases.xml.txt
+++ b/test/expect/gccxml.c++14.Class-bases.xml.txt
@@ -1,21 +1,21 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start" context="_2" location="f1:4" file="f1" line="4" members="_3 _4 _5 _6" bases="_7 private:_8 protected:_9" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start" context="_2" location="f1:10" file="f1" line="10" members="_3 _4 _5 _6" bases="_7 private:_8 protected:_9" size="[0-9]+" align="[0-9]+">
<Base type="_7" access="public" virtual="0" offset="[0-9]+"/>
<Base type="_8" access="private" virtual="0" offset="[0-9]+"/>
<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" mangled="[^"]+">
- <Argument type="_11" location="f1:4" file="f1" line="4"/>
+ <OperatorMethod id="_3" name="=" returns="_10" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_11" location="f1:10" file="f1" line="10"/>
</OperatorMethod>
- <Destructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
- <Constructor id="_6" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1">
- <Argument type="_11" location="f1:4" file="f1" line="4"/>
+ <Destructor id="_4" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1">
+ <Argument type="_11" location="f1:10" file="f1" line="10"/>
</Constructor>
<Class id="_7" name="base_public" context="_2" location="f1:1" file="f1" line="1" members="_12 _13 _14 _15" size="[0-9]+" align="[0-9]+"/>
- <Class id="_8" name="base_private" context="_2" location="f1:2" file="f1" line="2" members="_16 _17 _18 _19" size="[0-9]+" align="[0-9]+"/>
- <Class id="_9" name="base_protected" context="_2" location="f1:3" file="f1" line="3" members="_20 _21 _22 _23" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_8" name="base_private" context="_2" location="f1:4" file="f1" line="4" members="_16 _17 _18 _19" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_9" name="base_protected" context="_2" location="f1:7" file="f1" line="7" members="_20 _21 _22 _23" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_10" type="_1"/>
<ReferenceType id="_11" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
@@ -27,21 +27,21 @@
<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" mangled="[^"]+">
- <Argument type="_27" location="f1:2" file="f1" line="2"/>
+ <OperatorMethod id="_16" name="=" returns="_26" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_27" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
- <Destructor id="_17" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
- <Constructor id="_18" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
- <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"/>
+ <Destructor id="_17" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Constructor id="_18" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Constructor id="_19" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1">
+ <Argument type="_27" location="f1:4" file="f1" line="4"/>
</Constructor>
- <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 id="_20" name="=" returns="_28" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_29" location="f1:7" file="f1" line="7"/>
</OperatorMethod>
- <Destructor id="_21" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"/>
- <Constructor id="_22" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"/>
- <Constructor id="_23" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1">
- <Argument type="_29" location="f1:3" file="f1" line="3"/>
+ <Destructor id="_21" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"/>
+ <Constructor id="_22" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"/>
+ <Constructor id="_23" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1">
+ <Argument type="_29" location="f1:7" file="f1" line="7"/>
</Constructor>
<ReferenceType id="_24" type="_7"/>
<ReferenceType id="_25" type="_7c"/>
diff --git a/test/expect/gccxml.c++14.Class-template-bases.xml.txt b/test/expect/gccxml.c++14.Class-template-bases.xml.txt
index 6f9b62a..d213494 100644
--- a/test/expect/gccxml.c++14.Class-template-bases.xml.txt
+++ b/test/expect/gccxml.c++14.Class-template-bases.xml.txt
@@ -1,19 +1,19 @@
^<\?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" bases="_7 _8" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:12" file="f1" line="12" members="_3 _4 _5 _6" bases="_7 _8" size="[0-9]+" align="[0-9]+">
<Base type="_7" access="public" virtual="0" offset="[0-9]+"/>
<Base type="_8" access="public" virtual="0" offset="[0-9]+"/>
</Class>
- <Constructor id="_3" 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">
- <Argument type="_9" location="f1:4" file="f1" line="4"/>
+ <Constructor id="_3" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1">
+ <Argument type="_9" location="f1:12" file="f1" line="12"/>
</Constructor>
- <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 id="_5" name="=" returns="_10" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_9" location="f1:12" file="f1" line="12"/>
</OperatorMethod>
- <Destructor id="_6" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"/>
+ <Destructor id="_6" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"/>
<Class id="_7" name="non_dependent_base" context="_2" location="f1:1" file="f1" line="1" members="_11 _12 _13 _14" size="[0-9]+" align="[0-9]+"/>
- <Class id="_8" name="dependent_base&lt;int&gt;" context="_2" location="f1:2" file="f1" line="2" members="_15 _16 _17 _18" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_8" name="dependent_base&lt;int&gt;" context="_2" location="f1:5" file="f1" line="5" members="_15 _16 _17 _18" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_9" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
<ReferenceType id="_10" type="_1"/>
@@ -25,14 +25,14 @@
<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"/>
- <Constructor id="_15" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
- <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 id="_15" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"/>
+ <Constructor id="_16" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1">
+ <Argument type="_21" location="f1:5" file="f1" line="5"/>
</Constructor>
- <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 id="_17" name="=" returns="_22" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1" mangled="[^"]+">
+ <Argument type="_21" location="f1:5" file="f1" line="5"/>
</OperatorMethod>
- <Destructor id="_18" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"/>
+ <Destructor id="_18" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"/>
<ReferenceType id="_19" type="_7c"/>
<CvQualifiedType id="_7c" type="_7" const="1"/>
<ReferenceType id="_20" type="_7"/>
diff --git a/test/expect/gccxml.c++98.Class-bases.xml.txt b/test/expect/gccxml.c++98.Class-bases.xml.txt
index 6e58110..df98ded 100644
--- a/test/expect/gccxml.c++98.Class-bases.xml.txt
+++ b/test/expect/gccxml.c++98.Class-bases.xml.txt
@@ -1,21 +1,21 @@
^<\?xml version="1.0"\?>
<GCC_XML[^>]*>
- <Class id="_1" name="start" context="_2" location="f1:4" file="f1" line="4" members="_3 _4 _5 _6" bases="_7 private:_8 protected:_9" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start" context="_2" location="f1:10" file="f1" line="10" members="_3 _4 _5 _6" bases="_7 private:_8 protected:_9" size="[0-9]+" align="[0-9]+">
<Base type="_7" access="public" virtual="0" offset="[0-9]+"/>
<Base type="_8" access="private" virtual="0" offset="[0-9]+"/>
<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" throw="" mangled="[^"]+">
- <Argument type="_11" location="f1:4" file="f1" line="4"/>
+ <OperatorMethod id="_3" name="=" returns="_10" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1" throw="" mangled="[^"]+">
+ <Argument type="_11" location="f1:10" file="f1" line="10"/>
</OperatorMethod>
- <Destructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_5" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throw=""/>
- <Constructor id="_6" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throw="">
- <Argument type="_11" location="f1:4" file="f1" line="4"/>
+ <Destructor id="_4" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_5" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1" throw=""/>
+ <Constructor id="_6" name="start" context="_1" access="public" location="f1:10" file="f1" line="10" inline="1" artificial="1" throw="">
+ <Argument type="_11" location="f1:10" file="f1" line="10"/>
</Constructor>
<Class id="_7" name="base_public" context="_2" location="f1:1" file="f1" line="1" members="_12 _13 _14 _15" size="[0-9]+" align="[0-9]+"/>
- <Class id="_8" name="base_private" context="_2" location="f1:2" file="f1" line="2" members="_16 _17 _18 _19" size="[0-9]+" align="[0-9]+"/>
- <Class id="_9" name="base_protected" context="_2" location="f1:3" file="f1" line="3" members="_20 _21 _22 _23" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_8" name="base_private" context="_2" location="f1:4" file="f1" line="4" members="_16 _17 _18 _19" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_9" name="base_protected" context="_2" location="f1:7" file="f1" line="7" members="_20 _21 _22 _23" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_10" type="_1"/>
<ReferenceType id="_11" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
@@ -27,22 +27,22 @@
<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"( throw="")?/>
- <Constructor id="_16" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throw=""/>
- <Constructor id="_17" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throw="">
- <Argument type="_26" location="f1:2" file="f1" line="2"/>
+ <Constructor id="_16" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throw=""/>
+ <Constructor id="_17" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throw="">
+ <Argument type="_26" location="f1:4" file="f1" line="4"/>
</Constructor>
- <OperatorMethod id="_18" name="=" returns="_27" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throw="" mangled="[^"]+">
- <Argument type="_26" location="f1:2" file="f1" line="2"/>
+ <OperatorMethod id="_18" name="=" returns="_27" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throw="" mangled="[^"]+">
+ <Argument type="_26" location="f1:4" file="f1" line="4"/>
</OperatorMethod>
- <Destructor id="_19" name="base_private" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_20" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1" throw=""/>
- <Constructor id="_21" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1" throw="">
- <Argument type="_28" location="f1:3" file="f1" line="3"/>
+ <Destructor id="_19" name="base_private" context="_8" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_20" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1" throw=""/>
+ <Constructor id="_21" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1" throw="">
+ <Argument type="_28" location="f1:7" file="f1" line="7"/>
</Constructor>
- <OperatorMethod id="_22" name="=" returns="_29" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1" throw="" mangled="[^"]+">
- <Argument type="_28" location="f1:3" file="f1" line="3"/>
+ <OperatorMethod id="_22" name="=" returns="_29" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1" throw="" mangled="[^"]+">
+ <Argument type="_28" location="f1:7" file="f1" line="7"/>
</OperatorMethod>
- <Destructor id="_23" name="base_protected" context="_9" access="public" location="f1:3" file="f1" line="3" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_23" name="base_protected" context="_9" access="public" location="f1:7" file="f1" line="7" inline="1" artificial="1"( throw="")?/>
<ReferenceType id="_24" type="_7c"/>
<CvQualifiedType id="_7c" type="_7" const="1"/>
<ReferenceType id="_25" type="_7"/>
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 44c30e1..d5f0339 100644
--- a/test/expect/gccxml.c++98.Class-template-bases.xml.txt
+++ b/test/expect/gccxml.c++98.Class-template-bases.xml.txt
@@ -1,19 +1,19 @@
^<\?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" bases="_7 _8" size="[0-9]+" align="[0-9]+">
+ <Class id="_1" name="start&lt;int&gt;" context="_2" location="f1:12" file="f1" line="12" members="_3 _4 _5 _6" bases="_7 _8" size="[0-9]+" align="[0-9]+">
<Base type="_7" access="public" virtual="0" offset="[0-9]+"/>
<Base type="_8" access="public" virtual="0" offset="[0-9]+"/>
</Class>
- <Constructor id="_3" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_4" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throw="">
- <Argument type="_9" location="f1:4" file="f1" line="4"/>
+ <Constructor id="_3" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_4" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1" throw="">
+ <Argument type="_9" location="f1:12" file="f1" line="12"/>
</Constructor>
- <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1" throw="" mangled="[^"]+">
- <Argument type="_9" location="f1:4" file="f1" line="4"/>
+ <OperatorMethod id="_5" name="=" returns="_10" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1" throw="" mangled="[^"]+">
+ <Argument type="_9" location="f1:12" file="f1" line="12"/>
</OperatorMethod>
- <Destructor id="_6" name="start" context="_1" access="public" location="f1:4" file="f1" line="4" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_6" name="start" context="_1" access="public" location="f1:12" file="f1" line="12" inline="1" artificial="1"( throw="")?/>
<Class id="_7" name="non_dependent_base" context="_2" location="f1:1" file="f1" line="1" members="_11 _12 _13 _14" size="[0-9]+" align="[0-9]+"/>
- <Class id="_8" name="dependent_base&lt;int&gt;" context="_2" location="f1:2" file="f1" line="2" members="_15 _16 _17 _18" size="[0-9]+" align="[0-9]+"/>
+ <Class id="_8" name="dependent_base&lt;int&gt;" context="_2" location="f1:5" file="f1" line="5" members="_15 _16 _17 _18" size="[0-9]+" align="[0-9]+"/>
<ReferenceType id="_9" type="_1c"/>
<CvQualifiedType id="_1c" type="_1" const="1"/>
<ReferenceType id="_10" type="_1"/>
@@ -25,14 +25,14 @@
<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"( throw="")?/>
- <Constructor id="_15" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?/>
- <Constructor id="_16" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throw="">
- <Argument type="_21" location="f1:2" file="f1" line="2"/>
+ <Constructor id="_15" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
+ <Constructor id="_16" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1" throw="">
+ <Argument type="_21" location="f1:5" file="f1" line="5"/>
</Constructor>
- <OperatorMethod id="_17" name="=" returns="_22" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1" throw="" mangled="[^"]+">
- <Argument type="_21" location="f1:2" file="f1" line="2"/>
+ <OperatorMethod id="_17" name="=" returns="_22" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1" throw="" mangled="[^"]+">
+ <Argument type="_21" location="f1:5" file="f1" line="5"/>
</OperatorMethod>
- <Destructor id="_18" name="dependent_base" context="_8" access="public" location="f1:2" file="f1" line="2" inline="1" artificial="1"( throw="")?/>
+ <Destructor id="_18" name="dependent_base" context="_8" access="public" location="f1:5" file="f1" line="5" inline="1" artificial="1"( throw="")?/>
<ReferenceType id="_19" type="_7c"/>
<CvQualifiedType id="_7c" type="_7" const="1"/>
<ReferenceType id="_20" type="_7"/>
diff --git a/test/input/CXXLiteral.cxx b/test/input/CXXLiteral.cxx
index 2d35460..b409562 100644
--- a/test/input/CXXLiteral.cxx
+++ b/test/input/CXXLiteral.cxx
@@ -1,3 +1,3 @@
namespace start {
- unsigned long long operator "" _u(unsigned long long);
+unsigned long long operator"" _u(unsigned long long);
}
diff --git a/test/input/Class-abstract.cxx b/test/input/Class-abstract.cxx
index 419c6ec..89f1f02 100644
--- a/test/input/Class-abstract.cxx
+++ b/test/input/Class-abstract.cxx
@@ -1,4 +1,5 @@
-class start {
+class start
+{
virtual int method(int) = 0;
virtual operator int() = 0;
virtual ~start() = 0;
diff --git a/test/input/Class-annotate.cxx b/test/input/Class-annotate.cxx
index e0f4261..67d02c4 100644
--- a/test/input/Class-annotate.cxx
+++ b/test/input/Class-annotate.cxx
@@ -1 +1,3 @@
-class __attribute__ ((annotate ("an annotation"))) start {};
+class __attribute__((annotate("an annotation"))) start
+{
+};
diff --git a/test/input/Class-base-offset.cxx b/test/input/Class-base-offset.cxx
index 279584c..255130d 100644
--- a/test/input/Class-base-offset.cxx
+++ b/test/input/Class-base-offset.cxx
@@ -1,4 +1,15 @@
-class base_1 { char b1; };
-class base_2 { char b2; };
-class base_3 { char b3; };
-class start: public base_1, public base_2, public base_3 {};
+class base_1
+{
+ char b1;
+};
+class base_2
+{
+ char b2;
+};
+class base_3
+{
+ char b3;
+};
+class start : public base_1, public base_2, public base_3
+{
+};
diff --git a/test/input/Class-base-typedef.cxx b/test/input/Class-base-typedef.cxx
index 159d0da..4f325ea 100644
--- a/test/input/Class-base-typedef.cxx
+++ b/test/input/Class-base-typedef.cxx
@@ -1,3 +1,7 @@
-class base {};
+class base
+{
+};
typedef base base_t;
-class start: public base_t {};
+class start : public base_t
+{
+};
diff --git a/test/input/Class-bases.cxx b/test/input/Class-bases.cxx
index 5e37d14..b38bd8a 100644
--- a/test/input/Class-bases.cxx
+++ b/test/input/Class-bases.cxx
@@ -1,9 +1,14 @@
-class base_public {};
-class base_private {};
-class base_protected {};
-class start:
- public base_public,
- private base_private,
- virtual protected base_protected
+class base_public
+{
+};
+class base_private
+{
+};
+class base_protected
+{
+};
+class start : public base_public,
+ private base_private,
+ virtual protected base_protected
{
};
diff --git a/test/input/Class-forward.cxx b/test/input/Class-forward.cxx
index 38374b6..c2ba11d 100644
--- a/test/input/Class-forward.cxx
+++ b/test/input/Class-forward.cxx
@@ -1,5 +1,6 @@
class start;
-class start {
+class start
+{
public:
start();
start(start const&);
diff --git a/test/input/Class-friends.cxx b/test/input/Class-friends.cxx
index 6659db2..fe3aa56 100644
--- a/test/input/Class-friends.cxx
+++ b/test/input/Class-friends.cxx
@@ -1,6 +1,9 @@
-class A {};
+class A
+{
+};
void f(void);
-class start {
+class start
+{
friend class A;
friend void f(void);
};
diff --git a/test/input/Class-implicit-member-access-mutable.cxx b/test/input/Class-implicit-member-access-mutable.cxx
index 8d9aaec..2b619a1 100644
--- a/test/input/Class-implicit-member-access-mutable.cxx
+++ b/test/input/Class-implicit-member-access-mutable.cxx
@@ -1,10 +1,14 @@
-class base {
+class base
+{
protected:
base();
~base();
+
private:
base(base const&);
base& operator=(base const&);
mutable int data;
};
-class start: public base {};
+class start : public base
+{
+};
diff --git a/test/input/Class-implicit-member-access.cxx b/test/input/Class-implicit-member-access.cxx
index d9992bc..9673bc5 100644
--- a/test/input/Class-implicit-member-access.cxx
+++ b/test/input/Class-implicit-member-access.cxx
@@ -1,9 +1,13 @@
-class base {
+class base
+{
protected:
base();
~base();
+
private:
base(base const&);
base& operator=(base const&);
};
-class start: public base {};
+class start : public base
+{
+};
diff --git a/test/input/Class-implicit-member-array.cxx b/test/input/Class-implicit-member-array.cxx
index 44002dc..6f3520b 100644
--- a/test/input/Class-implicit-member-array.cxx
+++ b/test/input/Class-implicit-member-array.cxx
@@ -1,3 +1,4 @@
-class start {
+class start
+{
int data[2];
};
diff --git a/test/input/Class-implicit-member-bad-base.cxx b/test/input/Class-implicit-member-bad-base.cxx
index 0a69e73..40f18d6 100644
--- a/test/input/Class-implicit-member-bad-base.cxx
+++ b/test/input/Class-implicit-member-bad-base.cxx
@@ -1,9 +1,11 @@
-template <typename T> class base {
+template <typename T>
+class base
+{
protected:
T data;
base();
- void operator=(base const& a) {
- this->data = a.data;
- }
+ void operator=(base const& a) { this->data = a.data; }
+};
+class start : public base<int const>
+{
};
-class start: public base<int const> {};
diff --git a/test/input/Class-implicit-member-const-aggregate.cxx b/test/input/Class-implicit-member-const-aggregate.cxx
index 76fc8a8..8c45ac2 100644
--- a/test/input/Class-implicit-member-const-aggregate.cxx
+++ b/test/input/Class-implicit-member-const-aggregate.cxx
@@ -1,3 +1,4 @@
-struct start {
+struct start
+{
int const data;
};
diff --git a/test/input/Class-implicit-member-const.cxx b/test/input/Class-implicit-member-const.cxx
index 59221af..7c5c73b 100644
--- a/test/input/Class-implicit-member-const.cxx
+++ b/test/input/Class-implicit-member-const.cxx
@@ -1,5 +1,7 @@
-class start {
+class start
+{
int const data;
+
public:
start();
};
diff --git a/test/input/Class-implicit-member-reference.cxx b/test/input/Class-implicit-member-reference.cxx
index 67da21d..b84bbda 100644
--- a/test/input/Class-implicit-member-reference.cxx
+++ b/test/input/Class-implicit-member-reference.cxx
@@ -1,5 +1,7 @@
-class start {
+class start
+{
int& ref;
+
public:
start();
};
diff --git a/test/input/Class-implicit-members.cxx b/test/input/Class-implicit-members.cxx
index 2d79ee5..2c977d1 100644
--- a/test/input/Class-implicit-members.cxx
+++ b/test/input/Class-implicit-members.cxx
@@ -1,5 +1,7 @@
-class start {
- start method(start const& x) {
+class start
+{
+ start method(start const& x)
+ {
start s;
s = x;
return s;
diff --git a/test/input/Class-incomplete-twice.cxx b/test/input/Class-incomplete-twice.cxx
index 700ef6a..fb3368c 100644
--- a/test/input/Class-incomplete-twice.cxx
+++ b/test/input/Class-incomplete-twice.cxx
@@ -1,4 +1,4 @@
namespace start {
- class A;
- class A;
+class A;
+class A;
}
diff --git a/test/input/Class-member-template-access.cxx b/test/input/Class-member-template-access.cxx
index 1bcead7..b098ebd 100644
--- a/test/input/Class-member-template-access.cxx
+++ b/test/input/Class-member-template-access.cxx
@@ -1,5 +1,10 @@
-class start {
- template <typename> class member {};
+class start
+{
+ template <typename>
+ class member
+ {
+ };
+
public:
typedef member<char> member_char; // incomplete
};
diff --git a/test/input/Class-member-template.cxx b/test/input/Class-member-template.cxx
index 8ffb3d6..a320d8b 100644
--- a/test/input/Class-member-template.cxx
+++ b/test/input/Class-member-template.cxx
@@ -1,4 +1,9 @@
-class start {
- template <typename T> T method(T v) { return v; }
+class start
+{
+ template <typename T>
+ T method(T v)
+ {
+ return v;
+ }
};
template int start::method<int>(int); // instantiation
diff --git a/test/input/Class-partial-template-member-Typedef.cxx b/test/input/Class-partial-template-member-Typedef.cxx
index f4bbf0a..ab71f5c 100644
--- a/test/input/Class-partial-template-member-Typedef.cxx
+++ b/test/input/Class-partial-template-member-Typedef.cxx
@@ -1,6 +1,10 @@
-template <typename T> class start;
-template <typename T> class start<T&> {
+template <typename T>
+class start;
+template <typename T>
+class start<T&>
+{
typedef T Int;
+
public:
T method(Int);
};
diff --git a/test/input/Class-template-Method-Argument-const.cxx b/test/input/Class-template-Method-Argument-const.cxx
index 76c6c4b..424070c 100644
--- a/test/input/Class-template-Method-Argument-const.cxx
+++ b/test/input/Class-template-Method-Argument-const.cxx
@@ -1,4 +1,6 @@
-template <typename T> class start {
+template <typename T>
+class start
+{
void method(T const&);
};
template class start<int const>; // instantiation
diff --git a/test/input/Class-template-Method-Argument-default.cxx b/test/input/Class-template-Method-Argument-default.cxx
index cc928b5..aa6b6a5 100644
--- a/test/input/Class-template-Method-Argument-default.cxx
+++ b/test/input/Class-template-Method-Argument-default.cxx
@@ -1,4 +1,6 @@
-template <typename T> class start {
+template <typename T>
+class start
+{
int method(int = 123);
};
template class start<int>; // instantiation
diff --git a/test/input/Class-template-Method-return-const.cxx b/test/input/Class-template-Method-return-const.cxx
index 28063b4..ac52b15 100644
--- a/test/input/Class-template-Method-return-const.cxx
+++ b/test/input/Class-template-Method-return-const.cxx
@@ -1,4 +1,6 @@
-template <typename T> class start {
+template <typename T>
+class start
+{
T const method();
};
template class start<int const>; // instantiation
diff --git a/test/input/Class-template-bases.cxx b/test/input/Class-template-bases.cxx
index e4db66d..b446021 100644
--- a/test/input/Class-template-bases.cxx
+++ b/test/input/Class-template-bases.cxx
@@ -1,4 +1,12 @@
-class non_dependent_base {};
-template <typename T> class dependent_base {};
-template <typename T> class start: public non_dependent_base, public dependent_base<T> {};
+class non_dependent_base
+{
+};
+template <typename T>
+class dependent_base
+{
+};
+template <typename T>
+class start : public non_dependent_base, public dependent_base<T>
+{
+};
template class start<int>; // instantiation
diff --git a/test/input/Class-template-constructor-template.cxx b/test/input/Class-template-constructor-template.cxx
index 1ca5d93..3051e6a 100644
--- a/test/input/Class-template-constructor-template.cxx
+++ b/test/input/Class-template-constructor-template.cxx
@@ -1,6 +1,12 @@
-template <typename T> class start {
+template <typename T>
+class start
+{
public:
start(start const&);
- template <typename U> start(start<U> const&);
+ template <typename U>
+ start(start<U> const&);
};
-start<int> instantiate_and_copy(start<int> const& x) { return x; }
+start<int> instantiate_and_copy(start<int> const& x)
+{
+ return x;
+}
diff --git a/test/input/Class-template-friends.cxx b/test/input/Class-template-friends.cxx
index e1b3166..03057ae 100644
--- a/test/input/Class-template-friends.cxx
+++ b/test/input/Class-template-friends.cxx
@@ -1,8 +1,13 @@
-template <typename T> class A;
-template <typename T> int f(T);
-template <typename T> class start {
+template <typename T>
+class A;
+template <typename T>
+int f(T);
+template <typename T>
+class start
+{
friend class A<T>;
friend int f<T>(T);
- template <typename U> friend int f(U);
+ template <typename U>
+ friend int f(U);
};
template class start<int>;
diff --git a/test/input/Class-template-member-Typedef-const.cxx b/test/input/Class-template-member-Typedef-const.cxx
index f2a21b7..cea165c 100644
--- a/test/input/Class-template-member-Typedef-const.cxx
+++ b/test/input/Class-template-member-Typedef-const.cxx
@@ -1,5 +1,8 @@
-template <typename T> class start {
+template <typename T>
+class start
+{
typedef T IntConst;
+
public:
T method(IntConst);
};
diff --git a/test/input/Class-template-member-Typedef.cxx b/test/input/Class-template-member-Typedef.cxx
index 07b38c6..462e013 100644
--- a/test/input/Class-template-member-Typedef.cxx
+++ b/test/input/Class-template-member-Typedef.cxx
@@ -1,5 +1,8 @@
-template <typename T> class start {
+template <typename T>
+class start
+{
typedef T Int;
+
public:
T method(Int);
};
diff --git a/test/input/Class-template-member-nontemplate-Typedef.cxx b/test/input/Class-template-member-nontemplate-Typedef.cxx
index 91ffab3..44c3da1 100644
--- a/test/input/Class-template-member-nontemplate-Typedef.cxx
+++ b/test/input/Class-template-member-nontemplate-Typedef.cxx
@@ -1,5 +1,8 @@
-template <typename> struct A {
- struct B {
+template <typename>
+struct A
+{
+ struct B
+ {
typedef int intermediate_type;
typedef intermediate_type type;
};
diff --git a/test/input/Class-template-member-template.cxx b/test/input/Class-template-member-template.cxx
index 9dc6a54..03bd600 100644
--- a/test/input/Class-template-member-template.cxx
+++ b/test/input/Class-template-member-template.cxx
@@ -1,4 +1,10 @@
-template <typename T> class start {
- template <typename U> T method(U) { return T(); }
+template <typename T>
+class start
+{
+ template <typename U>
+ T method(U)
+ {
+ return T();
+ }
};
template int start<int>::method<char>(char); // instantiation
diff --git a/test/input/Class-template-recurse.cxx b/test/input/Class-template-recurse.cxx
index 37c73e0..0523a5d 100644
--- a/test/input/Class-template-recurse.cxx
+++ b/test/input/Class-template-recurse.cxx
@@ -1,10 +1,17 @@
-template <typename T> struct A;
-template <typename T> struct C;
-template <typename T> struct B {
+template <typename T>
+struct A;
+template <typename T>
+struct C;
+template <typename T>
+struct B
+{
typedef C<T> type;
};
-template <typename T> struct C {
- C() {
+template <typename T>
+struct C
+{
+ C()
+ {
/* clang-format off */
static_cast<void>(sizeof(typename B< A<T> >::type));
/* clang-format on */
diff --git a/test/input/Class-template.cxx b/test/input/Class-template.cxx
index 7bfa22f..724c612 100644
--- a/test/input/Class-template.cxx
+++ b/test/input/Class-template.cxx
@@ -1,5 +1,12 @@
-template <typename T> class start {};
-template <typename T> struct start<T&> {}; // partial specialization
-template <> class start<char>; // specialization
-template class start<int>; // instantiation
+template <typename T>
+class start
+{
+};
+template <typename T>
+struct start<T&>
+{
+}; // partial specialization
+template <>
+class start<char>; // specialization
+template class start<int>; // instantiation
template class start<int&>; // instantiation of partial specialization
diff --git a/test/input/Class.cxx b/test/input/Class.cxx
index 92a7e59..957148d 100644
--- a/test/input/Class.cxx
+++ b/test/input/Class.cxx
@@ -1 +1,3 @@
-class start {};
+class start
+{
+};
diff --git a/test/input/Constructor-annotate.cxx b/test/input/Constructor-annotate.cxx
index 94cf13e..91b5692 100644
--- a/test/input/Constructor-annotate.cxx
+++ b/test/input/Constructor-annotate.cxx
@@ -1,3 +1,4 @@
-class start {
- __attribute__ ((annotate ("an annotation"))) start();
+class start
+{
+ __attribute__((annotate("an annotation"))) start();
};
diff --git a/test/input/Constructor.cxx b/test/input/Constructor.cxx
index e6e7948..46cf26c 100644
--- a/test/input/Constructor.cxx
+++ b/test/input/Constructor.cxx
@@ -1,3 +1,4 @@
-class start {
+class start
+{
start();
};
diff --git a/test/input/Converter-annotate.cxx b/test/input/Converter-annotate.cxx
index 2e4a915..836d08f 100644
--- a/test/input/Converter-annotate.cxx
+++ b/test/input/Converter-annotate.cxx
@@ -1,3 +1,4 @@
-class start {
- __attribute__ ((annotate ("an annotation"))) operator int();
+class start
+{
+ __attribute__((annotate("an annotation"))) operator int();
};
diff --git a/test/input/Converter.cxx b/test/input/Converter.cxx
index 64bad53..b0224f4 100644
--- a/test/input/Converter.cxx
+++ b/test/input/Converter.cxx
@@ -1,3 +1,4 @@
-class start {
+class start
+{
operator int();
};
diff --git a/test/input/Destructor-annotate.cxx b/test/input/Destructor-annotate.cxx
index f2c59f1..71481e5 100644
--- a/test/input/Destructor-annotate.cxx
+++ b/test/input/Destructor-annotate.cxx
@@ -1,3 +1,4 @@
-class start {
- __attribute__ ((annotate ("an annotation"))) ~start();
+class start
+{
+ __attribute__((annotate("an annotation"))) ~start();
};
diff --git a/test/input/Destructor.cxx b/test/input/Destructor.cxx
index 6a42e1a..864b3dd 100644
--- a/test/input/Destructor.cxx
+++ b/test/input/Destructor.cxx
@@ -1,3 +1,4 @@
-class start {
+class start
+{
~start();
};
diff --git a/test/input/Enumeration-annotate.cxx b/test/input/Enumeration-annotate.cxx
index fd2c9a3..20559c7 100644
--- a/test/input/Enumeration-annotate.cxx
+++ b/test/input/Enumeration-annotate.cxx
@@ -1,3 +1,4 @@
-enum __attribute__ ((annotate ("an annotation"))) start {
- ev0 __attribute__ ((annotate ("an annotation")))
+enum __attribute__((annotate("an annotation"))) start
+{
+ ev0 __attribute__((annotate("an annotation")))
};
diff --git a/test/input/Enumeration-anonymous.cxx b/test/input/Enumeration-anonymous.cxx
index f1325d1..c813534 100644
--- a/test/input/Enumeration-anonymous.cxx
+++ b/test/input/Enumeration-anonymous.cxx
@@ -1,6 +1,7 @@
namespace start {
- enum {
- ev0,
- ev1
- };
+enum
+{
+ ev0,
+ ev1
+};
}
diff --git a/test/input/Enumeration.cxx b/test/input/Enumeration.cxx
index 1cdd25c..5bc2886 100644
--- a/test/input/Enumeration.cxx
+++ b/test/input/Enumeration.cxx
@@ -1,4 +1,5 @@
-enum start {
+enum start
+{
ev0,
ev2 = 2
};
diff --git a/test/input/Field-annotate.cxx b/test/input/Field-annotate.cxx
index 917e96f..2ebe946 100644
--- a/test/input/Field-annotate.cxx
+++ b/test/input/Field-annotate.cxx
@@ -1,3 +1,4 @@
-class start {
- __attribute__ ((annotate ("an annotation"))) int field;
+class start
+{
+ __attribute__((annotate("an annotation"))) int field;
};
diff --git a/test/input/Field.cxx b/test/input/Field.cxx
index d8efaf9..73cfe6d 100644
--- a/test/input/Field.cxx
+++ b/test/input/Field.cxx
@@ -1,5 +1,6 @@
-class start {
+class start
+{
int field;
- unsigned bit_field: 2;
+ unsigned bit_field : 2;
mutable int mutable_field;
};
diff --git a/test/input/Function-Argument-annotate.cxx b/test/input/Function-Argument-annotate.cxx
index 3ea09ad..a9176ba 100644
--- a/test/input/Function-Argument-annotate.cxx
+++ b/test/input/Function-Argument-annotate.cxx
@@ -1 +1 @@
-void start( __attribute__ ((annotate ("an annotation"))) int);
+void start(__attribute__((annotate("an annotation"))) int);
diff --git a/test/input/Function-Argument-default-cast.cxx b/test/input/Function-Argument-default-cast.cxx
index 09ff46b..003ab9c 100644
--- a/test/input/Function-Argument-default-cast.cxx
+++ b/test/input/Function-Argument-default-cast.cxx
@@ -1,13 +1,16 @@
namespace start {
- struct Base { Base(); virtual ~Base(); };
- struct Derived: public Base {};
- Base* b();
- Base const* bc();
- typedef int Int;
- void f(Int = (Int)0,
- Base* = (Base*)0,
- Base* = static_cast<Base*>(0),
- Base* = reinterpret_cast<Base*>(0),
- Base* = const_cast<Base*>(bc()),
- Derived* = dynamic_cast<Derived*>(b()));
+struct Base
+{
+ Base();
+ virtual ~Base();
+};
+struct Derived : public Base
+{
+};
+Base* b();
+Base const* bc();
+typedef int Int;
+void f(Int = (Int)0, Base* = (Base*)0, Base* = static_cast<Base*>(0),
+ Base* = reinterpret_cast<Base*>(0), Base* = const_cast<Base*>(bc()),
+ Derived* = dynamic_cast<Derived*>(b()));
}
diff --git a/test/input/Function-Argument-default-ns.cxx b/test/input/Function-Argument-default-ns.cxx
index b2fc53e..74370b9 100644
--- a/test/input/Function-Argument-default-ns.cxx
+++ b/test/input/Function-Argument-default-ns.cxx
@@ -1,5 +1,8 @@
namespace start {
- static int const C = 0;
- enum { E = 0 };
- void f(int = C, int = E);
+static int const C = 0;
+enum
+{
+ E = 0
+};
+void f(int = C, int = E);
}
diff --git a/test/input/Function-annotate.cxx b/test/input/Function-annotate.cxx
index d7aaf79..15583bf 100644
--- a/test/input/Function-annotate.cxx
+++ b/test/input/Function-annotate.cxx
@@ -1 +1 @@
-__attribute__ ((annotate ("an annotation"))) void start(int);
+__attribute__((annotate("an annotation"))) void start(int);
diff --git a/test/input/Function-calling-convention-ms-annotate.cxx b/test/input/Function-calling-convention-ms-annotate.cxx
index 4803dd8..668fcb0 100644
--- a/test/input/Function-calling-convention-ms-annotate.cxx
+++ b/test/input/Function-calling-convention-ms-annotate.cxx
@@ -1,4 +1,8 @@
-__attribute__ ((annotate ("an annotation"))) void __cdecl start(void (__cdecl *)());
-__attribute__ ((annotate ("an annotation"))) void __stdcall start(void (__stdcall *)());
-__attribute__ ((annotate ("an annotation"))) void __fastcall start(void (__fastcall *)());
-__attribute__ ((annotate ("an annotation"))) void __thiscall start(void (__thiscall *)());
+__attribute__((annotate("an annotation"))) void __cdecl start(
+ void(__cdecl*)());
+__attribute__((annotate("an annotation"))) void __stdcall start(
+ void(__stdcall*)());
+__attribute__((annotate("an annotation"))) void __fastcall start(
+ void(__fastcall*)());
+__attribute__((annotate("an annotation"))) void __thiscall start(
+ void(__thiscall*)());
diff --git a/test/input/Function-calling-convention-ms.cxx b/test/input/Function-calling-convention-ms.cxx
index fac3c42..667453d 100644
--- a/test/input/Function-calling-convention-ms.cxx
+++ b/test/input/Function-calling-convention-ms.cxx
@@ -1,4 +1,4 @@
-void __cdecl start(void (__cdecl *)());
-void __stdcall start(void (__stdcall *)());
-void __fastcall start(void (__fastcall *)());
-void __thiscall start(void (__thiscall *)());
+void __cdecl start(void(__cdecl*)());
+void __stdcall start(void(__stdcall*)());
+void __fastcall start(void(__fastcall*)());
+void __thiscall start(void(__thiscall*)());
diff --git a/test/input/Function-template.cxx b/test/input/Function-template.cxx
index cd4b913..4d16f5f 100644
--- a/test/input/Function-template.cxx
+++ b/test/input/Function-template.cxx
@@ -1,3 +1,8 @@
-template <typename T> T start(T) { return T(); }
-template <> char start<char>(char); // specialization
+template <typename T>
+T start(T)
+{
+ return T();
+}
+template <>
+char start<char>(char); // specialization
template int start<int>(int); // instantiation
diff --git a/test/input/Function-variadic.cxx b/test/input/Function-variadic.cxx
index 2a2510b..2cafe90 100644
--- a/test/input/Function-variadic.cxx
+++ b/test/input/Function-variadic.cxx
@@ -1 +1 @@
-void start(int,...);
+void start(int, ...);
diff --git a/test/input/FunctionType-variadic.cxx b/test/input/FunctionType-variadic.cxx
index 90b9294..713703d 100644
--- a/test/input/FunctionType-variadic.cxx
+++ b/test/input/FunctionType-variadic.cxx
@@ -1 +1 @@
-typedef void start(int,...);
+typedef void start(int, ...);
diff --git a/test/input/FundamentalTypes.cxx b/test/input/FundamentalTypes.cxx
index 7ec7c53..93f3c3a 100644
--- a/test/input/FundamentalTypes.cxx
+++ b/test/input/FundamentalTypes.cxx
@@ -1,15 +1,15 @@
namespace start {
- typedef char t_Char;
- typedef signed char t_SChar;
- typedef unsigned char t_UChar;
- typedef short t_Short;
- typedef unsigned short t_UShort;
- typedef int t_Int;
- typedef unsigned int t_UInt;
- typedef long t_Long;
- typedef unsigned long t_ULong;
- typedef long long t_LongLong;
- typedef unsigned long long t_ULongLong;
- typedef float t_Float;
- typedef double t_Double;
+typedef char t_Char;
+typedef signed char t_SChar;
+typedef unsigned char t_UChar;
+typedef short t_Short;
+typedef unsigned short t_UShort;
+typedef int t_Int;
+typedef unsigned int t_UInt;
+typedef long t_Long;
+typedef unsigned long t_ULong;
+typedef long long t_LongLong;
+typedef unsigned long long t_ULongLong;
+typedef float t_Float;
+typedef double t_Double;
}
diff --git a/test/input/GNU-float128.cxx b/test/input/GNU-float128.cxx
index 183ada9..e976f4b 100644
--- a/test/input/GNU-float128.cxx
+++ b/test/input/GNU-float128.cxx
@@ -1,6 +1,7 @@
-template <typename T> struct A;
+template <typename T>
+struct A;
namespace start {
- __float128 f(__float128);
- __float128 v;
- A<__float128>* pa;
+__float128 f(__float128);
+__float128 v;
+A<__float128>* pa;
}
diff --git a/test/input/GNU-va_arg_pack.cxx b/test/input/GNU-va_arg_pack.cxx
index 7a437cf..ed93e53 100644
--- a/test/input/GNU-va_arg_pack.cxx
+++ b/test/input/GNU-va_arg_pack.cxx
@@ -1,3 +1,4 @@
-__inline int start(int n, ...) {
+__inline int start(int n, ...)
+{
return start(n + __builtin_va_arg_pack_len(), __builtin_va_arg_pack());
}
diff --git a/test/input/Method-Argument-default-cast.cxx b/test/input/Method-Argument-default-cast.cxx
index 903b622..b7c0d8c 100644
--- a/test/input/Method-Argument-default-cast.cxx
+++ b/test/input/Method-Argument-default-cast.cxx
@@ -1,8 +1,7 @@
-class start {
+class start
+{
class Class;
typedef int Int;
- int f(Int = (Int)0,
- Class* = (Class*)0,
- Class* = static_cast<Class*>(0),
+ int f(Int = (Int)0, Class* = (Class*)0, Class* = static_cast<Class*>(0),
Class* = reinterpret_cast<Class*>(0));
};
diff --git a/test/input/Method-Argument-default.cxx b/test/input/Method-Argument-default.cxx
index dfd86ae..b0ee68b 100644
--- a/test/input/Method-Argument-default.cxx
+++ b/test/input/Method-Argument-default.cxx
@@ -1,4 +1,5 @@
-class start {
+class start
+{
static int const C = 0;
int method(int = C);
};
diff --git a/test/input/Method-annotate.cxx b/test/input/Method-annotate.cxx
index cbd02cf..13b58b3 100644
--- a/test/input/Method-annotate.cxx
+++ b/test/input/Method-annotate.cxx
@@ -1,3 +1,4 @@
-class start {
- __attribute__ ((annotate ("an annotation"))) int method(int);
+class start
+{
+ __attribute__((annotate("an annotation"))) int method(int);
};
diff --git a/test/input/Method-overrides.cxx b/test/input/Method-overrides.cxx
index d7e79af..f8dc982 100644
--- a/test/input/Method-overrides.cxx
+++ b/test/input/Method-overrides.cxx
@@ -1,6 +1,8 @@
-class base {
+class base
+{
virtual int method(int);
};
-class start: public base {
+class start : public base
+{
virtual int method(int);
};
diff --git a/test/input/Method-rvalue-reference.cxx b/test/input/Method-rvalue-reference.cxx
index 30c12ee..f3a7a31 100644
--- a/test/input/Method-rvalue-reference.cxx
+++ b/test/input/Method-rvalue-reference.cxx
@@ -1,4 +1,5 @@
-class start {
+class start
+{
start(start&);
start(start&&);
start& operator=(start&);
diff --git a/test/input/Method.cxx b/test/input/Method.cxx
index eba4254..5fa3b2c 100644
--- a/test/input/Method.cxx
+++ b/test/input/Method.cxx
@@ -1,3 +1,4 @@
-class start {
+class start
+{
int method(int);
};
diff --git a/test/input/MethodType-cv.cxx b/test/input/MethodType-cv.cxx
index 1ab435d..e8f44c9 100644
--- a/test/input/MethodType-cv.cxx
+++ b/test/input/MethodType-cv.cxx
@@ -1,2 +1,2 @@
class A;
-typedef int (A::* const volatile start)(int) const volatile;
+typedef int (A::*const volatile start)(int) const volatile;
diff --git a/test/input/MethodType.cxx b/test/input/MethodType.cxx
index 2f9e67c..85a5d16 100644
--- a/test/input/MethodType.cxx
+++ b/test/input/MethodType.cxx
@@ -1,2 +1,2 @@
class A;
-typedef int (A::* start)(int);
+typedef int (A::*start)(int);
diff --git a/test/input/Namespace-Class-members.cxx b/test/input/Namespace-Class-members.cxx
index 0b196ea..55f6f34 100644
--- a/test/input/Namespace-Class-members.cxx
+++ b/test/input/Namespace-Class-members.cxx
@@ -1,6 +1,7 @@
namespace start {
- class A {
- static int data;
- };
- int A::data;
+class A
+{
+ static int data;
+};
+int A::data;
}
diff --git a/test/input/Namespace-Class-partial-template-members.cxx b/test/input/Namespace-Class-partial-template-members.cxx
index 0c220c9..b87f1da 100644
--- a/test/input/Namespace-Class-partial-template-members.cxx
+++ b/test/input/Namespace-Class-partial-template-members.cxx
@@ -1,7 +1,11 @@
namespace start {
- template <typename T> class A;
- template <typename T> class A<T&> {
- static int data;
- };
- template <typename T> int A<T&>::data;
+template <typename T>
+class A;
+template <typename T>
+class A<T&>
+{
+ static int data;
+};
+template <typename T>
+int A<T&>::data;
}
diff --git a/test/input/Namespace-Class-template-members.cxx b/test/input/Namespace-Class-template-members.cxx
index 5367a14..23131d7 100644
--- a/test/input/Namespace-Class-template-members.cxx
+++ b/test/input/Namespace-Class-template-members.cxx
@@ -1,6 +1,9 @@
namespace start {
- template <typename T> class A {
- static int data;
- };
- template <typename T> int A<T>::data;
+template <typename T>
+class A
+{
+ static int data;
+};
+template <typename T>
+int A<T>::data;
}
diff --git a/test/input/Namespace-Function-template-members.cxx b/test/input/Namespace-Function-template-members.cxx
index 925281f..d149de3 100644
--- a/test/input/Namespace-Function-template-members.cxx
+++ b/test/input/Namespace-Function-template-members.cxx
@@ -1,3 +1,4 @@
namespace start {
- template <typename T> T function(T);
+template <typename T>
+T function(T);
}
diff --git a/test/input/Namespace-anonymous.cxx b/test/input/Namespace-anonymous.cxx
index f35a1ab..61cbe65 100644
--- a/test/input/Namespace-anonymous.cxx
+++ b/test/input/Namespace-anonymous.cxx
@@ -1,5 +1,5 @@
namespace start {
- namespace {
- struct A;
- }
+namespace {
+struct A;
+}
}
diff --git a/test/input/Namespace-empty.cxx b/test/input/Namespace-empty.cxx
index 7aada05..90cb9ff 100644
--- a/test/input/Namespace-empty.cxx
+++ b/test/input/Namespace-empty.cxx
@@ -1,3 +1,3 @@
namespace start {
- ;
+;
}
diff --git a/test/input/Namespace-extern-C-members.cxx b/test/input/Namespace-extern-C-members.cxx
index debf987..68fb48a 100644
--- a/test/input/Namespace-extern-C-members.cxx
+++ b/test/input/Namespace-extern-C-members.cxx
@@ -1,6 +1,6 @@
namespace start {
- extern "C" {
- typedef int Int;
- Int function(Int);
- }
+extern "C" {
+typedef int Int;
+Int function(Int);
+}
}
diff --git a/test/input/Namespace-inline-start.cxx b/test/input/Namespace-inline-start.cxx
index 35f05bc..a8e71da 100644
--- a/test/input/Namespace-inline-start.cxx
+++ b/test/input/Namespace-inline-start.cxx
@@ -1,2 +1,3 @@
#pragma clang diagnostic ignored "-Wc++11-extensions"
-inline namespace start {}
+inline namespace start {
+}
diff --git a/test/input/Namespace-inline-template.cxx b/test/input/Namespace-inline-template.cxx
index fc38a46..f0e66d0 100644
--- a/test/input/Namespace-inline-template.cxx
+++ b/test/input/Namespace-inline-template.cxx
@@ -1,8 +1,9 @@
#pragma clang diagnostic ignored "-Wc++11-extensions"
namespace start {
- inline namespace level1 {
- struct A;
- }
- template <typename T> struct B;
- typedef B<A> B_A;
+inline namespace level1 {
+struct A;
+}
+template <typename T>
+struct B;
+typedef B<A> B_A;
}
diff --git a/test/input/Namespace-inline.cxx b/test/input/Namespace-inline.cxx
index 9569ad3..3df5602 100644
--- a/test/input/Namespace-inline.cxx
+++ b/test/input/Namespace-inline.cxx
@@ -1,9 +1,9 @@
#pragma clang diagnostic ignored "-Wc++11-extensions"
namespace start {
- inline namespace level1 {
- struct A;
- inline namespace level2 {
- struct B;
- }
- }
+inline namespace level1 {
+struct A;
+inline namespace level2 {
+struct B;
+}
+}
}
diff --git a/test/input/Namespace-nested.cxx b/test/input/Namespace-nested.cxx
index 495208f..5e3afa5 100644
--- a/test/input/Namespace-nested.cxx
+++ b/test/input/Namespace-nested.cxx
@@ -1,11 +1,11 @@
namespace start {
- namespace ns1 {
- void f1();
- }
- namespace ns2 {
- void f2();
- }
- namespace ns3 {
- void f3();
- }
+namespace ns1 {
+void f1();
+}
+namespace ns2 {
+void f2();
+}
+namespace ns3 {
+void f3();
+}
}
diff --git a/test/input/Namespace-repeat-start.cxx b/test/input/Namespace-repeat-start.cxx
index feb9d5c..0ce6793 100644
--- a/test/input/Namespace-repeat-start.cxx
+++ b/test/input/Namespace-repeat-start.cxx
@@ -1,6 +1,6 @@
namespace start {
- void f1();
+void f1();
}
namespace start {
- void f2();
+void f2();
}
diff --git a/test/input/Namespace-repeat.cxx b/test/input/Namespace-repeat.cxx
index 00f3d38..bc5221c 100644
--- a/test/input/Namespace-repeat.cxx
+++ b/test/input/Namespace-repeat.cxx
@@ -1,8 +1,8 @@
namespace start {
- namespace ns {
- void f1();
- }
- namespace ns {
- void f2();
- }
+namespace ns {
+void f1();
+}
+namespace ns {
+void f2();
+}
}
diff --git a/test/input/Namespace.cxx b/test/input/Namespace.cxx
index a3102e6..9071a9f 100644
--- a/test/input/Namespace.cxx
+++ b/test/input/Namespace.cxx
@@ -1 +1,2 @@
-namespace start {}
+namespace start {
+}
diff --git a/test/input/OffsetType-cv.cxx b/test/input/OffsetType-cv.cxx
index efbc605..c555de4 100644
--- a/test/input/OffsetType-cv.cxx
+++ b/test/input/OffsetType-cv.cxx
@@ -1,2 +1,2 @@
class A;
-typedef int const volatile A::* const volatile start;
+typedef int const volatile A::*const volatile start;
diff --git a/test/input/OffsetType.cxx b/test/input/OffsetType.cxx
index 5a030d5..6326230 100644
--- a/test/input/OffsetType.cxx
+++ b/test/input/OffsetType.cxx
@@ -1,2 +1,2 @@
class A;
-typedef int A::* start;
+typedef int A::*start;
diff --git a/test/input/OperatorFunction-annotate.cxx b/test/input/OperatorFunction-annotate.cxx
index bbb3bf9..e255b58 100644
--- a/test/input/OperatorFunction-annotate.cxx
+++ b/test/input/OperatorFunction-annotate.cxx
@@ -1,4 +1,4 @@
class A;
namespace start {
- __attribute__ ((annotate ("an annotation"))) A& operator<<(A&, int);
+__attribute__((annotate("an annotation"))) A& operator<<(A&, int);
}
diff --git a/test/input/OperatorFunction.cxx b/test/input/OperatorFunction.cxx
index 75125a2..0c0d222 100644
--- a/test/input/OperatorFunction.cxx
+++ b/test/input/OperatorFunction.cxx
@@ -1,4 +1,4 @@
class A;
namespace start {
- A& operator<<(A&, int);
+A& operator<<(A&, int);
}
diff --git a/test/input/OperatorMethod-annotate.cxx b/test/input/OperatorMethod-annotate.cxx
index 3384ece..543af88 100644
--- a/test/input/OperatorMethod-annotate.cxx
+++ b/test/input/OperatorMethod-annotate.cxx
@@ -1,3 +1,4 @@
-class start {
- __attribute__ ((annotate ("an annotation"))) start& operator<<(int);
+class start
+{
+ __attribute__((annotate("an annotation"))) start& operator<<(int);
};
diff --git a/test/input/OperatorMethod.cxx b/test/input/OperatorMethod.cxx
index 36a76c2..c05c431 100644
--- a/test/input/OperatorMethod.cxx
+++ b/test/input/OperatorMethod.cxx
@@ -1,3 +1,4 @@
-class start {
+class start
+{
start& operator<<(int);
};
diff --git a/test/input/PointerType.cxx b/test/input/PointerType.cxx
index 46d5fee..936ea49 100644
--- a/test/input/PointerType.cxx
+++ b/test/input/PointerType.cxx
@@ -1 +1 @@
-typedef int *start;
+typedef int* start;
diff --git a/test/input/RValueReferenceType.cxx b/test/input/RValueReferenceType.cxx
index 35f2861..1dc1d14 100644
--- a/test/input/RValueReferenceType.cxx
+++ b/test/input/RValueReferenceType.cxx
@@ -1,3 +1,3 @@
namespace start {
- typedef int&& type;
+typedef int&& type;
}
diff --git a/test/input/ReferenceType-to-Class-template.cxx b/test/input/ReferenceType-to-Class-template.cxx
index 2bf8bbb..74ed2a3 100644
--- a/test/input/ReferenceType-to-Class-template.cxx
+++ b/test/input/ReferenceType-to-Class-template.cxx
@@ -1,4 +1,7 @@
-template <typename T> class A {};
+template <typename T>
+class A
+{
+};
void start(A<int>&, short);
void start(A<int>&, int);
void start(A<int>&, long);
diff --git a/test/input/ReferenceType.cxx b/test/input/ReferenceType.cxx
index 6cfa692..80646f6 100644
--- a/test/input/ReferenceType.cxx
+++ b/test/input/ReferenceType.cxx
@@ -1 +1 @@
-typedef int &start;
+typedef int& start;
diff --git a/test/input/TypeAlias.cxx b/test/input/TypeAlias.cxx
index 8e5470c..d86a77c 100644
--- a/test/input/TypeAlias.cxx
+++ b/test/input/TypeAlias.cxx
@@ -1,3 +1,3 @@
namespace start {
- using type = int;
+using type = int;
}
diff --git a/test/input/TypeAliasTemplate.cxx b/test/input/TypeAliasTemplate.cxx
index ec54f80..57a7838 100644
--- a/test/input/TypeAliasTemplate.cxx
+++ b/test/input/TypeAliasTemplate.cxx
@@ -1,4 +1,9 @@
-template <typename T> struct A { typedef T type; };
+template <typename T>
+struct A
+{
+ typedef T type;
+};
namespace start {
- template <typename T> using type = typename A<T>::type;
+template <typename T>
+using type = typename A<T>::type;
}
diff --git a/test/input/Typedef-annotate.cxx b/test/input/Typedef-annotate.cxx
index 33dd09c..731f1e6 100644
--- a/test/input/Typedef-annotate.cxx
+++ b/test/input/Typedef-annotate.cxx
@@ -1 +1 @@
-typedef int (start) __attribute__ ((annotate ("an annotation")));
+typedef int(start) __attribute__((annotate("an annotation")));
diff --git a/test/input/Typedef-paren.cxx b/test/input/Typedef-paren.cxx
index 8b8b301..24bc9bf 100644
--- a/test/input/Typedef-paren.cxx
+++ b/test/input/Typedef-paren.cxx
@@ -1 +1 @@
-typedef int (start);
+typedef int(start);
diff --git a/test/input/Typedef-to-Class-template.cxx b/test/input/Typedef-to-Class-template.cxx
index f04a56e..c91b972 100644
--- a/test/input/Typedef-to-Class-template.cxx
+++ b/test/input/Typedef-to-Class-template.cxx
@@ -1,2 +1,3 @@
-template <typename T> class A;
+template <typename T>
+class A;
typedef A<int> start;
diff --git a/test/input/Typedef-to-Enumeration-anonymous.cxx b/test/input/Typedef-to-Enumeration-anonymous.cxx
index cf5f26f..efcbc45 100644
--- a/test/input/Typedef-to-Enumeration-anonymous.cxx
+++ b/test/input/Typedef-to-Enumeration-anonymous.cxx
@@ -1,2 +1 @@
-typedef enum {
-} start;
+typedef enum {} start;
diff --git a/test/input/Typedef-to-Enumeration.cxx b/test/input/Typedef-to-Enumeration.cxx
index 9a1db81..38743f4 100644
--- a/test/input/Typedef-to-Enumeration.cxx
+++ b/test/input/Typedef-to-Enumeration.cxx
@@ -1,2 +1,4 @@
-enum E {};
+enum E
+{
+};
typedef E start;
diff --git a/test/input/Typedef-to-FundamentalType-mode.cxx b/test/input/Typedef-to-FundamentalType-mode.cxx
index 03869e9..6b76163 100644
--- a/test/input/Typedef-to-FundamentalType-mode.cxx
+++ b/test/input/Typedef-to-FundamentalType-mode.cxx
@@ -1 +1 @@
-typedef int start __attribute__ ((__mode__ (__HI__)));
+typedef int start __attribute__((__mode__(__HI__)));
diff --git a/test/input/Typedef-to-extern-C-FundamentalType-mode.cxx b/test/input/Typedef-to-extern-C-FundamentalType-mode.cxx
index 3e966f0..371bcaf 100644
--- a/test/input/Typedef-to-extern-C-FundamentalType-mode.cxx
+++ b/test/input/Typedef-to-extern-C-FundamentalType-mode.cxx
@@ -1,3 +1,3 @@
extern "C" {
- typedef int start __attribute__ ((__mode__ (__HI__)));
+typedef int start __attribute__((__mode__(__HI__)));
}
diff --git a/test/input/Variable-annotate.cxx b/test/input/Variable-annotate.cxx
index 0f044ec..bbe7f63 100644
--- a/test/input/Variable-annotate.cxx
+++ b/test/input/Variable-annotate.cxx
@@ -1 +1 @@
-__attribute__ ((annotate ("an annotation"))) int start;
+__attribute__((annotate("an annotation"))) int start;
diff --git a/test/input/Variable-in-Class.cxx b/test/input/Variable-in-Class.cxx
index 2aa9004..e10d058 100644
--- a/test/input/Variable-in-Class.cxx
+++ b/test/input/Variable-in-Class.cxx
@@ -1,3 +1,4 @@
-class start {
+class start
+{
static int static_field;
};
diff --git a/test/input/Variable-init-cast.cxx b/test/input/Variable-init-cast.cxx
index 80dbb0f..c5d664c 100644
--- a/test/input/Variable-init-cast.cxx
+++ b/test/input/Variable-init-cast.cxx
@@ -1,5 +1,5 @@
namespace start {
- typedef int Int;
- int var_int = (Int)123;
- int var_int2 = static_cast<Int>(123);
+typedef int Int;
+int var_int = (Int)123;
+int var_int2 = static_cast<Int>(123);
}
diff --git a/test/input/Variable-init-ns.cxx b/test/input/Variable-init-ns.cxx
index 0f5311c..72bdc2f 100644
--- a/test/input/Variable-init-ns.cxx
+++ b/test/input/Variable-init-ns.cxx
@@ -1,4 +1,4 @@
namespace start {
- static int const C = 123;
- int var_int = C;
+static int const C = 123;
+int var_int = C;
}
diff --git a/test/input/Variable-init.cxx b/test/input/Variable-init.cxx
index 79b05cf..c2ef751 100644
--- a/test/input/Variable-init.cxx
+++ b/test/input/Variable-init.cxx
@@ -1,4 +1,4 @@
namespace start {
- int var_int = 123;
- const char* var_str = "abc";
+int var_int = 123;
+const char* var_str = "abc";
}
diff --git a/test/input/inline-asm-ms.cxx b/test/input/inline-asm-ms.cxx
index 1454d85..d9a83a4 100644
--- a/test/input/inline-asm-ms.cxx
+++ b/test/input/inline-asm-ms.cxx
@@ -1 +1,4 @@
-void start() { __asm { int 1 } }
+void start()
+{
+ __asm { int 1 }
+}
diff --git a/test/input/invalid-decl-for-type.cxx b/test/input/invalid-decl-for-type.cxx
index 5c2225f..2eb8a3e 100644
--- a/test/input/invalid-decl-for-type.cxx
+++ b/test/input/invalid-decl-for-type.cxx
@@ -1,7 +1,16 @@
-template<typename T> struct A { T x; };
-template<typename T> struct B { B() { A<T> a; } };
+template <typename T>
+struct A
+{
+ T x;
+};
+template <typename T>
+struct B
+{
+ B() { A<T> a; }
+};
struct Incomplete;
-struct start {
+struct start
+{
B<Incomplete> b;
typedef A<Incomplete> type;
};
diff --git a/test/input/make_integer_seq.cxx b/test/input/make_integer_seq.cxx
index 44a89a8..ec5c408 100644
--- a/test/input/make_integer_seq.cxx
+++ b/test/input/make_integer_seq.cxx
@@ -1,6 +1,11 @@
-template <typename _T, _T...> struct seq;
+template <typename _T, _T...>
+struct seq;
typedef __make_integer_seq<seq, int, 3> seq_A;
-typedef seq<int,0,1,2> seq_B;
-template <typename A, typename B> struct assert_same;
-template <typename A> struct assert_same<A,A> {};
-assert_same<seq_A,seq_B> enforce;
+typedef seq<int, 0, 1, 2> seq_B;
+template <typename A, typename B>
+struct assert_same;
+template <typename A>
+struct assert_same<A, A>
+{
+};
+assert_same<seq_A, seq_B> enforce;
diff --git a/test/input/nostart.cxx b/test/input/nostart.cxx
index 37374bc..ad9b995 100644
--- a/test/input/nostart.cxx
+++ b/test/input/nostart.cxx
@@ -1,2 +1,2 @@
class A;
-A operator+(A,A);
+A operator+(A, A);
diff --git a/test/input/qualified-type-name.cxx b/test/input/qualified-type-name.cxx
index ea0f4b2..ebba546 100644
--- a/test/input/qualified-type-name.cxx
+++ b/test/input/qualified-type-name.cxx
@@ -1,2 +1,4 @@
-namespace ns { typedef int type; }
+namespace ns {
+typedef int type;
+}
typedef ns::type start;
diff --git a/test/input/using-declaration-class.cxx b/test/input/using-declaration-class.cxx
index 7b5ad6b..b63a8c1 100644
--- a/test/input/using-declaration-class.cxx
+++ b/test/input/using-declaration-class.cxx
@@ -1,8 +1,10 @@
-class base {
+class base
+{
protected:
int f(int);
};
-class start: public base {
+class start : public base
+{
using base::f;
int f(char);
};
diff --git a/test/input/using-declaration-ns.cxx b/test/input/using-declaration-ns.cxx
index 1629a8b..04e8637 100644
--- a/test/input/using-declaration-ns.cxx
+++ b/test/input/using-declaration-ns.cxx
@@ -1,4 +1,4 @@
class A;
namespace start {
- using ::A;
+using ::A;
}
diff --git a/test/input/using-declaration-start.cxx b/test/input/using-declaration-start.cxx
index 9d732d0..efb8912 100644
--- a/test/input/using-declaration-start.cxx
+++ b/test/input/using-declaration-start.cxx
@@ -1,4 +1,4 @@
namespace N {
- class start;
+class start;
}
using N::start;
diff --git a/test/input/using-directive-ns.cxx b/test/input/using-directive-ns.cxx
index 937b851..b3519ea 100644
--- a/test/input/using-directive-ns.cxx
+++ b/test/input/using-directive-ns.cxx
@@ -1,6 +1,6 @@
namespace N {
- class A;
+class A;
}
namespace start {
- using namespace N;
+using namespace N;
}
diff --git a/test/input/using-directive-start.cxx b/test/input/using-directive-start.cxx
index 1e69a1b..5a4c0cb 100644
--- a/test/input/using-directive-start.cxx
+++ b/test/input/using-directive-start.cxx
@@ -1,4 +1,4 @@
namespace A {
- class start;
+class start;
}
using namespace A;