Fixing a FIXME -- no longer using std::memcpy, since that would fail for non-trivial types. Replaced with std::copy. No functional changes intended since all uses of this functionality either use pointers or integers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207766 91177308-0d34-0410-b5e6-96231b3b80d8
[libclang] Add attribute support for 'pure', 'const' and 'noduplicate'.

This bumps CINDEX_VERSION_MINOR up (to 26).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207767 91177308-0d34-0410-b5e6-96231b3b80d8
MSVCCompat: Don't produce an invalid AST when accepting void pseudo-dtors

We accept 'void *p; p->~void();' for MSVC compatibility since r148682.
However, we were returning ExprError, rather than producing an AST,
despite only diagnosing it with a warning.  CodeGen noticed that the
template function specialization had an invalid AST, and therefore
didn't generate code for it.  This change makes us produce an AST with a
void pseudo-dtor call.

Part of PR18256.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207771 91177308-0d34-0410-b5e6-96231b3b80d8
Fix declspec-thread.cpp test with a triple

Not all triples support it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207772 91177308-0d34-0410-b5e6-96231b3b80d8
Fix typo (first commit to test commit access).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207775 91177308-0d34-0410-b5e6-96231b3b80d8
AST: Mangle reference temporaries reliably

Summary:
Previously, we would generate a single name for all reference
temporaries and allow LLVM to rename them for us.  Instead, number the
reference temporaries as we build them in Sema.

Reviewers: rsmith

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D3554

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207776 91177308-0d34-0410-b5e6-96231b3b80d8
Fix debug-info-alias test to add CHECK to some lines that were missing it.

To simplify source location offsets, this test uses line directives to
force particular lines of interest to have known line numbers so that
adjustments before/after those points don't require updates to the CHECK
lines.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207779 91177308-0d34-0410-b5e6-96231b3b80d8
PR19623: Support typedefs (and alias templates) of void.

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

The test can now catch all cases:
 - no removal of the 'no-integrated-as' flag
 - bogus removal of the flag, like when the remove_if was not followed by an erase

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207787 91177308-0d34-0410-b5e6-96231b3b80d8
Update documentation to match recent API change. newFrontendActionFactory now returns a unique_ptr.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207789 91177308-0d34-0410-b5e6-96231b3b80d8
Use make_unique<T>(...) rather than unique_ptr<T>(new T(...))

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207792 91177308-0d34-0410-b5e6-96231b3b80d8
do not use "1" for line marker for the predefines "file" either

Similar to r207764.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207794 91177308-0d34-0410-b5e6-96231b3b80d8
write a line marker right before adding included file

Enclosing the original #include directive inside #if 0 adds lines,
so warning/errors messages would have the line number off in
"In file included from <file>:<line>:", so add line marker to fix this.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207795 91177308-0d34-0410-b5e6-96231b3b80d8
When sorting overload candidates, sort arity mismatches in ascending
order by the number of missing or extra parameters. This is useful if
there are more than a few overload candidates with arity mismatches,
particularly in the presence of -fshow-overloads=best.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207796 91177308-0d34-0410-b5e6-96231b3b80d8
use 'diff' rather than 'cmp -s' in a test

That's what all tests use, no idea where I got the latter from.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207797 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Use make_unique<T>(...) rather than unique_ptr<T>(new T(...))"

Seems to be crashing clang (3.3 and 3.4) on some buildbots...

This reverts commit r207792.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207799 91177308-0d34-0410-b5e6-96231b3b80d8
Fix some -Wabsolute-value warnings introduced in r207796.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207806 91177308-0d34-0410-b5e6-96231b3b80d8
do not hide clang stderr output during a test

I don't know why this fails on the buildbot.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207808 91177308-0d34-0410-b5e6-96231b3b80d8
Use %clang_cc1 in rewrite-includes-messages.c test and drop REQUIRES: shell

This test passes on Windows with lit's shell interpreter.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207810 91177308-0d34-0410-b5e6-96231b3b80d8
Use std::abs(int) portably.

Code review feedback from Reid Kleckner on r207806.

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