Skip to content

Commit

Permalink
Add -Wtautological-compare to -Wall
Browse files Browse the repository at this point in the history
Some warnings in -Wtautological-compare subgroups are DefaultIgnore.
Adding this group to -Wmost, which is part of -Wall, will aid in their
discoverability.

Differential Revision: https://reviews.llvm.org/D69292
  • Loading branch information
Weverything committed Nov 12, 2019
1 parent 166cdc0 commit 9740f9f
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 0 deletions.
1 change: 1 addition & 0 deletions clang/include/clang/Basic/DiagnosticGroups.td
Original file line number Diff line number Diff line change
Expand Up @@ -843,6 +843,7 @@ def Most : DiagGroup<"most", [
SizeofArrayArgument,
SizeofArrayDecay,
StringPlusInt,
TautologicalCompare,
Trigraphs,
Uninitialized,
UnknownPragmas,
Expand Down
95 changes: 95 additions & 0 deletions clang/test/Misc/warning-wall.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
RUN: diagtool tree -Wall > %t 2>&1
RUN: FileCheck --input-file=%t %s

CHECK:-Wall
CHECK-NEXT: -Wmost
CHECK-NEXT: -Wchar-subscripts
CHECK-NEXT: -Wcomment
CHECK-NEXT: -Wdelete-non-virtual-dtor
CHECK-NEXT: -Wdelete-non-abstract-non-virtual-dtor
CHECK-NEXT: -Wdelete-abstract-non-virtual-dtor
CHECK-NEXT: -Wfor-loop-analysis
CHECK-NEXT: -Wformat
CHECK-NEXT: -Wformat-extra-args
CHECK-NEXT: -Wformat-zero-length
CHECK-NEXT: -Wnonnull
CHECK-NEXT: -Wformat-security
CHECK-NEXT: -Wformat-y2k
CHECK-NEXT: -Wformat-invalid-specifier
CHECK-NEXT: -Wimplicit
CHECK-NEXT: -Wimplicit-function-declaration
CHECK-NEXT: -Wimplicit-int
CHECK-NEXT: -Winfinite-recursion
CHECK-NEXT: -Wint-in-bool-context
CHECK-NEXT: -Wmismatched-tags
CHECK-NEXT: -Wmissing-braces
CHECK-NEXT: -Wmove
CHECK-NEXT: -Wpessimizing-move
CHECK-NEXT: -Wredundant-move
CHECK-NEXT: -Wreturn-std-move
CHECK-NEXT: -Wself-move
CHECK-NEXT: -Wmultichar
CHECK-NEXT: -Wreorder
CHECK-NEXT: -Wreorder-ctor
CHECK-NEXT: -Wreorder-init-list
CHECK-NEXT: -Wreturn-type
CHECK-NEXT: -Wreturn-type-c-linkage
CHECK-NEXT: -Wself-assign
CHECK-NEXT: -Wself-assign-overloaded
CHECK-NEXT: -Wself-assign-field
CHECK-NEXT: -Wself-move
CHECK-NEXT: -Wsizeof-array-argument
CHECK-NEXT: -Wsizeof-array-decay
CHECK-NEXT: -Wstring-plus-int
CHECK-NEXT: -Wtautological-compare
CHECK-NEXT: -Wtautological-constant-compare
CHECK-NEXT: -Wtautological-constant-out-of-range-compare
CHECK-NEXT: -Wtautological-pointer-compare
CHECK-NEXT: -Wtautological-overlap-compare
CHECK-NEXT: -Wtautological-bitwise-compare
CHECK-NEXT: -Wtautological-undefined-compare
CHECK-NEXT: -Wtautological-objc-bool-compare
CHECK-NEXT: -Wtrigraphs
CHECK-NEXT: -Wuninitialized
CHECK-NEXT: -Wsometimes-uninitialized
CHECK-NEXT: -Wstatic-self-init
CHECK-NEXT: -Wunknown-pragmas
CHECK-NEXT: -Wunused
CHECK-NEXT: -Wunused-argument
CHECK-NEXT: -Wunused-function
CHECK-NEXT: -Wunneeded-internal-declaration
CHECK-NEXT: -Wunused-label
CHECK-NEXT: -Wunused-private-field
CHECK-NEXT: -Wunused-lambda-capture
CHECK-NEXT: -Wunused-local-typedef
CHECK-NEXT: -Wunused-value
CHECK-NEXT: -Wunused-comparison
CHECK-NEXT: -Wunused-result
CHECK-NEXT: -Wunevaluated-expression
CHECK-NEXT: -Wpotentially-evaluated-expression
CHECK-NEXT: -Wunused-variable
CHECK-NEXT: -Wunused-const-variable
CHECK-NEXT: -Wunused-property-ivar
CHECK-NEXT: -Wvolatile-register-var
CHECK-NEXT: -Wobjc-missing-super-calls
CHECK-NEXT: -Wobjc-designated-initializers
CHECK-NEXT: -Wobjc-flexible-array
CHECK-NEXT: -Woverloaded-virtual
CHECK-NEXT: -Wprivate-extern
CHECK-NEXT: -Wcast-of-sel-type
CHECK-NEXT: -Wextern-c-compat
CHECK-NEXT: -Wuser-defined-warnings
CHECK-NEXT: -Wparentheses
CHECK-NEXT: -Wlogical-op-parentheses
CHECK-NEXT: -Wlogical-not-parentheses
CHECK-NEXT: -Wbitwise-conditional-parentheses
CHECK-NEXT: -Wbitwise-op-parentheses
CHECK-NEXT: -Wshift-op-parentheses
CHECK-NEXT: -Woverloaded-shift-op-parentheses
CHECK-NEXT: -Wparentheses-equality
CHECK-NEXT: -Wdangling-else
CHECK-NEXT: -Wswitch
CHECK-NEXT: -Wswitch-bool


CHECK-NOT:-W
1 change: 1 addition & 0 deletions clang/test/Sema/warn-bitwise-compare.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// RUN: %clang_cc1 -fsyntax-only -verify -Wtautological-bitwise-compare %s
// RUN: %clang_cc1 -fsyntax-only -verify -Wall -Wno-unused %s

#define mydefine 2

Expand Down
1 change: 1 addition & 0 deletions clang/test/Sema/warn-overlap.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// RUN: %clang_cc1 -fsyntax-only -verify -Wtautological-overlap-compare %s
// RUN: %clang_cc1 -fsyntax-only -verify -Wall -Wno-unused -Wno-loop-analysis %s

#define mydefine 2

Expand Down
1 change: 1 addition & 0 deletions clang/test/SemaCXX/warn-bitwise-compare.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// RUN: %clang_cc1 -fsyntax-only -verify -Wtautological-bitwise-compare %s
// RUN: %clang_cc1 -fsyntax-only -verify -Wall -Wno-unused %s

void test(int x) {
bool b1 = (8 & x) == 3;
Expand Down

0 comments on commit 9740f9f

Please sign in to comment.