Style consistency.
Make it power of 2.
Protect against calling a function with an unexpected signature.
Remove the functions after the loop is done.
We may not have code gen.
We may not have incr executor.
Doxygen warning
Another attempt to fix compilation warnings like: Command line warning D9025: overriding '/EHs' with '/EHs-'
Add tests for ROOT-6137.
Add clarification comment.
@_GLOBAL__I_aN can have multiple calls also
Collect all functions that we need to delete and delete them
Remove unused variable.
Unloading of functions, enums, globals (ROOT-5701).
Add test for ROOT-6124.
Enforce that cling uses clang with our patches, not a user-provided clang.
Implement FileManager uncaching.
Do not pass on -ffunction-sections.

-ffunction-sections breaks the debugger on some platforms ... and does not help libCling at all.
Protect against recursive definitions (for example,

data members of a type we're already priting - either static data member or "cross-references").
No longer hide the compiler detail.

The partial desugaring (part of normalization) now strips a typedef
even when it original from std and points to compiler details (__gnu_cxx, etc.).

The cost of this convenience was the fact the same entity could have different
'name' and thus different class even-though they were supposed to be strictly
equivalent. i.e. depending on the way to get to the class it could be name
vector<int*>::iterator or __gnu_cxx::iterator<int*> or std::iterator<int*>.

This different from the case where we have a strictly bidirectional equivalent
between the class and its unique typedef (yes, we are talking about you std::string).

This also different from the case where there is a semantic difference between
the two possible name.  I.e. where an opaque typedef is used.  For example,
vector<Double32_t> and vector<double> and where the 'way' to get to the type[name]
is relevant.