Hello LLDB community,
I'm actually working on a thankless task which is to try to review most
warnings produced by clang and other static code analyzer when almost all
warnings are enabled in LLDB code base.
And I did found a lot of place where latent bug could be fixed by using C++11
features, the most notable bugs are the one about member initialization which
can be solve either by explicitly using compiler generated copy constructor and
operators (Constructor() = default;) or simply by using member initialization
in declaration construct.
class Foo {
private:
int m_flag = 0;
};
An other big source of latent bugs in LLDB source code are unexpected fall
though in switch statements.
This kind of issue can be spotted and solved by enabling the proper warning in
clang and annotating expected fall through using the C++11 attribute
[[clang::fallthrough]]
So I have a simple question.
I see that LLDB already relies on many C++11 constructs (shared_ptr, for loop,
…), so what are the acceptables C++11 features that can be used in LLDB, or to
say it another way, what compiler LLDB is expected to support ?
Regards
-- Jean-Daniel
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev