399f9656ba 
								
							 
						 
						
							
							
								
								Teach tentative parsing to handle block pointers (rdar://6394309)  
							
							... 
							
							
							
							llvm-svn: 59853 
							
						 
						
							2008-11-22 01:15:33 +00:00  
				
					
						
							
							
								 
						
							
								3d31c6c823 
								
							 
						 
						
							
							
								
								remove the last couple obsolete forms of Parser::Diag.  
							
							... 
							
							
							
							llvm-svn: 59510 
							
						 
						
							2008-11-18 07:50:21 +00:00  
				
					
						
							
							
								 
						
							
								32a0379575 
								
							 
						 
						
							
							
								
								Implement support for C++ nested-name-specifiers ('foo::bar::x') in the Parser side.  
							
							... 
							
							
							
							No Sema functionality change, just the signatures of the Action/Sema methods.
llvm-svn: 58913 
							
						 
						
							2008-11-08 16:45:02 +00:00  
				
					
						
							
							
								 
						
							
								3a0558af9a 
								
							 
						 
						
							
							
								
								Just do a diagIfAmbiguous -> warnIfAmbiguous rename.  
							
							... 
							
							
							
							No functionality change.
llvm-svn: 57746 
							
						 
						
							2008-10-17 23:23:35 +00:00  
				
					
						
							
							
								 
						
							
								84a4df8c92 
								
							 
						 
						
							
							
								
								Issue a warning when there's an ambiguous function declarator (that could be a direct initializer for a variable defition).  
							
							... 
							
							
							
							Idea originated from here: http://thread.gmane.org/gmane.comp.gcc.devel/101524 
llvm-svn: 57609 
							
						 
						
							2008-10-15 23:21:32 +00:00  
				
					
						
							
							
								 
						
							
								4217c7ec81 
								
							 
						 
						
							
							
								
								A tiny optimization; use isCXXFunctionDeclarator only when it's appropriate.  
							
							... 
							
							
							
							llvm-svn: 57141 
							
						 
						
							2008-10-05 23:15:41 +00:00  
				
					
						
							
							
								 
						
							
								279d9814e5 
								
							 
						 
						
							
							
								
								Add some text from the C++ standard and additional ambiguity resolution tests.  
							
							... 
							
							
							
							No funcitonality change.
llvm-svn: 57136 
							
						 
						
							2008-10-05 21:10:08 +00:00  
				
					
						
							
							
								 
						
							
								2b1ef227f5 
								
							 
						 
						
							
							
								
								Handle ambiguities between expressions and type-ids that occur inside parentheses, e.g.:  
							
							... 
							
							
							
							sizeof(int()) -> "int()" is type-id
sizeof(int()+1) -> "int()+1" is expression.
llvm-svn: 57131 
							
						 
						
							2008-10-05 19:56:22 +00:00  
				
					
						
							
							
								 
						
							
								df788f4eea 
								
							 
						 
						
							
							
								
								Found a subtle bug caused by an implicit enum-to-bool conversion (of the TentativeParsingResult enum).  
							
							... 
							
							
							
							This was the motivation of the following changes:
-'TentativeParsingResult' enum is replaced by a 'TPResult' class that basically encapsulates the enum.
-TPR_true, TPR_false, TPR_ambiguous, and TPR_error enum constants are replaced by TPResult::True(), TPResult::False(), etc. calls that return a TPResult object.
-Also fixed the subtle bug in Parser::isCXXFunctionDeclarator (caught by the above changes as a compilation error).
llvm-svn: 57125 
							
						 
						
							2008-10-05 18:52:21 +00:00  
				
					
						
							
							
								 
						
							
								2534620b4e 
								
							 
						 
						
							
							
								
								Fix Parser::isCXXConditionDeclaration to properly resolve declarations.  
							
							... 
							
							
							
							llvm-svn: 57111 
							
						 
						
							2008-10-05 15:19:49 +00:00  
				
					
						
							
							
								 
						
							
								71f3e19df0 
								
							 
						 
						
							
							
								
								Disambiguate between a declaration or expression for the 'condition' part of a if/switch/while/for statement.  
							
							... 
							
							
							
							llvm-svn: 57109 
							
						 
						
							2008-10-05 15:03:47 +00:00  
				
					
						
							
							
								 
						
							
								7b87f27438 
								
							 
						 
						
							
							
								
								Consider GNU attributes when doing ambiguity resolution.  
							
							... 
							
							
							
							llvm-svn: 57108 
							
						 
						
							2008-10-05 14:27:18 +00:00  
				
					
						
							
							
								 
						
							
								2c7137d8d1 
								
							 
						 
						
							
							
								
								Resolve ambiguous C++ statements (C++ 6.8p1).  
							
							... 
							
							
							
							'ParseTentative.cpp' implements the functionality needed to resolve ambiguous C++ statements, to either a declaration or an expression, by "tentatively parsing" them.
llvm-svn: 57084 
							
						 
						
							2008-10-05 00:06:24 +00:00