1*67e74705SXin Li // RUN: diagtool tree | FileCheck -strict-whitespace %s 2*67e74705SXin Li // RUN: diagtool tree -Weverything | FileCheck -strict-whitespace %s 3*67e74705SXin Li // RUN: diagtool tree everything | FileCheck -strict-whitespace %s 4*67e74705SXin Li // 5*67e74705SXin Li // These three ways of running diagtool tree are the same: 6*67e74705SXin Li // they produce a tree for every top-level diagnostic flag. 7*67e74705SXin Li // Just check a few to make sure we're actually showing more than one group. 8*67e74705SXin Li // 9*67e74705SXin Li // CHECK: -W 10*67e74705SXin Li // CHECK: -Wextra 11*67e74705SXin Li // CHECK: -Wmissing-field-initializers 12*67e74705SXin Li // CHECK: warn_missing_field_initializers 13*67e74705SXin Li // CHECK: -Wall 14*67e74705SXin Li // CHECK: -Wmost 15*67e74705SXin Li 16*67e74705SXin Li // These flags are currently unimplemented; test that we output them anyway. 17*67e74705SXin Li // CHECK: -Wstrict-aliasing 18*67e74705SXin Li // CHECK-NEXT: -Wstrict-aliasing=0 19*67e74705SXin Li // CHECK-NEXT: -Wstrict-aliasing=1 20*67e74705SXin Li // CHECK-NEXT: -Wstrict-aliasing=2 21*67e74705SXin Li // CHECK: -Wstrict-overflow 22*67e74705SXin Li // CHECK-NEXT: -Wstrict-overflow=0 23*67e74705SXin Li // CHECK-NEXT: -Wstrict-overflow=1 24*67e74705SXin Li // CHECK-NEXT: -Wstrict-overflow=2 25*67e74705SXin Li // CHECK-NEXT: -Wstrict-overflow=3 26*67e74705SXin Li // CHECK-NEXT: -Wstrict-overflow=4 27*67e74705SXin Li // CHECK-NEXT: -Wstrict-overflow=5 28*67e74705SXin Li 29*67e74705SXin Li 30*67e74705SXin Li // RUN: not diagtool tree -Wthis-is-not-a-valid-flag 31*67e74705SXin Li 32*67e74705SXin Li 33*67e74705SXin Li // RUN: diagtool tree -Wgnu | FileCheck -strict-whitespace -check-prefix CHECK-GNU %s 34*67e74705SXin Li // CHECK-GNU: -Wgnu 35*67e74705SXin Li // CHECK-GNU: -Wgnu-designator 36*67e74705SXin Li // CHECK-GNU: ext_gnu_array_range 37*67e74705SXin Li // CHECK-GNU: ext_gnu_missing_equal_designator 38*67e74705SXin Li // CHECK-GNU: ext_gnu_old_style_field_designator 39*67e74705SXin Li // CHECK-GNU: -Wvla-extension 40*67e74705SXin Li // CHECK-GNU: ext_vla 41*67e74705SXin Li // There are more GNU extensions but we don't need to check them all. 42*67e74705SXin Li 43*67e74705SXin Li // RUN: diagtool tree --flags-only -Wgnu | FileCheck -check-prefix CHECK-FLAGS-ONLY %s 44*67e74705SXin Li // CHECK-FLAGS-ONLY: -Wgnu 45*67e74705SXin Li // CHECK-FLAGS-ONLY: -Wgnu-designator 46*67e74705SXin Li // CHECK-FLAGS-ONLY-NOT: ext_gnu_array_range 47*67e74705SXin Li // CHECK-FLAGS-ONLY-NOT: ext_gnu_missing_equal_designator 48*67e74705SXin Li // CHECK-FLAGS-ONLY-NOT: ext_gnu_old_style_field_designator 49*67e74705SXin Li // CHECK-FLAGS-ONLY: -Wvla 50*67e74705SXin Li // CHECK-FLAGS-ONLY-NOT: ext_vla 51*67e74705SXin Li // CHECK-FLAGS-ONLY-NOT: ext_array_init_copy 52*67e74705SXin Li // CHECK-FLAGS-ONLY-NOT: ext_empty_struct_union 53*67e74705SXin Li // CHECK-FLAGS-ONLY-NOT: ext_expr_not_ice 54