ddd01cec0e 
								
							 
						 
						
							
							
								
								Removing an "if (this == nullptr)" check from two print methods.  The condition  
							
							... 
							
							
							
							will never be true in a well-defined context.  The checking for null pointers
has been moved into the caller logic so it does not rely on undefined behavior.
llvm-svn: 210498 
							
						 
						
							2014-06-09 22:53:25 +00:00  
				
					
						
							
							
								 
						
							
								8ae1203992 
								
							 
						 
						
							
							
								
								[C++11] Use 'nullptr'.  
							
							... 
							
							
							
							llvm-svn: 208163 
							
						 
						
							2014-05-07 06:21:57 +00:00  
				
					
						
							
							
								 
						
							
								4526b46ee6 
								
							 
						 
						
							
							
								
								write a line marker right before adding included file  
							
							... 
							
							
							
							Enclosing the original #include directive inside #if 0 adds lines,
so warning/errors messages would have the line number off in
"In file included from <file>:<line>:", so add line marker to fix this.
llvm-svn: 207795 
							
						 
						
							2014-05-01 21:11:57 +00:00  
				
					
						
							
							
								 
						
							
								72cad68b30 
								
							 
						 
						
							
							
								
								do not use "1" for line marker for the predefines "file" either  
							
							... 
							
							
							
							Similar to r207764.
llvm-svn: 207794 
							
						 
						
							2014-05-01 21:10:08 +00:00  
				
					
						
							
							
								 
						
							
								10961c0eab 
								
							 
						 
						
							
							
								
								do not use "1" for line marker for the main file  
							
							... 
							
							
							
							"1" means entering a new file (from a different one), but the main
file is not included from anything (and this would e.g. confuse -Wunused-macros
to not report unused macros in the main file, see pr15610, or also see pr18948).
The line marker is still useful e.g. if the resulting file is renamed or used
via a pipe.
llvm-svn: 207764 
							
						 
						
							2014-05-01 13:50:44 +00:00  
				
					
						
							
							
								 
						
							
								64568ca18a 
								
							 
						 
						
							
							
								
								revert r207756  
							
							... 
							
							
							
							There's nothing wrong with the change itself, but
test/Frontend/rewrite-includes-messages.c fails without another
not-yet-committed fix.
llvm-svn: 207762 
							
						 
						
							2014-05-01 13:37:55 +00:00  
				
					
						
							
							
								 
						
							
								576a0415cb 
								
							 
						 
						
							
							
								
								do not warn about unknown pragmas in modes that do not handle them (pr9537)  
							
							... 
							
							
							
							And refactor to have just one place in code that sets up the empty
pragma handlers.
llvm-svn: 207758 
							
						 
						
							2014-05-01 12:54:03 +00:00  
				
					
						
							
							
								 
						
							
								c5f2bca866 
								
							 
						 
						
							
							
								
								write a line marker right before adding included file  
							
							... 
							
							
							
							Enclosing the original #include directive inside #if 0 adds lines,
so warning/errors messages would have the line number off in
"In file included from <file>:<line>:", so add line marker to fix this.
llvm-svn: 207756 
							
						 
						
							2014-05-01 12:45:08 +00:00  
				
					
						
							
							
								 
						
							
								db3a5dcc60 
								
							 
						 
						
							
							
								
								Objective-C rewriter. Use _WIN64 instead of __LLP64__  
							
							... 
							
							
							
							to conditinalize on 64bit length in a generated meta-data.
// rdar://16489050
llvm-svn: 206402 
							
						 
						
							2014-04-16 17:03:06 +00:00  
				
					
						
							
							
								 
						
							
								287e79a263 
								
							 
						 
						
							
							
								
								Objective-C modern translator. Fix declaration of  
							
							... 
							
							
							
							__NSConstantStringImpl's length field to accomodate
window's 64bit LLP64 mode. // rdar://16489050
llvm-svn: 205353 
							
						 
						
							2014-04-01 19:32:35 +00:00  
				
					
						
							
							
								 
						
							
								40bd0aaf68 
								
							 
						 
						
							
							
								
								[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.  
							
							... 
							
							
							
							llvm-svn: 204045 
							
						 
						
							2014-03-17 15:23:01 +00:00  
				
					
						
							
							
								 
						
							
								fb6b25b5e4 
								
							 
						 
						
							
							
								
								[C++11] Add 'override' keyword to virtual methods that override their base class.  
							
							... 
							
							
							
							llvm-svn: 203999 
							
						 
						
							2014-03-15 04:29:04 +00:00  
				
					
						
							
							
								 
						
							
								9371dd2287 
								
							 
						 
						
							
							
								
								[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.  
							
							... 
							
							
							
							llvm-svn: 203958 
							
						 
						
							2014-03-14 18:34:04 +00:00  
				
					
						
							
							
								 
						
							
								535bbcccb1 
								
							 
						 
						
							
							
								
								[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.  
							
							... 
							
							
							
							llvm-svn: 203947 
							
						 
						
							2014-03-14 17:01:24 +00:00  
				
					
						
							
							
								 
						
							
								d6d25de46e 
								
							 
						 
						
							
							
								
								[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.  
							
							... 
							
							
							
							llvm-svn: 203932 
							
						 
						
							2014-03-14 15:16:45 +00:00  
				
					
						
							
							
								 
						
							
								d85eff49a3 
								
							 
						 
						
							
							
								
								[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.  
							
							... 
							
							
							
							llvm-svn: 203930 
							
						 
						
							2014-03-14 15:02:45 +00:00  
				
					
						
							
							
								 
						
							
								19a417699f 
								
							 
						 
						
							
							
								
								[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.  
							
							... 
							
							
							
							llvm-svn: 203922 
							
						 
						
							2014-03-14 12:55:57 +00:00  
				
					
						
							
							
								 
						
							
								0f6e64d505 
								
							 
						 
						
							
							
								
								[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.  
							
							... 
							
							
							
							llvm-svn: 203863 
							
						 
						
							2014-03-13 22:58:06 +00:00  
				
					
						
							
							
								 
						
							
								a49c5064a1 
								
							 
						 
						
							
							
								
								[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.
llvm-svn: 203842 
							
						 
						
							2014-03-13 20:29:09 +00:00  
				
					
						
							
							
								 
						
							
								e8a7dc9889 
								
							 
						 
						
							
							
								
								[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.  
							
							... 
							
							
							
							llvm-svn: 203840 
							
						 
						
							2014-03-13 20:11:06 +00:00  
				
					
						
							
							
								 
						
							
								f26acce6f7 
								
							 
						 
						
							
							
								
								[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.  
							
							... 
							
							
							
							llvm-svn: 203839 
							
						 
						
							2014-03-13 19:50:17 +00:00  
				
					
						
							
							
								 
						
							
								d174edffa0 
								
							 
						 
						
							
							
								
								Renaming the recently-created (r203830) props() range API to properties() for clarity.  
							
							... 
							
							
							
							llvm-svn: 203835 
							
						 
						
							2014-03-13 19:11:50 +00:00  
				
					
						
							
							
								 
						
							
								dc4bea4676 
								
							 
						 
						
							
							
								
								[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.  
							
							... 
							
							
							
							llvm-svn: 203830 
							
						 
						
							2014-03-13 18:47:37 +00:00  
				
					
						
							
							
								 
						
							
								dfca6f97bc 
								
							 
						 
						
							
							
								
								[C++11] Replace OwningPtr include with <memory>.  
							
							... 
							
							
							
							llvm-svn: 203389 
							
						 
						
							2014-03-09 11:36:40 +00:00  
				
					
						
							
							
								 
						
							
								e8a8baef44 
								
							 
						 
						
							
							
								
								[C++11] Replacing RecordDecl iterators field_begin() and field_end() with iterator_range fields(). Updating all of the usages of the iterators with range-based for loops.  
							
							... 
							
							
							
							llvm-svn: 203355 
							
						 
						
							2014-03-08 20:12:42 +00:00  
				
					
						
							
							
								 
						
							
								23a6dcb365 
								
							 
						 
						
							
							
								
								[C++11] Replacing EnumDecl iterators enumerator_begin() and enumerator_end() with iterator_range enumerators(). Updating all of the usages of the iterators with range-based for loops.  
							
							... 
							
							
							
							llvm-svn: 203353 
							
						 
						
							2014-03-08 18:45:14 +00:00  
				
					
						
							
							
								 
						
							
								b89843299a 
								
							 
						 
						
							
							
								
								Replace OwningPtr with std::unique_ptr.  
							
							... 
							
							
							
							This compiles cleanly with lldb/lld/clang-tools-extra/llvm.
llvm-svn: 203279 
							
						 
						
							2014-03-07 20:03:18 +00:00  
				
					
						
							
							
								 
						
							
								43b68bebe7 
								
							 
						 
						
							
							
								
								[C++11] Replacing ObjCMethodDecl iterators param_begin() and param_end() with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.  
							
							... 
							
							
							
							llvm-svn: 203255 
							
						 
						
							2014-03-07 17:50:17 +00:00  
				
					
						
							
							
								 
						
							
								9698686505 
								
							 
						 
						
							
							
								
								[CMake] Use LINK_LIBS instead of target_link_libraries().  
							
							... 
							
							
							
							llvm-svn: 202238 
							
						 
						
							2014-02-26 06:41:29 +00:00  
				
					
						
							
							
								 
						
							
								fc18842437 
								
							 
						 
						
							
							
								
								RewriteObjC: Factor string literal creation into a helper and make sure it gets a proper constant array type.  
							
							... 
							
							
							
							No change in output.
llvm-svn: 202146 
							
						 
						
							2014-02-25 12:26:11 +00:00  
				
					
						
							
							
								 
						
							
								4fbd373815 
								
							 
						 
						
							
							
								
								Update for llvm api change.  
							
							... 
							
							
							
							llvm-svn: 202053 
							
						 
						
							2014-02-24 18:20:21 +00:00  
				
					
						
							
							
								 
						
							
								7da9487dd4 
								
							 
						 
						
							
							
								
								[CMake] Get rid of explicit dependencies to include/clang/*.inc and introduce CLANG_TABLEGEN_TARGETS.  
							
							... 
							
							
							
							This does;
  - clang_tablegen() adds each tblgen'd target to global property CLANG_TABLEGEN_TARGETS as list.
  - List of targets is added to LLVM_COMMON_DEPENDS.
  - all clang libraries and targets depend on generated headers.
You might wonder this would be regression, but in fact, this is little loss.
  - Almost all of clang libraries depend on tblgen'd files and clang-tblgen.
  - clang-tblgen may cause short stall-out but doesn't cause unconditional rebuild.
  - Each library's dependencies to tblgen'd files might vary along headers' structure.
    It made hard to track and update *really optimal* dependencies.
Each dependency to intrinsics_gen and ClangSACheckers is left as DEPENDS.
llvm-svn: 201842 
							
						 
						
							2014-02-21 07:59:59 +00:00  
				
					
						
							
							
								 
						
							
								314cc81b8c 
								
							 
						 
						
							
							
								
								Rename getResultType() on function and method declarations to getReturnType()  
							
							... 
							
							
							
							A return type is the declared or deduced part of the function type specified in
the declaration.
A result type is the (potentially adjusted) type of the value of an expression
that calls the function.
Rule of thumb:
  * Declarations have return types and parameters.
  * Expressions have result types and arguments.
llvm-svn: 200082 
							
						 
						
							2014-01-25 16:55:45 +00:00  
				
					
						
							
							
								 
						
							
								9cacbabd33 
								
							 
						 
						
							
							
								
								Rename FunctionProtoType accessors from 'arguments' to 'parameters'  
							
							... 
							
							
							
							Fix a perennial source of confusion in the clang type system: Declarations and
function prototypes have parameters to which arguments are supplied, so calling
these 'arguments' was a stretch even in C mode, let alone C++ where default
arguments, templates and overloading make the distinction important to get
right.
Readability win across the board, especially in the casting, ADL and
overloading implementations which make a lot more sense at a glance now.
Will keep an eye on the builders and update dependent projects shortly.
No functional change.
llvm-svn: 199686 
							
						 
						
							2014-01-20 20:26:09 +00:00  
				
					
						
							
							
								 
						
							
								0fafd34a6e 
								
							 
						 
						
							
							
								
								Implement MSVC header search algorithm in MicrosoftMode.  
							
							... 
							
							
							
							Follows algorithm described here: http://msdn.microsoft.com/en-us/library/36k2cdd4.aspx 
llvm-svn: 198082 
							
						 
						
							2013-12-27 19:46:16 +00:00  
				
					
						
							
							
								 
						
							
								08c2500f9c 
								
							 
						 
						
							
							
								
								Fix raw lex crash and -frewrite-includes noeol-at-eof failure  
							
							... 
							
							
							
							Raw lexers don't have a preprocessor so we need to null check.
llvm-svn: 197245 
							
						 
						
							2013-12-13 17:04:55 +00:00  
				
					
						
							
							
								 
						
							
								ebde2aef9f 
								
							 
						 
						
							
							
								
								[CMake] clang/lib: Prune redundant dependencies.  
							
							... 
							
							
							
							llvm-svn: 196864 
							
						 
						
							2013-12-10 02:36:22 +00:00  
				
					
						
							
							
								 
						
							
								65d42bcc2b 
								
							 
						 
						
							
							
								
								[CMake] clang/lib: Satisfy dependencies to add *actually used* libraries on target_link_libraries() and LLVM_LINK_COMPONENTS.  
							
							... 
							
							
							
							I will prune redundant dependencies later.
llvm-svn: 196800 
							
						 
						
							2013-12-09 19:04:43 +00:00  
				
					
						
							
							
								 
						
							
								52937abc8b 
								
							 
						 
						
							
							
								
								Check the initial line number without going through PresumedLoc  
							
							... 
							
							
							
							No practical difference in this case and would return 1 either way, but this is
more self-explanatory.
llvm-svn: 196511 
							
						 
						
							2013-12-05 17:28:42 +00:00  
				
					
						
							
							
								 
						
							
								f6a24ce40f 
								
							 
						 
						
							
							
								
								Fix a tranche of comment, test and doc typos  
							
							... 
							
							
							
							llvm-svn: 196510 
							
						 
						
							2013-12-05 16:25:25 +00:00  
				
					
						
							
							
								 
						
							
								d473363876 
								
							 
						 
						
							
							
								
								Correct hyphenations in comments and assert messages  
							
							... 
							
							
							
							This patch tries to avoid unrelated changes other than fixing a few
hyphen-related ambiguities in nearby lines.
llvm-svn: 196466 
							
						 
						
							2013-12-05 04:47:09 +00:00  
				
					
						
							
							
								 
						
							
								f580a3cc05 
								
							 
						 
						
							
							
								
								Add an assert to make it clear we're on the first line  
							
							... 
							
							
							
							A raw lexer in its initial state is guaranteed to be on line number one.
llvm-svn: 196461 
							
						 
						
							2013-12-05 03:41:20 +00:00  
				
					
						
							
							
								 
						
							
								ddc867985a 
								
							 
						 
						
							
							
								
								Revert r196372, "do not warn about unknown pragmas in modes that do not handle them (pr9537)"  
							
							... 
							
							
							
							It broke clang tests on some hosts with +Asserts. Seems "STDC" clashes.
llvm-svn: 196376 
							
						 
						
							2013-12-04 11:12:26 +00:00  
				
					
						
							
							
								 
						
							
								5c4269c688 
								
							 
						 
						
							
							
								
								do not warn about unknown pragmas in modes that do not handle them (pr9537)  
							
							... 
							
							
							
							And refactor to have just one place in code that sets up the empty
pragma handlers.
llvm-svn: 196372 
							
						 
						
							2013-12-04 10:21:41 +00:00  
				
					
						
							
							
								 
						
							
								3dfeafd9db 
								
							 
						 
						
							
							
								
								InclusionRewriter: Avoid duplicated BOM check  
							
							... 
							
							
							
							The lexer already knows its position in the file, so use that instead of
guessing it might be 3.
llvm-svn: 195910 
							
						 
						
							2013-11-28 07:21:44 +00:00  
				
					
						
							
							
								 
						
							
								c6b9270d04 
								
							 
						 
						
							
							
								
								strip UTF-8 BOM in -frewrite-includes (PR#15664)  
							
							... 
							
							
							
							llvm-svn: 195877 
							
						 
						
							2013-11-27 21:14:43 +00:00  
				
					
						
							
							
								 
						
							
								d38951acff 
								
							 
						 
						
							
							
								
								ObjectiveC modern translator. Fixes a translation bug  
							
							... 
							
							
							
							tranalation @protocol expression. // rdar://15517895
llvm-svn: 195480 
							
						 
						
							2013-11-22 18:43:41 +00:00  
				
					
						
							
							
								 
						
							
								e28815758e 
								
							 
						 
						
							
							
								
								Fix typo: inccrementally  
							
							... 
							
							
							
							llvm-svn: 192551 
							
						 
						
							2013-10-13 12:02:16 +00:00  
				
					
						
							
							
								 
						
							
								d29406233b 
								
							 
						 
						
							
							
								
								ObjectiveC modern rewriter. Rewrite typedefs  
							
							... 
							
							
							
							declared locally in ObjectiveC containers.
// rdar://15143875
llvm-svn: 192127 
							
						 
						
							2013-10-07 19:54:22 +00:00  
				
					
						
							
							
								 
						
							
								0dded8ab04 
								
							 
						 
						
							
							
								
								Revert my patch in r191155 to allow forward  
							
							... 
							
							
							
							class/protocol decls in @implementation and
fixup modern rewriter to handle that.
// rdar://15066233
llvm-svn: 191311 
							
						 
						
							2013-09-24 17:03:07 +00:00