xref: /llvm-project/llvm/test/TableGen/warn-unused-template-arg.td (revision d968b173d33be1a5819e9f5f9a8b4258775a65ed)
1// RUN: llvm-tblgen %s 2>&1 | FileCheck %s
2// RUN: llvm-tblgen --no-warn-on-unused-template-args %s 2>&1 | FileCheck %s --check-prefix=CHECK-DISABLED
3
4class UnusedClassArg<int foo> {}
5
6// CHECK: warning: unused template argument: UnusedClassArg:foo
7// CHECK-NEXT: class UnusedClassArg<int foo> {}
8// CHECK-NEXT:                          ^
9
10multiclass UnusedMultiClassArg<int foo> {
11  def bar;
12}
13
14defm : UnusedMultiClassArg<1>;
15
16// CHECK: warning: unused template argument: UnusedMultiClassArg::foo
17// CHECK-NEXT: multiclass UnusedMultiClassArg<int foo> {
18// CHECK-NEXT:                                    ^
19
20class NoWarning<int b> {
21  int a = b;
22}
23
24// CHECK-NOT: warning: unused template argument: NoWarning:b
25// CHECK-DISABLED-NOT: warning
26