Make c-index-test -test-print-type include pointeekind for pointer types

The idea is to give visibility to more type kinds, especially for getting
a better grasp of what appears as unexposed type kind with libclang.

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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205921 91177308-0d34-0410-b5e6-96231b3b80d8
Handle difference in signedness of 'char' in test/Index/print-type.c{,pp}


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205922 91177308-0d34-0410-b5e6-96231b3b80d8
clang-cl: Disable TBAA by default for MSVC compatibility

MSVC doesn't have an option to enable TBAA, so make -fstrict-aliasing
and -fno-strict-aliasing available in clang-cl.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205924 91177308-0d34-0410-b5e6-96231b3b80d8
Thread Safety Analysis: now with less includes. No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205929 91177308-0d34-0410-b5e6-96231b3b80d8
Switching back from a static namespace-scoped function to a static class-scope function. No functional change, but resolves a warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205931 91177308-0d34-0410-b5e6-96231b3b80d8
[MS-ABI] Update to alias-avoidance padding
This patch changes how we determine if padding is needed between two 
bases in msvc compatibility mode.  Test cases included.

In addition, a very minor change to the printing of structures to ease 
lit testing.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205933 91177308-0d34-0410-b5e6-96231b3b80d8
Thread safety: move the inline function back into a namespace

Moving it into a struct makes things work because it implicitly marks
the function as inline.  The struct is unnecessary if you explicitly
mark the function inline.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205935 91177308-0d34-0410-b5e6-96231b3b80d8
Thread Safety Analysis: reorganized SExpr header files.  No change in
functionality.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205936 91177308-0d34-0410-b5e6-96231b3b80d8
Move search for header in umbrella directories into its own function

No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205942 91177308-0d34-0410-b5e6-96231b3b80d8
AST: Implement proposal for dependent elaborated type specifiers

cxx-abi-dev came up with a way to disambiguate between different
keywords used in elaborated type specifiers.

This resolves certain collisions during mangling.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205943 91177308-0d34-0410-b5e6-96231b3b80d8
Remove Unicode introduced in r205943

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205945 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the build with LLVM_DELETED_FUNCTION instead of '= delete'

MSVC 2012 doesn't understand '= delete', but 2013 does.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205946 91177308-0d34-0410-b5e6-96231b3b80d8
Avoid crashing when failing to emit a thunk

If we crash, we raise a crash handler dialog, and that's really
annoying.  Even though we can't emit correct IR until we have musttail,
don't crash.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205948 91177308-0d34-0410-b5e6-96231b3b80d8
Add global static variables for anonymous union fields. This makes
sure that a debugger can find them when stepping through code,
for example from the included testcase:

   12     int test_it() {
   13       c = 1;
   14       d = 2;
-> 15       a = 4;
   16       return (c == 1);
   17     }
   18
(lldb) p a
(int) $0 = 2
(lldb) p c
(int) $1 = 2
(lldb) p d
(int) $2 = 2

and a, c, d are all part of the file static anonymous union:

static union {
  int c;
  int d;
  union {
    int a;
  };
  struct {
    int b;
  };
};

Fixes PR19221.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205952 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix false positive in braced list detection in protos.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205954 91177308-0d34-0410-b5e6-96231b3b80d8
[SystemZ] Don't indent SystemZTargetInfo relative to its namespace

Whitespace only.  No functional change intended.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205960 91177308-0d34-0410-b5e6-96231b3b80d8
AArch64: Add command line option to select big or little endian

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205966 91177308-0d34-0410-b5e6-96231b3b80d8
ARM: Add command line option to select big or little endian

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205967 91177308-0d34-0410-b5e6-96231b3b80d8
CodeGen: Clean up CommonLinkage calculation

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205972 91177308-0d34-0410-b5e6-96231b3b80d8
When module umbrellas change, rebuild them

With the VFS, it is easy to hit modified umbrellas by overriding the
umbrella header, and what we want is to rebuild, not to fail.

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