Fix header search for cygwin: hide native WIN32 headers.
Allow multiple setting of pragma handler for same identifier.
Temporary parsers should not manipulate global parser state.
Let autoload act on fwd declares.
Do not reset TUScope for incremental processing.
Do not complain about invalid sources for PCH files.
Add support for Mageia Linux
Make RAII file public.
Forward to new location.
Add RAII for Parser::TemplateIds.
Use DeclName for operators.
Extend SubstTemplateTypeParmType to support non-canonical types.

Previously SubstTemplateTypeParmType could only keep the canonical
type.  Our hack to support template default replacement with non-canonical
type lead to the creation of SubstTemplateTypeParmType which had their
'canonical type' pointer pointing to non-canonical type.

This patch add a new data member to SubstTemplateTypeParmType to hold
the non-canonical type representation *in addition* to the canonical
type.

This fixes ROOT-5612.
From me and Cristina: Fix removal of out-of-line definitions.

If we had:
struct MyClass {
  void f() {}
}
MyClass::f(){} // expected error redefinition of f.

In that case we would have tried to remove the lookup entry for the decl from
the primary decl context of the lexical decl context, which entry doesn't exist.
It is registered in the semantic decl context of the decl itself.
Remove macro and print macro.
Remove macro and print macro header.
Release macro from cache when reverting a transaction.
Fix mangler and cache.
Improvements on Macro removal.
Fix and improve macro error recovery.
Workaround multiple DeclCollector instances.