From 921f8a1b40b4b1ca9df2d8149fcec439f0ae443e Mon Sep 17 00:00:00 2001 From: Rui Paulo Date: Mon, 11 Oct 2010 08:10:12 +0000 Subject: [PATCH] Restore the support for the 'r' and the 'y' conversion specifiers, first added on r208987. These are undocumented but are part of printf(9). --- contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp b/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp index 21c4ff328611..10589e64f0bc 100644 --- a/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp +++ b/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp @@ -195,6 +195,8 @@ static PrintfSpecifierResult ParsePrintfSpecifier(FormatStringHandler &H, case 'm': k = ConversionSpecifier::PrintErrno; break; // FreeBSD format extensions case 'b': if (FormatExtensions) k = ConversionSpecifier::bArg; break; /* check for int and then char * */ + case 'r': if (FormatExtensions) k = ConversionSpecifier::xArg; break; + case 'y': if (FormatExtensions) k = ConversionSpecifier::iArg; break; case 'D': if (FormatExtensions) k = ConversionSpecifier::DArg; break; /* check for u_char * pointer and a char * string */ } PrintfConversionSpecifier CS(conversionPosition, k);