clover: Add constructors to some of the module classes v3
authorTom Stellard <thomas.stellard@amd.com>
Tue, 24 Apr 2012 16:36:34 +0000 (12:36 -0400)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 1 Jun 2012 15:28:09 +0000 (11:28 -0400)
This is for the llvm code that can't use extended initializers.

v2:
  - Use const references for vector arguments
  - Move constructor defs before data members
  - Initialize all values in the default constructors

v3:
  - Fix typo

src/gallium/state_trackers/clover/core/module.hpp

index bc4b203..b1dd754 100644 (file)
@@ -44,6 +44,11 @@ namespace clover {
             data_private
          };
 
+         section(resource_id id, enum type type, size_t size,
+                 const clover::compat::vector<char> &data) :
+                 id(id), type(type), size(size), data(data) { }
+         section() : id(0), type(text), size(0), data() { }
+
          resource_id id;
          type type;
          size_t size;
@@ -63,11 +68,19 @@ namespace clover {
             sampler
          };
 
+         argument(enum type type, size_t size) : type(type), size(size) { }
+         argument() : type(scalar), size(0) { }
+
          type type;
          size_t size;
       };
 
       struct symbol {
+         symbol(const clover::compat::vector<char> &name, resource_id section,
+                size_t offset, const clover::compat::vector<argument> &args) :
+                name(name), section(section), offset(offset), args(args) { }
+         symbol() : name(), section(0), offset(0), args() { }
+
          clover::compat::vector<char> name;
          resource_id section;
          size_t offset;