summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* [C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper2014-03-1533-227/+221
| | | | | | class. llvm-svn: 203999
* Start breaking -Wunreachable-code up into different diagnostic groups.Ted Kremenek2014-03-152-24/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 203994
* Implement the MS extension __identifier properly: take a token and strip it ofRichard Smith2014-03-152-10/+47
| | | | | | its keywordliness. llvm-svn: 203987
* Objective-C. Redo turning off designated initialization warnings onFariborz Jahanian2014-03-142-10/+12
| | | | | | | | '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 llvm-svn: 203984
* Call RequireCompleteType when performing ADL even if the type is alreadyRichard Smith2014-03-141-6/+8
| | | | | | | | 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. llvm-svn: 203978
* [C++11] Removing the found_decls_begin() and found_decls_end() APIs and ↵Aaron Ballman2014-03-142-10/+5
| | | | | | replacing with a range-only found_decls() API. llvm-svn: 203975
* Add two missing entries to the C++11 support page. Bump one relevant diagnosticRichard Smith2014-03-142-3/+4
| | | | | | | | (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. llvm-svn: 203974
* [C++11] Removing the types_begin() and types_end() APIs and replacing with a ↵Aaron Ballman2014-03-141-4/+2
| | | | | | range-only types() API. llvm-svn: 203971
* [C++11] Removing the local_import_begin() and local_import_end() APIs and ↵Aaron Ballman2014-03-141-6/+2
| | | | | | replacing with a range-only local_imports() API. Privatizes the iterator class as well. llvm-svn: 203970
* Objective-C. Turn off designated initialization warnings onFariborz Jahanian2014-03-141-2/+5
| | | | | | | | '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 llvm-svn: 203966
* [C++11] Replacing CapturedStmt iterators capture_init_begin() and ↵Aaron Ballman2014-03-141-4/+2
| | | | | | capture_init_end() with iterator_range capture_inits(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203959
* [C++11] Replacing BlockDecl iterators capture_begin() and capture_end() with ↵Aaron Ballman2014-03-1415-108/+79
| | | | | | iterator_range captures(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203958
* Objective-C. Allow objc_designated_initializer for private Fariborz Jahanian2014-03-141-1/+5
| | | | | | | initializers; but only those declared in class extensions (not in implementations). // rdar://16305347 llvm-svn: 203954
* [C++11] Replacing CapturedStmt iterators capture_begin() and capture_end() ↵Aaron Ballman2014-03-143-17/+12
| | | | | | with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203953
* Fix VS2012 build after r203881Hans Wennborg2014-03-141-1/+2
| | | | llvm-svn: 203951
* Fix a crash (assertion failure) in EvaluateAsRValue.James Dennett2014-03-141-0/+10
| | | | | | | | | | | | | | | | 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 llvm-svn: 203950
* Fix PR19104: Incorrect handling of non-virtual calls of virtual methodsTimur Iskhodzhanov2014-03-144-96/+83
| | | | | | Reviewed at http://llvm-reviews.chandlerc.com/D3054 llvm-svn: 203949
* [C++11] Replacing DeclStmt iterators decl_begin() and decl_end() with ↵Aaron Ballman2014-03-1419-73/+46
| | | | | | iterator_range decls(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203947
* [C++11] Replacing ClassTemplateDecl iterators spec_begin() and spec_end() ↵Aaron Ballman2014-03-141-4/+3
| | | | | | with iterator_range specializations(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203940
* [C++11] Replacing FunctionTemplateDecl iterators spec_begin() and spec_end() ↵Aaron Ballman2014-03-142-8/+5
| | | | | | with iterator_range specializations(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203938
* [C++11] Replacing OMPThreadPrivateDecl and OMPClause iterators ↵Aaron Ballman2014-03-145-36/+18
| | | | | | varlist_begin() and varlist_end() with iterator_range varlists(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203937
* Objective-C++ IRGen. Due to change to AST for initialization of c++11’s Fariborz Jahanian2014-03-141-1/+4
| | | | | | | | 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 llvm-svn: 203935
* [C++11] Replacing DeclContext iterators lookups_begin() and lookups_end() ↵Aaron Ballman2014-03-141-7/+3
| | | | | | with iterator_range lookups(). Similar for noload_lookups(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203933
* [C++11] Replacing ObjCImplementationDecl iterators ivar_begin() and ↵Aaron Ballman2014-03-143-13/+8
| | | | | | ivar_end() with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203932
* [C++11] Replacing ObjCCategoryDecl iterators propimpl_begin() and ↵Aaron Ballman2014-03-1412-92/+40
| | | | | | propimpl_end() with iterator_range property_impls(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203930
* Don't verify module inclusions in assembler files.Daniel Jasper2014-03-141-1/+1
| | | | llvm-svn: 203929
* [C++11] Replacing ObjCCategoryDecl iterators ivar_begin() and ivar_end() ↵Aaron Ballman2014-03-141-4/+2
| | | | | | with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203924
* [C++11] Replacing ObjCCategoryDecl iterators protocol_loc_begin() and ↵Aaron Ballman2014-03-141-4/+2
| | | | | | protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203923
* [C++11] Replacing ObjCCategoryDecl iterators protocol_begin() and ↵Aaron Ballman2014-03-149-49/+25
| | | | | | protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203922
* [C++11] Replacing ObjCProtocolDecl iterators protocol_loc_begin() and ↵Aaron Ballman2014-03-141-4/+2
| | | | | | protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203919
* AArch64_be specific clang target settingsChristian Pirker2014-03-142-2/+21
| | | | llvm-svn: 203918
* AArch64_be varargs processing for ARM ABIChristian Pirker2014-03-141-4/+33
| | | | llvm-svn: 203917
* Remove unused typedef as pointed out by a GCC warning.Benjamin Kramer2014-03-141-1/+0
| | | | | | Yay for auto. llvm-svn: 203912
* De-virtualize a method that doesn't override anything and has no overrides ↵Craig Topper2014-03-141-2/+2
| | | | | | itself. llvm-svn: 203895
* Remove seemingly dead method. It was marked virtual but doesn't override ↵Craig Topper2014-03-141-1/+0
| | | | | | anything and there don't seem to be any in tree callers. llvm-svn: 203894
* [C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper2014-03-147-395/+371
| | | | | | class. llvm-svn: 203893
* [Modules] Emit the module file paths as dependencies of the PCH when we are ↵Argyrios Kyrtzidis2014-03-144-1/+20
| | | | | | | | | | | 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 llvm-svn: 203885
* [Modules] Make sure that the synthesized file "__inferred_module.map" ↵Argyrios Kyrtzidis2014-03-142-8/+17
| | | | | | | | doesn't show up as dependency of a module file. Follow-up for rdar://15459210 llvm-svn: 203882
* Refactor ASTReader::readInputFileInfo to return a struct containing the ↵Argyrios Kyrtzidis2014-03-141-14/+15
| | | | | | | | related information. No functionality change. llvm-svn: 203881
* [C++11] Replacing ObjCProtocolDecl iterators protocol_begin() and ↵Aaron Ballman2014-03-1312-94/+56
| | | | | | protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203863
* [C++11] Replacing ObjCInterfaceDecl iterators known_extensions_begin() and ↵Aaron Ballman2014-03-134-25/+7
| | | | | | known_extensions_end() with iterator_range known_extensions(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203857
* [C++11] Replacing ObjCInterfaceDecl iterators visible_extensions_begin() and ↵Aaron Ballman2014-03-134-43/+13
| | | | | | visible_extensions_end() with iterator_range visible_extensions(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203855
* [C++11] Replacing ObjCInterfaceDecl iterators known_categories_begin() and ↵Aaron Ballman2014-03-135-42/+15
| | | | | | known_categories_end() with iterator_range known_categories(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203854
* [C++11] Replacing ObjCInterfaceDecl iterators visible_categories_begin() and ↵Aaron Ballman2014-03-136-76/+25
| | | | | | visible_categories_end() with iterator_range visible_categories(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203851
* [C++11] Replacing ObjCInterfaceDecl iterators ivar_begin() and ivar_end() ↵Aaron Ballman2014-03-135-27/+17
| | | | | | with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203849
* [C++11] Replacing ObjCInterfaceDecl iterators ↵Aaron Ballman2014-03-137-84/+38
| | | | | | 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. llvm-svn: 203848
* [C++11] Replacing ObjCInterfaceDecl iterators protocol_loc_begin() and ↵Aaron Ballman2014-03-131-4/+2
| | | | | | protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203847
* Refactor InstantiatingTemplate constructorsStephan Tolksdorf2014-03-131-163/+61
| | | | | | | | | | | 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 llvm-svn: 203846
* Add SourceRange to err_not_tag_in_scope diagnostic in ↵Stephan Tolksdorf2014-03-131-2/+1
| | | | | | | | | | | | | 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 llvm-svn: 203845
* [C++11] Replacing ObjCInterfaceDecl iterators protocol_begin() and ↵Aaron Ballman2014-03-137-41/+22
| | | | | | | | 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. llvm-svn: 203842
OpenPOWER on IntegriCloud