54 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			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
 | 
