diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2015-02-21 00:45:58 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2015-02-21 00:45:58 +0000 |
| commit | f8dce0fec2ccbd5f808223bda87f2073fc0eb4da (patch) | |
| tree | e92bbdee5008b804122bfa2870d6b59faedf9052 /clang/lib | |
| parent | 269e38d3976a15113cf72a04a559c1d124ac5dc6 (diff) | |
| download | bcm5719-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')
| -rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 5 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaDeclAttr.cpp | 1 |
2 files changed, 4 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); diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 0ec29ac2983..09b6aa49570 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -2494,6 +2494,7 @@ static FormatAttrKind getFormatAttrKind(StringRef Format) { .Cases("cmn_err", "vcmn_err", "zcmn_err", SupportedFormat) .Case("kprintf", SupportedFormat) // OpenBSD. .Case("freebsd_kprintf", SupportedFormat) // FreeBSD. + .Case("os_trace", SupportedFormat) .Cases("gcc_diag", "gcc_cdiag", "gcc_cxxdiag", "gcc_tdiag", IgnoredFormat) .Default(InvalidFormat); |

