summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaChecking.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2015-02-21 00:45:58 +0000
committerFariborz Jahanian <fjahanian@apple.com>2015-02-21 00:45:58 +0000
commitf8dce0fec2ccbd5f808223bda87f2073fc0eb4da (patch)
treee92bbdee5008b804122bfa2870d6b59faedf9052 /clang/lib/Sema/SemaChecking.cpp
parent269e38d3976a15113cf72a04a559c1d124ac5dc6 (diff)
downloadbcm5719-llvm-f8dce0fec2ccbd5f808223bda87f2073fc0eb4da.tar.gz
bcm5719-llvm-f8dce0fec2ccbd5f808223bda87f2073fc0eb4da.zip
[Objective-C]. Provide a new formatting kind, "os_trace" which
can take a "const char*" format but supports standard printf and CF/NS types . rdar://19904147 llvm-svn: 230109
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r--clang/lib/Sema/SemaChecking.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
index 16b96615c96..c26ba3cf9bb 100644
--- a/clang/lib/Sema/SemaChecking.cpp
+++ b/clang/lib/Sema/SemaChecking.cpp
@@ -2681,6 +2681,7 @@ Sema::FormatStringType Sema::GetFormatStringType(const FormatAttr *Format) {
.Case("strfmon", FST_Strfmon)
.Cases("kprintf", "cmn_err", "vcmn_err", "zcmn_err", FST_Kprintf)
.Case("freebsd_kprintf", FST_FreeBSDKPrintf)
+ .Case("os_trace", FST_OSTrace)
.Default(FST_Unknown);
}
@@ -4123,9 +4124,9 @@ void Sema::CheckFormatString(const StringLiteral *FExpr,
}
if (Type == FST_Printf || Type == FST_NSString ||
- Type == FST_FreeBSDKPrintf) {
+ Type == FST_FreeBSDKPrintf || Type == FST_OSTrace) {
CheckPrintfHandler H(*this, FExpr, OrigFormatExpr, firstDataArg,
- numDataArgs, (Type == FST_NSString),
+ numDataArgs, (Type == FST_NSString || Type == FST_OSTrace),
Str, HasVAListArg, Args, format_idx,
inFunctionCall, CallType, CheckedVarArgs);
OpenPOWER on IntegriCloud