Downgrade to C++98.

Some projects cannot handle C++11 yet.
This commit is contained in:
James Dennett 2018-05-21 12:27:52 -07:00 committed by GitHub
parent ec2c911b33
commit 49ecebd1f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -60,12 +60,12 @@ namespace internal {
// used by various standard libraries (e.g., `std::__1`). Names outside
// of namespace std are returned unmodified.
inline std::string CanonicalizeForStdLibVersioning(std::string s) {
static constexpr char prefix[] = "std::__";
static const char prefix[] = "std::__";
if (s.compare(0, strlen(prefix), prefix) == 0) {
auto end = s.find("::", strlen(prefix));
std::string::size_type end = s.find("::", strlen(prefix));
if (end != s.npos) {
// Erase the `::__` plus whatever was between that and the next `::`.
s.erase(strlen("std"), strlen("::__") + end - strlen(prefix));
// Erase everything between the initial `std` and the second `::`.
s.erase(strlen("std"), end - strlen("std"));
}
}
return s;
@ -87,9 +87,9 @@ std::string GetTypeName() {
using abi::__cxa_demangle;
# endif // GTEST_HAS_CXXABI_H_
char* const readable_name = __cxa_demangle(name, 0, 0, &status);
std::string name_str(status == 0 ? readable_name : name);
const std::string name_str(status == 0 ? readable_name : name);
free(readable_name);
return CanonicalizeForStdLibVersioning(std::move(name_str));
return CanonicalizeForStdLibVersioning(name_str);
# else
return name;
# endif // GTEST_HAS_CXXABI_H_ || __HP_aCC