summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-03-16 16:58:23 +0300
committerAndrei Karas <akaras@inbox.ru>2016-03-16 16:58:23 +0300
commitd46b9aa882ff04ca43736eb4290cd100e54d2de2 (patch)
tree1181df80f1a2a84e4654173f73cba68ed855f802
parent971e3ef054af935eb2a0b8b11c7fb53a86dd00c7 (diff)
downloadmplint-d46b9aa882ff04ca43736eb4290cd100e54d2de2.tar.gz
mplint-d46b9aa882ff04ca43736eb4290cd100e54d2de2.tar.bz2
mplint-d46b9aa882ff04ca43736eb4290cd100e54d2de2.tar.xz
mplint-d46b9aa882ff04ca43736eb4290cd100e54d2de2.zip
Fix V006 warning if in constructor present attribute A_NONNULL.
-rw-r--r--src/rules/constructor.cpp3
-rw-r--r--tests/testsrc/good/formatting.cpp15
2 files changed, 17 insertions, 1 deletions
diff --git a/src/rules/constructor.cpp b/src/rules/constructor.cpp
index 8777ce1..e1795cb 100644
--- a/src/rules/constructor.cpp
+++ b/src/rules/constructor.cpp
@@ -57,7 +57,8 @@ parseLineRule(constructor)
}
else
{
- if (data.find("(") != std::string::npos)
+ if (data.find("(") != std::string::npos &&
+ data.find("A_NONNULL(") == std::string::npos)
{
align = 0 ;
const size_t sz = data.size();
diff --git a/tests/testsrc/good/formatting.cpp b/tests/testsrc/good/formatting.cpp
index 2819d56..6d4d47a 100644
--- a/tests/testsrc/good/formatting.cpp
+++ b/tests/testsrc/good/formatting.cpp
@@ -49,3 +49,18 @@ struct Test3 final
{
}
}
+
+struct ParticleTimer final
+{
+ ParticleTimer(Particle *const particle0,
+ const int endTime0) A_NONNULL(2) :
+ particle(particle0),
+ endTime(endTime0)
+ {
+ }
+
+ Particle *particle;
+ int endTime;
+ Particle *const particle;
+ const int endTime;
+};