This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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]

Debug mode lite plan


Hi

    I am going to work on debug mode lite and would like to share with
you what I plan to do.

    As announced debug mode lite will be a limited debug mode that is to
say:
- O(1) debug checks
- ABI compatible

    O(1) should be considered as limited performance impact. It is not
easy to forecast if a debug check will have an impact cause even if the
check has a O(1) complexity it can be called in a O(N) higher level algo
resulting in a noticeable impact. But you get the idea.

    ABI compatible means that when activated you will be able to build a
single translation and have it linked smoothly with the rest of the
application. I still plan to use inlined namespace in this mode. Debug
mode containers will simply be abi compatible with normal ones. So no
more safe iterator list maintained in the container in this mode. I even
hope that we will be able to use string debug implementation in this
mode so that we do not need to inject all sorts of debug checks in
normal implementation. That's the trickiest part of this plan, just tell
me if it simply can't work.

    Regarding the name of this mode I was thinking about _GLIBCXX_DBG,
which is a limited way to write _GBLIBCXX_DEBUG.

FranÃois


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