From ec377d24ebd6788e77f6548030f5142f6a12fb62 Mon Sep 17 00:00:00 2001 From: Robert Reif Date: Mon, 26 Sep 2011 22:08:24 -0400 Subject: [PATCH] add support for Microsoft TCHAR character constants --- lib/tokenize.cpp | 12 ++++++++++++ test/testtokenize.cpp | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index a54b77ee5..741c3e43f 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -10633,6 +10633,12 @@ void Tokenizer::simplifyMicrosoftStringFunctions() tok->deleteThis(); tok->deleteNext(); } + else if (Token::Match(tok, "_T ( %any% )") && tok->strAt(2)[0] == '\'') + { + tok->deleteThis(); + tok->deleteThis(); + tok->deleteNext(); + } } } else if (_settings->platformType == Settings::Win32W || @@ -10690,6 +10696,12 @@ void Tokenizer::simplifyMicrosoftStringFunctions() tok->deleteThis(); tok->deleteNext(); } + else if (Token::Match(tok, "_T ( %any% )") && tok->strAt(2)[0] == '\'') + { + tok->deleteThis(); + tok->deleteThis(); + tok->deleteNext(); + } } } } diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index 827c9b6f9..963b9d2ee 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -6101,6 +6101,7 @@ private: "PCTSTR pctstr;" "LPCTSTR lpctstr;" "void foo() {" + " TCHAR tc = _T(\'c\'); " " TCHAR src[10] = _T(\"123456789\");" " TCHAR dst[10];" " _tcscpy(dst, src);" @@ -6119,6 +6120,7 @@ private: "const char * pctstr ; " "const char * lpctstr ; " "void foo ( ) { " + "char tc ; tc = \'c\' ; " "char src [ 10 ] = \"123456789\" ; " "char dst [ 10 ] ; " "strcpy ( dst , src ) ; " @@ -6142,6 +6144,7 @@ private: "PCTSTR pctstr;" "LPCTSTR lpctstr;" "void foo() {" + " TCHAR tc = _T(\'c\');" " TCHAR src[10] = _T(\"123456789\");" " TCHAR dst[10];" " _tcscpy(dst, src);" @@ -6160,6 +6163,7 @@ private: "const unsigned short * pctstr ; " "const unsigned short * lpctstr ; " "void foo ( ) { " + "unsigned short tc ; tc = \'c\' ; " "unsigned short src [ 10 ] = \"123456789\" ; " "unsigned short dst [ 10 ] ; " "wcscpy ( dst , src ) ; "