aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
diff options
context:
space:
mode:
authorjeanPerier <jperier@nvidia.com>2025-02-05 17:20:35 +0100
committerGitHub <noreply@github.com>2025-02-05 17:20:35 +0100
commit925d347c5a43fd4864c7cb142e4069a1d494cd11 (patch)
tree9c51a72a8d94205c581e8fa517f29e8b39e37150 /clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
parentc94d930a212248d7102822ca7d0e37e72fd38cb3 (diff)
downloadllvm-925d347c5a43fd4864c7cb142e4069a1d494cd11.zip
llvm-925d347c5a43fd4864c7cb142e4069a1d494cd11.tar.gz
llvm-925d347c5a43fd4864c7cb142e4069a1d494cd11.tar.bz2
[flang] fix IsSimplyContiguous with expressions (#125708)
IsSymplyContiguous was visiting expressions and returning false on expressions like `x(::2) + y`, which triggered an assert in lowering when preparing arguments for copy-in/out. Update it to return false for everything that is not a variable, except when provided a flag to treat PARAMETER bases as variables. This flags is required for internal usages in lowering where lowering needs to now if the read-only memory is being addressed contiguously or not. Update call lowering to always copy parameter array section into contiguous writable memory when passing them. The rational here is that copy-out generated in nested calls using the dummy arguments will cause a segfault.
Diffstat (limited to 'clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp')
0 files changed, 0 insertions, 0 deletions