pmatos marked 6 inline comments as done.
pmatos added inline comments.

================
Comment at: clang/lib/Sema/SemaChecking.cpp:6552-6555
+  // The call we get looks like
+  // CallExpr
+  // `- ImplicitCastExpr
+  //   `- DeclRefExpr
----------------
tlively wrote:
> How do these parts correspond to the original source code?
If I understand your question correctly, this is just the semantic checks for 
each of the builtins.


================
Comment at: clang/lib/Sema/SemaChecking.cpp:6564
+  // Prepare FDecl type
+  QualType Pointee = Context.getFunctionType(Context.VoidTy, {}, {});
+  QualType Type = Context.getPointerType(Pointee);
----------------
aaron.ballman wrote:
> Why are you guaranteed this function returns void?
I think this question is not relevant anymore given the current code, right? 
The wasm ref null builtin will always return the null funcref.


================
Comment at: clang/lib/Sema/SemaChecking.cpp:6704-6710
+  // Therefore we need to change the types of the DeclRefExpr (stored in FDecl)
+  // and regenerate a straight up CallExpr on the modified FDecl.
+  // returning
+  // CallExpr
+  // `- FunctionDecl
+
+  // Prepare FDecl type
----------------
aaron.ballman wrote:
> These comments no longer seem to match the code -- nothing creates a 
> `FunctionDecl` here.
Right - fixed.


================
Comment at: clang/lib/Sema/SemaChecking.cpp:6708
+  // CallExpr
+  // `- FunctionDecl
+
----------------
erichkeane wrote:
> All those comments don't really seem relevant here, and are not really 
> correct.  The only thing SemaChecking should do is either modify its 
> arguments (though you don't have any), or set its return type.  
Right, these comments can be removed. I fixed these.


================
Comment at: clang/lib/Sema/SemaType.cpp:7340
+  attr::Kind NewAttrKind = A->getKind();
+  QualType Desugared = Type;
+  const auto *AT = dyn_cast<AttributedType>(Type);
----------------
erichkeane wrote:
> This name seems misleading... should you be desugaring 'Type' to store it in 
> 'Desugared'?
> 
> Also, I see that this value is never used, so why do the copy init?  ALSO, 
> why is it called Desugared, when it never seems to get a Desugared type?  
Bad naming due to earlier code. I have simplified this code now.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D128440

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

Reply via email to