diff options
-rw-r--r-- | clang/lib/AST/Expr.cpp | 3 | ||||
-rw-r--r-- | clang/test/SemaCXX/overloaded-builtin-operators.cpp | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp index e9d5eb75ea4..2e13352a5ad 100644 --- a/clang/lib/AST/Expr.cpp +++ b/clang/lib/AST/Expr.cpp @@ -168,6 +168,9 @@ unsigned CallExpr::isBuiltinCall() const { if (!FDecl) return 0; + if (!FDecl->getIdentifier()) + return 0; + return FDecl->getIdentifier()->getBuiltinID(); } diff --git a/clang/test/SemaCXX/overloaded-builtin-operators.cpp b/clang/test/SemaCXX/overloaded-builtin-operators.cpp index 41509f96e77..284bdb8d308 100644 --- a/clang/test/SemaCXX/overloaded-builtin-operators.cpp +++ b/clang/test/SemaCXX/overloaded-builtin-operators.cpp @@ -89,14 +89,10 @@ struct ConstIntPtrRef { void test_with_ptrs(VolatileIntPtr vip, ConstIntPtr cip, ShortRef sr, VolatileIntPtrRef vipr, ConstIntPtrRef cipr) { -#if 0 - // FIXME: Enable these tests once we have operator overloading for - // operator[]. const int& cir1 = cip[sr]; const int& cir2 = sr[cip]; volatile int& vir1 = vip[sr]; volatile int& vir2 = sr[vip]; -#endif bool b1 = (vip == cip); long p1 = vip - cip; |