| // RUN: diagtool tree --internal | FileCheck -strict-whitespace %s |
| // RUN: diagtool tree --internal -Weverything | FileCheck -strict-whitespace %s |
| // RUN: diagtool tree --internal everything | FileCheck -strict-whitespace %s |
| // |
| // These three ways of running diagtool tree are the same: |
| // they produce a tree for every top-level diagnostic flag. |
| // Just check a few to make sure we're actually showing more than one group. |
| // |
| // CHECK: -W |
| // CHECK: -Wextra |
| // CHECK: -Wmissing-field-initializers |
| // CHECK: warn_missing_field_initializers |
| // CHECK: -Wall |
| // CHECK: -Wmost |
| |
| // These flags are currently unimplemented; test that we output them anyway. |
| // CHECK: -Wstrict-aliasing |
| // CHECK-NEXT: -Wstrict-aliasing=0 |
| // CHECK-NEXT: -Wstrict-aliasing=1 |
| // CHECK-NEXT: -Wstrict-aliasing=2 |
| // CHECK: -Wstrict-overflow |
| // CHECK-NEXT: -Wstrict-overflow=0 |
| // CHECK-NEXT: -Wstrict-overflow=1 |
| // CHECK-NEXT: -Wstrict-overflow=2 |
| // CHECK-NEXT: -Wstrict-overflow=3 |
| // CHECK-NEXT: -Wstrict-overflow=4 |
| // CHECK-NEXT: -Wstrict-overflow=5 |
| |
| |
| // RUN: not diagtool tree -Wthis-is-not-a-valid-flag |
| |
| // RUN: diagtool tree --internal -Wgnu | FileCheck -strict-whitespace -check-prefix CHECK-GNU %s |
| // CHECK-GNU: -Wgnu |
| // CHECK-GNU: -Wgnu-designator |
| // CHECK-GNU: ext_gnu_array_range |
| // CHECK-GNU: ext_gnu_missing_equal_designator |
| // CHECK-GNU: ext_gnu_old_style_field_designator |
| // CHECK-GNU: -Wvla-extension |
| // CHECK-GNU: ext_vla |
| // There are more GNU extensions but we don't need to check them all. |
| |
| // RUN: diagtool tree -Wgnu | FileCheck -check-prefix CHECK-FLAGS-ONLY %s |
| // CHECK-FLAGS-ONLY: -Wgnu |
| // CHECK-FLAGS-ONLY: -Wgnu-designator |
| // CHECK-FLAGS-ONLY-NOT: ext_gnu_array_range |
| // CHECK-FLAGS-ONLY-NOT: ext_gnu_missing_equal_designator |
| // CHECK-FLAGS-ONLY-NOT: ext_gnu_old_style_field_designator |
| // CHECK-FLAGS-ONLY: -Wvla |
| // CHECK-FLAGS-ONLY-NOT: ext_vla |
| // CHECK-FLAGS-ONLY-NOT: ext_array_init_copy |
| // CHECK-FLAGS-ONLY-NOT: ext_empty_struct_union |
| // CHECK-FLAGS-ONLY-NOT: ext_expr_not_ice |