mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
cb7e7cb874
Summary: There are a few field init values that are concrete but not complete/foldable (e.g. `?`). This allows for using those values as initializers without erroring out. Example: ``` class A { string value = ?; } class B<A impl> : A { let value = impl.value; // This currently emits an error. let value = ?; // This doesn't emit an error. } ``` Differential Revision: https://reviews.llvm.org/D74360
24 lines
324 B
TableGen
24 lines
324 B
TableGen
// RUN: llvm-tblgen %s | FileCheck %s
|
|
// XFAIL: vg_leak
|
|
|
|
// CHECK: --- Defs ---
|
|
|
|
// CHECK: def A1 {
|
|
// CHECK: string value = ?;
|
|
// CHECK: }
|
|
|
|
// CHECK: def B1 {
|
|
// CHECK: string value = A1.value;
|
|
// CHECK: }
|
|
|
|
class A {
|
|
string value = ?;
|
|
}
|
|
|
|
class B<A impl> : A {
|
|
let value = impl.value;
|
|
}
|
|
|
|
def A1 : A;
|
|
def B1 : B<A1>;
|