Codesbyusman added inline comments.

================
Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:63
 def warn_infinite_recursive_function : Warning<
-  "all paths through this function will call itself">,
+  "In order to understand recursion, you must first understand recursion">,
   InGroup<InfiniteRecursion>, DefaultIgnore;
----------------
aaron.ballman wrote:
> erichkeane wrote:
> > aaron.ballman wrote:
> > > A few things:
> > > 
> > > * Diagnostics in Clang are not intended to be grammatically correct, so 
> > > they don't start with a capital letter or end with a trailing full stop 
> > > (so if this wording was kept, you should use `in order` instead of `In 
> > > order`).
> > > * While this is a cute way to get the point across, we want the 
> > > diagnostic to help guide the user as to why their code is wrong so they 
> > > have the best chance to fix the issue.
> > > 
> > > I think the original wording isn't too bad here because it's lexically 
> > > associated with the function definition itself (so the "this function" is 
> > > clear in situ), but I do think "will call itself" is a bit awkward. 
> > > Perhaps "this function is called recursively on all paths through the 
> > > function", but I don't feel strongly either.
> > I like the suggestion by Aaron here, "function %0 is called recursively 
> > through all paths through %0" (or the function).  Perhaps the double %0 is 
> > a touch of a recursion joke as well :) 
> TBH, I'd probably skip the %0 because the warning is issued on the same line 
> as the function definition itself, so the name should already be obvious to 
> the user.
> 
> This diagnostic doesn't currently handle mutually recursive functions, and I 
> kind of worry that adding %0 implies we support that case when we don't.
**"this function is called recursively on all paths through the function"**  is 
good. what you say which will be more better as the  **"all paths through this 
function will call itself"**  is also ok. 


================
Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:63
 def warn_infinite_recursive_function : Warning<
-  "all paths through this function will call itself">,
+  "In order to understand recursion, you must first understand recursion">,
   InGroup<InfiniteRecursion>, DefaultIgnore;
----------------
Codesbyusman wrote:
> aaron.ballman wrote:
> > erichkeane wrote:
> > > aaron.ballman wrote:
> > > > A few things:
> > > > 
> > > > * Diagnostics in Clang are not intended to be grammatically correct, so 
> > > > they don't start with a capital letter or end with a trailing full stop 
> > > > (so if this wording was kept, you should use `in order` instead of `In 
> > > > order`).
> > > > * While this is a cute way to get the point across, we want the 
> > > > diagnostic to help guide the user as to why their code is wrong so they 
> > > > have the best chance to fix the issue.
> > > > 
> > > > I think the original wording isn't too bad here because it's lexically 
> > > > associated with the function definition itself (so the "this function" 
> > > > is clear in situ), but I do think "will call itself" is a bit awkward. 
> > > > Perhaps "this function is called recursively on all paths through the 
> > > > function", but I don't feel strongly either.
> > > I like the suggestion by Aaron here, "function %0 is called recursively 
> > > through all paths through %0" (or the function).  Perhaps the double %0 
> > > is a touch of a recursion joke as well :) 
> > TBH, I'd probably skip the %0 because the warning is issued on the same 
> > line as the function definition itself, so the name should already be 
> > obvious to the user.
> > 
> > This diagnostic doesn't currently handle mutually recursive functions, and 
> > I kind of worry that adding %0 implies we support that case when we don't.
> **"this function is called recursively on all paths through the function"**  
> is good. what you say which will be more better as the  **"all paths through 
> this function will call itself"**  is also ok. 
if i am not wrong it is indicating the infinite recursion as no base case. can 
we prompt user in some a decent manner that the base case is missing. i.e. 
including some phrase in **"this function is called recursively on all paths 
through the function"** that shows base case was missing or this would be a bad 
idea? any suggestions.


================
Comment at: clang/test/SemaCXX/warn-infinite-recursion.cpp:11
   else
-    b(x+1);
+    b(x + 1);
 }
----------------
aaron.ballman wrote:
> It looks like you formatted the whole file -- we typically try to have the 
> only changes in the patch be specifically about the changes driving the 
> patch, instead of mixing several fixes together into one patch. While it 
> seems a bit less efficient than it could be, having a clean separation eases 
> maintenance burdens for us. If we need to revert a patch for some reason, we 
> don't lose potentially good changes along with the bad ones. But also, it 
> makes it more clear if we need to do a git-blame as to why changes were 
> introduced.
> 
> You should revert the formatting-specific changes in the file so that the 
> only differences are the functional ones.
my bad, didn't notice,  on save formatter was enabled. I will revert it. By the 
way nice advice. Thank you


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D127759

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

Reply via email to