Update IWYU version on branch clang_3.5 to 0.3.

git-svn-id: http://include-what-you-use.googlecode.com/svn/branches/clang_3.5@572 812d1f90-f944-d88a-411a-122bdc93e1ea
Merge from trunk to clang_3.5 branch r562:
------------------------------------------------------------------------
r562 | kim.grasman@gmail.com | 2014-08-17 10:28:24 +0200 (Sun, 17 Aug 2014) | 2 lines

Remove redundant num_include_directives_.
Found that we already had this information by way of num_includes_seen_.
------------------------------------------------------------------------

git-svn-id: http://include-what-you-use.googlecode.com/svn/branches/clang_3.5@573 812d1f90-f944-d88a-411a-122bdc93e1ea
Merge from trunk to clang_3.5 branch r563:
------------------------------------------------------------------------
r563 | kim.grasman@gmail.com | 2014-08-17 22:36:35 +0200 (Sun, 17 Aug 2014) | 7 lines

Fix issue 153: Extra fwd-declare for C typdedef struct

The fix for issue 123 in r530 went a bit overboard. C does not _always_ require
a forward declaration, quite the opposite.

Add better test coverage and only require a forward declaration if the
elaborated struct is part of a parameter list.
------------------------------------------------------------------------

git-svn-id: http://include-what-you-use.googlecode.com/svn/branches/clang_3.5@574 812d1f90-f944-d88a-411a-122bdc93e1ea
Merge from trunk to clang_3.5 branch r564:
------------------------------------------------------------------------
r564 | kim.grasman@gmail.com | 2014-08-18 20:45:03 +0200 (Mon, 18 Aug 2014) | 9 lines

Fix one of the bugs from issue 144: confusion with folders

The heuristic used to find the associated header of the main file
involved checking the name of the first file included.
When --pch_in_code is provided, the first file included is _always_
the precompiled header and can't be the associated header.
Have the heuristic check the second header with --pch_in_code.

Based on patch by David Punset, thanks!
------------------------------------------------------------------------

git-svn-id: http://include-what-you-use.googlecode.com/svn/branches/clang_3.5@575 812d1f90-f944-d88a-411a-122bdc93e1ea
Merge from trunk to clang_3.5 branch r566:
------------------------------------------------------------------------
r566 | kim.grasman@gmail.com | 2014-08-20 21:48:06 +0200 (Wed, 20 Aug 2014) | 14 lines

Fix issue 129: Unused templates are ignored on Windows

On Windows builds of Clang/IWYU -fdelayed-template-parsing
is enabled by default. This means parsing of (function) templates
is delayed until instantiation time. If a template is never
instantiated, it is never parsed.

This is terrible behavior for IWYU, where we must traverse code
in templates looking for uses, whether they're ever instantiated
or not. So we run a separate pass that force-parses all late-
parsed FunctionDecl, building their AST before IWYU analysis.

Fixes a number of prefix_header tests that were previously failing
on Windows.
------------------------------------------------------------------------

git-svn-id: http://include-what-you-use.googlecode.com/svn/branches/clang_3.5@576 812d1f90-f944-d88a-411a-122bdc93e1ea
Merge from trunk to clang_3.5 branch r567:
------------------------------------------------------------------------
r567 | kim.grasman@gmail.com | 2014-08-25 21:37:29 +0200 (Mon, 25 Aug 2014) | 10 lines

Make #include line duplicate removal explicit.

Refactor CalculateDesiredIncludesAndForwardDeclares so it
doesn't implicitly remove duplicate #include lines or forward
declares.

Rather, it keeps track of all of them, and then explicitly
cleans out duplicates.

This is a preparatory step for fixing issue 140.
------------------------------------------------------------------------

git-svn-id: http://include-what-you-use.googlecode.com/svn/branches/clang_3.5@577 812d1f90-f944-d88a-411a-122bdc93e1ea
Merge from trunk to clang_3.5 branch r570:
------------------------------------------------------------------------
r570 | vsapsai@gmail.com | 2014-09-07 03:04:27 +0200 (Sun, 07 Sep 2014) | 6 lines

Handle precomputed template arguments in libc++ like in libstdc++ (issue #132).

For some STL containers it is hardcoded how to handle template arguments.  But
code detecting specified containers cannot detect these containers in libc++.
This commit fixes detecting containers with precomputed template arguments in
libc++.
------------------------------------------------------------------------

git-svn-id: http://include-what-you-use.googlecode.com/svn/branches/clang_3.5@578 812d1f90-f944-d88a-411a-122bdc93e1ea