]> granicus.if.org Git - clang/commitdiff
Ignore a more comprehensive set of gcc-special format attributes.
authorDuncan Sands <baldrick@free.fr>
Tue, 23 Mar 2010 14:44:19 +0000 (14:44 +0000)
committerDuncan Sands <baldrick@free.fr>
Tue, 23 Mar 2010 14:44:19 +0000 (14:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99277 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDeclAttr.cpp
test/Sema/attr-format.c

index 5a7a3c31fe8c43bc320a5ca33b8fc58ffcccdff3..a81ad768b8c31426b6e25d12e3a9cc55e08a5616 100644 (file)
@@ -1137,7 +1137,8 @@ static FormatAttrKind getFormatAttrKind(llvm::StringRef Format) {
       Format == "zcmn_err")
     return SupportedFormat;
 
-  if (Format == "gcc_tdiag")
+  if (Format == "gcc_diag" || Format == "gcc_cdiag" ||
+      Format == "gcc_cxxdiag" || Format == "gcc_tdiag")
     return IgnoredFormat;
   
   return InvalidFormat;
index 34102c660373150713f5d79d8f27f8cc22313129..0fadf98f978f2ed32427b880a6a5563ccbad8156 100644 (file)
@@ -71,4 +71,10 @@ foo2(const char *fmt, va_list va) {
 
 // PR6542
 extern void gcc_format (const char *, ...)
+  __attribute__ ((__format__(__gcc_diag__, 1, 2)));
+extern void gcc_cformat (const char *, ...)
+  __attribute__ ((__format__(__gcc_cdiag__, 1, 2)));
+extern void gcc_cxxformat (const char *, ...)
+  __attribute__ ((__format__(__gcc_cxxdiag__, 1, 2)));
+extern void gcc_tformat (const char *, ...)
   __attribute__ ((__format__(__gcc_tdiag__, 1, 2)));