File: warnings_as_errors_rules.swift

package info (click to toggle)
swiftlang 6.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,791,532 kB
  • sloc: cpp: 9,901,743; ansic: 2,201,431; asm: 1,091,827; python: 308,252; objc: 82,166; f90: 80,126; lisp: 38,358; pascal: 25,559; sh: 20,429; ml: 5,058; perl: 4,745; makefile: 4,484; awk: 3,535; javascript: 3,018; xml: 918; fortran: 664; cs: 573; ruby: 396
file content (45 lines) | stat: -rw-r--r-- 2,059 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// RUN: not %target-swift-frontend -typecheck -diagnostic-style llvm -warnings-as-errors %s 2>&1 | %FileCheck %s --check-prefix=CHECK-WAE
// RUN: not %target-swift-frontend -typecheck -diagnostic-style llvm -Werror DeprecatedDeclaration %s 2>&1 | %FileCheck %s --check-prefix=CHECK-WE-GROUP
// RUN: %target-swift-frontend -typecheck -diagnostic-style llvm -warnings-as-errors -no-warnings-as-errors %s 2>&1 | %FileCheck %s --check-prefix=CHECK-WAE-NWAE
// RUN: %target-swift-frontend -typecheck -diagnostic-style llvm -warnings-as-errors -Wwarning DeprecatedDeclaration %s 2>&1 | %FileCheck %s --check-prefix=CHECK-WAE-WW-GROUP

// This test verifies that the warning control flags apply with respect to 
// the order they are specified in the cmd line.
// Naming:
// WAE: -warnings-as-errors
// NWAE: -no-warnings-as-errors
// WE-xxxx: -Werror xxxx
// WW-xxxx: -Wwarning xxxx
// GROUP - refers to a narrower group
// SUPERGROUP - refers to a broader group that includes GROUP


@available(*, deprecated)
func foo() {
}

@available(*, deprecated, renamed: "bar2")
func bar() {
}


// CHECK-WAE: error: 'foo()' is deprecated
// CHECK-WAE-NOT: warning: 'foo()' is deprecated
// CHECK-WE-GROUP: error: 'foo()' is deprecated
// CHECK-WE-GROUP-NOT: warning: 'foo()' is deprecated
// CHECK-WAE-NWAE: warning: 'foo()' is deprecated
// CHECK-WAE-NWAE-NOT: error: 'foo()' is deprecated
// CHECK-WAE-WW-GROUP: warning: 'foo()' is deprecated
// CHECK-WAE-WW-GROUP-NOT: error: 'foo()' is deprecated
foo()


// CHECK-WAE: error: 'bar()' is deprecated: renamed to 'bar2'
// CHECK-WAE-NOT: warning: 'bar()' is deprecated: renamed to 'bar2'
// CHECK-WE-GROUP: error: 'bar()' is deprecated: renamed to 'bar2'
// CHECK-WE-GROUP-NOT: warning: 'bar()' is deprecated: renamed to 'bar2'
// CHECK-WAE-NWAE: warning: 'bar()' is deprecated: renamed to 'bar2'
// CHECK-WAE-NWAE-NOT: error: 'bar()' is deprecated: renamed to 'bar2'
// CHECK-WAE-WW-GROUP: warning: 'bar()' is deprecated: renamed to 'bar2'
// CHECK-WAE-WW-GROUP-NOT: error: 'bar()' is deprecated: renamed to 'bar2'
bar()