aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpplib.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cpplib.c')
-rw-r--r--gcc/cpplib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/cpplib.c b/gcc/cpplib.c
index 6517deb..989c64d 100644
--- a/gcc/cpplib.c
+++ b/gcc/cpplib.c
@@ -1310,7 +1310,10 @@ collect_expansion (pfile, buf, limit, nargs, arglist)
break;
case '@':
- *exp_p++ = c;
+ /* An '@' in a string or character constant stands for itself,
+ and does not need to be escaped. */
+ if (!expected_delimiter)
+ *exp_p++ = c;
break;
case '#':