xref: /llvm-project/mlir/test/Target/Cpp/declare_func.mlir (revision be96bd74f8eae5637033e4e05fcbf2a693ce8334)
1*be96bd74SKirill Chibisov// RUN: mlir-translate -mlir-to-cpp %s | FileCheck --match-full-lines %s
203881dc0SMarius Brehler
303881dc0SMarius Brehler// CHECK: int32_t bar(int32_t [[V1:[^ ]*]]);
403881dc0SMarius Brehleremitc.declare_func @bar
503881dc0SMarius Brehler// CHECK:       int32_t bar(int32_t [[V1:[^ ]*]]) {
6*be96bd74SKirill Chibisov// CHECK-NEXT:      return [[V1]];
7*be96bd74SKirill Chibisov// CHECK-NEXT:  }
803881dc0SMarius Brehleremitc.func @bar(%arg0: i32) -> i32 {
903881dc0SMarius Brehler    emitc.return %arg0 : i32
1003881dc0SMarius Brehler}
1103881dc0SMarius Brehler
1203881dc0SMarius Brehler
1303881dc0SMarius Brehler// CHECK: static inline int32_t foo(int32_t [[V1:[^ ]*]]);
1403881dc0SMarius Brehleremitc.declare_func @foo
1503881dc0SMarius Brehler// CHECK: static inline int32_t foo(int32_t [[V1:[^ ]*]]) {
1603881dc0SMarius Brehleremitc.func @foo(%arg0: i32) -> i32 attributes {specifiers = ["static","inline"]} {
1703881dc0SMarius Brehler    emitc.return %arg0 : i32
1803881dc0SMarius Brehler}
19818af71bSMatthias Gehre
20818af71bSMatthias Gehre
21818af71bSMatthias Gehre// CHECK: void array_arg(int32_t [[V2:[^ ]*]][3]);
22818af71bSMatthias Gehreemitc.declare_func @array_arg
23818af71bSMatthias Gehre// CHECK: void array_arg(int32_t  [[V2:[^ ]*]][3]) {
24818af71bSMatthias Gehreemitc.func @array_arg(%arg0: !emitc.array<3xi32>) {
25818af71bSMatthias Gehre    emitc.return
26818af71bSMatthias Gehre}
27