diff options
Diffstat (limited to 'gcc/config/i386/cygwin.h')
-rw-r--r-- | gcc/config/i386/cygwin.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h index dbea466bc86..11518ff49bb 100644 --- a/gcc/config/i386/cygwin.h +++ b/gcc/config/i386/cygwin.h @@ -299,16 +299,17 @@ extern void i386_pe_encode_section_info (); #undef STRIP_NAME_ENCODING #define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) \ do { \ - char *_p; \ - char *_name = I386_PE_STRIP_ENCODING (SYMBOL_NAME); \ + const char *_p; \ + const char *_name = I386_PE_STRIP_ENCODING (SYMBOL_NAME); \ for (_p = _name; *_p && *_p != '@'; ++_p) \ ; \ if (*_p == '@') \ { \ int _len = _p - _name; \ - (VAR) = (char *) alloca (_len + 1); \ - strncpy ((VAR), _name, _len); \ - (VAR)[_len] = '\0'; \ + char *_new_name = (char *) alloca (_len + 1); \ + strncpy (_new_name, _name, _len); \ + _new_name[_len] = '\0'; \ + (VAR) = _new_name; \ } \ else \ (VAR) = _name; \ |