1ec727ea7Spatrick /*===-- complex --- OpenMP complex wrapper for target regions --------- c++ -=== 2ec727ea7Spatrick * 3ec727ea7Spatrick * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4ec727ea7Spatrick * See https://llvm.org/LICENSE.txt for license information. 5ec727ea7Spatrick * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6ec727ea7Spatrick * 7ec727ea7Spatrick *===-----------------------------------------------------------------------=== 8ec727ea7Spatrick */ 9ec727ea7Spatrick 10ec727ea7Spatrick #ifndef __CLANG_OPENMP_COMPLEX_H__ 11ec727ea7Spatrick #define __CLANG_OPENMP_COMPLEX_H__ 12ec727ea7Spatrick 13ec727ea7Spatrick #ifndef _OPENMP 14ec727ea7Spatrick #error "This file is for OpenMP compilation only." 15ec727ea7Spatrick #endif 16ec727ea7Spatrick 17ec727ea7Spatrick // We require math functions in the complex builtins below. 18ec727ea7Spatrick #include <math.h> 19ec727ea7Spatrick 20*12c85518Srobert #ifdef __NVPTX__ 21ec727ea7Spatrick #define __OPENMP_NVPTX__ 22ec727ea7Spatrick #include <__clang_cuda_complex_builtins.h> 23ec727ea7Spatrick #undef __OPENMP_NVPTX__ 24ec727ea7Spatrick #endif 25ec727ea7Spatrick 26*12c85518Srobert #ifdef __AMDGCN__ 27*12c85518Srobert #define __OPENMP_AMDGCN__ 28*12c85518Srobert #include <__clang_cuda_complex_builtins.h> 29*12c85518Srobert #undef __OPENMP_AMDGCN__ 30*12c85518Srobert #endif 31*12c85518Srobert 32*12c85518Srobert #endif 33*12c85518Srobert 34ec727ea7Spatrick // Grab the host header too. 35ec727ea7Spatrick #include_next <complex.h> 36