hintonda abandoned this revision.
hintonda added a comment.
This revision is OBE.
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexfh resigned from this revision.
alexfh removed a reviewer: alexfh.
alexfh added a comment.
Cleaning up my Phab dashboard. If http://reviews.llvm.org/D20428 doesn't happen
and we'll have to return to this implementation, please re-add me to the
reviewers.
http://reviews.llvm.org/D18575
hintonda added a comment.
Please see http://reviews.llvm.org/D20693 for an alternative approach.
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
aaron.ballman added a comment.
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
hintonda added a comment.
Actually, this will never work correctly -- in fact, raw lexing will always be
problematic. Consider:
void foo()
#if !__has_feature(cxx_noexcept)
throw(std::bad_alloc)
#endif
{}
In this case we *could* figure out if __has_feature(cxx_noexcept) evaluated to
true
hintonda added a comment.
In http://reviews.llvm.org/D18575#435388, @alexfh wrote:
> Let's wait for http://reviews.llvm.org/D20428
No worries.
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
hintonda updated this revision to Diff 58151.
hintonda added a comment.
Fixed matcher -- added 'unless(isImplicit())'. Thanks to Aaron Ballman for the
suggestion.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
alexfh requested changes to this revision.
alexfh added a comment.
This revision now requires changes to proceed.
Let's wait for http://reviews.llvm.org/D20428
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
hintonda added a comment.
Btw, this version can successfully check libcxx.
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
hintonda updated this revision to Diff 57686.
hintonda added a comment.
Improved matcher logic and add better range handling to try to deal
with multiple asserts concerning bad ranges when running checker again
real code, e.g., libcxx.
Even so, still seeing some asserts in
hintonda updated this revision to Diff 57555.
hintonda added a comment.
- Added another test.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
hintonda updated this revision to Diff 57547.
hintonda added a comment.
- First cut on a simple parser for decls.
Successfully parses all the examples I've been given so far. Please
help me break it.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
alexfh added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:39
@@ +38,3 @@
+
+ // FIXME: Add paren matching so we can parse more complex throw statements,
+ // e.g., (examples provided by Aaron Ballman):
aaron.ballman wrote:
> alexfh
aaron.ballman added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:39
@@ +38,3 @@
+
+ // FIXME: Add paren matching so we can parse more complex throw statements,
+ // e.g., (examples provided by Aaron Ballman):
alexfh wrote:
>
alexfh added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:39
@@ +38,3 @@
+
+ // FIXME: Add paren matching so we can parse more complex throw statements,
+ // e.g., (examples provided by Aaron Ballman):
aaron.ballman wrote:
> alexfh
aaron.ballman added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:39
@@ +38,3 @@
+
+ // FIXME: Add paren matching so we can parse more complex throw statements,
+ // e.g., (examples provided by Aaron Ballman):
alexfh wrote:
> hintonda
alexfh added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:22
@@ +21,3 @@
+namespace {
+
+StringRef makeDynamicExceptionString(const SourceManager ,
It's much more common for LLVM code to use static functions:
hintonda added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:39
@@ +38,3 @@
+
+ // FIXME: Add paren matching so we can parse more complex throw statements,
+ // e.g., (examples provided by Aaron Ballman):
aaron.ballman wrote:
> @alexfh,
aaron.ballman added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:39
@@ +38,3 @@
+
+ // FIXME: Add paren matching so we can parse more complex throw statements,
+ // e.g., (examples provided by Aaron Ballman):
@alexfh, what are your
hintonda updated this revision to Diff 57432.
hintonda added a comment.
- Address additional comments.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
aaron.ballman added inline comments.
Comment at: test/clang-tidy/modernize-use-noexcept-macro.cpp:11
@@ +10,3 @@
+
+// Should not trigger a FixItHint
+class A {};
hintonda wrote:
> aaron.ballman wrote:
> > I may have missed some context in the discussion, but why
hintonda added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:46
@@ +45,3 @@
+ const SmallVector ) {
+ // Find throw token -- it's a keyword, so there can't be more than one.
Also,
+ // it should be near the end of the
aaron.ballman added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:21
@@ +20,3 @@
+
+static StringRef
+makeDynamicExceptionString(const SourceManager ,
hintonda wrote:
> aaron.ballman wrote:
> > Instead of a bunch of static functions,
hintonda added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:21
@@ +20,3 @@
+
+static StringRef
+makeDynamicExceptionString(const SourceManager ,
aaron.ballman wrote:
> Instead of a bunch of static functions, would an unnamed namespace
aaron.ballman added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:21
@@ +20,3 @@
+
+static StringRef
+makeDynamicExceptionString(const SourceManager ,
Instead of a bunch of static functions, would an unnamed namespace make more
sense?
hintonda updated this revision to Diff 57357.
hintonda added a comment.
- Revert back to previous version of the matcher and use Aaron's syntax with
allOf and unless to achieve the same results -- much simpler.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
hintonda updated this revision to Diff 57315.
hintonda added a comment.
- Fix some function names.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
etienneb added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:22
@@ +21,3 @@
+static StringRef
+MakeDynamicExceptionString(const SourceManager ,
+ const CharSourceRange ) {
coding style:
MakeDynamicExceptionString
hintonda added a comment.
I think this is now ready for review.
Thanks again for your patience...
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
hintonda updated this revision to Diff 57305.
hintonda added a comment.
- A bit more refactoring and cleanup.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
hintonda updated this revision to Diff 57301.
hintonda added a comment.
- Added asserts for indexes into Tokens array.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
hintonda updated this revision to Diff 57299.
hintonda added a comment.
- Make helper functions static.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
hintonda updated this revision to Diff 57298.
hintonda added a comment.
- Complete refactor
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
hintonda added a comment.
I agree -- things got messy.
I'm in the process of completely refactoring the whole thing -- including the
ast matchers that I'll checkin later today. Thanks for your patience.
http://reviews.llvm.org/D18575
___
alexfh requested changes to this revision.
This revision now requires changes to proceed.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:37
@@ +36,3 @@
+bool UseNoexceptCheck::checkHelper(const MatchFinder::MatchResult ,
+ const
hintonda added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.h:44-45
@@ +43,4 @@
+ unsigned );
+ const std::string ReplacementStr;
+ StringRef Replacement;
+};
aaron.ballman wrote:
> What is the difference between these
aaron.ballman added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.h:44-45
@@ +43,4 @@
+ unsigned );
+ const std::string ReplacementStr;
+ StringRef Replacement;
+};
What is the difference between these two fields? The
hintonda added inline comments.
Comment at: clang-tidy/utils/LexerUtils.cpp:38
@@ -37,1 +37,3 @@
+SmallVector ParseTokens(const ASTContext ,
+ const SourceManager ,
I regenerated the diff -- the last few arc diff
hintonda updated this revision to Diff 57103.
hintonda added a comment.
Regenerated diff to make sure I pick up all changed files.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
hintonda added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:99
@@ +98,3 @@
+ if (Tok.is(tok::l_paren)) {
+Tok = getPreviousNonCommentToken(Context, Tok.getLocation());
+found = std::string(GetText(Tok, SM)) + "(true)";
etienneb added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:98
@@ +97,3 @@
+ const auto *FuncDecl = Result.Nodes.getNodeAs("functionDecl");
+ if (!FuncDecl)
+return;
I'm not saying to use 'const *FuncDecl', but 'const auto*'
hintonda added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:97
@@ +96,3 @@
+void UseNoexceptCheck::check(const MatchFinder::MatchResult ) {
+ auto FuncDecl = Result.Nodes.getNodeAs("functionDecl");
+ if (!FuncDecl)
etienneb wrote:
>
hintonda updated this revision to Diff 57097.
hintonda added a comment.
- Addressed a few comments for clarity/readability.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
etienneb added a subscriber: etienneb.
etienneb added a comment.
drive by
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:40
@@ +39,3 @@
+ unsigned ) {
+ SourceManager = *Result.SourceManager;
+ const ASTContext = *Result.Context;
hintonda added inline comments.
Comment at: docs/clang-tidy/checks/modernize-use-noexcept.rst:50
@@ +49,2 @@
+
+if the :option:`ReplacementString` option is set to `NOEXCEPT`.
I'll get it eventually... ;-)
http://reviews.llvm.org/D18575
hintonda updated this revision to Diff 57080.
hintonda added a comment.
- Add :option: prefix for clarity.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
Eugene.Zelenko added inline comments.
Comment at: docs/clang-tidy/checks/modernize-use-noexcept.rst:50
@@ +49,2 @@
+
+if the `ReplacementString` option is set to `NOEXCEPT`.
Actually :option: still need to prepend `ReplacementString`.
hintonda updated this revision to Diff 57078.
hintonda added a comment.
- Fix quote problem in docs.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
hintonda added inline comments.
Comment at: docs/clang-tidy/checks/modernize-use-noexcept.rst:32
@@ +31,3 @@
+``noexcept(false)``. Additinally, users can also use
+:option:``ReplacementString`` to specify a macro to use instead of
+``noexcept``. This is useful when maintaining
Eugene.Zelenko added inline comments.
Comment at: docs/clang-tidy/checks/modernize-use-noexcept.rst:32
@@ +31,3 @@
+``noexcept(false)``. Additinally, users can also use
+:option:``ReplacementString`` to specify a macro to use instead of
+``noexcept``. This is useful when
hintonda added inline comments.
Comment at: docs/clang-tidy/checks/modernize-use-noexcept.rst:32
@@ +31,3 @@
+``noexcept(false)``. Additinally, users can also use
+:option:``ReplacementString`` to specify a macro to use instead of
+``noexcept``. This is useful when maintaining
Eugene.Zelenko added inline comments.
Comment at: docs/clang-tidy/checks/modernize-use-noexcept.rst:32
@@ +31,3 @@
+``noexcept(false)``. Additinally, users can also use
+:option:``ReplacementString`` to specify a macro to use instead of
+``noexcept``. This is useful when
hintonda updated this revision to Diff 57070.
hintonda added a comment.
- Added 's around keywords in docs.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
Eugene.Zelenko added inline comments.
Comment at: docs/ReleaseNotes.rst:197
@@ +196,3 @@
+
+ Replaces dynamic exception specifications with noexcept.
+
Please highlight noexcept with ``.
Comment at:
hintonda updated this revision to Diff 57065.
hintonda added a comment.
- Renamed private helper method
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
hintonda added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:36
@@ +35,3 @@
+
+bool UseNoexceptCheck::helper(const MatchFinder::MatchResult ,
+ const SourceRange ,
alexfh wrote:
> The name "helper" doesn't say
alexfh requested changes to this revision.
This revision now requires changes to proceed.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:36
@@ +35,3 @@
+
+bool UseNoexceptCheck::helper(const MatchFinder::MatchResult ,
+ const SourceRange ,
hintonda updated this revision to Diff 56984.
hintonda added a comment.
Created helper function and moved most logic there. Also address a
few comments.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
alexfh requested changes to this revision.
This revision now requires changes to proceed.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:39
@@ +38,3 @@
+
+ const FunctionDecl *FuncDecl =
+ Result.Nodes.getNodeAs("functionDecl");
s/FunctionDecl/auto/
hintonda updated this revision to Diff 56521.
hintonda added a comment.
- Fix typo in docs.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
hintonda updated this revision to Diff 56511.
hintonda added a comment.
Addressed additional comments.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
alexfh requested changes to this revision.
This revision now requires changes to proceed.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:18
@@ +17,3 @@
+
+// FIXME: Move to ASTMatchers.h on acceptance.
+namespace ast_matchers {
Please send a separate patch
hintonda marked 9 inline comments as done.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:62
@@ +61,3 @@
+
+ const FunctionDecl *FuncDecl =
+ Result.Nodes.getNodeAs("functionDecl");
Still need to fix the call in UseOverrideCheck.cpp, but will wait
hintonda updated this revision to Diff 54022.
hintonda added a comment.
Addressed most comments.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
hintonda added a comment.
I moved over the weekend, but will try to take a look at this tonight and
address all your comments. Thanks again...
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
aaron.ballman added inline comments.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:16
@@ +15,3 @@
+
+// FIXME: Should this be moved to ASTMatchers.h?
+namespace ast_matchers {
alexfh wrote:
> Yes, it might make sense to move it to ASTMatchers.h.
Yes,
alexfh requested changes to this revision.
This revision now requires changes to proceed.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:16
@@ +15,3 @@
+
+// FIXME: Should this be moved to ASTMatchers.h?
+namespace ast_matchers {
Yes, it might make sense
hintonda added a comment.
Addressed comments and believe it's ready for review.
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
hintonda marked 8 inline comments as done.
hintonda added a comment.
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
hintonda updated this revision to Diff 52322.
hintonda added a comment.
Address comments and refactor.
http://reviews.llvm.org/D18575
Files:
clang-tidy/modernize/CMakeLists.txt
clang-tidy/modernize/ModernizeTidyModule.cpp
clang-tidy/modernize/UseNoexceptCheck.cpp
hintonda added a comment.
Sounds like a good idea. I'll add the additional transformations you mentioned
and remove s/noexcept(true)/noexcept/.
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:24
@@ +23,3 @@
+ char delimiter) {
+
Eugene.Zelenko added a comment.
It's much better to add information in release notes in same patch as check
itself. See also http://reviews.llvm.org/D18509 for related add_new_check.py
improvement.
http://reviews.llvm.org/D18575
___
cfe-commits
aaron.ballman added a subscriber: aaron.ballman.
aaron.ballman added a reviewer: aaron.ballman.
aaron.ballman added a comment.
I *really* like this as a modernize check, especially since (throwing) dynamic
exception specifications may be removed in C++1z. However, I think this check
doesn't do
hintonda added a comment.
Will do, but that will have to be done in it's own patch.
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Eugene.Zelenko added a subscriber: Eugene.Zelenko.
Eugene.Zelenko added a comment.
Please add information about this check in docs/ReleaseNotes.rst.
http://reviews.llvm.org/D18575
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
hintonda created this revision.
hintonda added a reviewer: alexfh.
hintonda added a subscriber: cfe-commits.
This checker allows users to replace deprecated throw()
specifications with noexcept.
It also allows users to replace an arbitrary list of macros with
either noexcept or a user defined
76 matches
Mail list logo