From b1f123c732d4987c39d3d07b1fa1645296e37c24 Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Fri, 12 Mar 2004 18:25:18 +0000 Subject: [PATCH] winnt.c (i386_pe_strip_name_encoding_full): Strip leading '@' on fastcall symbols before stripping suffix. * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip leading '@' on fastcall symbols before stripping suffix. From-SVN: r79400 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/winnt.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 70c720cc760..0a2cd8ba264 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-03-12 Danny Smith + + * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip + leading '@' on fastcall symbols before stripping suffix. + 2004-03-12 Roger Sayle * combine.c (unmentioned_reg_p): New function to check whether an diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c index cf7b61ebcc0..c4326f01a28 100644 --- a/gcc/config/i386/winnt.c +++ b/gcc/config/i386/winnt.c @@ -558,7 +558,7 @@ i386_pe_strip_name_encoding (const char *str) return str; } -/* Also strip the stdcall suffix. */ +/* Also strip the fastcall prefix and stdcall suffix. */ const char * i386_pe_strip_name_encoding_full (const char *str) @@ -566,6 +566,11 @@ i386_pe_strip_name_encoding_full (const char *str) const char *p; const char *name = i386_pe_strip_name_encoding (str); + /* Strip leading '@' on fastcall symbols. */ + if (*name == '@') + name++; + + /* Strip trailing "@n". */ p = strchr (name, '@'); if (p) return ggc_alloc_string (name, p - name); -- 2.30.2