Move local Db type out to namespace scope.
llvm-svn: 193169
This commit is contained in:
parent
b8f6168218
commit
517cb27c43
|
|
@ -4591,23 +4591,8 @@ struct string_pair
|
|||
String move_full() {return std::move(first) + std::move(second);}
|
||||
};
|
||||
|
||||
} // unnamed namespace
|
||||
|
||||
__attribute__ ((__visibility__("default")))
|
||||
extern "C"
|
||||
char*
|
||||
__cxa_demangle(const char* mangled_name, char* buf, size_t* n, int* status)
|
||||
struct Db
|
||||
{
|
||||
if (mangled_name == nullptr || (buf != nullptr && n == nullptr))
|
||||
{
|
||||
if (status)
|
||||
*status = invalid_args;
|
||||
return nullptr;
|
||||
}
|
||||
size_t internal_size = buf != nullptr ? *n : 0;
|
||||
arena<bs> a;
|
||||
struct Db
|
||||
{
|
||||
typedef String String;
|
||||
typedef Vector<string_pair> sub_type;
|
||||
typedef Vector<sub_type> template_param_type;
|
||||
|
|
@ -4627,7 +4612,23 @@ __cxa_demangle(const char* mangled_name, char* buf, size_t* n, int* status)
|
|||
subs(0, names, ar),
|
||||
template_param(0, subs, ar)
|
||||
{}
|
||||
};
|
||||
};
|
||||
|
||||
} // unnamed namespace
|
||||
|
||||
__attribute__ ((__visibility__("default")))
|
||||
extern "C"
|
||||
char*
|
||||
__cxa_demangle(const char* mangled_name, char* buf, size_t* n, int* status)
|
||||
{
|
||||
if (mangled_name == nullptr || (buf != nullptr && n == nullptr))
|
||||
{
|
||||
if (status)
|
||||
*status = invalid_args;
|
||||
return nullptr;
|
||||
}
|
||||
size_t internal_size = buf != nullptr ? *n : 0;
|
||||
arena<bs> a;
|
||||
Db db(a);
|
||||
db.cv = 0;
|
||||
db.ref = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue