aaron.ballman added inline comments.

================
Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:240
+    return Initializing ? this->visitInitializer(SubExpr)
+                        : this->visit(SubExpr);
 
----------------
tbaeder wrote:
> This pattern shows up a few times, so it might make sense to add a function 
> that simply passes on all the flags and doesn't do anything else. I'm just 
> not sure what to call it.
It's not clear to me when you should use this pattern to begin with.


================
Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:2090
+      assert(Initializing);
+      if (!isa<CXXMemberCallExpr>(E)) {
+        if (!this->emitDupPtr(E))
----------------
And if it is a member call expression?


================
Comment at: clang/lib/AST/Interp/ByteCodeExprGen.h:142
   }
-
-  /// Evaluates an expression for side effects and discards the result.
-  bool discard(const Expr *E);
-  /// Evaluates an expression and places result on stack.
+  /// Evaluates an expression and places result on stack. If the
+  /// expression is of composite type, a local variable will be created
----------------



================
Comment at: clang/lib/AST/Interp/ByteCodeExprGen.h:146
   bool visit(const Expr *E);
-  /// Compiles an initializer.
+  /// Compiles an initializer This is like visit() but it will never
+  /// create a variable and instead rely on a variable already having
----------------



================
Comment at: clang/lib/AST/Interp/Context.cpp:131
   if (T->isFunctionPointerType() || T->isFunctionReferenceType() ||
-      T->isFunctionType())
+      T->isFunctionType() || 
T->isSpecificBuiltinType(BuiltinType::BoundMember))
     return PT_FnPtr;
----------------
tbaeder wrote:
> I've removed this change in https://reviews.llvm.org/D144164 since it didn't  
> seem necessary, but it //is// necessary after applying this patch.
Which test case exercises this bit?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D156027/new/

https://reviews.llvm.org/D156027

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to