agozillon
e0054e984c
[MLIR][OpenMP] Emit nullary check for mapped pointer members and appropriate size select based on results ( #124604 )
...
This PR aims to fix a mapping error when trying to map nullary elements
of a record type (primary example is allocatables/pointer types in
Fortran at the moment). This should be legal to map, just not write to
without pointing to anything within the target region. A common Fortran
OpenMP idiom/example where this is useful can be found in the added
Fortran offload example.
The runtime error arises when we try to map the pointer member utilising
a prescribed constant size that we receive from the lowered type,
resulting in mapping of data that will be non-existent when there is no
allocated data. The fix in this case is to emit a runtime check to see
if the data has been allocated, if it hasn't been we select a size of 0,
if it has we emit the usual type size.
2025-01-29 17:51:33 +01:00
..
2024-06-29 00:56:18 -05:00
2024-06-29 00:56:18 -05:00
2024-06-29 00:56:18 -05:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-12-18 09:19:45 +01:00
2024-12-18 09:19:45 +01:00
2024-11-16 12:22:33 +01:00
2024-06-29 00:56:18 -05:00
2024-06-29 00:56:18 -05:00
2024-06-29 00:56:18 -05:00
2024-06-29 00:56:18 -05:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-09-06 14:23:06 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2025-01-03 16:46:15 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2025-01-29 17:51:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-11-16 12:22:33 +01:00
2024-06-29 00:56:18 -05:00
2024-11-16 12:22:33 +01:00
2024-11-14 15:47:37 +01:00
2025-01-03 18:01:01 +01:00