Introduce __has_feature(attribute_unused_on_fields) to determine whether
the current version of clang understands __attribute__((unused)) on
fields.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159252 91177308-0d34-0410-b5e6-96231b3b80d8
Initialize RawComment::BriefTextValid in other constructor, too.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159253 91177308-0d34-0410-b5e6-96231b3b80d8
From Vassil Vassilev:
add interface for removing a FileEntry from the cache.
Forces a re-read the contents from disk, e.g. because a tool (like cling) wants to pick up a modified file.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159256 91177308-0d34-0410-b5e6-96231b3b80d8
Update the Clang CMake build to reflect the name change in LLVM r159258.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159260 91177308-0d34-0410-b5e6-96231b3b80d8
Remove a completely unused and remarkably inaccurate list of test
directories from the cmake file. Dunno what the history is here, but
we're not using it.

More refactorings to come here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159261 91177308-0d34-0410-b5e6-96231b3b80d8
Fix for r159256 on Windows.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159262 91177308-0d34-0410-b5e6-96231b3b80d8
Add a test for unterminated /* comments.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159267 91177308-0d34-0410-b5e6-96231b3b80d8
Comment lexer: counting backwards from token end is thought to be confusing.  We already have a pointer to the beginning of the token, so use it to extract the text instead.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159269 91177308-0d34-0410-b5e6-96231b3b80d8
Remove unsigned and a pointer from a comment token (so that each token can have only one semantic string value attached to it), at a cost of adding an additional token.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159270 91177308-0d34-0410-b5e6-96231b3b80d8
Fix a crash I introduced in r159212.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159279 91177308-0d34-0410-b5e6-96231b3b80d8
Implement John McCall's review of r159212 other than the this pointer not
being updated. Will fix that in a second.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159280 91177308-0d34-0410-b5e6-96231b3b80d8
patch to suggest 'static' function should be 'static inline' 
when it appears to be unused and occurs in a header.
// rdar://11202617


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159282 91177308-0d34-0410-b5e6-96231b3b80d8
Check for non-POD vararg argument type after default argument promotion, not
before, so we don't incorrectly think arguments of function type are non-POD.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159290 91177308-0d34-0410-b5e6-96231b3b80d8
Refactoring after r159290: don't hold onto and check a misleading QualType.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159292 91177308-0d34-0410-b5e6-96231b3b80d8
objective-c mrc: Issue warning for mrc, as is done for arc, when
property retains a block object as it could be on 
the stack. // rdar://11761511


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159293 91177308-0d34-0410-b5e6-96231b3b80d8
Propagate lvalue alignment into bitfields.  Per report on cfe-dev.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159295 91177308-0d34-0410-b5e6-96231b3b80d8
Two more tests for PR13207 - wrong mangling of templates with back references [-cxx-abi microsoft]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159296 91177308-0d34-0410-b5e6-96231b3b80d8
Fix an infinite loop in comment lexer: we were not advancing in the input character stream when we saw a '<' that is not a start of an HTML tag.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159303 91177308-0d34-0410-b5e6-96231b3b80d8
Attaching documentation comments to declarations: don't attach a comment to a declaration if there is a preprocessor directive between them.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159305 91177308-0d34-0410-b5e6-96231b3b80d8
Fix uninitialized variable use bug found by the clairvoyant static analyzer.

Commit::canReplaceText would not initialize its out 'Len' parameter before
returning true and it would be used uninitialized in Commit::replaceText.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159306 91177308-0d34-0410-b5e6-96231b3b80d8