|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] tools/ocaml: abi check: Cope with consecutive relevant enums
commit 8d8db5a4ad267bca663bc1e41dccb53e072d73d2
Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
AuthorDate: Wed Sep 25 16:14:21 2019 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Sep 25 16:14:21 2019 +0200
tools/ocaml: abi check: Cope with consecutive relevant enums
If the end of one enum is the `type' line for the next enum, we would
not notice it.
Fix this by reordering the code, and getting rid of the else: now if
the "we are within an enum" branch decides that it's the end of the
enum, it unsets $ei and we then immediately process the line as a "not
within an enum" line - ie as the start of the next one.
Reported-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx>
---
tools/ocaml/libs/xc/abi-check | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/tools/ocaml/libs/xc/abi-check b/tools/ocaml/libs/xc/abi-check
index d532f37271..3cbdec582f 100755
--- a/tools/ocaml/libs/xc/abi-check
+++ b/tools/ocaml/libs/xc/abi-check
@@ -70,14 +70,7 @@ my $cval;
$ei = undef;
my $bitnum = 0;
while (<OCAML_FILE>) {
- if (!$ei) {
- if (m{^type \s+ (\w+) \s* \= \s* $}x && $enums{$1}) {
- print "// found ocaml type $1 at $o:$.\n" or die $!;
- $ei = $enums{$1};
- $cval = '';
- $bitnum = 0;
- }
- } else {
+ if ($ei) {
if (m{^\s+ \| \s* $ei->{OPrefix} (\w+) \s*$}x) {
$cval = $1;
if ($ei->{Mangle} eq 'lc') {
@@ -104,6 +97,14 @@ while (<OCAML_FILE>) {
die "$_ ?";
}
}
+ if (!$ei) {
+ if (m{^type \s+ (\w+) \s* \= \s* $}x && $enums{$1}) {
+ print "// found ocaml type $1 at $o:$.\n" or die $!;
+ $ei = $enums{$1};
+ $cval = '';
+ $bitnum = 0;
+ }
+ }
}
foreach $ei (values %enums) {
--
generated by git-patchbot for /home/xen/git/xen.git#staging
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |