X-Git-Url: http://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/9f8e26f459677a621822918b7539ae94214621ac..ca417fcf6830657ebcabb47429fee43fda25856b:/parsing_cocci/adjust_pragmas.ml diff --git a/parsing_cocci/adjust_pragmas.ml b/parsing_cocci/adjust_pragmas.ml index a1a6833..43e09bd 100644 --- a/parsing_cocci/adjust_pragmas.ml +++ b/parsing_cocci/adjust_pragmas.ml @@ -1,4 +1,6 @@ (* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix * This file is part of Coccinelle. @@ -53,7 +55,13 @@ let update_after pragmas (info,x) = let rec right_decl d = match Ast0.unwrap d with - Ast0.Init(Some stg,ty,id,eq,ini,sem) -> + Ast0.MetaDecl(name,pure) -> + call_right right_mcode name d + (function name -> Ast0.MetaDecl(name,pure)) + | Ast0.MetaField(name,pure) -> + call_right right_mcode name d + (function name -> Ast0.MetaField(name,pure)) + | Ast0.Init(Some stg,ty,id,eq,ini,sem) -> call_right right_mcode sem d (function sem -> Ast0.Init(Some stg,ty,id,eq,ini,sem)) | Ast0.Init(None,ty,id,eq,ini,sem) -> @@ -141,6 +149,10 @@ let rec right_statement s = | Ast0.Include(inc,name) -> call_right right_mcode name s (function name -> Ast0.Include(inc,name)) + | Ast0.Undef(def,id) -> + (* nothing available for ident, and not sure code can appear + here anyway *) + None | Ast0.Define(def,id,params,body) -> call_right right_statement_dots body s (function body -> Ast0.Define(def,id,params,body)) @@ -183,6 +195,9 @@ let rec left_ty t = call_right left_ty ty t (function ty -> Ast0.Array(ty,lb,size,rb)) | Ast0.EnumName(kind,name) -> call_right left_mcode kind t (function kind -> Ast0.EnumName(kind,name)) + | Ast0.EnumDef(ty,lb,ids,rb) -> + call_right left_ty ty t + (function ty -> Ast0.EnumDef(ty,lb,ids,rb)) | Ast0.StructUnionName(kind,name) -> call_right left_mcode kind t (function kind -> Ast0.StructUnionName(kind,name)) @@ -239,7 +254,13 @@ let left_fundecl name fninfo = let rec left_decl decl = match Ast0.unwrap decl with - Ast0.Init(Some stg,ty,id,eq,ini,sem) -> + Ast0.MetaDecl(name,pure) -> + call_right right_mcode name decl + (function name -> Ast0.MetaDecl(name,pure)) + | Ast0.MetaField(name,pure) -> + call_right right_mcode name decl + (function name -> Ast0.MetaField(name,pure)) + | Ast0.Init(Some stg,ty,id,eq,ini,sem) -> call_right left_mcode stg decl (function stg -> Ast0.Init(Some stg,ty,id,eq,ini,sem)) | Ast0.Init(None,ty,id,eq,ini,sem) ->