diff options
author | Douglas Gregor <dgregor@apple.com> | 2008-11-17 15:03:30 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2008-11-17 15:03:30 +0000 |
commit | 9edcc802c3ad481e730fe6caa0ddf737e04d058e (patch) | |
tree | 610bf1f0b3f5e1b98ec10a59c35a0604c177171a | |
parent | 77324f385482d592ef54b286ffbb00f47b9259ac (diff) | |
download | bcm5719-llvm-9edcc802c3ad481e730fe6caa0ddf737e04d058e.tar.gz bcm5719-llvm-9edcc802c3ad481e730fe6caa0ddf737e04d058e.zip |
Simplify error messages for two-parameter overloaded increment/decrement operators
llvm-svn: 59442
-rw-r--r-- | clang/include/clang/Basic/DiagnosticKinds.def | 6 | ||||
-rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 15 | ||||
-rw-r--r-- | clang/test/SemaCXX/overloaded-operator-decl.cpp | 2 |
3 files changed, 6 insertions, 17 deletions
diff --git a/clang/include/clang/Basic/DiagnosticKinds.def b/clang/include/clang/Basic/DiagnosticKinds.def index b7b1b6e6ded..49bb9ee9331 100644 --- a/clang/include/clang/Basic/DiagnosticKinds.def +++ b/clang/include/clang/Basic/DiagnosticKinds.def @@ -1346,12 +1346,8 @@ DIAG(err_operator_overload_must_be_unary_or_binary_plural, ERROR, DIAG(err_operator_overload_must_be_member, ERROR, "overloaded operator '%0' must be a non-static member function") DIAG(err_operator_overload_post_inc_must_be_int, ERROR, - "second parameter of overloaded post-increment operator must have type 'int' (not '%0')") -DIAG(err_operator_overload_post_dec_must_be_int, ERROR, - "second parameter of overloaded post-decrement operator must have type 'int' (not '%0')") -DIAG(err_operator_overload_post_inc_must_be_int_member, ERROR, "parameter of overloaded post-increment operator must have type 'int' (not '%0')") -DIAG(err_operator_overload_post_dec_must_be_int_member, ERROR, +DIAG(err_operator_overload_post_dec_must_be_int, ERROR, "parameter of overloaded post-decrement operator must have type 'int' (not '%0')") DIAG(err_operator_missing_type_specifier, ERROR, "missing type specifier after 'operator'") diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 2fb1332281e..74d94d7132d 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -1987,17 +1987,10 @@ bool Sema::CheckOverloadedOperatorDeclaration(FunctionDecl *FnDecl) { if (!ParamIsInt) { diag::kind DK; - if (Op == OO_PlusPlus) { - if (MethodDecl) - DK = diag::err_operator_overload_post_inc_must_be_int_member; - else - DK = diag::err_operator_overload_post_inc_must_be_int; - } else { - if (MethodDecl) - DK = diag::err_operator_overload_post_dec_must_be_int_member; - else - DK = diag::err_operator_overload_post_dec_must_be_int; - } + if (Op == OO_PlusPlus) + DK = diag::err_operator_overload_post_inc_must_be_int; + else + DK = diag::err_operator_overload_post_dec_must_be_int; Diag(LastParam->getLocation(), DK, Context.getCanonicalType(LastParam->getType()).getAsString(), SourceRange(FnDecl->getLocation())); diff --git a/clang/test/SemaCXX/overloaded-operator-decl.cpp b/clang/test/SemaCXX/overloaded-operator-decl.cpp index b755ebc98e6..634f3d424de 100644 --- a/clang/test/SemaCXX/overloaded-operator-decl.cpp +++ b/clang/test/SemaCXX/overloaded-operator-decl.cpp @@ -34,4 +34,4 @@ typedef int INT; typedef float FLOAT; Y& operator++(Y&); Y operator++(Y&, INT); -X operator++(X&, FLOAT); // expected-error{{second parameter of overloaded post-increment operator must have type 'int' (not 'float')}} +X operator++(X&, FLOAT); // expected-error{{parameter of overloaded post-increment operator must have type 'int' (not 'float')}} |