[all-commits] [llvm/llvm-project] 3ced23: Refactor CompareReferenceRelationship and its call...

Richard Smith via All-commits all-commits at lists.llvm.org
Wed Dec 18 14:06:25 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 3ced23976aa8a86a17017c87821c873b4ca80bc2
      https://github.com/llvm/llvm-project/commit/3ced23976aa8a86a17017c87821c873b4ca80bc2
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2019-12-18 (Wed, 18 Dec 2019)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/Index/print-type.cpp

  Log Message:
  -----------
  Refactor CompareReferenceRelationship and its callers in preparation for
implementing the resolution of CWG2352.

No functionality change, except that we now convert the referent of a
reference binding to the underlying type of the reference in more cases;
we used to happen to preserve the type sugar from the referent if the
only type change was in the cv-qualifiers.

This exposed a bug in how we generate code for trivial assignment
operators: if the type sugar (particularly the may_alias attribute)
got lost during reference binding, we'd use the "wrong" TBAA information
for the load during the assignment.




More information about the All-commits mailing list