* [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix
@ 2018-03-16 2:58 Su Hang
2018-03-16 6:15 ` Fam Zheng
0 siblings, 1 reply; 7+ messages in thread
From: Su Hang @ 2018-03-16 2:58 UTC (permalink / raw)
To: peter.maydell, eblake, vsementsov; +Cc: qemu-devel
checkpatch.pl stops complaining about following pattern:
"""
do {
//do somethins;
} while (conditions);
"""
One things need to be mentioned:
Becasue `if`, `while` and `for` check have been done in this
`if` block(Line: 2356), and this block contains following statement:
""" Line: 2379
$suppress_ifbraces{$ln + $offset} = 1;
"""
So the behind block may never run:
""" Line: 2415
if (!defined $suppress_ifbraces{$linenr - 1} &&
$line =~ /\b(if|while|for|else)\b/ &&
$line !~ /\#\s*if/ &&
$line !~ /\#\s*else/) {
"""
I'm not sure, please give me some advice.
(Sorry, I don't know this patch should base on which commit,
so I generate this patch based on
commit:fb8446d94ec7a3dc0c3a7e7da672406476f075ac,
I choose this by `git log -2 scripts/checkpath.pl`.
Sincerely say sorry, if I have misunderstand any meaning.)
Signed-off-by: Su Hang <suhang16@mails.ucas.ac.cn>
---
scripts/checkpatch.pl | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a88af61ed4ee..d6f0747ba20a 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2352,8 +2352,22 @@ sub process {
}
}
-# check for missing bracing round if etc
- if ($line =~ /(^.*)\bif\b/ && $line !~ /\#\s*if/) {
+# check for missing bracing around if etc
+ if ($line =~ /(^.*)\b(?:if|while|for)\b/ &&
+ $line !~ /\#\s*if/) {
+ my $allowed = 0;
+
+ # Check the pre-context.
+ if ($line =~ /(\}.*?)$/) {
+ my $pre = $1;
+
+ if ($line !~ /else/) {
+ print "APW: ALLOWED: pre<$pre> line<$line>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ }
+
my ($level, $endln, @chunks) =
ctx_statement_full($linenr, $realcnt, 1);
if ($dbg_adv_apw) {
@@ -2362,7 +2376,6 @@ sub process {
if $#chunks >= 1;
}
if ($#chunks >= 0 && $level == 0) {
- my $allowed = 0;
my $seen = 0;
my $herectx = $here . "\n";
my $ln = $linenr - 1;
@@ -2406,7 +2419,7 @@ sub process {
$allowed = 1;
}
}
- if ($seen != ($#chunks + 1)) {
+ if ($seen != ($#chunks + 1) && !$allowed) {
ERROR("braces {} are necessary for all arms of this statement\n" . $herectx);
}
}
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix
2018-03-16 2:58 [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix Su Hang
@ 2018-03-16 6:15 ` Fam Zheng
2018-03-16 6:31 ` Su Hang
0 siblings, 1 reply; 7+ messages in thread
From: Fam Zheng @ 2018-03-16 6:15 UTC (permalink / raw)
To: Su Hang; +Cc: peter.maydell, eblake, vsementsov, qemu-devel
On Fri, 03/16 10:58, Su Hang wrote:
> (Sorry, I don't know this patch should base on which commit,
> so I generate this patch based on
> commit:fb8446d94ec7a3dc0c3a7e7da672406476f075ac,
> I choose this by `git log -2 scripts/checkpath.pl`.
> Sincerely say sorry, if I have misunderstand any meaning.)
This should base on master. Basing on an older commit will only make it hard for
maintainers to apply it.
(Don't be sorry at all, thank you for spending your time improving QEMU!)
Fam
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix
2018-03-16 6:15 ` Fam Zheng
@ 2018-03-16 6:31 ` Su Hang
2018-03-16 7:08 ` Fam Zheng
0 siblings, 1 reply; 7+ messages in thread
From: Su Hang @ 2018-03-16 6:31 UTC (permalink / raw)
To: fam zheng; +Cc: peter.maydell, eblake, vsementsov, qemu-devel
Because I generate my first patch on master, it should work.
I have a little trouble understanding what Mr.Peter wants me to do,
would you please spare a little of your time and have a look at it?
It will help me. Please...
Su Hang
> -----Original Messages-----
> From: "Fam Zheng" <famz@redhat.com>
> Sent Time: 2018-03-16 14:15:20 (Friday)
> To: "Su Hang" <suhang16@mails.ucas.ac.cn>
> Cc: peter.maydell@linaro.org, eblake@redhat.com, vsementsov@virtuozzo.com, qemu-devel@nongnu.org
> Subject: Re: [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix
>
> On Fri, 03/16 10:58, Su Hang wrote:
> > (Sorry, I don't know this patch should base on which commit,
> > so I generate this patch based on
> > commit:fb8446d94ec7a3dc0c3a7e7da672406476f075ac,
> > I choose this by `git log -2 scripts/checkpath.pl`.
> > Sincerely say sorry, if I have misunderstand any meaning.)
>
> This should base on master. Basing on an older commit will only make it hard for
> maintainers to apply it.
>
> (Don't be sorry at all, thank you for spending your time improving QEMU!)
>
> Fam
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix
2018-03-16 6:31 ` Su Hang
@ 2018-03-16 7:08 ` Fam Zheng
2018-03-16 7:13 ` Su Hang
0 siblings, 1 reply; 7+ messages in thread
From: Fam Zheng @ 2018-03-16 7:08 UTC (permalink / raw)
To: Su Hang; +Cc: peter.maydell, vsementsov, qemu-devel
On Fri, 03/16 14:31, Su Hang wrote:
> Because I generate my first patch on master, it should work.
Nope. "git am" doesn't know to resolve the conflict automatically despite it
being straightforward, unfortunately:
http://patchew.org/QEMU/1521169105-32041-1-git-send-email-suhang16@mails.ucas.ac.cn/
Fam
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix
2018-03-16 7:08 ` Fam Zheng
@ 2018-03-16 7:13 ` Su Hang
0 siblings, 0 replies; 7+ messages in thread
From: Su Hang @ 2018-03-16 7:13 UTC (permalink / raw)
To: fam zheng; +Cc: peter.maydell, vsementsov, qemu-devel
Thanks for your reply!
I'm glad to understand where problem lies.
Su Hang
> -----Original Messages-----
> From: "Fam Zheng" <famz@redhat.com>
> Sent Time: 2018-03-16 15:08:19 (Friday)
> To: "Su Hang" <suhang16@mails.ucas.ac.cn>
> Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, qemu-devel@nongnu.org
> Subject: Re: [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix
>
> On Fri, 03/16 14:31, Su Hang wrote:
> > Because I generate my first patch on master, it should work.
>
> Nope. "git am" doesn't know to resolve the conflict automatically despite it
> being straightforward, unfortunately:
>
> http://patchew.org/QEMU/1521169105-32041-1-git-send-email-suhang16@mails.ucas.ac.cn/
>
> Fam
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 0/2 RFC] Implement Hex file loader and add test case
@ 2018-04-03 15:17 Su Hang
2018-04-03 15:17 ` [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix Su Hang
0 siblings, 1 reply; 7+ messages in thread
From: Su Hang @ 2018-04-03 15:17 UTC (permalink / raw)
To: stefanha, jim, joel, qemu-devel
These series of patchs implement Intel Hexadecimal File loader and
add QTest testcase to verify the correctness of Loader.
Su Hang (2):
Implement .hex file loader
Add QTest testcase for the Intel Hexadecimal Object File Loader.
hw/arm/boot.c | 9 +-
hw/core/loader.c | 280 +++++++++++++++++++++++++++++++++++++++++++++++++
include/hw/loader.h | 17 +++
tests/Makefile.include | 2 +
tests/hexloader-test.c | 56 ++++++++++
tests/test.hex | 11 ++
6 files changed, 374 insertions(+), 1 deletion(-)
create mode 100644 tests/hexloader-test.c
create mode 100644 tests/test.hex
--
2.7.4
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix
2018-04-03 15:17 [Qemu-devel] [PATCH 0/2 RFC] Implement Hex file loader and add test case Su Hang
@ 2018-04-03 15:17 ` Su Hang
2018-04-03 15:29 ` Su Hang
0 siblings, 1 reply; 7+ messages in thread
From: Su Hang @ 2018-04-03 15:17 UTC (permalink / raw)
To: stefanha, jim, joel, qemu-devel
checkpatch.pl stops complaining about following pattern:
"""
do {
//do somethins;
} while (conditions);
"""
One things need to be mentioned:
Becasue `if`, `while` and `for` check have been done in this
`if` block(Line: 2356), and this block contains following statement:
""" Line: 2379
$suppress_ifbraces{$ln + $offset} = 1;
"""
So the behind block may never run:
""" Line: 2415
if (!defined $suppress_ifbraces{$linenr - 1} &&
$line =~ /\b(if|while|for|else)\b/ &&
$line !~ /\#\s*if/ &&
$line !~ /\#\s*else/) {
"""
I'm not sure, please give me some advice.
(Sorry, I don't know this patch should base on which commit,
so I generate this patch based on
commit:fb8446d94ec7a3dc0c3a7e7da672406476f075ac,
I choose this by `git log -2 scripts/checkpath.pl`.
Sincerely say sorry, if I have misunderstand any meaning.)
Signed-off-by: Su Hang <suhang16@mails.ucas.ac.cn>
---
scripts/checkpatch.pl | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a88af61ed4ee..d6f0747ba20a 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2352,8 +2352,22 @@ sub process {
}
}
-# check for missing bracing round if etc
- if ($line =~ /(^.*)\bif\b/ && $line !~ /\#\s*if/) {
+# check for missing bracing around if etc
+ if ($line =~ /(^.*)\b(?:if|while|for)\b/ &&
+ $line !~ /\#\s*if/) {
+ my $allowed = 0;
+
+ # Check the pre-context.
+ if ($line =~ /(\}.*?)$/) {
+ my $pre = $1;
+
+ if ($line !~ /else/) {
+ print "APW: ALLOWED: pre<$pre> line<$line>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ }
+
my ($level, $endln, @chunks) =
ctx_statement_full($linenr, $realcnt, 1);
if ($dbg_adv_apw) {
@@ -2362,7 +2376,6 @@ sub process {
if $#chunks >= 1;
}
if ($#chunks >= 0 && $level == 0) {
- my $allowed = 0;
my $seen = 0;
my $herectx = $here . "\n";
my $ln = $linenr - 1;
@@ -2406,7 +2419,7 @@ sub process {
$allowed = 1;
}
}
- if ($seen != ($#chunks + 1)) {
+ if ($seen != ($#chunks + 1) && !$allowed) {
ERROR("braces {} are necessary for all arms of this statement\n" . $herectx);
}
}
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix
2018-04-03 15:17 ` [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix Su Hang
@ 2018-04-03 15:29 ` Su Hang
0 siblings, 0 replies; 7+ messages in thread
From: Su Hang @ 2018-04-03 15:29 UTC (permalink / raw)
To: stefanha, jim, joel, qemu-devel
Please ignore this email, this patch was accidentally sent.
"Su Hang" <suhang16@mails.ucas.ac.cn>wrote:
> checkpatch.pl stops complaining about following pattern:
> """
> do {
> //do somethins;
> } while (conditions);
> """
>
> One things need to be mentioned:
> Becasue `if`, `while` and `for` check have been done in this
> `if` block(Line: 2356), and this block contains following statement:
> """ Line: 2379
> $suppress_ifbraces{$ln + $offset} = 1;
> """
> So the behind block may never run:
> """ Line: 2415
> if (!defined $suppress_ifbraces{$linenr - 1} &&
> $line =~ /\b(if|while|for|else)\b/ &&
> $line !~ /\#\s*if/ &&
> $line !~ /\#\s*else/) {
> """
> I'm not sure, please give me some advice.
>
> (Sorry, I don't know this patch should base on which commit,
> so I generate this patch based on
> commit:fb8446d94ec7a3dc0c3a7e7da672406476f075ac,
> I choose this by `git log -2 scripts/checkpath.pl`.
> Sincerely say sorry, if I have misunderstand any meaning.)
>
> Signed-off-by: Su Hang <suhang16@mails.ucas.ac.cn>
> ---
> scripts/checkpatch.pl | 21 +++++++++++++++++----
> 1 file changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index a88af61ed4ee..d6f0747ba20a 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2352,8 +2352,22 @@ sub process {
> }
> }
>
> -# check for missing bracing round if etc
> - if ($line =~ /(^.*)\bif\b/ && $line !~ /\#\s*if/) {
> +# check for missing bracing around if etc
> + if ($line =~ /(^.*)\b(?:if|while|for)\b/ &&
> + $line !~ /\#\s*if/) {
> + my $allowed = 0;
> +
> + # Check the pre-context.
> + if ($line =~ /(\}.*?)$/) {
> + my $pre = $1;
> +
> + if ($line !~ /else/) {
> + print "APW: ALLOWED: pre<$pre> line<$line>\n"
> + if $dbg_adv_apw;
> + $allowed = 1;
> + }
> + }
> +
> my ($level, $endln, @chunks) =
> ctx_statement_full($linenr, $realcnt, 1);
> if ($dbg_adv_apw) {
> @@ -2362,7 +2376,6 @@ sub process {
> if $#chunks >= 1;
> }
> if ($#chunks >= 0 && $level == 0) {
> - my $allowed = 0;
> my $seen = 0;
> my $herectx = $here . "\n";
> my $ln = $linenr - 1;
> @@ -2406,7 +2419,7 @@ sub process {
> $allowed = 1;
> }
> }
> - if ($seen != ($#chunks + 1)) {
> + if ($seen != ($#chunks + 1) && !$allowed) {
> ERROR("braces {} are necessary for all arms of this statement\n" . $herectx);
> }
> }
> --
> 2.7.4
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-04-03 15:29 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-16 2:58 [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix Su Hang
2018-03-16 6:15 ` Fam Zheng
2018-03-16 6:31 ` Su Hang
2018-03-16 7:08 ` Fam Zheng
2018-03-16 7:13 ` Su Hang
2018-04-03 15:17 [Qemu-devel] [PATCH 0/2 RFC] Implement Hex file loader and add test case Su Hang
2018-04-03 15:17 ` [Qemu-devel] [PATCH v2] scripts/checkpatch.pl: Bug fix Su Hang
2018-04-03 15:29 ` Su Hang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.