mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-24 04:10:29 +08:00
compiler, reflect: Quote package path with tabs.
From-SVN: r188548
This commit is contained in:
parent
d71ec0cdd6
commit
c789c04510
@ -8340,16 +8340,16 @@ Named_type::do_reflection(Gogo* gogo, std::string* ret) const
|
||||
// -fgo-pkgpath was introduced. When -fgo-pkgpath is specified,
|
||||
// we use it to make a unique reflection string, so that the
|
||||
// type canonicalization in the reflect package will work. In
|
||||
// order to be compatible with the gc compiler, we quote the
|
||||
// package path, so that the reflect methods can discard it.
|
||||
// order to be compatible with the gc compiler, we put tabs into
|
||||
// the package path, so that the reflect methods can discard it.
|
||||
const Package* package = this->named_object_->package();
|
||||
if (gogo->pkgpath_from_option())
|
||||
{
|
||||
ret->push_back('"');
|
||||
ret->push_back('\t');
|
||||
ret->append(package != NULL
|
||||
? package->pkgpath_symbol()
|
||||
: gogo->pkgpath_symbol());
|
||||
ret->push_back('"');
|
||||
ret->push_back('\t');
|
||||
}
|
||||
ret->append(package != NULL
|
||||
? package->package_name()
|
||||
|
@ -444,7 +444,7 @@ func (t *commonType) String() string {
|
||||
r := make([]byte, len(s))
|
||||
j := 0
|
||||
for i := 0; i < len(s); i++ {
|
||||
if s[i] == '"' {
|
||||
if s[i] == '\t' {
|
||||
q = !q
|
||||
} else if !q {
|
||||
r[j] = s[i]
|
||||
|
Loading…
x
Reference in New Issue
Block a user