xref: /llvm-project/mlir/test/Dialect/LLVMIR/tbaa-invalid.mlir (revision 1dda134f85d4fab7ace7b9ec9b57a0319c14de8f)
1// RUN: mlir-opt -split-input-file -verify-diagnostics %s
2
3#tbaa_root = #llvm.tbaa_root<id = "Simple C/C++ TBAA">
4#tbaa_desc = #llvm.tbaa_type_desc<id = "omnipotent char", members = {<#tbaa_root, 0>}>
5#tbaa_tag = #llvm.tbaa_tag<access_type = #tbaa_desc, base_type = #tbaa_desc, offset = 0>
6// expected-error@+2 {{invalid kind of attribute specified}}
7// expected-error@below {{failed to parse LLVM_TBAATagAttr parameter 'access_type' which is to be a `TBAATypeDescriptorAttr`}}
8#tbaa_tag2 = #llvm.tbaa_tag<access_type = #tbaa_tag, base_type = #tbaa_desc, offset = 0>
9
10// -----
11
12#tbaa_root = #llvm.tbaa_root<id = "Simple C/C++ TBAA">
13#tbaa_desc = #llvm.tbaa_type_desc<id = "omnipotent char", members = {<#tbaa_root, 0>}>
14#tbaa_tag = #llvm.tbaa_tag<access_type = #tbaa_desc, base_type = #tbaa_desc, offset = 0>
15// expected-error@+2 {{invalid kind of attribute specified}}
16// expected-error@below {{failed to parse LLVM_TBAATagAttr parameter 'base_type' which is to be a `TBAATypeDescriptorAttr`}}
17#tbaa_tag2 = #llvm.tbaa_tag<access_type = #tbaa_desc, base_type = #tbaa_tag, offset = 0>
18
19// -----
20
21#tbaa_root = #llvm.tbaa_root<id = "Simple C/C++ TBAA">
22#tbaa_desc = #llvm.tbaa_type_desc<id = "omnipotent char", members = {<#tbaa_root, 0>}>
23#tbaa_tag = #llvm.tbaa_tag<access_type = #tbaa_desc, base_type = #tbaa_desc, offset = 0>
24// expected-error@+3 {{invalid kind of attribute specified}}
25// expected-error@+2 {{failed to parse LLVM_TBAAMemberAttr parameter 'typeDesc' which is to be a `TBAANodeAttr`}}
26// expected-error@below {{failed to parse LLVM_TBAATypeDescriptorAttr parameter 'members' which is to be a `::llvm::ArrayRef<TBAAMemberAttr>`}}
27#tbaa_desc2 = #llvm.tbaa_type_desc<id = "long long", members = {<#tbaa_tag, 0>}>
28