diff options
author | Nick Hildenbrandt <hldnbrnd@uiuc.edu> | 2002-11-06 21:40:23 +0000 |
---|---|---|
committer | Nick Hildenbrandt <hldnbrnd@uiuc.edu> | 2002-11-06 21:40:23 +0000 |
commit | 088b472eed92260ac34a6602752ad4abed291e31 (patch) | |
tree | 3764060c725adba5e377bbbd6e3dd9d2df3e966c /lib/Target/CBackend | |
parent | 6d608154d68e5cb97ee1adc74d4ae03683dfaff8 (diff) | |
download | external_llvm-088b472eed92260ac34a6602752ad4abed291e31.zip external_llvm-088b472eed92260ac34a6602752ad4abed291e31.tar.gz external_llvm-088b472eed92260ac34a6602752ad4abed291e31.tar.bz2 |
Fixes escapeing bug in strings. Fixes test case test/Regression/CBackend/2002-11-06-PrintEscaped.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4583 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/CBackend')
-rw-r--r-- | lib/Target/CBackend/CBackend.cpp | 4 | ||||
-rw-r--r-- | lib/Target/CBackend/Writer.cpp | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index cdbe62d..0e274c7 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -297,8 +297,8 @@ void CWriter::printConstantArray(ConstantArray *CPA) { (unsigned char)cast<ConstantUInt>(CPA->getOperand(i))->getValue(); if (isprint(C)) { - if (C == '"') - Out << "\\\""; + if (C == '"' || C == '\\') + Out << "\\" << C; else Out << C; } else { diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp index cdbe62d..0e274c7 100644 --- a/lib/Target/CBackend/Writer.cpp +++ b/lib/Target/CBackend/Writer.cpp @@ -297,8 +297,8 @@ void CWriter::printConstantArray(ConstantArray *CPA) { (unsigned char)cast<ConstantUInt>(CPA->getOperand(i))->getValue(); if (isprint(C)) { - if (C == '"') - Out << "\\\""; + if (C == '"' || C == '\\') + Out << "\\" << C; else Out << C; } else { |