[all-commits] [llvm/llvm-project] 2c1e9f: [clang][bytecode] Explicit composite array descrip...

Timm Baeder via All-commits all-commits at lists.llvm.org
Sun Mar 2 00:41:18 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2c1e9f14be32c30f6f561274292bef1f52635f82
      https://github.com/llvm/llvm-project/commit/2c1e9f14be32c30f6f561274292bef1f52635f82
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-03-02 (Sun, 02 Mar 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/DynamicAllocator.cpp
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/unittests/AST/ByteCode/toAPValue.cpp

  Log Message:
  -----------
  [clang][bytecode] Explicit composite array descriptor types (#129376)

When creating descriptor for array element types, we only save the
original source, e.g. int[2][2][2]. So later calls to getType() of the
element descriptors will also return int[2][2][2], instead of e.g.
int[2][2] for the second dimension.
Fix this by explicitly tracking the array types.
The last attached test case used to have an lvalue offset of 32 instead
of 24.

We should do this for more desriptor types though and not just composite
array, but I'm leaving that to a later patch.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list