Michael Gottesman [Wed, 28 Aug 2013 20:29:44 +0000 (20:29 +0000)]
[doxygen] Added support for doxygen external search.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189509
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Wed, 28 Aug 2013 20:29:40 +0000 (20:29 +0000)]
[doxygen] Added code for generating doxygen documentation for clang for cmake.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189508
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Wed, 28 Aug 2013 20:24:55 +0000 (20:24 +0000)]
Comments for r189494
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189504
91177308-0d34-0410-b5e6-
96231b3b80d8
Samuel Benzaquen [Wed, 28 Aug 2013 18:42:04 +0000 (18:42 +0000)]
Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer.
Summary:
Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer.
These function require some late binding behavior for the type conversions, thus changes in VariadicValue's MatcherList.
Second try. This time with a fix for C++11 builds.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1536
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189500
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Wed, 28 Aug 2013 18:31:02 +0000 (18:31 +0000)]
Debug Info testing case: move uuid-related testing to a separate file.
Seperate the parts related to uuid from debug-info-template.cpp to
debug-info-uuid.cpp since Itanium mangler does not have support for mangling
uuid yet.
Remove -fms-extensions from RUN line of debug-info-template.cpp.
RUN line of debug-info-uuid.cpp has -fms-extensions and -cxx-abi microsoft.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189498
91177308-0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Wed, 28 Aug 2013 17:36:07 +0000 (17:36 +0000)]
clang-cl: Pass -debug to the linker when using -fsanitize=address
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189496
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Wed, 28 Aug 2013 17:27:13 +0000 (17:27 +0000)]
PR16995: Failing to associate static members with their enclosing class
In the transition from declaration (with some members) to definition, we
were overwriting the list of members with the empty list when attaching
template parameters.
The fix is in llvm::DICompositeType::addMember (along with asserts that
cause this bug to be covered by existing Clang test cases), including
adding some asserts to catch this sort of issue which found issues fixed
in this commit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189494
91177308-0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Wed, 28 Aug 2013 17:07:04 +0000 (17:07 +0000)]
[analyzer] Add support for testing the presence of weak functions.
When casting the address of a FunctionTextRegion to bool, or when adding
constraints to such an address, use a stand-in symbol to represent the
presence or absence of the function if the function is weakly linked.
This is groundwork for possible simple availability testing checks, and
can already catch mistakes involving inverted null checks for
weakly-linked functions.
Currently, the implementation reuses the "extent" symbols, originally created
for tracking the size of a malloc region. Since FunctionTextRegions cannot
be dereferenced, the extent symbol will never be used for anything else.
Still, this probably deserves a refactoring in the future.
This patch does not attempt to support testing the presence of weak
/variables/ (global variables), which would likely require much more of
a change and a generalization of "region structure metadata", like the
current "extents", vs. "region contents metadata", like CStringChecker's
"string length".
Patch by Richard <tarka.t.otter@googlemail.com>!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189492
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 28 Aug 2013 10:03:58 +0000 (10:03 +0000)]
clang-format: Improve token breaking behavior.
Two changes:
* Don't add an extra penalty on breaking the same token multiple times.
Generally, we should prefer not to break, but once we break, the
normal line breaking penalties apply.
* Slightly increase the penalty for breaking comments. In general, the
author has put some thought into how to break the comment and we
should not overwrite this unnecessarily.
With a 40-column column limit, formatting
aaaaaa("
aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa");
Leads to:
Before:
aaaaaa(
"
aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa "
"
aaaaaaaaaaaaaaaa");
After:
aaaaaa("
aaaaaaaaaaaaaaaa "
"
aaaaaaaaaaaaaaaa "
"
aaaaaaaaaaaaaaaa");
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189466
91177308-0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Wed, 28 Aug 2013 09:46:40 +0000 (09:46 +0000)]
ARM: comment on why vmull intrinsic has to exist for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189464
91177308-0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Wed, 28 Aug 2013 09:46:37 +0000 (09:46 +0000)]
ARM: Emit normal IR for vaddhn/vsubhn NEON intrinsics
These operations "vector add high-half narrow" actually correspond to the
sequence:
%sum = add <4 x i32> %lhs, %rhs
%high = lshr <4 x i32> %sum, <i32 16, i32 16, i32 16, i32 16>
%res = trunc <4 x i32> %high to <4 x i16>
Now that LLVM can spot this, Clang should emit the corresponding LLVM IR.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189463
91177308-0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Wed, 28 Aug 2013 09:46:34 +0000 (09:46 +0000)]
ARM: use vqdmull and vqadds/vqsubs to implement vqdmlal/vqdmlsl
The NEON intrinsics vqdmlal and vqdmlsl are really just combinations of a
saturating-doubling-multiply (vqdmull) and a saturating add/sub, so now that
LLVM can spot those patterns Clang should emit them instead of specialised
intrinsics.
Feature already tested by existing ARM NEON intrinsics tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189462
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 28 Aug 2013 09:17:37 +0000 (09:17 +0000)]
clang-format: Fix segfault in 'incomplete' macros.
The code leading to a segfault was:
#pragma omp threadprivate(y)), // long comment leading to a line break
This fixes llvm.org/PR16513.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189460
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 28 Aug 2013 09:07:32 +0000 (09:07 +0000)]
clang-format: Fix infinite loop in macro special case.
If escaped newlines are aligned right
(FormatStyle.AlignEscapedNewlinesLeft == false), and a line contained
too many characters to fit into the column limit, this would result in
a (virtually) endless loop creating a negative number of spaces.
Instead, allow the escaped newlines to be pushed past the column limit
in this case.
This fixes llvm.org/PR16515.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189459
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 28 Aug 2013 08:24:04 +0000 (08:24 +0000)]
clang-format: Don't insert space in __has_include
Before:
#if __has_include( <strstream>)
#include <strstream>
#endif
After:
#if __has_include(<strstream>)
#include <strstream>
#endif
This fixes llvm.org/PR16516.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189455
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 28 Aug 2013 08:04:23 +0000 (08:04 +0000)]
clang-format: Fix corner case in ObjC interface definitions.
In
@implementation ObjcClass
- (void)method;
{
}
@end
the ObjC compiler seems to accept the superfluous comma after "method",
but clang-format used to assert on the subsequent "{".
This fixes llvm.org/PR16604.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189453
91177308-0d34-0410-b5e6-
96231b3b80d8
Pavel Labath [Wed, 28 Aug 2013 08:04:08 +0000 (08:04 +0000)]
[analyzer] Assume new returns non-null even under -fno-exceptions
Summary:
-fno-exceptions does not implicitly attach a nothrow specifier to every operator
new. Even in this mode, non-nothrow new must not return a null pointer. Failure
to allocate memory can be signalled by other means, or just by killing the
program. This behaviour is consistent with the compiler - even with
-fno-exceptions, the generated code never tests for null (and would segfault if
the opeator actually happened to return null).
Reviewers: jordan_rose
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1528
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189452
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 28 Aug 2013 07:50:37 +0000 (07:50 +0000)]
clang-format: Improve braced init list detection:
Before:
std::this_thread::sleep_for(std::chrono::nanoseconds{
std::chrono::seconds { 1 }
} /
5);
After:
std::this_thread::sleep_for(
std::chrono::nanoseconds{ std::chrono::seconds{ 1 } } / 5);
This fixes llvm.org/PR16554.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189451
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 28 Aug 2013 07:27:35 +0000 (07:27 +0000)]
clang-format: Fix corner case in overloaded operator definitions.
Before:
SomeLoooooooooooooooooooooooooogType operator>
>(const SomeLooooooooooooooooooooooooogType &other);
SomeLoooooooooooooooooooooooooogType // break
operator>>(const SomeLooooooooooooooooooooooooogType &other);
After:
SomeLoooooooooooooooooooooooooogType
operator>>(const SomeLooooooooooooooooooooooooogType &other);
SomeLoooooooooooooooooooooooooogType // break
operator>>(const SomeLooooooooooooooooooooooooogType &other);
This fixes llvm.org/PR16328.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189450
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Wed, 28 Aug 2013 07:07:07 +0000 (07:07 +0000)]
clang-format: Fix space in decltype-constexprs.
Before:
static constexpr bool Bar = decltype(bar()) ::value;
After:
static constexpr bool Bar = decltype(bar())::value;
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189449
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 28 Aug 2013 06:03:59 +0000 (06:03 +0000)]
Remove comment on the availability of boxed expressions. They have been available for a while.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189446
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Wed, 28 Aug 2013 06:01:10 +0000 (06:01 +0000)]
Reorder and shrink size of NameLen field in diagnostic group table. Shaves ~4K from clang binary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189445
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Wed, 28 Aug 2013 05:45:53 +0000 (05:45 +0000)]
Richard makes a good point, clean up this test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189444
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 28 Aug 2013 05:38:43 +0000 (05:38 +0000)]
[CMake] use combination of CMAKE_RUNTIME_OUTPUT_DIRECTORY and CMAKE_LIBRARY_OUTPUT_DIRECTORY to install clang headers for Xcode builds.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189443
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Wed, 28 Aug 2013 05:21:45 +0000 (05:21 +0000)]
Revert r189440 - Disable loop vectorizer unrolling when no unrolling requested
As Chandler pointed out, we should not be using -backend-option because this
will cause crashes for users of the tooling interface, etc. A better way to fix
this will be to provide the unrolling pass-manager flag to the loop vectorizer
directly.
Original commit message:
Disable loop vectorizer unrolling when no unrolling requested
In addition to the regular loop unrolling transformation, the loop vectorizer
can also unroll loops. If no unrolling has specifically been requested (by
-fno-unroll-loops), and the loop vectorizer will be used, then add the backend
option to (also) prevent the loop vectorizer from unrolling loops.
I confirmed with Nadav (off list) that disabling vectorizer loop unrolling when
-fno-unroll-loops is provided is the desired behavior.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189441
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Wed, 28 Aug 2013 04:40:22 +0000 (04:40 +0000)]
Disable loop vectorizer unrolling when no unrolling requested
In addition to the regular loop unrolling transformation, the loop vectorizer
can also unroll loops. If no unrolling has specifically been requested (by
-fno-unroll-loops), and the loop vectorizer will be used, then add the backend
option to (also) prevent the loop vectorizer from unrolling loops.
I confirmed with Nadav (off list) that disabling vectorizer loop unrolling when
-fno-unroll-loops is provided is the desired behavior.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189440
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Wed, 28 Aug 2013 04:02:50 +0000 (04:02 +0000)]
Merge diagnostic group tables to reduce data size and relocation entries.
The individual group and subgroups tables are now two large tables. The option table stores an index into these two tables instead of pointers. This reduces the size of the options tabe since it doesn't need to store pointers. It also reduces the number of relocations needed.
My build shows this reducing DiagnosticsIDs.o and the clang binary by ~20.5K. It also removes ~400 relocation entries from DiagnosticIDs.o.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189438
91177308-0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Wed, 28 Aug 2013 01:58:44 +0000 (01:58 +0000)]
cmake: install a cl.exe binary in the tools/msbuild-bin dir
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189435
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Wed, 28 Aug 2013 00:13:42 +0000 (00:13 +0000)]
Some of this test doesn't want -std=c++11
Sorry for the churn.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189429
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 28 Aug 2013 00:07:08 +0000 (00:07 +0000)]
Revert "Use CMAKE_RUNTIME_OUTPUT_DIRECTORY instead of LLVM_BINARY_DIR for installing Clang headers."
This appears to be breaking the buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189426
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Wed, 28 Aug 2013 00:03:12 +0000 (00:03 +0000)]
This test now needs C++11
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189425
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Wed, 28 Aug 2013 00:00:27 +0000 (00:00 +0000)]
AST: Don't treat a TemplateExpansion as a Template
Summary:
Instead of calling getAsTemplate(), call
getAsTemplateOrTemplatePattern() because it handles the
TemplateExpansion case too.
This fixes PR16997.
Reviewers: doug.gregor, rsmith
Reviewed By: rsmith
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1512
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189422
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Tue, 27 Aug 2013 23:57:18 +0000 (23:57 +0000)]
Revert "PR14569: Omit debug info for thunks"
This reverts commit r189320.
Alexey Samsonov and Dmitry Vyukov presented some arguments for keeping
these around - though it still seems like those tasks could be solved by
a tool just using the symbol table. In a very small number of cases,
thunks may be inlined & debug info might be able to save profilers &
similar tools from misclassifying those cases as part of the caller.
The extra changes here plumb through the VarDecl for various cases to
CodeGenFunction - this provides better fidelity through a few APIs but
generally just causes the CGF::StartFunction to fallback to using the
name of the IR function as the name in the debug info.
The changes to debug-info-global-ctor-dtor.cpp seem like goodness. The
two names that go missing (in favor of only emitting those names as
linkage names) are names that can be demangled - emitting them only as
the linkage name should encourage tools to do just that.
Again, thanks to Dinesh Dwivedi for investigation/work on this issue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189421
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 27 Aug 2013 23:56:54 +0000 (23:56 +0000)]
ObjectiveC migrator: minor refactoring of my last
cf annotation patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189420
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 27 Aug 2013 23:20:26 +0000 (23:20 +0000)]
Use CMAKE_RUNTIME_OUTPUT_DIRECTORY instead of LLVM_BINARY_DIR for installing Clang headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189414
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Tue, 27 Aug 2013 23:08:25 +0000 (23:08 +0000)]
Delete CC_Default and use the target default CC everywhere
Summary:
Makes functions with implicit calling convention compatible with
function types with a matching explicit calling convention. This fixes
things like calls to qsort(), which has an explicit __cdecl attribute on
the comparator in Windows headers.
Clang will now infer the calling convention from the declarator. There
are two cases when the CC must be adjusted during redeclaration:
1. When defining a non-inline static method.
2. When redeclaring a function with an implicit or mismatched
convention.
Fixes PR13457, and allows clang to compile CommandLine.cpp for the
Microsoft C++ ABI.
Excellent test cases provided by Alexander Zinenko!
Reviewers: rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D1231
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189412
91177308-0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 27 Aug 2013 22:42:30 +0000 (22:42 +0000)]
ObjectiveC migrator: Do not add explicit cf annotation for
cf functions which are CF_IMPLICIT_BRIDGING_ENABLED.
Add cf annotation to those not CF_IMPLICIT_BRIDGING_ENABLED
to reduce bridge casts.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189409
91177308-0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Tue, 27 Aug 2013 21:52:04 +0000 (21:52 +0000)]
CMake: Fix standalone Clang build, take two.
This time, use a variable that's defined consistently in standalone and
non-standalone builds.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189406
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 27 Aug 2013 20:46:01 +0000 (20:46 +0000)]
Revert "[CMake] Use CLANG_BINARY_DIR instead of LLVM_BINARY_DIR as installation path for Clang headers."
This was breaking some tests. Will investigate.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189403
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 27 Aug 2013 20:41:18 +0000 (20:41 +0000)]
[CMake] Use CLANG_BINARY_DIR instead of LLVM_BINARY_DIR as installation path for Clang headers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189402
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Divacky [Tue, 27 Aug 2013 19:27:35 +0000 (19:27 +0000)]
Make the information about disabled ARCMT/Rewriter/StaticAnalyzer available
to lit and use this info to disable Analysis/FixIt/Rewriter/Analysis tests
when those are not compiled into clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189395
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Tue, 27 Aug 2013 18:27:08 +0000 (18:27 +0000)]
Revert "CMake: Fix out-of-source build's symlinks."
This reverts commit r189371, it broke the in-source cmake build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189390
91177308-0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Tue, 27 Aug 2013 18:10:21 +0000 (18:10 +0000)]
clang-cl: Support -fsanitize=address
This exposes the -fsanitize=address option and adds the runtime library
to the link command.
Differential Revision: http://llvm-reviews.chandlerc.com/D1526
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189389
91177308-0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Tue, 27 Aug 2013 16:59:33 +0000 (16:59 +0000)]
scan-build: Set CC and CXX as make variables when wrapping make builds.
Variables set in a makefile are not overridden by environment variables.
Make sure we actually override CC and CXX when using scan-build.
Patch by Steve McCoy!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189372
91177308-0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Tue, 27 Aug 2013 16:59:30 +0000 (16:59 +0000)]
CMake: Fix out-of-source build's symlinks.
Symlinks to clang should go in Clang's build directory, not LLVM's.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189371
91177308-0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Tue, 27 Aug 2013 16:59:26 +0000 (16:59 +0000)]
[analyzer] Don't include Clang headers inside a namespace.
Found by Gabor Kozar!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189370
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 27 Aug 2013 16:58:15 +0000 (16:58 +0000)]
Warn that -O4 is the same as -O3.
We error on -O5 and higher. While it is tempting to do the same for -O4, I
agree with Jordan Rose: we should warn for a release at least first.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189369
91177308-0d34-0410-b5e6-
96231b3b80d8
Samuel Benzaquen [Tue, 27 Aug 2013 16:55:22 +0000 (16:55 +0000)]
Revert "Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer."
Summary:
This reverts commit
3b082a3c72324aa3363b5184731740534c6b9a2b.
It breaks the build in c++11 mode.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1533
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189368
91177308-0d34-0410-b5e6-
96231b3b80d8
Samuel Benzaquen [Tue, 27 Aug 2013 16:04:53 +0000 (16:04 +0000)]
Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer.
Summary:
Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer.
These function require some late binding behavior for the type conversions, thus changes in VariadicValue's MatcherList.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1531
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189362
91177308-0d34-0410-b5e6-
96231b3b80d8
Edwin Vane [Tue, 27 Aug 2013 15:44:26 +0000 (15:44 +0000)]
Adding a vector version of clang::tooling::shiftedCodePosition().
During the transition of clang::tooling::Replacements from std::set to
std::vector, functions such as clang::tooling::applyAllReplacements() have been
duplicated to take a std::vector<Replacement>. Applying this same temporary
duplication to clang::tooling::shiftedCodePosition().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189358
91177308-0d34-0410-b5e6-
96231b3b80d8
Samuel Benzaquen [Tue, 27 Aug 2013 15:11:16 +0000 (15:11 +0000)]
Rewrite eachOf/allOf/anyOf to use a variadic operator.
Summary:
Rewrite eachOf/allOf/anyOf to use a variadic operator, instead of hand-written calls to Polymorphic matchers.
This simplifies their definition and future changes to add them to the dynamic registry.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1427
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189357
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Tue, 27 Aug 2013 14:24:43 +0000 (14:24 +0000)]
clang-format: Format segments of builder-type calls one per line.
This fixes llvm.org/PR14818.
Before:
return llvm::StringSwitch<Reference::Kind>(name)
.StartsWith(".eh_frame_hdr", ORDER_EH_FRAMEHDR)
.StartsWith(".eh_frame", ORDER_EH_FRAME)
.StartsWith(".init", ORDER_INIT).StartsWith(".fini", ORDER_FINI)
.StartsWith(".hash", ORDER_HASH).Default(ORDER_TEXT);
After:
return llvm::StringSwitch<Reference::Kind>(name)
.StartsWith(".eh_frame_hdr", ORDER_EH_FRAMEHDR)
.StartsWith(".eh_frame", ORDER_EH_FRAME)
.StartsWith(".init", ORDER_INIT)
.StartsWith(".fini", ORDER_FINI)
.StartsWith(".hash", ORDER_HASH)
.Default(ORDER_TEXT);
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189353
91177308-0d34-0410-b5e6-
96231b3b80d8
Serge Pavlov [Tue, 27 Aug 2013 13:15:56 +0000 (13:15 +0000)]
Cleanup of OpaquePtr. No functionality changes.
- Some documenation were added.
- Usages of OpaquePtr<A>.getAsVal<A>() were replaced by OpaquePtr<A>.get().
- Methods getAs and getAsVal were renamed to getPtrTo and getPtrAs respectively.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189346
91177308-0d34-0410-b5e6-
96231b3b80d8
Edwin Vane [Tue, 27 Aug 2013 13:00:34 +0000 (13:00 +0000)]
Adding const buffer iterator generators to Rewriter
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189344
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Tue, 27 Aug 2013 11:09:05 +0000 (11:09 +0000)]
clang-format: Revamp builder-type call formatting.
Previously builder-type calls were only correctly recognized in
top-level calls.
This fixes llvm.org/PR16981.
Before:
someobj->Add((new util::filetools::Handler(dir))->OnEvent1(
NewPermanentCallback(this, &HandlerHolderClass::EventHandlerCBA))
->OnEvent2(NewPermanentCallback(
this, &HandlerHolderClass::EventHandlerCBB))
->OnEvent3(NewPermanentCallback(
this, &HandlerHolderClass::EventHandlerCBC))
->OnEvent5(NewPermanentCallback(
this, &HandlerHolderClass::EventHandlerCBD))
->OnEvent6(NewPermanentCallback(
this, &HandlerHolderClass::EventHandlerCBE)));
After:
someobj->Add((new util::filetools::Handler(dir))
->OnEvent1(NewPermanentCallback(
this, &HandlerHolderClass::EventHandlerCBA))
->OnEvent2(NewPermanentCallback(
this, &HandlerHolderClass::EventHandlerCBB))
->OnEvent3(NewPermanentCallback(
this, &HandlerHolderClass::EventHandlerCBC))
->OnEvent5(NewPermanentCallback(
this, &HandlerHolderClass::EventHandlerCBD))
->OnEvent6(NewPermanentCallback(
this, &HandlerHolderClass::EventHandlerCBE)));
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189337
91177308-0d34-0410-b5e6-
96231b3b80d8
Timur Iskhodzhanov [Tue, 27 Aug 2013 10:38:19 +0000 (10:38 +0000)]
[-cxx-abi microsoft] Change the vdtor implicit should_call_delete argument type to int
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189336
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Tue, 27 Aug 2013 08:43:47 +0000 (08:43 +0000)]
clang-format: Fix bug in column layout.
Before (with 60 character limit in Google style):
return {
{
aaaaaaaaaaaaaaaaaaaaaaaaa}, {
aaaaaaaaaaaaaaaaa},
{
aaaaaaaaaaaaaaaaaaaaaaaaa}, {
aaaaaaaaaaaaaaaaa}};
After:
return {{
aaaaaaaaaaaaaaaaaaaaaaaaa}, {
aaaaaaaaaaaaaaaaa},
{
aaaaaaaaaaaaaaaaaaaaaaaaa}, {
aaaaaaaaaaaaaaaaa}};
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189327
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Tue, 27 Aug 2013 08:21:25 +0000 (08:21 +0000)]
[-cxx-abi microsoft] Remove ArgIndex, we handle all template argument kinds!
TemplateExpansion cannot happen here because MSVC doesn't mangle
anything but the fully substituted template arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189325
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Tue, 27 Aug 2013 05:21:11 +0000 (05:21 +0000)]
PR14569: Omit debug info for thunks
This was added in r166676 based on PR13942 on the basis that tools may
need debug information for any executable code/function for some fairly
broad/non-specific purposes. It seems to me (as noted in PR14569) that
the major/only purpose is in backtraces, which should generally not
apply to thunks as they won't appear in the stack themselves. By
removing them we fix PR14569 and reduce the size of Clang's debug info.
Strangely enough this doesn't seem to have a substantial impact on
Clang's self-hosted debug info (at least looking at DWO file size) size
at all. Not sure if I failed to test this correctly but I only observed
a 0.004% change in DWO file size over Clang+LLVM.
With thanks to Dinesh Dwivedi for work on this PR.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189320
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Tue, 27 Aug 2013 04:40:12 +0000 (04:40 +0000)]
Use set to create CLANG_ORDER_FILE instead of option which implies a bool value.
Patch by Edoardo P. <ed0.88.prez@gmail.com>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189311
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 27 Aug 2013 03:15:56 +0000 (03:15 +0000)]
Show which decls are marked invalid in -ast-dump.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189306
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 27 Aug 2013 01:03:46 +0000 (01:03 +0000)]
Itanium mangler: remove "proposal" comments for manglings that are in the
latest draft of the ABI.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189303
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Tue, 27 Aug 2013 00:55:26 +0000 (00:55 +0000)]
R600: Add local address pointer size to DataLayout
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189302
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 26 Aug 2013 23:23:21 +0000 (23:23 +0000)]
Simplify a bit.
This follows from computeKeyFunction having:
// Template instantiations don't have key functions,see Itanium C++ ABI 5.2.6.
// Same behavior as GCC.
TemplateSpecializationKind TSK = RD->getTemplateSpecializationKind();
if (TSK == TSK_ImplicitInstantiation ||
TSK == TSK_ExplicitInstantiationDefinition)
return 0;
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189287
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Mon, 26 Aug 2013 23:19:37 +0000 (23:19 +0000)]
Debug Info: follow-up patch to r189283.
Thanks David for his suggestion. This commit updates testing cases
to have more specific CHECKs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189286
91177308-0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Mon, 26 Aug 2013 22:49:09 +0000 (22:49 +0000)]
Since r179585, __declspec(property) has gotten special treatment as an attribute where it is not processed as part of the typical Sema attribute functionality. Specifying this attribute as being "ignored" because there is no sema handler for it as a Decl attribute, and no AST node generated for it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189284
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Mon, 26 Aug 2013 22:40:31 +0000 (22:40 +0000)]
Debug Info: add an identifier field to DICompositeType.
Paired with llvm r189282.
Update testing cases to handle an extra field for DICompositeType.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189283
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 26 Aug 2013 22:10:31 +0000 (22:10 +0000)]
Use CHECK-DAG in this test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189280
91177308-0d34-0410-b5e6-
96231b3b80d8
DeLesley Hutchins [Mon, 26 Aug 2013 20:34:59 +0000 (20:34 +0000)]
Consumed analyis: Renamed *PStatus to *PInfo.
The change was made for readability, as the PropagationInfo objects don't
always contain a status. This is submitted as a separate patch because it
touches a lot of lines and I don't want it cluttering up the next patch.
Patch by chris.wailes@gmail.com.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189278
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Mon, 26 Aug 2013 20:33:21 +0000 (20:33 +0000)]
Simplify/clean up debug info suppression in CodeGenFunction
CodeGenFunction is run on only one function - a new object is made for
each new function. I would add an assertion/flag to this effect, but
there's an exception: ObjC properties involve emitting helper functions
that are all emitted by the same CodeGenFunction object, so such a check
is not possible/correct.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189277
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Mon, 26 Aug 2013 20:33:16 +0000 (20:33 +0000)]
Test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189276
91177308-0d34-0410-b5e6-
96231b3b80d8
Wei Pan [Mon, 26 Aug 2013 14:27:34 +0000 (14:27 +0000)]
Handle predefined expression for a captured statement
- __func__ or __FUNCTION__ returns captured statement's parent
function name, not the one compiler generated.
Differential Revision: http://llvm-reviews.chandlerc.com/D1491
Reviewed by bkramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189219
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 26 Aug 2013 14:05:41 +0000 (14:05 +0000)]
Simplify now that -O4 just maps to -O3 and -O is an alias of -O2.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189218
91177308-0d34-0410-b5e6-
96231b3b80d8
Timur Iskhodzhanov [Mon, 26 Aug 2013 10:32:04 +0000 (10:32 +0000)]
Fix virtual destructor mangling when using "-cxx-abi microsoft" on x64
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189214
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 26 Aug 2013 08:59:53 +0000 (08:59 +0000)]
Teach the Linux toolchain about more modern Gentoo installations of GCC
which add another wrinkle to the installation of the libstdc++ headers.
Add at least some basic testing of the weirdnesses of Gentoo's layout.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189212
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Jasper [Mon, 26 Aug 2013 08:10:17 +0000 (08:10 +0000)]
clang-format: Fix bug in column-layout formatting.
Specific arrangements of comments after trailing commas could confuse
the column width calculation, e.g. in:
vector<int> x = { a, b,
/* some */ /* comment */ };
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189211
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Mon, 26 Aug 2013 02:35:51 +0000 (02:35 +0000)]
[-cxx-abi microsoft] Unnamed types are mangled less wrong
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189208
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 25 Aug 2013 22:46:27 +0000 (22:46 +0000)]
CodeGen: Unify two implementations of canDevirtualizeMemberFunctionCall.
They were mostly copy&paste of each other, move it to CodeGenFunction. Of course
the two implementations have diverged over time; the one in CGExprCXX seems to
be the more modern one so I picked that one and moved it to CGClass which feels
like a better home for it. No intended functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189203
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sun, 25 Aug 2013 22:13:27 +0000 (22:13 +0000)]
DebugInfo: Emit info for casted decls in template args
Summary:
Previously the backend wouldn't get to see the underlying GlobalValue
that corresponds to the template argument because it would be hidden by
a cast at the IR level. Instead strip the pointer casts off of the
value until we see the underlying GlobalValue.
Reviewers: dblaikie, echristo, majnemer
Reviewed By: majnemer
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1508
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189200
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 25 Aug 2013 14:27:09 +0000 (14:27 +0000)]
Produce an error when trying to link with -emit-llvm.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189193
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Sun, 25 Aug 2013 13:01:50 +0000 (13:01 +0000)]
Tests for ARM aligned access + reserved R9
Patch by Jeroen Hofstee.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189190
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Han [Sun, 25 Aug 2013 01:29:56 +0000 (01:29 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189185
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Sat, 24 Aug 2013 14:44:41 +0000 (14:44 +0000)]
Add gcc ARM flags -munaligned-access / -mno-unaligned-access
clang already had a mstrict-align which mentiones "Force all memory
accesses to be aligned (ARM only)". On gcc arm this is controlled by
-munaligned-access / -mno-unaligned-access. Add the gcc versions to
the frontend and make -mstrict-align and alias to -mno-unaligned-access
and only show it in clang -cc1 -help.
Since the default value for unaligned accesses / strict alignment
depends on the tripple, both the enable and disable flags are added.
If both are set, the no-unaligned-access is used.
Patch by Jeroen Hofstee.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189175
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Sat, 24 Aug 2013 14:44:35 +0000 (14:44 +0000)]
Add the -ffixed-r9 flag for ARM.
This patch adds the -ffixed-r9 flag to clang to instruct llvm to
globally preserve the contents of r9. The flag is added to the newly
created ARM specific group.
While at it, also place marm / mno-thumb in that group.
Patch by Jeroen Hofstee.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189174
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 24 Aug 2013 13:22:59 +0000 (13:22 +0000)]
This wasn't headers, just missing namespaces.
/me bows head in shame.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189172
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 24 Aug 2013 13:16:22 +0000 (13:16 +0000)]
Add missing includes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189171
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 24 Aug 2013 13:12:34 +0000 (13:12 +0000)]
Replace compLocDecl with less_first.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189170
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 24 Aug 2013 09:24:26 +0000 (09:24 +0000)]
Fix test, make the template type a const pointer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189166
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 24 Aug 2013 08:21:10 +0000 (08:21 +0000)]
DebugInfo: Emit info for constant expressions in template arguments
Summary:
This allows us to handle the general case where a non-type template
argument evaluates to a constant expression which isn't integral or a
declaration.
This fixes PR16939.
Reviewers: dblaikie, rsmith
Reviewed By: dblaikie
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1453
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189165
91177308-0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Sat, 24 Aug 2013 00:22:23 +0000 (00:22 +0000)]
CMake: support the LLVM_INSTALL_TOOLCHAIN_ONLY flag
Differential Revision: http://llvm-reviews.chandlerc.com/D1498
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189156
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 23 Aug 2013 22:49:47 +0000 (22:49 +0000)]
Add a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189153
91177308-0d34-0410-b5e6-
96231b3b80d8
Larisse Voufo [Fri, 23 Aug 2013 22:21:36 +0000 (22:21 +0000)]
A clean-up pass, exploring the unification of traversals of class, variable and function templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189152
91177308-0d34-0410-b5e6-
96231b3b80d8
Shuxin Yang [Fri, 23 Aug 2013 22:01:03 +0000 (22:01 +0000)]
Add note about following two commands are no longer equivalent.
- "clang -O3 -flto a.c -c", and
- "clang -emit-llvm a.c -c"
Thank Rafael for tips.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189150
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 23 Aug 2013 21:49:00 +0000 (21:49 +0000)]
Don't imply -flto with -O4.
We now saturate at -O3.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189149
91177308-0d34-0410-b5e6-
96231b3b80d8
Shuxin Yang [Fri, 23 Aug 2013 21:34:57 +0000 (21:34 +0000)]
Driver::IsUsingLTO() no longer return true when seeing -emit-llvm.
One step toward differentiating following two commands:
clang -O3 -flto a.c -c, and
clang -O3 -emit-llvm a.c
Thanks many awesome folks for clarifying things.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189148
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 23 Aug 2013 20:21:37 +0000 (20:21 +0000)]
Update now that llvm uses the same feature names as the driver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189142
91177308-0d34-0410-b5e6-
96231b3b80d8
DeLesley Hutchins [Fri, 23 Aug 2013 18:40:39 +0000 (18:40 +0000)]
Consumed analysis: change class name in test cases.
The name of a class used in the testing files was updated to actually
be descriptive. Patch by chris.wailes@gmail.com.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189132
91177308-0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Fri, 23 Aug 2013 18:20:47 +0000 (18:20 +0000)]
Rename CMake variable; this fell out of r189127 somehow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189129
91177308-0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Fri, 23 Aug 2013 18:05:24 +0000 (18:05 +0000)]
CMake: Don't look for llvm-tblgen when building outside LLVM tree
Previously, the CMake build would look for llvm-tblgen to determine
if a directory is an LLVM build or install directory. Since we don't
want to include llvm-tblgen in the install, look for llvm-config instead,
and use that to find llvm-tblgen.
Differential Revision: http://llvm-reviews.chandlerc.com/D1483
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189127
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Fri, 23 Aug 2013 18:03:40 +0000 (18:03 +0000)]
Comment parsing: fix a bug where a line with whitespace between two paragraphs
would cause us to concatenate these paragraphs into a single one.
The no-op whitespace churn in test/Index test happened because these tests
don't use the correct approach for testing and are more strict than required
for they are testing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189126
91177308-0d34-0410-b5e6-
96231b3b80d8