[all-commits] [llvm/llvm-project] 5982b0: Add missing check for constant evaluation of a com...

Richard Smith via All-commits all-commits at lists.llvm.org
Mon Dec 12 17:09:44 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5982b0b0b84296e34057a777e3d51e10fcd8abc7
      https://github.com/llvm/llvm-project/commit/5982b0b0b84296e34057a777e3d51e10fcd8abc7
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2022-12-12 (Mon, 12 Dec 2022)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/CXX/drs/dr0xx.cpp
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/test/CXX/expr/expr.const/p2-0x.cpp
    M clang/test/CodeGenCXX/weak-external.cpp
    M clang/test/Sema/const-eval.c
    M clang/test/SemaCXX/attr-weak.cpp
    M clang/test/SemaCXX/builtins.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  Add missing check for constant evaluation of a comparison of a pointer
to member naming a weak member to nullptr.

This fixes a miscompile where constant evaluation would incorrectly
determine that a weak member function pointer is never null.

In passing, also improve the diagnostics for constant evaluation of some
nearby cases.




More information about the All-commits mailing list