ObjectiveC migrator: More tweaking of heuristics
for an audited cf function and addition of
a test case.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188816 91177308-0d34-0410-b5e6-96231b3b80d8
Centralize the logic for handling -m* options and fix pr16943.

This moves the logic for handling -mfoo -mno-foo from the driver to -cc1. It
also changes -cc1 to apply the options in order, fixing pr16943.

The handling of -mno-mmx -msse is now an explicit special case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188817 91177308-0d34-0410-b5e6-96231b3b80d8
Adding Replacement serialization support

Adding a new data structure for storing the Replacements generated for a single
translation unit. Structure contains a vector of Replacements as well a field
indicating the main source file of the translation unit. An optional 'Context'
field allows for tools to provide any information they want about the context
the Replacements were generated in. This context is printed, for example, when
detecting conflicts during Replacement deduplication.

YAML serialization for this data structure is implemented in this patch. Tests
are included.

Differential Revision: http://llvm-reviews.chandlerc.com/D1422



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188818 91177308-0d34-0410-b5e6-96231b3b80d8
During typo correction, check for an exact match in an unimported module. If we
find one, then report the error as a missing import instead of as a typo.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188821 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC migrator: More tweaking of heuristics
for an audited cf function to not include those
which are annotated by user.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188823 91177308-0d34-0410-b5e6-96231b3b80d8
DebugInfo: Simplify/clarify propagation of typemembers between declaration and definition

Based on code review feedback from Eric Christopher (on r188739) and
Adrian Prantl (r188642).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188829 91177308-0d34-0410-b5e6-96231b3b80d8
Look at lowercase version of argv[0] when determining driver mode

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188833 91177308-0d34-0410-b5e6-96231b3b80d8
DebugInfo: comment/inlining based on feedback from Eric & Adrian

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188834 91177308-0d34-0410-b5e6-96231b3b80d8
Fix iterator invalidation. PR16935.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188835 91177308-0d34-0410-b5e6-96231b3b80d8
Test case for PR16933/r188707.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188836 91177308-0d34-0410-b5e6-96231b3b80d8
Centralize the handling of -target-cpu (-cc1, -cc1as) and -mcpu (gold plugin).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188837 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC migrator: make sure audited pragams are
dumped for last declarations in the current TU. wip.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188838 91177308-0d34-0410-b5e6-96231b3b80d8
Add more specific flags for misc GNU extensions.

This adds the following as subgroups of -Wgnu: -Wgnu-alignof-expression,
-Wgnu-case-range, -Wgnu-complex-integer, -Wgnu-conditional-omitted-operand,
-Wgnu-empty-initializer, -Wgnu-label-as-value, -Wgnu-local-label,
and -Wgnu-statement-expression,

Patch by Peter Lewis.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188839 91177308-0d34-0410-b5e6-96231b3b80d8
Remove Extension warning for GNU local labels.

We generally don't warn about extensions involving keywords reserved
for the implementation, so we shouldn't warn here either: the
standard doesn't require it, and it doesn't provide useful information
to the user.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188840 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC migrator. make sure to embed audited
candidate functions in their CF_IMPLICIT_BRIDGING_ENABLED
pragma before exiting the header file.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188846 91177308-0d34-0410-b5e6-96231b3b80d8
Avoid using the 'index' namespace as scope.

This should fix the bogus ambiguous reference errors reported by gcc 4.2.1 that the FreeBSD bot is using.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188850 91177308-0d34-0410-b5e6-96231b3b80d8
If we find an error in the range expression in a range-based for loop, and the
loop variable has a type containing 'auto', set the declaration to be invalid
(because we couldn't deduce its type) to prevent follow-on errors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188853 91177308-0d34-0410-b5e6-96231b3b80d8
Remove more uses of 'index' as namespace scope.

Follow up to r188850.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188854 91177308-0d34-0410-b5e6-96231b3b80d8
No functionality change. Adjust a bunch of formatting issues in this code and
fix a typo in a comment.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188857 91177308-0d34-0410-b5e6-96231b3b80d8
Replace avx-512 with avx512f to match llvm side and what gcc patches appear to be using.

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