[all-commits] [llvm/llvm-project] 0c047a: [Sema] check PseudoObject when rebuilding CXXOpera...

dobbelaj-snps via All-commits all-commits at lists.llvm.org
Wed Dec 1 02:02:58 PST 2021

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0c047a8e13320fb8e9dabbf7a3c6a00fe81198c7
  Author: Jeroen Dobbelaere <jeroen.dobbelaere at synopsys.com>
  Date:   2021-12-01 (Wed, 01 Dec 2021)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h
    A clang/test/SemaCXX/PR51855.cpp
    M clang/test/SemaObjCXX/instantiate-property-access.mm

  Log Message:
  [Sema] check PseudoObject when rebuilding CXXOperatorCallExpr in template instantiation

The invocation of a unary or binary operator for type-dependent expressions is represented as a CXXOperatorCallExpr. Upon template instantiation, TreeTransform::RebuildCXXOperatorCallExpr checks for the case of an overloaded operator, but not for a (non-ObjC) PseudoObject, and will directly create a UnaryOperator or BinaryOperator.

Generalizing commit 0f99537ecac40 from @akyrtzi to handle non-ObjC pseudo objects (and also handle the case of unary pseudo object inc/dec).

This fixes https://bugs.llvm.org/show_bug.cgi?id=51855

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D111639

More information about the All-commits mailing list