Add a test to make sure the flang runtime doesn't pull in the C++
runtime libraries.
This is achieved by adding a C file that calls some functions from the
runtime (currently only CpuTime, but we should probably add anything
complicated enough, e.g. IO-related things). We force the C compiler to
use -std=c90 to make sure it's really in C mode (we don't really care
which version of the standard, this one is probably more widely
available). We only enable this test if CMAKE_C_COMPILER is set to
something (which is probably always true in practice).
This is a recommit of 7ddbf26, with 2 fixes:
* Replace C++ comments with C comments
* Only enable the test if libFortranRuntime.a exists (this might not be
the case if e.g. BUILD_SHARED_LIBS=On)
Differential Revision: https://reviews.llvm.org/D104290
24 lines
571 B
C
24 lines
571 B
C
/*
|
|
This test makes sure that flang's runtime does not depend on the C++ runtime
|
|
library. It tries to link this simple file against libFortranRuntime.a with
|
|
a C compiler.
|
|
|
|
REQUIRES: c-compiler
|
|
|
|
RUN: %cc -std=c90 %s -I%runtimeincludes %libruntime -o /dev/null
|
|
*/
|
|
|
|
#include "entry-names.h"
|
|
|
|
/*
|
|
Manually add declarations for the runtime functions that we want to make sure
|
|
we're testing. We can't include any headers directly since they likely contain
|
|
C++ code that would explode here.
|
|
*/
|
|
double RTNAME(CpuTime)();
|
|
|
|
int main() {
|
|
double x = RTNAME(CpuTime)();
|
|
return x;
|
|
}
|