[flang] Improve runtime interface with C99 complex
authorJean Perier <jperier@nvidia.com>
Fri, 1 Oct 2021 06:42:42 +0000 (08:42 +0200)
committerJean Perier <jperier@nvidia.com>
Fri, 1 Oct 2021 06:45:24 +0000 (08:45 +0200)
commitb7c07ce15ffe6da9dcd69d457a3eca987452edc7
tree092e0970f591faacb90d57edf2e48dcabcb70bbb
parentb0e35fde21ecb47799603e1acfc9ffa7b83dea13
[flang] Improve runtime interface with C99 complex

Follow up of https://reviews.llvm.org/D83397.

In folding, make pgmath usage conditional to C99 complex
support in C++. Disable warning in such case.

In lowering, use an empty class type to indicate C99 complex
type in runtime interface.

Add a unit test enforcing C99 complex can be processed
by FIR runtime interface builder.

Differential Revision: https://reviews.llvm.org/D110860
flang/include/flang/Evaluate/pgmath.h.inc
flang/lib/Evaluate/CMakeLists.txt
flang/lib/Lower/RTBuilder.h
flang/unittests/CMakeLists.txt
flang/unittests/Lower/CMakeLists.txt [new file with mode: 0644]
flang/unittests/Lower/RTBuilder.cpp [new file with mode: 0644]