xref: /llvm-project/flang/test/Driver/include-omp-header.f90 (revision bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2)
1! REQUIRES: openmp_runtime
2
3! Verify that the omp_lib.h header is found and included correctly. This header file should be available at a path:
4!   * relative to the driver, that's
5!   * known the driver.
6! This is taken care of at the CMake and the driver levels. Note that when searching for header files, the directory of the current
7! source file takes precedence over other search paths. Hence adding omp_lib.h in the current directory will make Flang use that
8! header file instead of the one shipped with Flang.
9
10! This should just work
11! RUN: not rm omp_lib.h
12! RUN: %flang -cpp -fsyntax-only %openmp_flags %s  2>&1
13
14! Create an empty omp_lib.h header that _does not_ define omp_default_mem_alloc - this should lead to semantic errors
15! RUN: touch omp_lib.h
16! RUN: not %flang -cpp -fsyntax-only %openmp_flags %s  2>&1 | FileCheck %s
17! RUN: rm omp_lib.h
18
19! CHECK: error: Must have INTEGER type, but is REAL(4)
20
21include "omp_lib.h"
22
23integer :: x, y
24
25!$omp allocate(x, y) allocator(omp_default_mem_alloc)
26
27end
28