]> granicus.if.org Git - clang/log
clang
10 years agoObjective-C. No need to issue deprecated warning if deprecated method
Fariborz Jahanian [Tue, 18 Mar 2014 00:10:37 +0000 (00:10 +0000)]
Objective-C. No need to issue deprecated warning if deprecated method
in class extension is being implemented in primary class implementation
(no overriding is involved).
// rdar://16249335

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

10 years agoFactor out repeated code in dumping template declarations.
Richard Smith [Mon, 17 Mar 2014 23:34:53 +0000 (23:34 +0000)]
Factor out repeated code in dumping template declarations.

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

10 years agoRange-ify and simplify some of the AST dumping code by factoring out the lastChild...
Richard Smith [Mon, 17 Mar 2014 23:00:06 +0000 (23:00 +0000)]
Range-ify and simplify some of the AST dumping code by factoring out the lastChild check.

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

10 years agoDon't fold together the name lookup entries for two declarations if they are
Richard Smith [Mon, 17 Mar 2014 21:46:03 +0000 (21:46 +0000)]
Don't fold together the name lookup entries for two declarations if they are
declared in different namespaces in the same inline namespace set.

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

10 years agoObjective-C. Consider blocks for designated initializer
Fariborz Jahanian [Mon, 17 Mar 2014 21:41:40 +0000 (21:41 +0000)]
Objective-C. Consider blocks for designated initializer
warnings (warning or lack there of) as well since
blocks are another pattern for envoking other
designated initializers. // rdar://16323233

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

10 years agoPGO: Statically generate data structures
Duncan P. N. Exon Smith [Mon, 17 Mar 2014 21:18:30 +0000 (21:18 +0000)]
PGO: Statically generate data structures

In instrumentation-based profiling, we need a set of data structures to
represent the counters.  Previously, these were built up during static
initialization.  Now, they're shoved into a specially-named section so
that they show up as an array.

As a consequence of the reorganizing symbols, instrumentation data
structures for linkonce functions are now correctly coalesced.

This is the first step in a larger project to minimize runtime overhead
and dependencies in instrumentation-based profilng.  The larger picture
includes removing all initialization overhead and making the dependency
on libc optional.

<rdar://problem/15943240>

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

10 years ago[C++11] Replacing CGFunctionInfo arg iterators with iterator_range arguments(). Updat...
Aaron Ballman [Mon, 17 Mar 2014 18:10:01 +0000 (18:10 +0000)]
[C++11] Replacing CGFunctionInfo arg iterators with iterator_range arguments(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoObjective-C. Do not warn when an instance method and
Fariborz Jahanian [Mon, 17 Mar 2014 17:46:10 +0000 (17:46 +0000)]
Objective-C. Do not warn when an instance method and
class method with the same selctor but different argument
types having one of them in class extension.
// rdar://16312105

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

10 years ago[C++11] Replacing CallArgList writeback iterators with iterator_range writebacks...
Aaron Ballman [Mon, 17 Mar 2014 17:22:27 +0000 (17:22 +0000)]
[C++11] Replacing CallArgList writeback iterators with iterator_range writebacks(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.

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

10 years ago[C++11] Replacing DeclContext iterators using_directives_begin() and using_directives...
Aaron Ballman [Mon, 17 Mar 2014 17:14:12 +0000 (17:14 +0000)]
[C++11] Replacing DeclContext iterators using_directives_begin() and using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. Also used as an opportunity to normalize the name from getUsingDirectives() to using_directives().

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

10 years ago[C++11] Replacing Scope iterators using_directives_begin() and using_directives_end...
Aaron Ballman [Mon, 17 Mar 2014 17:03:37 +0000 (17:03 +0000)]
[C++11] Replacing Scope iterators using_directives_begin() and using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.

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

10 years ago[C++11] Replacing Scope iterators decl_begin() and decl_end() with iterator_range...
Aaron Ballman [Mon, 17 Mar 2014 16:55:25 +0000 (16:55 +0000)]
[C++11] Replacing Scope iterators decl_begin() and decl_end() with iterator_range decls(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.

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

10 years agoRemove unused variable from test.
Richard Smith [Mon, 17 Mar 2014 16:53:13 +0000 (16:53 +0000)]
Remove unused variable from test.

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

10 years ago[C++11] Replacing ObjCObjectPointerType iterators qual_begin() and qual_end() with...
Aaron Ballman [Mon, 17 Mar 2014 16:14:00 +0000 (16:14 +0000)]
[C++11] Replacing ObjCObjectPointerType iterators qual_begin() and qual_end() with iterator_range quals(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCObjectType iterators qual_begin() and qual_end() with iterator_...
Aaron Ballman [Mon, 17 Mar 2014 15:55:30 +0000 (15:55 +0000)]
[C++11] Replacing ObjCObjectType iterators qual_begin() and qual_end() with iterator_range quals(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing FunctionProtoType iterators exception_begin() and exception_end...
Aaron Ballman [Mon, 17 Mar 2014 15:38:09 +0000 (15:38 +0000)]
[C++11] Replacing FunctionProtoType iterators exception_begin() and exception_end() with iterator_range exceptions(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing FunctionProtoType iterators param_type_begin() and param_type_end...
Aaron Ballman [Mon, 17 Mar 2014 15:23:01 +0000 (15:23 +0000)]
[C++11] Replacing FunctionProtoType iterators param_type_begin() and param_type_end() with iterator_range param_types(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoclang-format: Indent from dict literal labels.
Daniel Jasper [Mon, 17 Mar 2014 14:32:47 +0000 (14:32 +0000)]
clang-format: Indent from dict literal labels.

Before:
  @{
    NSFontAttributeNameeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee :
    regularFont,
  };

After:
  @{
    NSFontAttributeNameeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee :
        regularFont,
  };

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

10 years ago[C++11] Replacing CompoundStmt iterators body_begin() and body_end() with iterator_ra...
Aaron Ballman [Mon, 17 Mar 2014 14:19:37 +0000 (14:19 +0000)]
[C++11] Replacing CompoundStmt iterators body_begin() and body_end() with iterator_range body(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoclang/test/CXX/drs: Add "REQUIRES:LP64" to a couple of tests in r204033. [PR8833]
NAKAMURA Takumi [Mon, 17 Mar 2014 11:55:46 +0000 (11:55 +0000)]
clang/test/CXX/drs: Add "REQUIRES:LP64" to a couple of tests in r204033. [PR8833]

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

10 years agoTests for DR400-450.
Richard Smith [Mon, 17 Mar 2014 08:20:10 +0000 (08:20 +0000)]
Tests for DR400-450.

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

10 years agoPR19152: If a variable template's type involves 'auto', instantiate the
Richard Smith [Sun, 16 Mar 2014 01:00:40 +0000 (01:00 +0000)]
PR19152: If a variable template's type involves 'auto', instantiate the
initializer with the variable in order to determine the type.

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

10 years agoMake some assertions on constant expressions static.
Benjamin Kramer [Sat, 15 Mar 2014 18:54:13 +0000 (18:54 +0000)]
Make some assertions on constant expressions static.

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

10 years agoThe year is 2014. MSVC is still unable to synthesize move ctors.
Benjamin Kramer [Sat, 15 Mar 2014 17:35:02 +0000 (17:35 +0000)]
The year is 2014. MSVC is still unable to synthesize move ctors.

Work around with a ton of boilerplate.

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

10 years agoPreprocessor: Clarify the ownership of the IncludeMacroStack with unique_ptr.
Benjamin Kramer [Sat, 15 Mar 2014 16:40:40 +0000 (16:40 +0000)]
Preprocessor: Clarify the ownership of the IncludeMacroStack with unique_ptr.

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

10 years agoSerialization: Directly compare objects instead of using a functor duplicating the...
Benjamin Kramer [Sat, 15 Mar 2014 14:21:58 +0000 (14:21 +0000)]
Serialization: Directly compare objects instead of using a functor duplicating the compare operators.

No functionality change.

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

10 years agoFix PR18806: Canonicalize the replacement type when deserializing a SubstTemplateType...
Stephan Tolksdorf [Sat, 15 Mar 2014 10:23:27 +0000 (10:23 +0000)]
Fix PR18806: Canonicalize the replacement type when deserializing a SubstTemplateTypeParmType

What's going on in the test case (without the patch applied) is this:

When the header is parsed, decltype(B()) is canonicalized to decltype(Y()),
because that was the first parsed equivalent decltype expression. Hence, the
TemplateSpecializationType for Id<decltype(B())> ends up with
SubstTemplateTypeParmType(T, decltype(Y())) as the AliasedType member.

When the PCH file is included and the AST reader reads Id<decltype(B())>, it
sees decltype(B()) before decltype(Y()). So, this time decltype(B()) ends up
being the canonical type for both decltypes, which leads to an assert violation
when the reader calls getSubstTemplateTypeParmType with the non-canonical
decltype(Y()) as the replacement type.

Reviewers: rsmith

Reviewed By: rsmith

CC: cfe-commits, aemerson
Differential Revision: http://llvm-reviews.chandlerc.com/D3073

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

10 years agoRemove dead functions from unreachable code analysis.
Benjamin Kramer [Sat, 15 Mar 2014 10:20:49 +0000 (10:20 +0000)]
Remove dead functions from unreachable code analysis.

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

10 years ago[C++11] Add 'override' keyword to virtual methods that override their base class.
Craig Topper [Sat, 15 Mar 2014 07:47:46 +0000 (07:47 +0000)]
[C++11] Add 'override' keyword to virtual methods that override their base class.

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

10 years ago-Wunreachable-code: treat 'const bool' locals as control values.
Ted Kremenek [Sat, 15 Mar 2014 06:47:45 +0000 (06:47 +0000)]
-Wunreachable-code: treat 'const bool' locals as control values.

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

10 years agoFurther refine -Wunreachable-code groups so that -Wno-unreachable-code-break doesn...
Ted Kremenek [Sat, 15 Mar 2014 05:47:06 +0000 (05:47 +0000)]
Further refine -Wunreachable-code groups so that -Wno-unreachable-code-break doesn't turn off all unreachable code warnings.

Also relax unreachable 'break' and 'return' to not check for being
preceded by a call to 'noreturn'.  That turns out to not be so
interesting in practice.

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

10 years ago[C++11] Add 'override' keyword to virtual methods that override their base class.
Craig Topper [Sat, 15 Mar 2014 04:29:04 +0000 (04:29 +0000)]
[C++11] Add 'override' keyword to virtual methods that override their base class.

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

10 years agoStart breaking -Wunreachable-code up into different diagnostic groups.
Ted Kremenek [Sat, 15 Mar 2014 01:26:32 +0000 (01:26 +0000)]
Start breaking -Wunreachable-code up into different diagnostic groups.

Recent work on -Wunreachable-code has focused on suppressing uninteresting
unreachable code that center around "configuration values", but
there are still some set of cases that are sometimes interesting
or uninteresting depending on the codebase.  For example, a dead
"break" statement may not be interesting for a particular codebase,
potentially because it is auto-generated or simply because code
is written defensively.

To address these workflow differences, -Wunreachable-code is now
broken into several diagnostic groups:

-Wunreachable-code: intended to be a reasonable "default" for
most users.

and then other groups that turn on more aggressive checking:

-Wunreachable-code-break: warn about dead break statements

-Wunreachable-code-trivial-return: warn about dead return statements
that return "trivial" values (e.g., return 0).  Other return
statements that return non-trivial values are still reported
under -Wunreachable-code (this is an area subject to more refinement).

-Wunreachable-code-aggressive: supergroup that enables all these
groups.

The goal is to eventually make -Wunreachable-code good enough to
either be in -Wall or on-by-default, thus finessing these warnings
into different groups helps achieve maximum signal for more users.

TODO: the tests need to be updated to reflect this extra control
via diagnostic flags.

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

10 years agoASTTests//EvaluateAsRValueTest.cpp: Appease *-win32 target to add -fno-delayed-templa...
NAKAMURA Takumi [Sat, 15 Mar 2014 00:36:51 +0000 (00:36 +0000)]
ASTTests//EvaluateAsRValueTest.cpp: Appease *-win32 target to add -fno-delayed-template-parsing.

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

10 years agoImplement the MS extension __identifier properly: take a token and strip it of
Richard Smith [Sat, 15 Mar 2014 00:06:08 +0000 (00:06 +0000)]
Implement the MS extension __identifier properly: take a token and strip it of
its keywordliness.

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

10 years agoObjective-C. Redo turning off designated initialization warnings on
Fariborz Jahanian [Fri, 14 Mar 2014 23:30:18 +0000 (23:30 +0000)]
Objective-C. Redo turning off designated initialization warnings on
'init' methods which are unavailable. Subclasses of NSObject
have to implement such methods as a common pattern to prevent
user's own implementation. // rdar://16305460

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

10 years agoCall RequireCompleteType when performing ADL even if the type is already
Richard Smith [Fri, 14 Mar 2014 22:07:27 +0000 (22:07 +0000)]
Call RequireCompleteType when performing ADL even if the type is already
complete. We hook into this check from a couple of other places (modules,
debug info) so it's not OK to elide the check if the type was already
complete.

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

10 years ago[C++11] Removing the found_decls_begin() and found_decls_end() APIs and replacing...
Aaron Ballman [Fri, 14 Mar 2014 21:38:48 +0000 (21:38 +0000)]
[C++11] Removing the found_decls_begin() and found_decls_end() APIs and replacing with a range-only found_decls() API.

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

10 years agoAdd two missing entries to the C++11 support page. Bump one relevant diagnostic
Richard Smith [Fri, 14 Mar 2014 21:21:24 +0000 (21:21 +0000)]
Add two missing entries to the C++11 support page. Bump one relevant diagnostic
(for an integer too large for any signed type) from Warning to ExtWarn -- it's
ill-formed in C++11 and C99 onwards, and UB during translation in C89 and
C++98. Add diagnostic groups for two relevant diagnostics.

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

10 years ago[C++11] Removing the types_begin() and types_end() APIs and replacing with a range...
Aaron Ballman [Fri, 14 Mar 2014 21:11:14 +0000 (21:11 +0000)]
[C++11] Removing the types_begin() and types_end() APIs and replacing with a range-only types() API.

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

10 years ago[C++11] Removing the local_import_begin() and local_import_end() APIs and replacing...
Aaron Ballman [Fri, 14 Mar 2014 20:59:21 +0000 (20:59 +0000)]
[C++11] Removing the local_import_begin() and local_import_end() APIs and replacing with a range-only local_imports() API. Privatizes the iterator class as well.

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

10 years agoObjective-C. Turn off designated initialization warnings on
Fariborz Jahanian [Fri, 14 Mar 2014 20:35:00 +0000 (20:35 +0000)]
Objective-C. Turn off designated initialization warnings on
'init' methods which are unavailable. Subclasses of NSObject
have to implement such methods as a common pattern to prevent
user's own implementation. // rdar://16305460

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

10 years agoRemoving some unused functionality from AttributeList.
Aaron Ballman [Fri, 14 Mar 2014 20:33:18 +0000 (20:33 +0000)]
Removing some unused functionality from AttributeList.

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

10 years agoTry to remove confusion about C++11 feature support:
Richard Smith [Fri, 14 Mar 2014 20:26:09 +0000 (20:26 +0000)]
Try to remove confusion about C++11 feature support:
 * Explicitly say that we conform to the two N/A bullets that required no
   compiler changes.
 * Remove a library feature from our features list.

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

10 years agoChange a raw string literal back to C++98 style to fix freeBSD9.2 builtbot
James Dennett [Fri, 14 Mar 2014 20:08:11 +0000 (20:08 +0000)]
Change a raw string literal back to C++98 style to fix freeBSD9.2 builtbot

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

10 years ago[C++11] Replacing CapturedStmt iterators capture_init_begin() and capture_init_end...
Aaron Ballman [Fri, 14 Mar 2014 19:41:04 +0000 (19:41 +0000)]
[C++11] Replacing CapturedStmt iterators capture_init_begin() and capture_init_end() with iterator_range capture_inits(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing BlockDecl iterators capture_begin() and capture_end() with iterator...
Aaron Ballman [Fri, 14 Mar 2014 18:34:04 +0000 (18:34 +0000)]
[C++11] Replacing BlockDecl iterators capture_begin() and capture_end() with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoObjective-C. Allow objc_designated_initializer for private
Fariborz Jahanian [Fri, 14 Mar 2014 18:19:46 +0000 (18:19 +0000)]
Objective-C. Allow objc_designated_initializer for private
initializers; but only those declared in class extensions
(not in implementations). // rdar://16305347

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

10 years ago[C++11] Replacing CapturedStmt iterators capture_begin() and capture_end() with itera...
Aaron Ballman [Fri, 14 Mar 2014 18:08:33 +0000 (18:08 +0000)]
[C++11] Replacing CapturedStmt iterators capture_begin() and capture_end() with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoFix VS2012 build after r203881
Hans Wennborg [Fri, 14 Mar 2014 17:45:06 +0000 (17:45 +0000)]
Fix VS2012 build after r203881

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

10 years agoFix a crash (assertion failure) in EvaluateAsRValue.
James Dennett [Fri, 14 Mar 2014 17:44:10 +0000 (17:44 +0000)]
Fix a crash (assertion failure) in EvaluateAsRValue.

Summary:
Gracefully fail to evaluate a constant expression if its type is
unknown, rather than failing an assertion trying to access the type.

Reviewers: klimek

Reviewed By: klimek

CC: chandlerc, cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D3075

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

10 years agoFix PR19104: Incorrect handling of non-virtual calls of virtual methods
Timur Iskhodzhanov [Fri, 14 Mar 2014 17:43:37 +0000 (17:43 +0000)]
Fix PR19104: Incorrect handling of non-virtual calls of virtual methods

Reviewed at http://llvm-reviews.chandlerc.com/D3054

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

10 years agoNFC: remove unused variables from r203938, r203942, and r203947
Duncan P. N. Exon Smith [Fri, 14 Mar 2014 17:19:40 +0000 (17:19 +0000)]
NFC: remove unused variables from r203938, r203942, and r203947

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

10 years ago[C++11] Replacing DeclStmt iterators decl_begin() and decl_end() with iterator_range...
Aaron Ballman [Fri, 14 Mar 2014 17:01:24 +0000 (17:01 +0000)]
[C++11] Replacing DeclStmt iterators decl_begin() and decl_end() with iterator_range decls(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoRemoving some more unused iterator methods for partial specializations.
Aaron Ballman [Fri, 14 Mar 2014 16:32:36 +0000 (16:32 +0000)]
Removing some more unused iterator methods for partial specializations.

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

10 years agoclang/test/CodeGen/aarch64-varargs.c: works now regardless of assertions.
Christian Pirker [Fri, 14 Mar 2014 16:30:06 +0000 (16:30 +0000)]
clang/test/CodeGen/aarch64-varargs.c: works now regardless of assertions.

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

10 years ago[C++11] Replacing VarTemplateDecl iterators spec_begin() and spec_end() with iterator...
Aaron Ballman [Fri, 14 Mar 2014 16:29:14 +0000 (16:29 +0000)]
[C++11] Replacing VarTemplateDecl iterators spec_begin() and spec_end() with iterator_range specializations(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoRemoving some unused iterator methods for partial specializations.
Aaron Ballman [Fri, 14 Mar 2014 16:19:04 +0000 (16:19 +0000)]
Removing some unused iterator methods for partial specializations.

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

10 years ago[C++11] Replacing ClassTemplateDecl iterators spec_begin() and spec_end() with iterat...
Aaron Ballman [Fri, 14 Mar 2014 16:13:33 +0000 (16:13 +0000)]
[C++11] Replacing ClassTemplateDecl iterators spec_begin() and spec_end() with iterator_range specializations(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing FunctionTemplateDecl iterators spec_begin() and spec_end() with...
Aaron Ballman [Fri, 14 Mar 2014 16:05:56 +0000 (16:05 +0000)]
[C++11] Replacing FunctionTemplateDecl iterators spec_begin() and spec_end() with iterator_range specializations(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing OMPThreadPrivateDecl and OMPClause iterators varlist_begin() and...
Aaron Ballman [Fri, 14 Mar 2014 15:55:35 +0000 (15:55 +0000)]
[C++11] Replacing OMPThreadPrivateDecl and OMPClause iterators varlist_begin() and varlist_end() with iterator_range varlists(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoObjective-C++ IRGen. Due to change to AST for initialization of c++11’s
Fariborz Jahanian [Fri, 14 Mar 2014 15:40:54 +0000 (15:40 +0000)]
Objective-C++ IRGen. Due to change to AST for initialization of c++11’s
data members by addition of CXXDefaultInitExpr node to the initializer expression,
it has broken treatment of arc code for such initializations. Reviewed by John McCall.
// rdar://16299964

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

10 years ago[C++11] Replacing DeclContext iterators lookups_begin() and lookups_end() with iterat...
Aaron Ballman [Fri, 14 Mar 2014 15:28:49 +0000 (15:28 +0000)]
[C++11] Replacing DeclContext iterators lookups_begin() and lookups_end() with iterator_range lookups(). Similar for noload_lookups(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCImplementationDecl iterators ivar_begin() and ivar_end() with...
Aaron Ballman [Fri, 14 Mar 2014 15:16:45 +0000 (15:16 +0000)]
[C++11] Replacing ObjCImplementationDecl iterators ivar_begin() and ivar_end() with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCCategoryDecl iterators propimpl_begin() and propimpl_end()...
Aaron Ballman [Fri, 14 Mar 2014 15:02:45 +0000 (15:02 +0000)]
[C++11] Replacing ObjCCategoryDecl iterators propimpl_begin() and propimpl_end() with iterator_range property_impls(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoDon't verify module inclusions in assembler files.
Daniel Jasper [Fri, 14 Mar 2014 14:53:17 +0000 (14:53 +0000)]
Don't verify module inclusions in assembler files.

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

10 years ago[C++11] Replacing ObjCCategoryDecl iterators ivar_begin() and ivar_end() with iterato...
Aaron Ballman [Fri, 14 Mar 2014 13:13:27 +0000 (13:13 +0000)]
[C++11] Replacing ObjCCategoryDecl iterators ivar_begin() and ivar_end() with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCCategoryDecl iterators protocol_loc_begin() and protocol_loc_en...
Aaron Ballman [Fri, 14 Mar 2014 13:03:32 +0000 (13:03 +0000)]
[C++11] Replacing ObjCCategoryDecl iterators protocol_loc_begin() and protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCCategoryDecl iterators protocol_begin() and protocol_end()...
Aaron Ballman [Fri, 14 Mar 2014 12:55:57 +0000 (12:55 +0000)]
[C++11] Replacing ObjCCategoryDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoclang/test/CodeGen/aarch64-varargs.c: Suppress this for -Asserts, for now.
NAKAMURA Takumi [Fri, 14 Mar 2014 12:42:41 +0000 (12:42 +0000)]
clang/test/CodeGen/aarch64-varargs.c: Suppress this for -Asserts, for now.

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

10 years ago[C++11] Replacing ObjCProtocolDecl iterators protocol_loc_begin() and protocol_loc_en...
Aaron Ballman [Fri, 14 Mar 2014 12:38:50 +0000 (12:38 +0000)]
[C++11] Replacing ObjCProtocolDecl iterators protocol_loc_begin() and protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoAArch64_be specific clang target settings
Christian Pirker [Fri, 14 Mar 2014 12:15:45 +0000 (12:15 +0000)]
AArch64_be specific clang target settings

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

10 years agoAArch64_be varargs processing for ARM ABI
Christian Pirker [Fri, 14 Mar 2014 11:51:06 +0000 (11:51 +0000)]
AArch64_be varargs processing for ARM ABI

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

10 years agoRemove unused typedef as pointed out by a GCC warning.
Benjamin Kramer [Fri, 14 Mar 2014 10:15:44 +0000 (10:15 +0000)]
Remove unused typedef as pointed out by a GCC warning.

Yay for auto.

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

10 years agoUse the correct symbol for a left bracket.
Bill Wendling [Fri, 14 Mar 2014 08:39:06 +0000 (08:39 +0000)]
Use the correct symbol for a left bracket.

PR19089

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

10 years agoDe-virtualize a method that doesn't override anything and has no overrides itself.
Craig Topper [Fri, 14 Mar 2014 06:06:19 +0000 (06:06 +0000)]
De-virtualize a method that doesn't override anything and has no overrides itself.

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

10 years agoRemove seemingly dead method. It was marked virtual but doesn't override anything...
Craig Topper [Fri, 14 Mar 2014 06:04:02 +0000 (06:04 +0000)]
Remove seemingly dead method. It was marked virtual but doesn't override anything and there don't seem to be any in tree callers.

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

10 years ago[C++11] Add 'override' keyword to virtual methods that override their base class.
Craig Topper [Fri, 14 Mar 2014 06:02:07 +0000 (06:02 +0000)]
[C++11] Add 'override' keyword to virtual methods that override their base class.

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

10 years agostatic link polly
Sebastian Pop [Fri, 14 Mar 2014 04:04:27 +0000 (04:04 +0000)]
static link polly

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

10 years ago[Modules] Emit the module file paths as dependencies of the PCH when we are building...
Argyrios Kyrtzidis [Fri, 14 Mar 2014 03:07:38 +0000 (03:07 +0000)]
[Modules] Emit the module file paths as dependencies of the PCH when we are building one.

This is because the PCH is tied to the module files, if one of the module files changes or gets removed
the build system should re-build the PCH file.

rdar://16321245

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

10 years ago[Modules] Make sure that the synthesized file "__inferred_module.map" doesn't show...
Argyrios Kyrtzidis [Fri, 14 Mar 2014 02:26:31 +0000 (02:26 +0000)]
[Modules] Make sure that the synthesized file "__inferred_module.map" doesn't show up as dependency of a module file.

Follow-up for rdar://15459210

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

10 years agoRefactor ASTReader::readInputFileInfo to return a struct containing the related infor...
Argyrios Kyrtzidis [Fri, 14 Mar 2014 02:26:27 +0000 (02:26 +0000)]
Refactor ASTReader::readInputFileInfo to return a struct containing the related information.

No functionality change.

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

10 years ago[C++11] Replacing ObjCProtocolDecl iterators protocol_begin() and protocol_end()...
Aaron Ballman [Thu, 13 Mar 2014 22:58:06 +0000 (22:58 +0000)]
[C++11] Replacing ObjCProtocolDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCInterfaceDecl iterators known_extensions_begin() and known_exte...
Aaron Ballman [Thu, 13 Mar 2014 21:57:01 +0000 (21:57 +0000)]
[C++11] Replacing ObjCInterfaceDecl iterators known_extensions_begin() and known_extensions_end() with iterator_range known_extensions(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCInterfaceDecl iterators visible_extensions_begin() and visible_...
Aaron Ballman [Thu, 13 Mar 2014 21:47:07 +0000 (21:47 +0000)]
[C++11] Replacing ObjCInterfaceDecl iterators visible_extensions_begin() and visible_extensions_end() with iterator_range visible_extensions(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCInterfaceDecl iterators known_categories_begin() and known_cate...
Aaron Ballman [Thu, 13 Mar 2014 21:35:02 +0000 (21:35 +0000)]
[C++11] Replacing ObjCInterfaceDecl iterators known_categories_begin() and known_categories_end() with iterator_range known_categories(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCInterfaceDecl iterators visible_categories_begin() and visible_...
Aaron Ballman [Thu, 13 Mar 2014 21:23:55 +0000 (21:23 +0000)]
[C++11] Replacing ObjCInterfaceDecl iterators visible_categories_begin() and visible_categories_end() with iterator_range visible_categories(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCInterfaceDecl iterators ivar_begin() and ivar_end() with iterat...
Aaron Ballman [Thu, 13 Mar 2014 21:09:43 +0000 (21:09 +0000)]
[C++11] Replacing ObjCInterfaceDecl iterators ivar_begin() and ivar_end() with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCInterfaceDecl iterators all_referenced_protocol_begin() and...
Aaron Ballman [Thu, 13 Mar 2014 20:55:22 +0000 (20:55 +0000)]
[C++11] Replacing ObjCInterfaceDecl iterators all_referenced_protocol_begin() and all_referenced_protocol_end() with iterator_range all_referenced_protocols(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCInterfaceDecl iterators protocol_loc_begin() and protocol_loc_e...
Aaron Ballman [Thu, 13 Mar 2014 20:34:24 +0000 (20:34 +0000)]
[C++11] Replacing ObjCInterfaceDecl iterators protocol_loc_begin() and protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoRefactor InstantiatingTemplate constructors
Stephan Tolksdorf [Thu, 13 Mar 2014 20:34:22 +0000 (20:34 +0000)]
Refactor InstantiatingTemplate constructors

This patch factors the bodies of 9 constructors out into a single initialization
method.

Reviewed By: rsmith

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

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

10 years agoAdd SourceRange to err_not_tag_in_scope diagnostic in TreeTransform<...>::RebuildDepe...
Stephan Tolksdorf [Thu, 13 Mar 2014 20:34:03 +0000 (20:34 +0000)]
Add SourceRange to err_not_tag_in_scope diagnostic in TreeTransform<...>::RebuildDependentNameType

Apparently the FIXME was overlooked when the source location information was
made available to the function.

Reviewed By: rsmith

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

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

10 years ago[C++11] Replacing ObjCInterfaceDecl iterators protocol_begin() and protocol_end(...
Aaron Ballman [Thu, 13 Mar 2014 20:29:09 +0000 (20:29 +0000)]
[C++11] Replacing ObjCInterfaceDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.

Drive-by fixing some incorrect types where a for loop would be improperly using ObjCInterfaceDecl::protocol_iterator. No functional changes in these cases.

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

10 years ago[C++11] Replacing ObjCContainerDecl iterators classmeth_begin() and classmeth_end...
Aaron Ballman [Thu, 13 Mar 2014 20:11:06 +0000 (20:11 +0000)]
[C++11] Replacing ObjCContainerDecl iterators classmeth_begin() and classmeth_end() with iterator_range class_methods(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCContainerDecl iterators instmeth_begin() and instmeth_end(...
Aaron Ballman [Thu, 13 Mar 2014 19:50:17 +0000 (19:50 +0000)]
[C++11] Replacing ObjCContainerDecl iterators instmeth_begin() and instmeth_end() with iterator_range instance_methods(). Updating all of the usages of the iterators with range-based for loops.

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

10 years agoCodeGen: use symbolic enumerators for memory order
Tim Northover [Thu, 13 Mar 2014 19:25:52 +0000 (19:25 +0000)]
CodeGen: use symbolic enumerators for memory order

It makes the code clearer and less error-prone to use our (already
known) special values for the various memory order cases.

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

10 years agoCodeGen: make use of weaker failure orders on cmpxchg.
Tim Northover [Thu, 13 Mar 2014 19:25:48 +0000 (19:25 +0000)]
CodeGen: make use of weaker failure orders on cmpxchg.

This makes Clang take advantage of the recent IR addition of a
"failure" memory ordering requirement. As with the "success" ordering,
we try to emit just a single version if the expression is constant,
but fall back to runtime detection (to allow optimisation across
function-call boundaries).

rdar://problem/15996804

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

10 years agoRenaming the recently-created (r203830) props() range API to properties() for clarity.
Aaron Ballman [Thu, 13 Mar 2014 19:11:50 +0000 (19:11 +0000)]
Renaming the recently-created (r203830) props() range API to properties() for clarity.

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

10 years ago[C++11] Replacing ObjCContainerDecl iterators meth_begin() and meth_end() with iterat...
Aaron Ballman [Thu, 13 Mar 2014 19:03:34 +0000 (19:03 +0000)]
[C++11] Replacing ObjCContainerDecl iterators meth_begin() and meth_end() with iterator_range methods(). Updating all of the usages of the iterators with range-based for loops.

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

10 years ago[C++11] Replacing ObjCContainerDecl iterators prop_begin() and prop_end() with iterat...
Aaron Ballman [Thu, 13 Mar 2014 18:47:37 +0000 (18:47 +0000)]
[C++11] Replacing ObjCContainerDecl iterators prop_begin() and prop_end() with iterator_range props(). Updating all of the usages of the iterators with range-based for loops.

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