[PATCH] D61949: [OpenMP][bugfix] Fix issues with C++ 17 compilation when handling math functions
Gheorghe-Teodor Bercea via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 15 11:52:46 PDT 2019
gtbercea marked an inline comment as done.
gtbercea added inline comments.
================
Comment at: lib/Headers/__clang_cuda_device_functions.h:1477
#endif // CUDA_VERSION >= 9020
+#if __cplusplus >= 201703L
+__DEVICE__ int abs(int __a) noexcept { return __nv_abs(__a); }
----------------
tra wrote:
> jdoerfert wrote:
> > Hahnfeld wrote:
> > > If I recall correctly, `__cplusplus` is not defined in C mode, so both GCC and Clang will issue a warning with `-Wundef`.
> > >
> > > Maybe this can be solved with something similar to:
> > > ```lang=c
> > > #ifdef __cplusplus
> > > #define cpp_version __cplusplus
> > > #else
> > > #define cpp_version 0
> > > #endif
> > > ```
> > > (to avoid repetition of `#if defined(__cplusplus) && __cplusplus >= 201703L`)
> > I dislike defining the version and advice to repeating `#if defined(__cplusplus) && __cplusplus >= 201703L)`
> >
> I agree with @jdoerfert.
> If that's needed too often, we can move c++-only functions under one global `#if defined(__cplusplus)`.
>
@tra is this closer to what you want?
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61949/new/
https://reviews.llvm.org/D61949
More information about the cfe-commits
mailing list