aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2013-03-18 23:12:41 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2013-03-18 23:12:41 +0100
commit735b4c4b743a774c5d53ab6a8e10f0f8308a925b (patch)
tree776d0e3ee6720193d54d927e30c6ec1abd60fef6
parentace94503b4572d854ae326273a3ecdc37d978400 (diff)
downloadsciteco-735b4c4b743a774c5d53ab6a8e10f0f8308a925b.tar.gz
explicitly instantiate MicroStateMachine: fixes compilation with gcc-4.4
-rw-r--r--src/parser.cpp2
-rw-r--r--src/parser.h8
-rw-r--r--src/qregisters.cpp2
-rw-r--r--src/qregisters.h2
4 files changed, 7 insertions, 7 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index a5e7151..cb1f577 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -244,7 +244,7 @@ State::get_next_state(gchar chr) throw (Error, ReplaceCmdline)
void
StringBuildingMachine::reset(void)
{
- MicroStateMachine::reset();
+ MicroStateMachine<gchar *>::reset();
undo.push_obj(qregspec_machine) = NULL;
undo.push_var(mode) = MODE_NORMAL;
undo.push_var(toctl) = false;
diff --git a/src/parser.h b/src/parser.h
index 42d777a..0af481f 100644
--- a/src/parser.h
+++ b/src/parser.h
@@ -116,9 +116,9 @@ protected:
/* label pointers */
typedef const void *MicroState;
const MicroState StateStart;
-#define MICROSTATE_START G_STMT_START { \
- if (MicroStateMachine::state != StateStart) \
- goto *MicroStateMachine::state; \
+#define MICROSTATE_START G_STMT_START { \
+ if (this->state != StateStart) \
+ goto *this->state; \
} G_STMT_END
MicroState state;
@@ -157,7 +157,7 @@ class StringBuildingMachine : public MicroStateMachine<gchar *> {
bool toctl;
public:
- StringBuildingMachine() : MicroStateMachine(),
+ StringBuildingMachine() : MicroStateMachine<gchar *>(),
qregspec_machine(NULL),
mode(MODE_NORMAL), toctl(false) {}
~StringBuildingMachine();
diff --git a/src/qregisters.cpp b/src/qregisters.cpp
index 5d8091b..02a779a 100644
--- a/src/qregisters.cpp
+++ b/src/qregisters.cpp
@@ -352,7 +352,7 @@ QRegisters::hook(Hook type)
void
QRegSpecMachine::reset(void)
{
- MicroStateMachine::reset();
+ MicroStateMachine<QRegister *>::reset();
string_machine.reset();
undo.push_var(is_local) = false;
undo.push_var(nesting) = 0;
diff --git a/src/qregisters.h b/src/qregisters.h
index b8b4912..fc2c0be 100644
--- a/src/qregisters.h
+++ b/src/qregisters.h
@@ -272,7 +272,7 @@ class QRegSpecMachine : public MicroStateMachine<QRegister *> {
public:
QRegSpecMachine(bool _init = false)
- : MicroStateMachine(),
+ : MicroStateMachine<QRegister *>(),
initialize(_init),
is_local(false), nesting(0), name(NULL) {}