diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2013-02-24 13:15:53 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2013-02-24 13:15:53 +0100 |
commit | f5253185aa55a46cb3da80f66e7127a45c82052f (patch) | |
tree | 3868f1ed2c708176d9d072dfbad26487639df582 /src/symbols-extract.tes | |
parent | fd4b89e797c1efc73304fa4da073fb31f55527f1 (diff) | |
download | sciteco-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-x | src/symbols-extract.tes | 13 |
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); |