summaryrefslogtreecommitdiffstats
path: root/Tests/Fortran/myc.c
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Fix Fortran test C function prototypesWilliam R. Dieter2021-01-281-2/+2
| | | | | | | | Several extern functions were declared without return type, which results in warnings. The functions are for calling Fortran subroutines, so there should not be a return value. Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
* Rewrite FortranCInterface moduleBrad King2009-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | This is a new FortranCInterface.cmake module to replace the previous prototype. All module support files lie in a FortranCInterface directory next to it. This module uses a new approach to detect Fortran symbol mangling. We build a single test project which defines symbols in a Fortran library (one per object-file) and calls them from a Fortran executable. The executable links to a C library which defines symbols encoding all known manglings (one per object-file). The C library falls back to the Fortran library for symbols it cannot provide. Therefore the executable will always link, but prefers the C-implemented symbols when they match. These symbols store string literals of the form INFO:symbol[<name>] so we can parse them out of the executable. This module also provides a simpler interface. It always detects the mangling as soon as it is included. A single macro is provided to generate mangling macros and optionally pre-mangled symbols.
* Test C, C++, Fortran interface combinationsBrad King2009-08-041-0/+12
Previously the Fortran test created a single executable containing C, C++, and Fortran sources. This commit divides the executable into three libraries corresponding to each language, and two executables testing Fortran/C only and Fortran/C/C++ together. The result tests more combinations of using the languages together, and that language requirements propagate through linking.