diff options
author | Hans Wennborg <hans@hanshq.net> | 2014-09-07 03:03:51 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2014-09-07 03:03:51 +0000 |
commit | c597b4c5291d6c5017ea24fdbdca664b258b7eb2 (patch) | |
tree | 9d4f361e75e437d740333d1094ad7438c90eda4c /clang/lib/Analysis/PrintfFormatString.cpp | |
parent | 69abd72e4985185536a600cfd40a20554f7c4951 (diff) | |
download | llvm-c597b4c5291d6c5017ea24fdbdca664b258b7eb2.zip llvm-c597b4c5291d6c5017ea24fdbdca664b258b7eb2.tar.gz llvm-c597b4c5291d6c5017ea24fdbdca664b258b7eb2.tar.bz2 |
MS format strings: parse the 'Z' printf conversion specifier (PR20808)
llvm-svn: 217326
Diffstat (limited to 'clang/lib/Analysis/PrintfFormatString.cpp')
-rw-r--r-- | clang/lib/Analysis/PrintfFormatString.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Analysis/PrintfFormatString.cpp b/clang/lib/Analysis/PrintfFormatString.cpp index 1bb3aac..c6453b6 100644 --- a/clang/lib/Analysis/PrintfFormatString.cpp +++ b/clang/lib/Analysis/PrintfFormatString.cpp @@ -198,7 +198,7 @@ static PrintfSpecifierResult ParsePrintfSpecifier(FormatStringHandler &H, case '@': k = ConversionSpecifier::ObjCObjArg; break; // Glibc specific. case 'm': k = ConversionSpecifier::PrintErrno; break; - // Apple-specific + // Apple-specific. case 'D': if (Target.getTriple().isOSDarwin()) k = ConversionSpecifier::DArg; @@ -211,6 +211,10 @@ static PrintfSpecifierResult ParsePrintfSpecifier(FormatStringHandler &H, if (Target.getTriple().isOSDarwin()) k = ConversionSpecifier::UArg; break; + // MS specific. + case 'Z': + if (Target.getTriple().isOSMSVCRT()) + k = ConversionSpecifier::ZArg; } PrintfConversionSpecifier CS(conversionPosition, k); FS.setConversionSpecifier(CS); |