This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

SystemTap source code now requires C++11


Almost two years ago, I posted an RFC[1] about raising the OS baseline
for SystemTap.  I didn't get a lot of feedback then, but we didn't take
much action either.  Now I have finally taken a first step. :)
 [1] https://www.sourceware.org/ml/systemtap/2014-q2/msg00225.html

We will now require C++11 support to compile stap.  However, since we
still want to support RHEL6's GCC4.4, we'll only actually use the subset
of C++11 that was implemented at that time.  You can find a table of
supported features for 4.4 here[2].
 [2] https://gcc.gnu.org/gcc-4.4/cxx0x_status.html

As a first step with assumed C++11 support, I've removed code that used
boost or tr1 for things like shared_ptr and unordered_map, as we can now
use standard versions.  I also converted a lot of vector::push_back
sequences to use initializer lists, and started using "auto"-typed
variables.  There are certainly many more places that could benefit from
"auto", but it's hard to change this in bulk.  Please feel free to
convert more code to C++11 styles as you work.

As for general operating system targets, RHEL4's GCC-3.4 is definitely
out, so we can start pruning that really old support.  RHEL5 and its
GCC-4.1 would be too old, but we also did ship GCC-4.8 for RHEL5 in
devtoolset-2, so for now we'll let that one stay alive.  It's likely
that we'll be less proactive about testing RHEL5 though.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]