User Details
- User Since
- Feb 1 2022, 4:35 AM (96 w, 3 d)
Jun 16 2023
You could take a look at libbacktrace. The GNU stdlibc++ is using it to generate stacktraces.
Jun 15 2023
What prevents this from a merge? I don't think, that you must implement / support all binary formats to merge this. For now, ELF + DWARF should be enough, right?
Apr 19 2023
Actually, I already wanted to add an enum, controlling this behavior.
But even with an enum, this check should only remove includes in consecutive blocks, which could be relocated (are not split by #defines or a comment)
Or I should add the options to DeduplicateIncludeDirectives: {DID_InSameBlock (default), DID_Never, DID_Allways, DID_OnlyConsecutiveBlocks}
Apr 17 2023
Mar 27 2023
Feb 16 2023
Feb 15 2023
Added requested tests:
- Removed some, not required changes.
- Reverted mapOptional -> mapRequired change, since it might break existing configs
Feb 13 2023
@HazardyKnusperkeks thank you for the review, I would add another option, but I don't know a good name. I would propose a
I've added some elaborations and justifications for the criticized changes.
Feb 12 2023
Feb 10 2023
I think I am done, and you can review it now.
Added priority to the sorting algorithm.
This prevents unwanted splits and weird resorts of groups with the same priority, but with different and overlapping (other groups) SortPriority.
The new system can now be understood as Primary.SecondaryPriority instead of:
Fixed the Unit Tests
- rewritten one test, which made the assumption, that there can be only one main header.
- it now asserts, that all matching headers are considered as main header.
- replaced initialisations of IncludeCategories.SortPriority to zero with the value from IncludeCategories.Priority
- the previous approach to set the SortPriority when it's 0 to Priority, instead of initializing it directly as intended had several drawbacks:
- values of 0 were not possible and resulted in weird behav.
- when a main include was matched by another matcher, it got annother sortpriority than 0.
- the previous approach to set the SortPriority when it's 0 to Priority, instead of initializing it directly as intended had several drawbacks:
Feb 9 2023
Still some issues with SortPriorities.
The following settings (note the SortPriority of '^<.*' == 1) which will produce an extra group for the attached includes:
Jan 15 2023
Jan 11 2023
Jan 7 2023
Jan 2 2023
Nov 28 2022
It is also completely irrelevant, because a new programmer will not understand that const T const * is actually T const* and not T const * const. An experienced programmer can understand it well either way.
not sure I follow the argument here, but surely I also agree that east consts are more readable and fool-proof. it's unfortunate that most of the C++ world is stuck with the west consts.
Applied clang-format QualifierAlignment: Left
Nov 25 2022
Fixed typo
Nov 24 2022
Replaces match clauses with RecursiveASTVisistors
- doubled performance
- fixed also a bug in template spezialisations
Nov 20 2022
Improved fixit suggestion.
- No duplicated replacements.
Removed replacements for macros, since they could be wrong somehow.
Made some helperfunction non-trailing
Nov 19 2022
Nov 18 2022
Nov 15 2022
fixed lamda detection
Nov 14 2022
I have a problem with lambdas capturing by copy implicitly ([=]()...). It seems like, that child nodes are not reachable via a MatchFinder unless they are spelled in source. I actually don't know how to prevent a fix elegantly: My proposed idea is, to check the source location of the capture list for each lambda and check, if the declRefExpr is part of it... . This is bug prone, and possibly slow.
Nov 13 2022
Fixed some false positives:
- no move for no automatic storage duration
- no move for lambda captures
Nov 9 2022
Fixed segfaults due to asserts which were wrongly assumed to be always true
Nov 7 2022
Added some tests. Code cleanup.
Fixed lValueReference detection in matcher
Nov 6 2022
So I finally had time to apply your feedback.
Applied feedback
- replaced some auto types with the actual type
- added IncludeStyle to the options list in the documentation
- Added "Limitations" paragraph, describing known limitations
Nov 2 2022
I applied the rest of your feedback.
There are other usages of auto like auto FoundUsage which is a Usage for example. ~Shall I also replace those obvious cases?~
Applied feedback.
Applied feedback,
Also added the documentation for the second option `BlockedFunctions`
Nov 1 2022
Added documentation
I also have to add the http://clang.llvm.org/extra/clang-tidy/checks/performance-unnecessary-copy-on-last-use.html page, but I don't have any clue how, and where to start.
Feb 26 2022
@salman-javed-nz you're welcome, I only fixed it because I saw the bug in the trace directly. Normally, I would only fix C/C++ stuff :D.
@JonasToth yes, it would be nice, to test this and then push it for me. Also a backport to 14.0 would be good :).
Applied the feedback
Feb 10 2022
I don't think I have commit rights, so someone of you also have to commit this.
Currently, only tested on Windows.
This should also increase performance, since the path is canonicalized only once.
Feb 9 2022
Thank you for the review. I am done and you can commit the patch :) . I don't have the rights to commit.
Last batch of suggested changes
Can I still add a diff, or does this cause a revoke (apply the rest of the feedback)?
Also, is the commit added automatically to the repo, or do I / another one have to rebase it.
Applied feedback
Feb 8 2022
Feb 7 2022
Push, would be nice to see this in the llvm-14 release. I can also do a review for someone else as a favor.
Feb 2 2022
Updated in https://reviews.llvm.org/D118847