xref: /aosp_15_r20/external/clang/test/Misc/warning-flags-enabled.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: diagtool show-enabled %s | FileCheck %s
2*67e74705SXin Li //
3*67e74705SXin Li // This shows warnings which are on by default.
4*67e74705SXin Li // We just check a few to make sure it's doing something sensible.
5*67e74705SXin Li //
6*67e74705SXin Li // CHECK: ext_unterminated_char_or_string
7*67e74705SXin Li // CHECK: warn_condition_is_assignment
8*67e74705SXin Li // CHECK: warn_null_arg
9*67e74705SXin Li 
10*67e74705SXin Li 
11*67e74705SXin Li // RUN: diagtool show-enabled -Wno-everything %s | count 0
12*67e74705SXin Li 
13*67e74705SXin Li 
14*67e74705SXin Li // RUN: diagtool show-enabled -Wno-everything -Wobjc-root-class %s | FileCheck -check-prefix CHECK-WARN %s
15*67e74705SXin Li // RUN: diagtool show-enabled -Wno-everything -Werror=objc-root-class %s | FileCheck -check-prefix CHECK-ERROR %s
16*67e74705SXin Li // RUN: diagtool show-enabled -Wno-everything -Wfatal-errors=objc-root-class %s | FileCheck -check-prefix CHECK-FATAL %s
17*67e74705SXin Li //
18*67e74705SXin Li // CHECK-WARN:  W  warn_objc_root_class_missing [-Wobjc-root-class]
19*67e74705SXin Li // CHECK-ERROR: E  warn_objc_root_class_missing [-Wobjc-root-class]
20*67e74705SXin Li // CHECK-FATAL: F  warn_objc_root_class_missing [-Wobjc-root-class]
21*67e74705SXin Li 
22*67e74705SXin Li // RUN: diagtool show-enabled --no-levels -Wno-everything -Wobjc-root-class %s | FileCheck -check-prefix CHECK-NO-LEVELS %s
23*67e74705SXin Li //
24*67e74705SXin Li // CHECK-NO-LEVELS-NOT: W
25*67e74705SXin Li // CHECK-NO-LEVELS-NOT: E
26*67e74705SXin Li // CHECK-NO-LEVELS-NOT: F
27*67e74705SXin Li // CHECK-NO-LEVELS: warn_objc_root_class_missing [-Wobjc-root-class]
28*67e74705SXin Li 
29*67e74705SXin Li // Test if EnumConversion is a subgroup of -Wconversion.
30*67e74705SXin Li // RUN: diagtool show-enabled --no-levels -Wno-conversion -Wenum-conversion %s | FileCheck --check-prefix CHECK-ENUM-CONVERSION %s
31*67e74705SXin Li // RUN: diagtool show-enabled --no-levels %s | FileCheck --check-prefix CHECK-ENUM-CONVERSION %s
32*67e74705SXin Li // RUN: diagtool show-enabled --no-levels -Wno-conversion %s | FileCheck --check-prefix CHECK-NO-ENUM-CONVERSION %s
33*67e74705SXin Li //
34*67e74705SXin Li // CHECK-ENUM-CONVERSION: -Wenum-conversion
35*67e74705SXin Li // CHECK-NO-ENUM-CONVERSION-NOT: -Wenum-conversion
36*67e74705SXin Li 
37*67e74705SXin Li // Test if -Wshift-op-parentheses is a subgroup of -Wparentheses
38*67e74705SXin Li // RUN: diagtool show-enabled --no-levels -Wno-parentheses -Wshift-op-parentheses %s | FileCheck --check-prefix CHECK-SHIFT-OP-PARENTHESES %s
39*67e74705SXin Li // RUN: diagtool show-enabled --no-levels %s | FileCheck --check-prefix CHECK-SHIFT-OP-PARENTHESES %s
40*67e74705SXin Li // RUN: diagtool show-enabled --no-levels -Wno-parentheses %s | FileCheck --check-prefix CHECK-NO-SHIFT-OP-PARENTHESES %s
41*67e74705SXin Li //
42*67e74705SXin Li // CHECK-SHIFT-OP-PARENTHESES: -Wshift-op-parentheses
43*67e74705SXin Li // CHECK-NO-SHIFT-OP-PARENTHESES-NOT: -Wshift-op-parentheses
44