1// RUN: mlir-translate -mlir-to-cpp %s | FileCheck %s -check-prefix=CPP-DEFAULT 2// RUN: mlir-translate -mlir-to-cpp -declare-variables-at-top %s | FileCheck %s -check-prefix=CPP-DECLTOP 3 4func.func @emitc_variable() { 5 %c0 = "emitc.variable"(){value = #emitc.opaque<"">} : () -> !emitc.lvalue<i32> 6 %c1 = "emitc.variable"(){value = 42 : i32} : () -> !emitc.lvalue<i32> 7 %c2 = "emitc.variable"(){value = -1 : i32} : () -> !emitc.lvalue<i32> 8 %c3 = "emitc.variable"(){value = -1 : si8} : () -> !emitc.lvalue<si8> 9 %c4 = "emitc.variable"(){value = 255 : ui8} : () -> !emitc.lvalue<ui8> 10 %c5 = "emitc.variable"(){value = #emitc.opaque<"">} : () -> !emitc.lvalue<!emitc.ptr<i32>> 11 %c6 = "emitc.variable"(){value = #emitc.opaque<"NULL">} : () -> !emitc.lvalue<!emitc.ptr<i32>> 12 %c7 = "emitc.variable"(){value = #emitc.opaque<"">} : () -> !emitc.array<3x7xi32> 13 %c8 = "emitc.variable"(){value = #emitc.opaque<"">} : () -> !emitc.array<5x!emitc.ptr<i8>> 14 return 15} 16// CPP-DEFAULT: void emitc_variable() { 17// CPP-DEFAULT-NEXT: int32_t [[V0:[^ ]*]]; 18// CPP-DEFAULT-NEXT: int32_t [[V1:[^ ]*]] = 42; 19// CPP-DEFAULT-NEXT: int32_t [[V2:[^ ]*]] = -1; 20// CPP-DEFAULT-NEXT: int8_t [[V3:[^ ]*]] = -1; 21// CPP-DEFAULT-NEXT: uint8_t [[V4:[^ ]*]] = 255; 22// CPP-DEFAULT-NEXT: int32_t* [[V5:[^ ]*]]; 23// CPP-DEFAULT-NEXT: int32_t* [[V6:[^ ]*]] = NULL; 24// CPP-DEFAULT-NEXT: int32_t [[V7:[^ ]*]][3][7]; 25// CPP-DEFAULT-NEXT: int8_t* [[V8:[^ ]*]][5]; 26 27// CPP-DECLTOP: void emitc_variable() { 28// CPP-DECLTOP-NEXT: int32_t [[V0:[^ ]*]]; 29// CPP-DECLTOP-NEXT: int32_t [[V1:[^ ]*]]; 30// CPP-DECLTOP-NEXT: int32_t [[V2:[^ ]*]]; 31// CPP-DECLTOP-NEXT: int8_t [[V3:[^ ]*]]; 32// CPP-DECLTOP-NEXT: uint8_t [[V4:[^ ]*]]; 33// CPP-DECLTOP-NEXT: int32_t* [[V5:[^ ]*]]; 34// CPP-DECLTOP-NEXT: int32_t* [[V6:[^ ]*]]; 35// CPP-DECLTOP-NEXT: int32_t [[V7:[^ ]*]][3][7]; 36// CPP-DECLTOP-NEXT: int8_t* [[V8:[^ ]*]][5]; 37// CPP-DECLTOP-NEXT: ; 38// CPP-DECLTOP-NEXT: [[V1]] = 42; 39// CPP-DECLTOP-NEXT: [[V2]] = -1; 40// CPP-DECLTOP-NEXT: [[V3]] = -1; 41// CPP-DECLTOP-NEXT: [[V4]] = 255; 42// CPP-DECLTOP-NEXT: ; 43// CPP-DECLTOP-NEXT: [[V6]] = NULL; 44// CPP-DECLTOP-NEXT: ; 45// CPP-DECLTOP-NEXT: ; 46