diff --git a/mpact/sim/decoder/slot.cc b/mpact/sim/decoder/slot.cc
index 1c13119..63372ff 100644
--- a/mpact/sim/decoder/slot.cc
+++ b/mpact/sim/decoder/slot.cc
@@ -495,9 +495,9 @@
                   "absl::Status ",
                   class_name,
                   "::Initialize() {\n"
-                  "  int index;\n"
                   "  std::string error;\n"
-                  "  index = regex_set_.Add(\"^$\", &error);\n"
+                  "  int index = regex_set_.Add(\"^$\", &error);\n"
+                  "  if (index == -1) return absl::InternalError(error);\n"
                   "  regex_vec_.push_back(new RE2(\"^$\"));\n");
   std::vector<std::string> formats;
   for (auto const &[name, inst_ptr] : instruction_map_) {
diff --git a/mpact/sim/generic/literal_operand.h b/mpact/sim/generic/literal_operand.h
index 3256071..c74cba2 100644
--- a/mpact/sim/generic/literal_operand.h
+++ b/mpact/sim/generic/literal_operand.h
@@ -85,8 +85,8 @@
   std::string AsString() const override { return as_string_; }
 
  private:
-  std::string as_string_;
   std::vector<int> shape_;
+  std::string as_string_;
 };
 
 // Integer valued literal operand.
diff --git a/mpact/sim/util/asm/opcode_assembler_interface.h b/mpact/sim/util/asm/opcode_assembler_interface.h
index 97bcffe..80782d1 100644
--- a/mpact/sim/util/asm/opcode_assembler_interface.h
+++ b/mpact/sim/util/asm/opcode_assembler_interface.h
@@ -40,6 +40,13 @@
   uint32_t type;
   uint64_t addend;
   uint16_t section_index;
+  RelocationInfo(uint64_t offset, const std::string &symbol, uint32_t type,
+                 uint64_t addend, uint16_t section_index)
+      : offset(offset),
+        symbol(symbol),
+        type(type),
+        addend(addend),
+        section_index(section_index) {}
 };
 
 class OpcodeAssemblerInterface {
diff --git a/mpact/sim/util/asm/simple_assembler.h b/mpact/sim/util/asm/simple_assembler.h
index 14bd9b6..e711fc7 100644
--- a/mpact/sim/util/asm/simple_assembler.h
+++ b/mpact/sim/util/asm/simple_assembler.h
@@ -61,11 +61,6 @@
 
 class SimpleAssembler {
  public:
-  /*
-  SimpleAssembler(int elf_file_class, absl::string_view terminator_regex,
-                  absl::string_view comment_regex,
-                  OpcodeAssemblerInterface *opcode_assembler_if);
-  */
   // The constructor takes the following parameters:
   //   comment: The comment string or character that starts a comment.
   //   elf_file_class: The ELF file class (32 or 64 bit). Use either ELFCLASS32
