xref: /llvm-project/llvm/test/tools/llvm-ml/struct_errors.asm (revision e074d580b28b8cdf31fc4813cbc886ef5149d203)
1*e074d580SEric Astor; RUN: not llvm-ml -filetype=s %s /Fo /dev/null 2>&1 | FileCheck %s --dump-input=always
28fee2ee9SEric Astor
38fee2ee9SEric Astor.data
48fee2ee9SEric Astorint_test STRUCT
58fee2ee9SEric Astor  int_arr DWORD ?, ?
68fee2ee9SEric Astor  int_scalar DWORD ?
78fee2ee9SEric Astorint_test ENDS
88fee2ee9SEric Astor
98fee2ee9SEric Astort1 int_test <<1,2,3>>
10*e074d580SEric Astor; CHECK: error: Initializer too long for field; expected at most 2 elements, got 3
118fee2ee9SEric Astor
128fee2ee9SEric Astort2 int_test <4>
13*e074d580SEric Astor; CHECK: error: Cannot initialize array field with scalar value
148fee2ee9SEric Astor
158fee2ee9SEric Astort3 int_test <,<5,6>>
16*e074d580SEric Astor; CHECK: error: Cannot initialize scalar field with array value
178fee2ee9SEric Astor
188fee2ee9SEric Astorreal_test STRUCT
198fee2ee9SEric Astor  real_arr REAL4 ?, ?, ?
208fee2ee9SEric Astor  real_scalar REAL4 ?
218fee2ee9SEric Astorreal_test ENDS
228fee2ee9SEric Astor
238fee2ee9SEric Astort4 real_test <<1.0,0.0,-1.0,-2.0>>
24*e074d580SEric Astor; CHECK: error: Initializer too long for field; expected at most 3 elements, got 4
258fee2ee9SEric Astor
268fee2ee9SEric Astort5 real_test <2.0>
27*e074d580SEric Astor; CHECK: error: Cannot initialize array field with scalar value
288fee2ee9SEric Astor
298fee2ee9SEric Astort6 real_test <,<2.0,-2.0>>
30*e074d580SEric Astor; CHECK: error: Cannot initialize scalar field with array value
318fee2ee9SEric Astor
328fee2ee9SEric Astorinner_struct STRUCT
338fee2ee9SEric Astor  a BYTE ?
348fee2ee9SEric Astorinner_struct ENDS
358fee2ee9SEric Astor
368fee2ee9SEric Astorstruct_test STRUCT
378fee2ee9SEric Astor  struct_arr inner_struct 4 DUP (?)
388fee2ee9SEric Astor  struct_scalar inner_struct ?
398fee2ee9SEric Astorstruct_test ENDS
408fee2ee9SEric Astor
418fee2ee9SEric Astort7 struct_test <<<>, <>, <>, <>, <>>>
42*e074d580SEric Astor; CHECK: error: Initializer too long for field; expected at most 4 elements, got 5
438fee2ee9SEric Astor
448fee2ee9SEric Astort8 struct_test <,<<>, <>>>
45*e074d580SEric Astor; CHECK: error: 'inner_struct' initializer initializes too many fields
468fee2ee9SEric Astor
478fee2ee9SEric Astort9 STRUCT 3
48*e074d580SEric Astor; CHECK: error: alignment must be a power of two; was 3
498fee2ee9SEric Astort9 ENDS
508fee2ee9SEric Astor
518fee2ee9SEric Astort10 STRUCT 1, X
52*e074d580SEric Astor; CHECK: error: Unrecognized qualifier for 'STRUCT' directive; expected none or NONUNIQUE
538fee2ee9SEric Astort10 ENDS
548fee2ee9SEric Astor
558fee2ee9SEric Astort11 STRUCT
568fee2ee9SEric Astordifferent_struct ENDS
57*e074d580SEric Astor; CHECK: error: mismatched name in ENDS directive; expected 't11'
58