summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAbramo Bagnara <abramo.bagnara@gmail.com>2012-01-09 10:05:48 +0000
committerAbramo Bagnara <abramo.bagnara@gmail.com>2012-01-09 10:05:48 +0000
commit3732fa5417ceb148d2e5f00fae844180bfeb2efa (patch)
treeab7d6861e91eb535fe82d90c69e6f93149e0f1d5
parentc16622daffcea14e7361f0ba92599adf401ac4ca (diff)
downloadbcm5719-llvm-3732fa5417ceb148d2e5f00fae844180bfeb2efa.tar.gz
bcm5719-llvm-3732fa5417ceb148d2e5f00fae844180bfeb2efa.zip
Made unknown builtin diagnostic remappable.
llvm-svn: 147774
-rw-r--r--clang/include/clang/Basic/DiagnosticSemaKinds.td3
-rw-r--r--clang/lib/Sema/SemaDecl.cpp2
2 files changed, 3 insertions, 2 deletions
diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td
index 441f14d1137..e1c2c7599ae 100644
--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -273,7 +273,8 @@ def warn_redecl_library_builtin : Warning<
def err_builtin_definition : Error<"definition of builtin function %0">;
def err_types_compatible_p_in_cplusplus : Error<
"__builtin_types_compatible_p is not valid in C++">;
-def err_builtin_unknown : Error<"use of unknown builtin %0">;
+def warn_builtin_unknown : Warning<"use of unknown builtin %0">,
+ InGroup<ImplicitFunctionDeclare>, DefaultError;
def warn_dyn_class_memaccess : Warning<
"%select{destination for|source of|first operand of|second operand of}0 this "
"%1 call is a pointer to dynamic class %2; vtable pointer will be "
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index d80f22f7fe7..54f953d3437 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -7253,7 +7253,7 @@ NamedDecl *Sema::ImplicitlyDefineFunction(SourceLocation Loc,
// Extension in C99. Legal in C90, but warn about it.
unsigned diag_id;
if (II.getName().startswith("__builtin_"))
- diag_id = diag::err_builtin_unknown;
+ diag_id = diag::warn_builtin_unknown;
else if (getLangOptions().C99)
diag_id = diag::ext_implicit_function_decl;
else
OpenPOWER on IntegriCloud