К спецам по gcc 4.8.2, Си++ 11 и sjasm 0.42c
Кто знает как победить? Не отключая warnings:
Код:
# cat rawsource.h
class RawSource {
public:
RawSource(string);
RawSource(StringList);
StringList ReadUntil(StringList,StringList,string);
void Process();
SourceList &GetSource() { return _source; }
void ClearSource() { _source.clear(); }
void AddToSource(SourceList n) { _source.splice(_source.end(),n); }
protected:
RawSource() {}
void _Preprocess();
string _KillComments();
void _Group1(string&);
void _ReplaceDefs(string &);
void _Group2(string&);
void _CutLines(string&);
int _ParseLabel(string&);
void _ParseRepeat(string&);
void _ExpandMacros(string&);
int _AssemblerDirectives(string&);
void _Mnemonics(string&);
int _nextline();
StringList _sl;
iStringList _it;
SourceList _source;
string _unexpectedin;
int _unexcurlin,_unexlistcurlin;
void virtual _Parse(string&);
};
class RSRepeat : public RawSource {
public:
RSRepeat() {}
void parserepeat(string &s) { _ParseRepeat(s); }
};
class RSStructure : public RawSource {
private:
void _Parse(string&);
int _offset,_defaultalign;
bool _global;
Structure &_s;
bool _mustalign;
int _newalign;
public:
RSStructure(int n_offset, int n_align, bool n_global, Structure &n_s, StringList &sl) :
_offset(n_offset), _defaultalign(n_align), _global(n_global), _s(n_s), _mustalign(false), RawSource(sl) {}
};
Код:
# make
g++ -Wp,-MD,.deps/datadir.d -Wall -O2 -c -o datadir.o datadir.cpp
In file included from sjasm.h:125:0,
from datadir.cpp:29:
rawsource.h: In constructor «RSStructure::RSStructure(int, int, bool, Structure&, StringList&)»:
rawsource.h:78:8: предупреждение: «RSStructure::_mustalign» будет инициализирован после [-Wreorder]
bool _mustalign;
^
rawsource.h:82:109: предупреждение: базового класса «RawSource» [-Wreorder]
_offset(n_offset), _defaultalign(n_align), _global(n_global), _s(n_s), _mustalign(false), RawSource(sl) {}
^
rawsource.h:81:3: предупреждение: when initialized here [-Wreorder]
RSStructure(int n_offset, int n_align, bool n_global, Structure &n_s, StringList &sl) :
^