aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/symbols-extract.tes
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2013-02-24 13:15:53 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2013-02-24 13:15:53 +0100
commitf5253185aa55a46cb3da80f66e7127a45c82052f (patch)
tree3868f1ed2c708176d9d072dfbad26487639df582 /src/symbols-extract.tes
parentfd4b89e797c1efc73304fa4da073fb31f55527f1 (diff)
downloadsciteco-f5253185aa55a46cb3da80f66e7127a45c82052f.tar.gz
cleaned up SymbolList class: make attributes private
* they were logically private but still declared public so that initializer constructor functions could access them. * instead, now use friend classes * has the side effect that initializing priority can be declared using GCC's init_priority attribute which works with earlier compilers than the constructor (with priority) attribute
Diffstat (limited to 'src/symbols-extract.tes')
-rwxr-xr-xsrc/symbols-extract.tes13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/symbols-extract.tes b/src/symbols-extract.tes
index 9f2c61a..48d749c 100755
--- a/src/symbols-extract.tes
+++ b/src/symbols-extract.tes
@@ -69,7 +69,14 @@ I/*
#include "sciteco.h"
#include "symbols.h"
-static const SymbolList::Entry entries[] = {
+static class SymbolListInitializer_Q#na {
+ static const SymbolList::Entry entries[];
+
+public:
+ SymbolListInitializer_Q#na();
+} initializer INIT_PRIO(PRIO_SYMBOLS);
+
+const SymbolList::Entry SymbolListInitializer_Q#na::entries[] = {

<
.,W.Xa 0KK
@@ -80,9 +87,7 @@ static const SymbolList::Entry entries[] = {
.-Z;>
I};
-__attribute__((constructor(PRIO_SYMBOLS)))
-static void
-initialize(void)
+SymbolListInitializer_Q#na::SymbolListInitializer_Q#na()
{
Symbols::Q#na.entries = entries;
Symbols::Q#na.size = G_N_ELEMENTS(entries);