Parameter attributes are added to the C and SmPL AST. Match the attributes correctly in cocci_vs_c.ml.
Signed-off-by: Jaskaran Singh <[email protected]> --- 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 _______________________________________________ Cocci mailing list [email protected] https://systeme.lip6.fr/mailman/listinfo/cocci
