00001 #ifndef DATA_CONFLICT_AST_ATTRIBUTES_H_INCLUDED_ 00002 #define DATA_CONFLICT_AST_ATTRIBUTES_H_INCLUDED_ 00003 00004 #include <list> 00005 00006 #include "rose.h" 00007 00008 namespace risc { 00009 00010 namespace sg { 00011 00018 class DataConflictAstAttributes: public AstAttribute { 00019 public: 00020 00021 // TODO for the new rose release 00022 //virtual AstAttribute::OwnershipPolicy getOwnershipPolicy() const ROSE_OVERRIDE 00023 //{ 00024 // return CONTAINER_OWNERSHIP; 00025 //} 00026 00027 DataConflictAstAttributes(); 00028 00029 DataConflictAstAttributes(bool is_conflict_free); 00030 00031 // values: 00032 // x >= 0: has a valid instance id 00033 // x == -1: global variable 00034 // x < -1: no valid instance id 00035 int instance_id_; 00036 00037 bool is_conflict_free_; 00038 00039 enum Status {UNUSED, READ, WRITE}; 00040 00041 Status status_; 00042 }; 00043 00044 } // end namespace sg 00045 00046 } // end namespace risc 00047 00048 #endif /* AST_CONFLICT_ATTRIBUTES_H_INCLUDED_ */ 00049 00050 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */