summaryrefslogtreecommitdiff
path: root/gcc/config/i386/cygwin.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i386/cygwin.h')
-rw-r--r--gcc/config/i386/cygwin.h11
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; \