aaron.ballman added inline comments.
================
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:6356-6357
+ : Warning<
+ "%0 has a non-throwing exception specification but can " "still "
+ "throw">,
+ InGroup<Exceptions>;
----------------
The formatting here is quite strange, especially the string concat.
================
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:6359
+ InGroup<Exceptions>;
+def note_throw_in_dtor : Note<"%select{destructor|deallocator}0 has a "
+ "%select{non-throwing|implicit "
----------------
Formatting here is also a bit off (see other examples in the file for how we
usually format diagnostics).
================
Comment at: lib/Sema/AnalysisBasedWarnings.cpp:403
+ FD->getDeclName().getCXXOverloadedOperator() == OO_Array_Delete)) {
+ // No point to emit diagnoistic for no-user declared function.
+ if (FD->getTypeSourceInfo()) {
----------------
Typo "diagnoistic", but the comment doesn't appear to match the code.
================
Comment at: lib/Sema/AnalysisBasedWarnings.cpp:404-406
+ if (FD->getTypeSourceInfo()) {
+ const auto *Ty =
+ FD->getTypeSourceInfo()->getType()->getAs<FunctionProtoType>();
----------------
I think a more clear way to write this might be:
```
if (const auto *Ty = FD->getType()->getAs<FunctionProtoType>()) {
// ...
}
```
There's no need to go through the type source infor to get the function's
prototype.
================
Comment at: lib/Sema/AnalysisBasedWarnings.cpp:414
+ S.Diag(FD->getLocation(), diag::note_throw_in_function)
+ << FD->getExceptionSpecSourceRange();
}
----------------
In the event `FD->getTypeSourceInfo()` returns null,
`getExceptionSpecSourceRange()` will return an empty source range.
Repository:
rL LLVM
https://reviews.llvm.org/D34671
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits