git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9418
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
+// FIXME: problems
+// - cannot change type on multiple variable declaration
+// - does not match array initializers
+// - dereferencing outside access macro? (maybe not an issue...)
+
// Function prototype looks like variable dec, but has parentheses
@funcproto@
type T;
// Function prototype looks like variable dec, but has parentheses
@funcproto@
type T;
// Define a local variable as one whose declaration is encased in brackets
@localvardecl@
type T;
// Define a local variable as one whose declaration is encased in brackets
@localvardecl@
type T;
position p;
expression E;
@@
{
<...
(
position p;
expression E;
@@
{
<...
(
// prototype
@globalvardecl@
type T;
// prototype
@globalvardecl@
type T;
position p != { localvardecl.p, funcproto.p };
expression E;
@@
(
position p != { localvardecl.p, funcproto.p };
expression E;
@@
(
-T
-+ *
-b@p
-+ = SMPI_INITIALIZE_GLOBAL(b, T)
+T@p
+var
++ = SMPI_INITIALIZE_GLOBAL(T)
-T
-+ *
-b@p =
-+ SMPI_INITIALIZE_AND_SET_GLOBAL(b, T,
-E
-+)
+T@p
+var =
+- E
++ SMPI_INITIALIZE_AND_SET_GLOBAL(T, E)
;
)
@rewritelocalaccess@
local idexpression x;
;
)
@rewritelocalaccess@
local idexpression x;
-identifier globalvardecl.b;
+identifier globalvardecl.var;
x
|
+SMPI_GLOBAL_VAR_LOCAL_ACCESS(
x
|
+SMPI_GLOBAL_VAR_LOCAL_ACCESS(