AMPI: drop comm argument from AMPI_Comm_set_migratable and rename to AMPI_Set_migratable
[charm.git] / src / xlat-i / xi-Construct.h
blobbce23ddcb129ff38b06d18b4903266130974ea18
1 #ifndef _CONSTRUCT_H
2 #define _CONSTRUCT_H
4 #include "xi-AstNode.h"
6 namespace xi {
8 class Module;
10 class Construct : public virtual AstNode {
11 protected:
12 int external;
14 public:
15 // FIXME?: isn't this circular since Module < Construct?
16 Module *containerModule;
17 explicit Construct();
18 void setExtern(int& e);
19 void setModule(Module *m);
22 // FIXME?: shouldn't the "public virtual" be here instead of in the Construct baseclass?
23 class ConstructList : public AstChildren<Construct>, public Construct {
24 public:
25 ConstructList(int l, Construct *c, ConstructList *n=0);
28 /******************** AccelBlock : Block of code for accelerator **********************/
29 class AccelBlock : public Construct {
30 protected:
31 XStr* code;
33 private:
34 void outputCode(XStr& str);
36 public:
37 /// Constructor(s)/Destructor ///
38 AccelBlock(int l, XStr* c);
39 ~AccelBlock();
41 /// Printable Methods ///
42 void print(XStr& str);
44 /// Construct Methods ///
45 void genDefs(XStr& str);
47 /// Construct Accel Support Methods ///
48 int genAccels_spe_c_funcBodies(XStr& str);
51 } // namespace xi
53 #endif // ifndef _CONSTRUCT_H