[all-commits] [llvm/llvm-project] de3a3c: [clang][Interp] Fix compound assign operator types

Timm Bäder via All-commits all-commits at lists.llvm.org
Wed Jan 25 01:12:53 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: de3a3cb987f11075a62680c001d3cadd0a1d1397
      https://github.com/llvm/llvm-project/commit/de3a3cb987f11075a62680c001d3cadd0a1d1397
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp] Fix compound assign operator types

Just like we do (or will do) for floating types, we need to take into
acocunt that the LHSComputationType, ResultType and type of the
expression (what we ultimately store) might be different.

Do this by emitting cast ops before and after doing the computation.

This fixes the test failures introduced by
490e8214fca48824beda8b508d6d6bbbf3d8d9a7 on big endian machines.

Differential Revision: https://reviews.llvm.org/D142328




More information about the All-commits mailing list