]> granicus.if.org Git - clang/commit
When instantiating a UnaryOperator, allow the resulting expression to
authorDouglas Gregor <dgregor@apple.com>
Thu, 5 Nov 2009 00:51:44 +0000 (00:51 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 5 Nov 2009 00:51:44 +0000 (00:51 +0000)
commit6ca7cfb3fbe4dc92e457fd303814d274176cf359
tree9c2479bf776e77e18f3a593268156c85caf89c87
parent50ecd1536a2b70327e9eb2c2c2a652cde3dae365
When instantiating a UnaryOperator, allow the resulting expression to
still be dependent or invoke an overloaded operator. Previously, we
only supported builtin operators.

BinaryOperator/CompoundAssignOperator didn't have this issue because
we always built a CXXOperatorCallExpr node, even when name lookup
didn't find any functions to save until instantiation time. Now, that
code builds a BinaryOperator or CompoundAssignOperator rather than a
CXXOperatorCallExpr, to save some space.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86087 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/Sema.h
lib/Sema/SemaExpr.cpp
lib/Sema/SemaOverload.cpp
lib/Sema/TreeTransform.h
test/SemaTemplate/instantiate-expr-1.cpp