diff options
author | Jing Yu <jingyu@google.com> | 2012-02-15 15:40:16 -0800 |
---|---|---|
committer | Jing Yu <jingyu@google.com> | 2012-02-15 15:40:16 -0800 |
commit | 3f73d6ef90458b45bbbb33ef4c2b174d4662a22d (patch) | |
tree | 1b5f0d96c51b51168b3713058a1b62e92f1136eb /gcc-4.6/gcc/cp/mangle.c | |
parent | d7030123e04baab5dbff9c9ee04c0de99bd9a774 (diff) | |
download | toolchain_gcc-3f73d6ef90458b45bbbb33ef4c2b174d4662a22d.tar.gz toolchain_gcc-3f73d6ef90458b45bbbb33ef4c2b174d4662a22d.tar.bz2 toolchain_gcc-3f73d6ef90458b45bbbb33ef4c2b174d4662a22d.zip |
Sync down FSF r184235@google/gcc-4_6_2-mobile branch
1) Get mostly new patches from FSF gcc-4.6 branch
2) Fix PR52129
3) Insert GNU-stack note for all ARM targets
Change-Id: I2b9926981210e517e4021242908074319a91d6bd
Diffstat (limited to 'gcc-4.6/gcc/cp/mangle.c')
-rw-r--r-- | gcc-4.6/gcc/cp/mangle.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc-4.6/gcc/cp/mangle.c b/gcc-4.6/gcc/cp/mangle.c index 9e9ced648..3f9996b64 100644 --- a/gcc-4.6/gcc/cp/mangle.c +++ b/gcc-4.6/gcc/cp/mangle.c @@ -1790,11 +1790,6 @@ write_type (tree type) if (find_substitution (type)) return; - /* According to the C++ ABI, some library classes are passed the - same as the scalar type of their single member and use the same - mangling. */ - if (TREE_CODE (type) == RECORD_TYPE && TYPE_TRANSPARENT_AGGR (type)) - type = TREE_TYPE (first_field (type)); if (write_CV_qualifiers_for_type (type) > 0) /* If TYPE was CV-qualified, we just wrote the qualifiers; now @@ -1814,6 +1809,12 @@ write_type (tree type) /* See through any typedefs. */ type = TYPE_MAIN_VARIANT (type); + /* According to the C++ ABI, some library classes are passed the + same as the scalar type of their single member and use the same + mangling. */ + if (TREE_CODE (type) == RECORD_TYPE && TYPE_TRANSPARENT_AGGR (type)) + type = TREE_TYPE (first_field (type)); + if (TYPE_PTRMEM_P (type)) write_pointer_to_member_type (type); else |