brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · e1f225c Raw
42 lines · plain
1// RUN: mlir-translate -mlir-to-cpp %s | FileCheck %s --match-full-lines2// RUN: mlir-translate -mlir-to-cpp -declare-variables-at-top %s | FileCheck %s --match-full-lines3 4 5emitc.verbatim "#ifdef __cplusplus"6// CHECK: #ifdef __cplusplus7emitc.verbatim "extern \"C\" {"8// CHECK-NEXT: extern "C" {9emitc.verbatim "#endif  // __cplusplus"10// CHECK-NEXT: #endif  // __cplusplus11emitc.verbatim "#ifdef __cplusplus"12// CHECK-NEXT: #ifdef __cplusplus13emitc.verbatim "}  // extern \"C\""14// CHECK-NEXT: }  // extern "C"15emitc.verbatim "#endif  // __cplusplus"16// CHECK-NEXT: #endif  // __cplusplus17 18emitc.verbatim "typedef int32_t i32;"19// CHECK-NEXT: typedef int32_t i32;20emitc.verbatim "typedef float f32;"21// CHECK-NEXT: typedef float f32;22 23emitc.func @func(%arg: f32) {24  // CHECK: void func(float [[V0:[^ ]*]]) {25  %a = "emitc.variable"(){value = #emitc.opaque<"">} : () -> !emitc.array<3x7xi32>26  // CHECK: int32_t [[A:[^ ]*]][3][7];27 28  emitc.verbatim "{}" args %arg : f3229  // CHECK: [[V0]]30 31  emitc.verbatim "{} {{a" args %arg : f3232  // CHECK-NEXT: [[V0]] {a33 34  emitc.verbatim "#pragma my var={} property" args %arg : f3235  // CHECK-NEXT: #pragma my var=[[V0]] property36 37  emitc.verbatim "#pragma my2 var={} property" args %a : !emitc.array<3x7xi32>38  // CHECK-NEXT: #pragma my2 var=[[A]] property39 40  emitc.return41}42