]> granicus.if.org Git - clang/commit
Improve our handling of (C++) references within Clang. Specifically:
authorDouglas Gregor <dgregor@apple.com>
Tue, 28 Oct 2008 00:22:11 +0000 (00:22 +0000)
committerDouglas Gregor <dgregor@apple.com>
Tue, 28 Oct 2008 00:22:11 +0000 (00:22 +0000)
commit9d293dfc0ad7c44ae0b5eb9517f1ed8c8d8b7ff7
treea2ce41058d0f9114ddf1d894891afb985b2a0c21
parent8173dba2229e113052e762b4eda98f8edfdff173
Improve our handling of (C++) references within Clang. Specifically:
  - Do not allow expressions to ever have reference type
  - Extend Expr::isLvalue to handle more cases where having written a
    reference into the source implies that the expression is an lvalue
    (e.g., function calls, C++ casts).
  - Make GRExprEngine::VisitCall treat the call arguments as lvalues when
    they are being bound to a reference parameter.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58306 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Expr.h
include/clang/AST/ExprCXX.h
include/clang/AST/StmtNodes.def
include/clang/Analysis/PathSensitive/GRExprEngine.h
lib/AST/Expr.cpp
lib/Analysis/GRExprEngine.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaExpr.cpp
lib/Sema/SemaExprCXX.cpp