diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2014-10-22 23:03:58 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2014-10-22 23:03:58 +0000 |
| commit | 51c8b3e9dbcdac883ea20d559a4714d2336227ab (patch) | |
| tree | 68c6adf564d1453d91bb206b857fb43c1380afe0 | |
| parent | f084edd0b43fcb26a5a2e49c77a580497f780056 (diff) | |
| download | bcm5719-llvm-51c8b3e9dbcdac883ea20d559a4714d2336227ab.tar.gz bcm5719-llvm-51c8b3e9dbcdac883ea20d559a4714d2336227ab.zip | |
Basic: Add ext_delete_void_ptr_operand to -Wdelete-incomplete
This fixes PR21340.
llvm-svn: 220442
| -rw-r--r-- | clang/include/clang/Basic/DiagnosticGroups.td | 1 | ||||
| -rw-r--r-- | clang/include/clang/Basic/DiagnosticSemaKinds.td | 5 | ||||
| -rw-r--r-- | clang/test/Misc/warning-flags.c | 3 |
3 files changed, 5 insertions, 4 deletions
diff --git a/clang/include/clang/Basic/DiagnosticGroups.td b/clang/include/clang/Basic/DiagnosticGroups.td index 00955900938..9b63735b605 100644 --- a/clang/include/clang/Basic/DiagnosticGroups.td +++ b/clang/include/clang/Basic/DiagnosticGroups.td @@ -71,6 +71,7 @@ def GNUDesignator : DiagGroup<"gnu-designator">; def GNUStringLiteralOperatorTemplate : DiagGroup<"gnu-string-literal-operator-template">; +def DeleteIncomplete : DiagGroup<"delete-incomplete">; def DeleteNonVirtualDtor : DiagGroup<"delete-non-virtual-dtor">; def AbstractFinalClass : DiagGroup<"abstract-final-class">; diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td index 54d7040ce2c..e6ad4b54bd1 100644 --- a/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -5314,12 +5314,13 @@ def note_add_initializer : Note< "add an explicit initializer to initialize %0">; def err_delete_operand : Error<"cannot delete expression of type %0">; def ext_delete_void_ptr_operand : ExtWarn< - "cannot delete expression with pointer-to-'void' type %0">; + "cannot delete expression with pointer-to-'void' type %0">, + InGroup<DeleteIncomplete>; def err_ambiguous_delete_operand : Error< "ambiguous conversion of delete expression of type %0 to a pointer">; def warn_delete_incomplete : Warning< "deleting pointer to incomplete type %0 may cause undefined behavior">, - InGroup<DiagGroup<"delete-incomplete">>; + InGroup<DeleteIncomplete>; def err_delete_incomplete_class_type : Error< "deleting incomplete class type %0; no conversions to pointer type">; def err_delete_explicit_conversion : Error< diff --git a/clang/test/Misc/warning-flags.c b/clang/test/Misc/warning-flags.c index 066cf01ed86..2afa88f5dff 100644 --- a/clang/test/Misc/warning-flags.c +++ b/clang/test/Misc/warning-flags.c @@ -18,8 +18,7 @@ This test serves two purposes: The list of warnings below should NEVER grow. It should gradually shrink to 0. -CHECK: Warnings without flags (99): -CHECK-NEXT: ext_delete_void_ptr_operand +CHECK: Warnings without flags (98): CHECK-NEXT: ext_excess_initializers CHECK-NEXT: ext_excess_initializers_in_char_array_initializer CHECK-NEXT: ext_expected_semi_decl_list |

