[tsan] first version of ThreadSanitizer docs

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156910 91177308-0d34-0410-b5e6-96231b3b80d8
Clarify how libstdc++ and other bits of the system toolchain are found
on Linux in the getting started documentation.

Patch by Nathan Ridge.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156911 91177308-0d34-0410-b5e6-96231b3b80d8
[tsan] fix typo

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156912 91177308-0d34-0410-b5e6-96231b3b80d8
Factor sema for attributes unavailable and deprecated into a common function.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156914 91177308-0d34-0410-b5e6-96231b3b80d8
StringSwitchify. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156916 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Introduce clang_analyzer_eval for regression test constraint	checks.

The new debug.ExprInspection checker looks for calls to clang_analyzer_eval,
and emits a warning of TRUE, FALSE, or UNKNOWN (or UNDEFINED) based on the
constrained value of its (boolean) argument. It does not modify the analysis
state though the conditions tested can result in branches (e.g. through the
use of short-circuit operators).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156919 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Convert many existing tests to use clang_analyzer_eval.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156920 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Fix RUN lines for old XFAIL tests, one of which actually works.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156921 91177308-0d34-0410-b5e6-96231b3b80d8
Use a llvm::SmallString rather than std::string for duplicate-case errors

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156922 91177308-0d34-0410-b5e6-96231b3b80d8
Fix ASTReader handling of ImportDecls, from Meador Inge!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156923 91177308-0d34-0410-b5e6-96231b3b80d8
Fix code generation of variables reference expressions when mixing
blocks and lambdas, based heavily on a patch from Meador Inge. Fixes
PR12746 / <rdar://problem/11465120>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156925 91177308-0d34-0410-b5e6-96231b3b80d8
Clean up r156925, so that we only mark the capturing DeclRefExpr of a
lambda as referring to a local in an enclosing scope if we're in the
enclosing scope of the lambda (not it's function call operator). Also,
turn the test into an IR generation test, since that's where the
crashes occurred. Really fixes PR12746 / <rdar://problem/11465120>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156926 91177308-0d34-0410-b5e6-96231b3b80d8
clang/test/Tooling/clang-check-pwd.cpp: Add "REQUIRES: shell".

This passes on MSYS bash and Cygwin.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156929 91177308-0d34-0410-b5e6-96231b3b80d8
clang/test/Tooling: Remove XFAIL in 5 tests to unveil the real failure.

FYI, they can pass on Cygwin w/o any tweaks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156930 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Revert a regression committed in r156920.

This breaks the build with -triple i386-apple-darwin9.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156932 91177308-0d34-0410-b5e6-96231b3b80d8
Move the warnings for extra semi-colons under -Wextra-semi.  Also, added
a warning for an extra semi-colon after function definitions.  Added logic
so that a block of semi-colons on a line will only get one warning instead
of a warning for each semi-colon.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156934 91177308-0d34-0410-b5e6-96231b3b80d8
[libclang] Properly handle @encode() in RecursiveASTVisitor and traverse
its type source info. Fixes indexing references inside @encode().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156936 91177308-0d34-0410-b5e6-96231b3b80d8
Warn about -Wno-foo where foo is an unknown warning option.  This is helpful 
for subtle misspellings such as -Wno-unused-command-line-arguments instead of
-Wno-unused-command-line-argument.

Also fix the diagnostic messages to properly handle -Wno- options.  Previously,
the positive version was always emitted (i.e., -Wfoo was emitted for -Wno-foo).
rdar://11461500

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156937 91177308-0d34-0410-b5e6-96231b3b80d8
Tweek r156937 a bit so that the suggestions are correct.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156938 91177308-0d34-0410-b5e6-96231b3b80d8
Add _alignof and __builtin_alignof as aliases for __alignof in
Microsoft mode, from Will Wilson!


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