lebedev.ri added inline comments.
================ Comment at: clang-tools-extra/test/clang-tidy/checkers/misc-no-recursion.cpp:153 +// CHECK-NOTES: :[[@LINE-7]]:3: note: Frame #1: function 'boo' calls function 'bar' here: +// CHECK-NOTES: :[[@LINE-14]]:18: note: Frame #2: function 'bar' calls function 'boo' here: +// CHECK-NOTES: :[[@LINE-15]]:18: note: ... which was the starting point of this call graph ---------------- NoQ wrote: > Aha, yeah, the warning is present, i guess that part is correct, but look how > your note `function 'bar' calls function 'boo' here:` doesn't really point > into the body of 'bar'. In this case it still makes sense because it's easy > to see that 'foo' is called from 'bar', but the chain of default arguments > may be arbitrarily long (what if 'boo' has yet another default argument?). > You might want to add a separate facility just to handle this edge case. To make this more readable, the diag is: ``` /builddirs/llvm-project/build-Clang9-unknown/tools/clang/tools/extra/test/clang-tidy/checkers/Output/misc-no-recursion.cpp.tmp.cpp:138:5: warning: function 'boo' is part of call graph loop [misc-no-recursion] int boo(); ^ /builddirs/llvm-project/build-Clang9-unknown/tools/clang/tools/extra/test/clang-tidy/checkers/Output/misc-no-recursion.cpp.tmp.cpp:140:6: warning: function 'bar' is part of call graph loop [misc-no-recursion] void bar() { ^ /builddirs/llvm-project/build-Clang9-unknown/tools/clang/tools/extra/test/clang-tidy/checkers/Output/misc-no-recursion.cpp.tmp.cpp:138:5: note: Example call graph loop, starting from function 'boo' int boo(); ^ /builddirs/llvm-project/build-Clang9-unknown/tools/clang/tools/extra/test/clang-tidy/checkers/Output/misc-no-recursion.cpp.tmp.cpp:145:3: note: Frame #1: function 'boo' calls function 'bar' here: bar(); ^ /builddirs/llvm-project/build-Clang9-unknown/tools/clang/tools/extra/test/clang-tidy/checkers/Output/misc-no-recursion.cpp.tmp.cpp:139:18: note: Frame #2: function 'bar' calls function 'boo' here: void foo(int x = boo()) {} ^ ``` Am i looking at this wrong, or all the info is present? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72362/new/ https://reviews.llvm.org/D72362 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits