[all-commits] [llvm/llvm-project] b8e069: [Clang] Ensure zero-init is not overridden when in...

Shafik Yaghmour via All-commits all-commits at lists.llvm.org
Wed Oct 25 10:18:54 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b8e06933a2f4a647046f122a8e4a636c0e9267b7
      https://github.com/llvm/llvm-project/commit/b8e06933a2f4a647046f122a8e4a636c0e9267b7
  Author: Shafik Yaghmour <shafik at users.noreply.github.com>
  Date:   2023-10-25 (Wed, 25 Oct 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/Interp/records.cpp
    A clang/test/CXX/dcl.decl/dcl.init/dcl.init.general/p16-cxx20.cpp

  Log Message:
  -----------
  [Clang] Ensure zero-init is not overridden when initializing a base class in a constant expression context (#70150)

During constant evaluation when value-initializing a class if the base
class was default-initialized it would undue the previously
zero-initialized class members. This fixes the way we handle default
initialization to avoid initializing over an already initialized member
to an indeterminate value.

Fixes: https://github.com/llvm/llvm-project/issues/69890




More information about the All-commits mailing list