### CINT

- Fix many reports from Coverity.
- Implement new selection #pragma for nested classes. `#pragma link C++ nestedclasses` is needed for CINT to not ignore `#pragma link C++ class A::B`. Unlike `#pragma link C++ nestedtypedefs` it does not by itself request dictionaries for nested classes! To not break old dictionaries, the latter is now implemented with the following syntax: `#pragma link C++ class A::*` will select all classes defined in `A`; CINT does not complain if no nested class is found. The selection pragma supports ROOT's flags (trailing '+' etc). This feature is now used by the automatic dictionary generator of ROOT, to not only request `vector<T>` but also vector<T>::iterator etc.
- Try in even more cases to automatically generate a dictionary for templates.
- Change the dictionary code generated for static const class data members of integral type so that we access these data members only by value and never attempt to take their address.

  This allows us to work around bugs in the implementation of these kinds of data members in the Microsoft Visual C++ compilers (especially when dlls are involved it is difficult to get only one definition of the data member to be generated).

  Because of these bugs a common pattern for windows programmers is to put the initialization in the header file and leave out the definition in the implementation file, which prevents the dictionary from taking the address of the data member (since it has none), so we change to use only the value, not the address.

  Unfortunately the C++ standard explicitly allows these kind of data members to have no definition if they are not used in the program, see section 9.4.2 paragraph 4 of ISO/IEC 14882:1998(E).

  In the case where a data member of this kind is not initialized in the header file and there is no definition in the source file, a link time error will be generated by the dictionary file.

  Note that this is caused by the programmer forgetting to define the data member, but the error is usually hidden until code attempts to use it, which the dictionary must do.

- Add support for building with Microsoft Visual Studio 2010, including dictionaries for its new STL.
- Implement new prompt interface `.preproc` to toggle the external preprocessing of scripts. This does not work for any file #including e.g. TObject, as it disables ROOT's ignore-include mechanism for include files (see TROOT::IgnoreInclude()).
- Teach CINT's preprocessor to handle `#TOKEN` (i.e. string conversion of CPP tokens).
- Fix parsing of spacing (`long long` stays `long long`, no more `Unknown type TH1Ghist` instead of `Unknown type TH1G`.)
- Allow creation of dictionaries for auto_ptr.
- Mark explicitly that a member was brought into the class list of member via a using statement (Property `G__BIT_ISUSINGVARIABLE`). Use this information to avoid adding it to the Shadow classes.
- `G__MethodInfo` now properly distinguish between the 'creator/owner' of the `G__MethodInfo` object and the class in which the method is declared.
- Fix the registration and lookup of typedef to any nested types.
- Do not 'ignore' the semi-colons inside a string (passed as a argument to a .x command).