diff options
| author | Roland Reichwein <mail@reichwein.it> | 2020-11-09 14:35:34 +0100 | 
|---|---|---|
| committer | Roland Reichwein <mail@reichwein.it> | 2020-11-09 14:35:34 +0100 | 
| commit | fc1461874a6bcecc919f650d1bfb6bf37161c413 (patch) | |
| tree | 0295888945de1716d17cd180d8dd3ff00315e2bd /flowgraph | |
| parent | 414953eba1b1cc3570da1e59dc2392ce1b1ae5ef (diff) | |
Fix warnings, consolidate flowgraph/node.h
Diffstat (limited to 'flowgraph')
| -rw-r--r-- | flowgraph/data.h | 2 | ||||
| -rw-r--r-- | flowgraph/node.h | 57 | 
2 files changed, 30 insertions, 29 deletions
| diff --git a/flowgraph/data.h b/flowgraph/data.h index abf046d..d1c2588 100644 --- a/flowgraph/data.h +++ b/flowgraph/data.h @@ -39,6 +39,7 @@ namespace FlowGraph {  namespace GlobalData { +#if 0   // variable of simple or struct type   class Element   { @@ -50,5 +51,6 @@ namespace GlobalData {   class Segment: public std::vector<Element>   {   }; +#endif  } diff --git a/flowgraph/node.h b/flowgraph/node.h index 853b017..d4a1306 100644 --- a/flowgraph/node.h +++ b/flowgraph/node.h @@ -29,18 +29,17 @@ namespace FlowGraph {   class AllocateDynamic: public Node   {   public: -  AllocateDynamic(Data& location, Data& size): m_location(location), m_size(size) {} - private: -  Data m_location; // in/out: Pointer -  Data m_size; // in: Size +  AllocateDynamic(Data& location, Data& size): +   Node(std::vector<Data>({location, size})) // in/out: Pointer; in: Size +  {}   };   class DeallocateDynamic: public Node   {   public: -  DeallocateDynamic(Data& location) : m_location(location) {} // in - private: -  Data m_location; // in: Pointer +  DeallocateDynamic(Data& location): +   Node(std::vector<Data>({location})) // in: Pointer +  {}   };   Data MakeConstantInt(int i); @@ -51,20 +50,17 @@ namespace FlowGraph {   class MemCopy: public Node   {   public: -  MemCopy(Data& destination, Data& source, Data& size): m_destination(destination), m_source(source), m_size(size) {} - private: -  Data m_destination; // Pointer -  Data m_source;      // Pointer -  Data m_size;        // in bytes +  MemCopy(Data& destination, Data& source, Data& size): // Pointer, Pointer, size in bytes +   Node(std::vector<Data>({destination, source, size})) +  {}   };   class Move: public Node   {   public: -  Move(Data& destination, Data& source): m_destination(destination), m_source(source) {} - private: -  Data m_destination; -  Data m_source; +  Move(Data& destination, Data& source): +   Node(std::vector<Data>({destination, source})) +  {}   };   enum class JumpVariant @@ -83,15 +79,13 @@ namespace FlowGraph {   {   public:    Jump(JumpVariant variant, Data& source0, Data& source1, std::shared_ptr<Node> destination): +   Node(std::vector<Data>({source0, source1})),     m_variant(variant), -   m_source0(source0), -   m_source1(source1),     m_destination(destination)    {} +  JumpVariant variant() { return m_variant; }   private:    JumpVariant m_variant; -  Data m_source0; -  Data m_source1;    std::shared_ptr<Node> m_destination; // successor on branch   }; @@ -99,19 +93,21 @@ namespace FlowGraph {   class Call: public Node   {   public: -  Call(std::shared_ptr<Node> destination, std::vector<Data> arguments): m_destination(destination), m_arguments(arguments) {} +  Call(std::shared_ptr<Node> destination, std::vector<Data> arguments): +   Node(arguments), +   m_destination(destination) +  {}   private:    std::shared_ptr<Node> m_destination; -  std::vector<Data> m_arguments;   };   // Return from Subroutine   class Return: public Node   {   public: -  Return(std::vector<Data> returnValues): m_returnValues(returnValues) {} - private: -  std::vector<Data> m_returnValues; +  Return(std::vector<Data> returnValues): +   Node(returnValues) +  {}   };   enum class UnaryOperationType { @@ -123,11 +119,13 @@ namespace FlowGraph {   class UnaryOperation: public Node   {   public: -  UnaryOperation(UnaryOperationType type, Data& destination, Data& source): m_type(type), m_destination(destination), m_source(source) {} +  UnaryOperation(UnaryOperationType type, Data& destination, Data& source): +   Node(std::vector<Data>({destination, source})), +   m_type(type) +   {} +  UnaryOperationType type() { return m_type; }   private:    UnaryOperationType m_type; -  Data m_destination; -  Data m_source;   };   enum class BinaryOperationType { @@ -151,7 +149,8 @@ namespace FlowGraph {   {   public:    BinaryOperation(BinaryOperationType type, Data& destination, Data& source0, Data& source1): -   Node(std::vector<Data>({destination, source0, source1})), m_type(type) +   Node(std::vector<Data>({destination, source0, source1})), +   m_type(type)   {}    BinaryOperationType type() {return m_type;}   private: | 
