[all-commits] [llvm/llvm-project] 0130b6: Don't assume a reference refers to at least sizeof...

Richard Smith via All-commits all-commits at lists.llvm.org
Fri Jan 31 19:08:52 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 0130b6cb5a8d94511e2bb09ac2f5a613a59f70b4
      https://github.com/llvm/llvm-project/commit/0130b6cb5a8d94511e2bb09ac2f5a613a59f70b4
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2020-01-31 (Fri, 31 Jan 2020)

  Changed paths:
    M clang/include/clang/AST/DeclCXX.h
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/test/CodeGenCXX/catch-undef-behavior.cpp
    M clang/test/CodeGenCXX/thunks.cpp

  Log Message:
  -----------
  Don't assume a reference refers to at least sizeof(T) bytes.

When T is a class type, only nvsize(T) bytes need be accessible through
the reference. We had matching bugs in the application of the
dereferenceable attribute and in -fsanitize=undefined.




More information about the All-commits mailing list