brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 74b39f1 Raw
37 lines · plain
1// RUN: %offload-tblgen -gen-print-header -I %S/../../../liboffload/API %s | %fcheck-generic --check-prefix=CHECK-PRINT2// RUN: %offload-tblgen -gen-api -I %S/../../../liboffload/API %s | %fcheck-generic --check-prefix=CHECK-API3 4// Check that print helpers are created for functions5 6include "APIDefs.td"7 8def ol_foo_handle_t : Handle {9    let desc = "Example handle type";10}11 12def FunctionA : Function {13    let desc = "Function A description";14    let details = [ "Function A detailed information" ];15    let params = [16        Param<"uint32_t", "ParamValue", "A plain value parameter">,17        Param<"ol_foo_handle_t", "ParamHandle", "A handle parameter">,18        Param<"uint32_t*", "ParamPointer", "A pointer parameter">,19    ];20    let returns = [];21}22 23// CHECK-API: typedef struct function_a_params_t {24// CHECK-API-NEXT: uint32_t* pParamValue;25// CHECK-API-NEXT: ol_foo_handle_t* pParamHandle;26// CHECK-API-NEXT: uint32_t** pParamPointer;27 28// CHECK-PRINT: inline llvm::raw_ostream &operator<<(llvm::raw_ostream &os, const struct function_a_params_t *params)29// CHECK-PRINT: os << ".ParamValue = ";30// CHECK-PRINT: os << *params->pParamValue;31// CHECK-PRINT: os << ", ";32// CHECK-PRINT: os << ".ParamHandle = ";33// CHECK-PRINT: printPtr(os, *params->pParamHandle);34// CHECK-PRINT: os << ", ";35// CHECK-PRINT: os << ".ParamPointer = ";36// CHECK-PRINT: printPtr(os, *params->pParamPointer);37