15ffd83dbSDimitry Andric /*===-- complex --- OpenMP complex wrapper for target regions --------- c++ -=== 25ffd83dbSDimitry Andric * 35ffd83dbSDimitry Andric * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 45ffd83dbSDimitry Andric * See https://llvm.org/LICENSE.txt for license information. 55ffd83dbSDimitry Andric * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 65ffd83dbSDimitry Andric * 75ffd83dbSDimitry Andric *===-----------------------------------------------------------------------=== 85ffd83dbSDimitry Andric */ 95ffd83dbSDimitry Andric 105ffd83dbSDimitry Andric #ifndef __CLANG_OPENMP_COMPLEX_H__ 115ffd83dbSDimitry Andric #define __CLANG_OPENMP_COMPLEX_H__ 125ffd83dbSDimitry Andric 135ffd83dbSDimitry Andric #ifndef _OPENMP 145ffd83dbSDimitry Andric #error "This file is for OpenMP compilation only." 155ffd83dbSDimitry Andric #endif 165ffd83dbSDimitry Andric 175ffd83dbSDimitry Andric // We require math functions in the complex builtins below. 185ffd83dbSDimitry Andric #include <math.h> 195ffd83dbSDimitry Andric 20*349cc55cSDimitry Andric #ifdef __NVPTX__ 21eaeb601bSDimitry Andric #define __OPENMP_NVPTX__ 225ffd83dbSDimitry Andric #include <__clang_cuda_complex_builtins.h> 23eaeb601bSDimitry Andric #undef __OPENMP_NVPTX__ 245ffd83dbSDimitry Andric #endif 255ffd83dbSDimitry Andric 26*349cc55cSDimitry Andric #ifdef __AMDGCN__ 27*349cc55cSDimitry Andric #define __OPENMP_AMDGCN__ 28*349cc55cSDimitry Andric #include <__clang_cuda_complex_builtins.h> 29*349cc55cSDimitry Andric #undef __OPENMP_AMDGCN__ 30*349cc55cSDimitry Andric #endif 31*349cc55cSDimitry Andric 32*349cc55cSDimitry Andric #endif 33*349cc55cSDimitry Andric 345ffd83dbSDimitry Andric // Grab the host header too. 355ffd83dbSDimitry Andric #include_next <complex.h> 36