[Lldb-commits] [PATCH] D16975: Handle floating-point type homogeneous aggregate return values in ABISysV_arm

Tamas Berghammer via lldb-commits lldb-commits at lists.llvm.org
Mon Feb 8 07:34:53 PST 2016


tberghammer added inline comments.

================
Comment at: source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp:592
@@ +591,3 @@
+                {
+                    if (!is_complex)
+                    {
----------------
Please check that "float_count == 1" as well (we don't want to use this code path for vector types)

================
Comment at: source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp:592
@@ +591,3 @@
+                {
+                    if (!is_complex)
+                    {
----------------
tberghammer wrote:
> Please check that "float_count == 1" as well (we don't want to use this code path for vector types)
What the ABI says about homogeneous complex types? The current implementation treats them as in-memory return types what I think is not the right thing to do (I am happy with saying we don't support it but then we should return an empty object)

================
Comment at: source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp:636
@@ +635,3 @@
+
+                        if (data_offset == byte_size)
+                        {
----------------
If we failed to read out all data (this condition is false) then we will fall through to the non hard float case and will try to read out the return value as an in-memory return value. I think this isn't what we want to do based on the ABI.


http://reviews.llvm.org/D16975





More information about the lldb-commits mailing list