Files
llvm-project/clang/test/Misc/warning-flags-tree.c
Eli Friedman 626956111d Add specific warning flags for GNU ext in Sema.
This patch adds the following, more specific warning flags:

gnu-anonymous-struct
gnu-compound-literal-initializer
gnu-empty-struct
gnu-flexible-array-initializer
gnu-flexible-array-union-member
gnu-folding-constant
redeclared-class-member
gnu-redeclared-enum
gnu-union-cast
gnu-variable-sized-type-not-at-end

Patch by Peter Lewis.

llvm-svn: 190972
2013-09-18 23:23:17 +00:00

54 lines
2.0 KiB
C

// RUN: diagtool tree | FileCheck -strict-whitespace %s
// RUN: diagtool tree -Weverything | FileCheck -strict-whitespace %s
// RUN: diagtool tree 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 -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 --flags-only -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