[all-commits] [llvm/llvm-project] d9b15b: [CGExprConstant] stop calling into ConstExprEmitte...

Nick Desaulniers via All-commits all-commits at lists.llvm.org
Mon Oct 30 08:48:46 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d9b15b068d19089f72fc0d7dc59ed1d6d77125dc
      https://github.com/llvm/llvm-project/commit/d9b15b068d19089f72fc0d7dc59ed1d6d77125dc
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2023-10-30 (Mon, 30 Oct 2023)

  Changed paths:
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/test/CodeGenCXX/const-init-cxx11.cpp

  Log Message:
  -----------
  [CGExprConstant] stop calling into ConstExprEmitter for Reference type destinations (#70366)

Fixes a bug introduced by
commit b54294e2c959 ("[clang][ConstantEmitter] have
tryEmitPrivate[ForVarInit] try ConstExprEmitter fast-path first")

In the added test case, the QualType is a LValueReferenceType.

    LValueReferenceType 0x558412998d90 'const char (&)[41]'
    `-ParenType 0x558412998d30 'const char[41]' sugar
      `-ConstantArrayType 0x558412998cf0 'const char[41]' 41
        `-QualType 0x55841294c271 'const char' const
          `-BuiltinType 0x55841294c270 'char'

Fixes: #69979




More information about the All-commits mailing list