[Linux-kernel-mentees] [PATCH 20/23] engine: cocci_vs_c: Match Parameter attributes
Jaskaran Singh
jaskaransingh7654321 at gmail.com
Mon Apr 27 12:08:31 UTC 2020
Parameter attributes are added to the C and SmPL AST. Match the
attributes correctly in cocci_vs_c.ml.
Signed-off-by: Jaskaran Singh <jaskaransingh7654321 at gmail.com>
---
engine/cocci_vs_c.ml | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/engine/cocci_vs_c.ml b/engine/cocci_vs_c.ml
index 317fa71e..66cb104a 100644
--- a/engine/cocci_vs_c.ml
+++ b/engine/cocci_vs_c.ml
@@ -2112,14 +2112,14 @@ and parameters_bis eas ebs =
let special_cases ea eas ebs =
(* a case where one smpl parameter matches a list of C parameters *)
match A.unwrap ea,ebs with
- A.VoidParam ta, ys ->
+ A.VoidParam (ta, attrsa), ys ->
Some
(match eas, ebs with
| [], [Left eb] ->
let {B.p_register=(hasreg,iihasreg);
p_namei = idbopt;
p_type=tb;
- p_attr=attrs; } = eb in
+ p_attr=attrsb; } = eb in
let attr_allminus =
check_allminus.Visitor_ast.combiner_parameter ea in
@@ -2128,10 +2128,10 @@ and parameters_bis eas ebs =
match tb with
| (qub, (B.BaseType B.Void,_)) ->
fullType ta tb >>= (fun ta tb ->
- attribute_list attr_allminus [] attrs >>=
+ attribute_list attr_allminus attrsa attrsb >>=
(fun attrsa attrsb ->
return (
- [(A.VoidParam ta) +> A.rewrap ea],
+ [(A.VoidParam (ta, attrsa)) +> A.rewrap ea],
[Left {B.p_register=(hasreg, iihasreg);
p_namei = idbopt;
p_type = tb;
@@ -2171,23 +2171,23 @@ and parameter = fun parama paramb ->
return
(A.MetaParam(ida,constraints,keep,inherited)+>
A.rewrap parama,eb)))
- | A.Param (typa, idaopt), eb ->
+ | A.Param (typa, idaopt, attrsa), eb ->
let {B.p_register = (hasreg,iihasreg);
p_namei = nameidbopt;
p_type = typb;
- p_attr = attrs;} = paramb in
+ p_attr = attrsb;} = paramb in
let attr_allminus =
check_allminus.Visitor_ast.combiner_parameter parama in
fullType typa typb >>= (fun typa typb ->
- attribute_list attr_allminus [] attrs >>= (fun attrsa attrsb ->
+ attribute_list attr_allminus attrsa attrsb >>= (fun attrsa attrsb ->
match idaopt, nameidbopt with
| Some ida, Some nameidb ->
(* todo: if minus on ida, should also minus the iihasreg ? *)
ident_cpp DontKnow ida nameidb >>= (fun ida nameidb ->
return (
- A.Param (typa, Some ida)+> A.rewrap parama,
+ A.Param (typa, Some ida, attrsa)+> A.rewrap parama,
{B.p_register = (hasreg, iihasreg);
p_namei = Some (nameidb);
p_type = typb;
@@ -2196,7 +2196,7 @@ and parameter = fun parama paramb ->
| None, None ->
return (
- A.Param (typa, None)+> A.rewrap parama,
+ A.Param (typa, None, attrsa)+> A.rewrap parama,
{B.p_register=(hasreg,iihasreg);
p_namei = None;
p_type = typb;
--
2.21.1
More information about the Linux-kernel-mentees
mailing list