llvm-project/flang/lib/Evaluate
Peter Steinfeld 57e53f0130 [flang] Fix conformability for intrinsic procedures
There are situations where the arguments of intrinsics must be
conformable, which is defined in section 3.36.  This means they must
have "the same shape, or one being an array and the other being scalar".
But the check we were actually making was that their ranks were the same.

This change fixes that and adds a test for the UNPACK intrinsic, where
the FIELD argument "shall be conformable with MASK".

Differential Revision: https://reviews.llvm.org/D104936
2021-06-28 11:09:24 -07:00
..
CMakeLists.txt [flang] Fix build with BUILD_SHARED_LIBS=ON and FLANG_BUILD_NEW_DRIVER=ON 2020-10-15 13:03:55 +02:00
call.cpp [flang] Fix bogus error message with binding 2021-01-21 16:59:51 -08:00
character.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
characteristics.cpp [flang] Complain about more cases of calls to insufficiently defined procedures 2021-06-16 18:20:59 -07:00
check-expression.cpp [flang] CheckConformance: tristate-ify result 2021-06-04 11:19:14 -07:00
common.cpp [flang] Add isnan() extension intrinsic function, with folding 2020-11-11 11:40:57 -08:00
complex.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
constant.cpp [flang] Refine symbol sorting 2021-03-18 11:18:14 -07:00
expression.cpp [flang] Fix assert on constant folding of extended types 2020-09-10 14:34:03 -07:00
fold-character.cpp [flang] Fold more reduction intrinsic function calls 2021-06-21 10:13:59 -07:00
fold-complex.cpp [flang] Fold more reduction intrinsic function calls 2021-06-21 10:13:59 -07:00
fold-designator.cpp [flang] (NFC) Expose internal idiom as utility API 2021-05-13 11:19:37 -07:00
fold-implementation.h [flang] Fold MAXVAL & MINVAL 2021-06-16 14:06:34 -07:00
fold-integer.cpp [flang] Fold more reduction intrinsic function calls 2021-06-21 10:13:59 -07:00
fold-logical.cpp [flang] Fold more reduction intrinsic function calls 2021-06-21 10:13:59 -07:00
fold-real.cpp [flang] Fold more reduction intrinsic function calls 2021-06-21 10:13:59 -07:00
fold-reduction.h [flang] Fix generic/specific procedure confusion 2021-06-25 11:54:29 -07:00
fold.cpp [flang] Fix classification of shape inquiries in specification exprs 2021-01-13 10:05:14 -08:00
formatting.cpp [flang] [NFC] Repair build with GCC 7.3 2021-06-22 13:52:30 -07:00
host.cpp [flang] Fix setting mxcsr on MSVC 2020-07-08 07:25:25 -05:00
host.h [flang] Rework host runtime folding and enable REAL(2) folding with it. 2020-10-14 16:40:44 +02:00
initial-image.cpp [flang] Implement STORAGE_SIZE(), SIZEOF(), C_SIZEOF() 2020-12-15 17:26:20 -08:00
int-power.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
integer.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
intrinsics-library.cpp [flang] Rework host runtime folding and enable REAL(2) folding with it. 2020-10-14 16:40:44 +02:00
intrinsics.cpp [flang] Fix conformability for intrinsic procedures 2021-06-28 11:09:24 -07:00
logical.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
real.cpp [flang][msvc] Avoid a reinterpret_cast 2020-10-15 10:38:48 -07:00
shape.cpp [flang] preserve symbol in DescriptorInquiry 2021-06-17 12:42:08 +02:00
static-data.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
tools.cpp [flang] Fold MAXVAL & MINVAL 2021-06-16 14:06:34 -07:00
type.cpp [flang] [NFC] Repair build with GCC 7.3 2021-06-22 13:52:30 -07:00
variable.cpp [flang] preserve symbol in DescriptorInquiry 2021-06-17 12:42:08 +02:00