Skip to content

Commit 1830456

Browse files
committed
opaque: add C main
1 parent 9071b1b commit 1830456

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

src/bool/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
set_directory_properties(PROPERTIES LABELS bool)
22

3-
add_library(bool_fortran lib.f90)
3+
add_library(bool_fortran OBJECT lib.f90)
44

55
add_executable(c_fortran_bool main.c)
66
target_link_libraries(c_fortran_bool PRIVATE bool_fortran)

src/opaque/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
set_directory_properties(PROPERTIES LABELS opaque)
22

3-
add_library(opaque_fortran lib.f90)
3+
add_library(opaque_fortran OBJECT lib.f90)
4+
5+
add_executable(c_opaque main.c)
6+
target_link_libraries(c_opaque PRIVATE opaque_fortran)
7+
add_test(NAME C_Fortran_opaque COMMAND c_opaque)
48

59
add_executable(cpp_opaque main.cpp)
610
target_link_libraries(cpp_opaque PRIVATE opaque_fortran)

src/opaque/main.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// passing a Fortran-only type to/from C where only Fortran operates on opaque type
2+
#include <stdio.h>
3+
4+
extern void init_opaque_C(void**);
5+
6+
extern void use_opaque_C(void**);
7+
8+
int main(){
9+
10+
void* myf;
11+
12+
init_opaque_C(&myf);
13+
14+
use_opaque_C(&myf);
15+
16+
printf("OK: opaque\n");
17+
18+
return 0;
19+
}

src/pointer/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set_directory_properties(PROPERTIES LABELS opaque)
1+
set_directory_properties(PROPERTIES LABELS pointer)
22

33
add_library(pointer_fortran OBJECT lib.f90)
44

0 commit comments

Comments
 (0)