[all-commits] [llvm/llvm-project] 99a54b: [flang] Lower PRIVATE component names safely (#66076)
jeanPerier via All-commits
all-commits at lists.llvm.org
Mon Sep 18 06:00:09 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 99a54b839a441a6e9dd9106c5fd9e547cf1309e5
https://github.com/llvm/llvm-project/commit/99a54b839a441a6e9dd9106c5fd9e547cf1309e5
Author: jeanPerier <jperier at nvidia.com>
Date: 2023-09-18 (Mon, 18 Sep 2023)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Mangler.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/Mangler.cpp
A flang/test/Lower/HLFIR/private-components.f90
M flang/test/Lower/Intrinsics/ieee_class.f90
M flang/test/Lower/Intrinsics/ieee_operator_eq.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/ieee_unordered.f90
Log Message:
-----------
[flang] Lower PRIVATE component names safely (#66076)
It is possible for a derived type extending a type with private
components to define components with the same name as the private
components.
This was not properly handled by lowering where several fir.record type
component names could end-up being the same, leading to bad generated
code (only the first component was accessed via fir.field_index, leading
to bad generated code).
This patch handles the situation by adding the derived type mangled name
to private component.
More information about the All-commits
mailing list