summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-03-07 18:50:21 +0000
committerChris Lattner <sabre@nondot.org>2010-03-07 18:50:21 +0000
commitffaf4c5eb68718841399fc4396f6d53fedad24e2 (patch)
tree677ed1bc2e69ea885c8d4706ba8db322e223e519
parentc8e5eacaaf8174cc5cd2168ae7bede54bea83787 (diff)
implement support for -Wno-deprecated, PR6534. While
I'm in there, change the altivec diagnostics to use 'double' instead of "double" for consistency. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97919 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/DiagnosticDriverKinds.td3
-rw-r--r--include/clang/Basic/DiagnosticGroups.td1
-rw-r--r--include/clang/Basic/DiagnosticParseKinds.td8
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td7
-rw-r--r--test/Parser/altivec.c40
-rw-r--r--test/Parser/cxx-altivec.cpp36
6 files changed, 49 insertions, 46 deletions
diff --git a/include/clang/Basic/DiagnosticDriverKinds.td b/include/clang/Basic/DiagnosticDriverKinds.td
index 9175bef60f..2bce12db53 100644
--- a/include/clang/Basic/DiagnosticDriverKinds.td
+++ b/include/clang/Basic/DiagnosticDriverKinds.td
@@ -90,6 +90,7 @@ def warn_drv_missing_resource_library : Warning<
def warn_drv_conflicting_deployment_targets : Warning<
"conflicting deployment targets, both MACOSX_DEPLOYMENT_TARGET '%0' and IPHONEOS_DEPLOYMENT_TARGET '%1' are present in environment">;
def warn_drv_treating_input_as_cxx : Warning<
- "treating '%0' input as '%1' when in C++ mode, this behavior is deprecated">;
+ "treating '%0' input as '%1' when in C++ mode, this behavior is deprecated">,
+ InGroup<Deprecated>;
}
diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td
index 2446df18c9..d238a2257b 100644
--- a/include/clang/Basic/DiagnosticGroups.td
+++ b/include/clang/Basic/DiagnosticGroups.td
@@ -32,6 +32,7 @@ def : DiagGroup<"char-align">;
def Comment : DiagGroup<"comment">;
def : DiagGroup<"ctor-dtor-privacy">;
def : DiagGroup<"declaration-after-statement">;
+def Deprecated : DiagGroup<"deprecated">;
def : DiagGroup<"disabled-optimization">;
def : DiagGroup<"discard-qual">;
def : DiagGroup<"div-by-zero">;
diff --git a/include/clang/Basic/DiagnosticParseKinds.td b/include/clang/Basic/DiagnosticParseKinds.td
index fb80dccc6f..80a4eaee11 100644
--- a/include/clang/Basic/DiagnosticParseKinds.td
+++ b/include/clang/Basic/DiagnosticParseKinds.td
@@ -159,13 +159,13 @@ def err_typename_invalid_functionspec : Error<
def err_invalid_decl_spec_combination : Error<
"cannot combine with previous '%0' declaration specifier">;
def err_invalid_vector_decl_spec_combination : Error<
- "cannot combine with previous '%0' declaration specifier. \"__vector\" must be first">;
+ "cannot combine with previous '%0' declaration specifier. '__vector' must be first">;
def err_invalid_pixel_decl_spec_combination : Error<
- "\"__pixel\" must be preceded by \"__vector\". '%0' declaration specifier not allowed here">;
+ "'__pixel' must be preceded by '__vector'. '%0' declaration specifier not allowed here">;
def err_invalid_vector_double_decl_spec_combination : Error<
- "cannot use \"double\" with \"__vector\"">;
+ "cannot use 'double' with '__vector'">;
def warn_vector_long_decl_spec_combination : Warning<
- "Use of \"long\" with \"__vector\" is deprecated">;
+ "Use of 'long' with '__vector' is deprecated">, InGroup<Deprecated>;
def err_friend_invalid_in_context : Error<
"'friend' used outside of class">;
def err_unknown_typename : Error<
diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td
index 71c66f9d9d..dce8341f0d 100644
--- a/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/include/clang/Basic/DiagnosticSemaKinds.td
@@ -141,7 +141,8 @@ def err_using_decl_conflict_reverse : Error<
def note_using_decl : Note<"%select{|previous }0using declaration">;
def warn_access_decl_deprecated : Warning<
- "access declarations are deprecated; use using declarations instead">;
+ "access declarations are deprecated; use using declarations instead">,
+ InGroup<Deprecated>;
def err_invalid_thread : Error<
"'__thread' is only allowed on variable declarations">;
@@ -1788,7 +1789,7 @@ def err_array_init_not_init_list : Error<
"array initializer must be an initializer "
"list%select{| or string literal}0">;
def warn_deprecated_string_literal_conversion : Warning<
- "conversion from string literal to %0 is deprecated">;
+ "conversion from string literal to %0 is deprecated">, InGroup<Deprecated>;
def err_realimag_invalid_type : Error<"invalid type %0 to %1 operator">;
def err_typecheck_sclass_fscope : Error<
"illegal storage class on file-scoped variable">;
@@ -2046,7 +2047,7 @@ def note_delete_member_function_declared_here : Note<
"%0 declared here">;
def err_decrement_bool : Error<"cannot decrement expression of type bool">;
def warn_increment_bool : Warning<
- "incrementing expression of type bool is deprecated">;
+ "incrementing expression of type bool is deprecated">, InGroup<Deprecated>;
def err_catch_incomplete_ptr : Error<
"cannot catch pointer to incomplete type %0">;
def err_catch_incomplete_ref : Error<
diff --git a/test/Parser/altivec.c b/test/Parser/altivec.c
index 99544ea5c1..c2a32cfa39 100644
--- a/test/Parser/altivec.c
+++ b/test/Parser/altivec.c
@@ -41,28 +41,28 @@ void f_a(vector int a);
void f_a2(int b, vector int a);
// These should have warnings.
-__vector long vv_l; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector signed long vv_sl; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector unsigned long vv_ul; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector long int vv_li; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector signed long int vv_sli; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector unsigned long int vv_uli; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector long v_l; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector signed long v_sl; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector unsigned long v_ul; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector long int v_li; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector signed long int v_sli; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector unsigned long int v_uli; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector long double vv_ld; // expected-warning {{Use of "long" with "__vector" is deprecated}} expected-error {{cannot use "double" with "__vector"}}
-vector long double v_ld; // expected-warning {{Use of "long" with "__vector" is deprecated}} expected-error {{cannot use "double" with "__vector"}}
+__vector long vv_l; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector signed long vv_sl; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector unsigned long vv_ul; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector long int vv_li; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector signed long int vv_sli; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector unsigned long int vv_uli; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector long v_l; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector signed long v_sl; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector unsigned long v_ul; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector long int v_li; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector signed long int v_sli; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector unsigned long int v_uli; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector long double vv_ld; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}}
+vector long double v_ld; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}}
// These should have errors.
-__vector double vv_d; // expected-error {{cannot use "double" with "__vector"}}
-__vector double vv_d; // expected-error {{cannot use "double" with "__vector"}}
-vector double v_d; // expected-error {{cannot use "double" with "__vector"}}
-vector double v_d; // expected-error {{cannot use "double" with "__vector"}}
-__vector long double vv_ld; // expected-warning {{Use of "long" with "__vector" is deprecated}} expected-error {{cannot use "double" with "__vector"}}
-vector long double v_ld; // expected-warning {{Use of "long" with "__vector" is deprecated}} expected-error {{cannot use "double" with "__vector"}}
+__vector double vv_d; // expected-error {{cannot use 'double' with '__vector'}}
+__vector double vv_d; // expected-error {{cannot use 'double' with '__vector'}}
+vector double v_d; // expected-error {{cannot use 'double' with '__vector'}}
+vector double v_d; // expected-error {{cannot use 'double' with '__vector'}}
+__vector long double vv_ld; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}}
+vector long double v_ld; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}}
void f() {
__vector unsigned int v = {0,0,0,0};
diff --git a/test/Parser/cxx-altivec.cpp b/test/Parser/cxx-altivec.cpp
index a26eee4ef4..3610c0e049 100644
--- a/test/Parser/cxx-altivec.cpp
+++ b/test/Parser/cxx-altivec.cpp
@@ -43,26 +43,26 @@ void f_a(vector int a);
void f_a2(int b, vector int a);
// These should have warnings.
-__vector long vv_l; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector signed long vv_sl; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector unsigned long vv_ul; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector long int vv_li; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector signed long int vv_sli; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector unsigned long int vv_uli; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector long v_l; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector signed long v_sl; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector unsigned long v_ul; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector long int v_li; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector signed long int v_sli; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-vector unsigned long int v_uli; // expected-warning {{Use of "long" with "__vector" is deprecated}}
-__vector long double vv_ld; // expected-warning {{Use of "long" with "__vector" is deprecated}} expected-error {{cannot use "double" with "__vector"}}
-vector long double v_ld; // expected-warning {{Use of "long" with "__vector" is deprecated}} expected-error {{cannot use "double" with "__vector"}}
+__vector long vv_l; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector signed long vv_sl; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector unsigned long vv_ul; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector long int vv_li; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector signed long int vv_sli; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector unsigned long int vv_uli; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector long v_l; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector signed long v_sl; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector unsigned long v_ul; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector long int v_li; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector signed long int v_sli; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+vector unsigned long int v_uli; // expected-warning {{Use of 'long' with '__vector' is deprecated}}
+__vector long double vv_ld; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}}
+vector long double v_ld; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}}
// These should have errors.
-__vector double vv_d1; // expected-error {{cannot use "double" with "__vector"}}
-vector double v_d2; // expected-error {{cannot use "double" with "__vector"}}
-__vector long double vv_ld3; // expected-warning {{Use of "long" with "__vector" is deprecated}} expected-error {{cannot use "double" with "__vector"}}
-vector long double v_ld4; // expected-warning {{Use of "long" with "__vector" is deprecated}} expected-error {{cannot use "double" with "__vector"}}
+__vector double vv_d1; // expected-error {{cannot use 'double' with '__vector'}}
+vector double v_d2; // expected-error {{cannot use 'double' with '__vector'}}
+__vector long double vv_ld3; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}}
+vector long double v_ld4; // expected-warning {{Use of 'long' with '__vector' is deprecated}} expected-error {{cannot use 'double' with '__vector'}}
void f() {
__vector unsigned int v = {0,0,0,0};