]> granicus.if.org Git - clang/commitdiff
Drive-by fix of incorrect diagnostic, and a test case for said diagnostic. The double...
authorSebastian Redl <sebastian.redl@getdesigned.at>
Sat, 11 Feb 2012 23:51:21 +0000 (23:51 +0000)
committerSebastian Redl <sebastian.redl@getdesigned.at>
Sat, 11 Feb 2012 23:51:21 +0000 (23:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150317 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Sema/Initialization.h
lib/Parse/ParseDecl.cpp
test/Parser/cxx-default-delete.cpp

index 36ffde9098124a175436fe9bb35aa8bbdfa33aac..5fc6373acd06ac32fe95dbeb902d1dc30a036dad 100644 (file)
@@ -1,4 +1,4 @@
-//===--- SemaInit.h - Semantic Analysis for Initializers --------*- C++ -*-===//
+//===--- Initialization.h - Semantic Analysis for Initializers --*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
index aa587e7196b005eb17d7dc1106af86469d37a1a1..0c8a647f65946919c23c57e988be2ccd563e4148 100644 (file)
@@ -1282,8 +1282,8 @@ Decl *Parser::ParseDeclarationAfterDeclaratorAndAttributes(Declarator &D,
         Diag(ConsumeToken(), diag::err_deleted_non_function);
     } else if (Tok.is(tok::kw_default)) {
       if (D.isFunctionDeclarator())
-        Diag(Tok, diag::err_default_delete_in_multiple_declaration)
-          << 1 /* delete */;
+        Diag(ConsumeToken(), diag::err_default_delete_in_multiple_declaration)
+          << 0 /* default */;
       else
         Diag(ConsumeToken(), diag::err_default_special_members);
     } else {
index 9ace0acee89bf0b1fa57785d19358dd0b29c30b1..df24b3d0075a976c0e0aacde2856562a763d2b98 100644 (file)
@@ -3,8 +3,12 @@
 int i = delete; // expected-error{{only functions}}
 int j = default; // expected-error{{special member functions}}
 
-int f() = delete, g; // expected-error{{standalone}}
-int o, p() = delete; // expected-error{{standalone}}
+int f() = delete, g; // expected-error{{'= delete' is a function definition}}
+int o, p() = delete; // expected-error{{'= delete' is a function definition}}
+
+int q() = default, r; // expected-error{{only special member functions}} \
+                      // expected-error{{'= default' is a function definition}}
+int s, t() = default; // expected-error{{'= default' is a function definition}}
 
 struct foo {
   foo() = default;