From 7850af521872d660aa8031944f8e6abe2558461e Mon Sep 17 00:00:00 2001 From: markls Date: Mon, 17 Jan 2011 13:49:56 +0000 Subject: [PATCH] hey, figured out how to change vars to pointers without cocci complaining... git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9421 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/smpi/replace_globals.cocci | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/smpi/replace_globals.cocci b/src/smpi/replace_globals.cocci index 59e8aa6db4..d23bacfd3f 100644 --- a/src/smpi/replace_globals.cocci +++ b/src/smpi/replace_globals.cocci @@ -1,4 +1,5 @@ // FIXME: problems +// - does not want to match dynamic arrays... // - does not match array initializers // Function prototype looks like variable dec, but has parentheses @@ -36,7 +37,8 @@ var = E type T; identifier var; position p != { localvardecl.p, funcproto.p }; -expression E; +expression value; +constant size; @@ ( T@p @@ -45,19 +47,34 @@ T@p ; | T@p -- var = E -+ *var = SMPI_INITIALIZE_AND_SET_GLOBAL(T, E) +- var = value ++ *var = SMPI_INITIALIZE_AND_SET_GLOBAL(T, value) +; +| +T@p +- var[] ++ *var[] = SMPI_INITIALIZE_GLOBAL_ARRAY(T, size) +; +| +T@p +- var[size] ++ *var[] = SMPI_INITIALIZE_GLOBAL_STATIC_ARRAY(T, size) +; +| +T@p +- var[size] = { ... } ++ *var[] = SMPI_INITIALIZE_AND_SET_GLOBAL_STATIC_ARRAY(T, size) ; ) @rewritelocalaccess@ -local idexpression x; +local idexpression lvar; identifier globalvardecl.var; @@ { <... ( -x +lvar | +SMPI_GLOBAL_VAR_LOCAL_ACCESS( var -- 2.20.1