089b7f31b5
^KT-61259
42 lines
799 B
Kotlin
Vendored
42 lines
799 B
Kotlin
Vendored
// TARGET_BACKEND: NATIVE
|
|
// FREE_CINTEROP_ARGS: -header auxiliaryCppSources.h
|
|
|
|
// MODULE: cinterop
|
|
// FILE: auxiliaryCppSources.def
|
|
# The def file is intentionally empty
|
|
# `auxiliaryCppSources.h` is meant to be included via `-header` free arg of cinterop tool
|
|
|
|
// FILE: auxiliaryCppSources.h
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
const char* name();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
// FILE: auxiliaryCppSources.cpp
|
|
#include <string>
|
|
#include "auxiliaryCppSources.h"
|
|
|
|
static std::string _name = "OK";
|
|
|
|
extern "C" const char* name() {
|
|
return _name.c_str();
|
|
}
|
|
|
|
// MODULE: main(cinterop)
|
|
// FILE: main.kt
|
|
|
|
@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
|
|
|
|
import auxiliaryCppSources.*
|
|
import kotlin.test.*
|
|
import kotlinx.cinterop.*
|
|
|
|
fun box(): String {
|
|
return name()!!.toKString()
|
|
}
|