24b89469ac 
								
							 
						 
						
							
							
								
								'const std::type_info*' instead of 'std::type_info const*'  
							
							... 
							
							
							
							llvm-svn: 113092 
							
						 
						
							2010-09-05 00:17:29 +00:00  
				
					
						
							
							
								 
						
							
								53fa04909c 
								
							 
						 
						
							
							
								
								make clang print types as "const int *" instead of "int const*",  
							
							... 
							
							
							
							which is should have done from the beginning.  As usual, the most
fun with this sort of change is updating all the testcases.
llvm-svn: 113090 
							
						 
						
							2010-09-05 00:04:01 +00:00  
				
					
						
							
							
								 
						
							
								0073962025 
								
							 
						 
						
							
							
								
								when emitting an error about a missing } in a compound statement, emit  
							
							... 
							
							
							
							a "to match this {" note, pointing out the opener.
llvm-svn: 112709 
							
						 
						
							2010-09-01 15:49:26 +00:00  
				
					
						
							
							
								 
						
							
								52d5ec11cc 
								
							 
						 
						
							
							
								
								Fix typo in error message and testcase.  
							
							... 
							
							
							
							llvm-svn: 112115 
							
						 
						
							2010-08-25 23:45:44 +00:00  
				
					
						
							
							
								 
						
							
								54d75f6925 
								
							 
						 
						
							
							
								
								No need to default synthesize property if implementation  
							
							... 
							
							
							
							has its own getter and setter methods declared.
Fixed 8349319 (nonfragile-abi2).
llvm-svn: 112003 
							
						 
						
							2010-08-25 00:31:58 +00:00  
				
					
						
							
							
								 
						
							
								76b35379f5 
								
							 
						 
						
							
							
								
								Fix a bug in nonfragile-abi2 when attempting to diagnose  
							
							... 
							
							
							
							previous use of a synthesized 'ivar' with property of same name
declared as @dynamic. In this case, 'ivar' is in the
inherited class and no diagnostics should be issued.
llvm-svn: 111940 
							
						 
						
							2010-08-24 18:48:05 +00:00  
				
					
						
							
							
								 
						
							
								9d7d3d84ac 
								
							 
						 
						
							
							
								
								Diagnose if type of iboutletcollection attribute is a builtin type.  
							
							... 
							
							
							
							llvm-svn: 111324 
							
						 
						
							2010-08-17 23:19:16 +00:00  
				
					
						
							
							
								 
						
							
								798f83239c 
								
							 
						 
						
							
							
								
								Diagnose use of iboutletcollection on ivar/property  
							
							... 
							
							
							
							of non-object types. Radar 8308053.
llvm-svn: 111296 
							
						 
						
							2010-08-17 21:39:27 +00:00  
				
					
						
							
							
								 
						
							
								b5d59b66c2 
								
							 
						 
						
							
							
								
								Patch to add type parameter support for attribute iboutletcollection.  
							
							... 
							
							
							
							Radar 8308053.
llvm-svn: 111275 
							
						 
						
							2010-08-17 20:23:12 +00:00  
				
					
						
							
							
								 
						
							
								99311ba1a8 
								
							 
						 
						
							
							
								
								Diagnose assiging to an interface object in  
							
							... 
							
							
							
							non-fragile abi mode as sizes are not statically known.
Fixes radar 8315734.
llvm-svn: 111191 
							
						 
						
							2010-08-16 21:51:12 +00:00  
				
					
						
							
							
								 
						
							
								18d90a97df 
								
							 
						 
						
							
							
								
								When issuing warning for future conflict resolution,  
							
							... 
							
							
							
							(nonfragile-abi2), do not consider 'ivar' access
in class methods. Also, improve on diagnostics.
Radar 8304561.
llvm-svn: 111023 
							
						 
						
							2010-08-13 18:09:39 +00:00  
				
					
						
							
							
								 
						
							
								753783a062 
								
							 
						 
						
							
							
								
								Fixes block type matching bug. Radar 8302845.  
							
							... 
							
							
							
							llvm-svn: 110950 
							
						 
						
							2010-08-12 20:46:12 +00:00  
				
					
						
							
							
								 
						
							
								62157e5342 
								
							 
						 
						
							
							
								
								Downgrade  error about nonnull attribute bbeing applied to a function without point arguments to a warning  
							
							... 
							
							
							
							llvm-svn: 110939 
							
						 
						
							2010-08-12 18:48:43 +00:00  
				
					
						
							
							
								 
						
							
								0bce17e572 
								
							 
						 
						
							
							
								
								Change text of diagnostics on user request.  
							
							... 
							
							
							
							radar 7948654.
llvm-svn: 110857 
							
						 
						
							2010-08-11 21:22:15 +00:00  
				
					
						
							
							
								 
						
							
								d539d098a4 
								
							 
						 
						
							
							
								
								IRGen support for functions returning objc object  
							
							... 
							
							
							
							types. Fixes PR7865.
llvm-svn: 110832 
							
						 
						
							2010-08-11 17:37:35 +00:00  
				
					
						
							
							
								 
						
							
								32e59ba01d 
								
							 
						 
						
							
							
								
								Fix a spurious warning when message sent to qualified-id  
							
							... 
							
							
							
							type receiver (pr7861).
llvm-svn: 110696 
							
						 
						
							2010-08-10 18:10:50 +00:00  
				
					
						
							
							
								 
						
							
								3337b2e8dd 
								
							 
						 
						
							
							
								
								Implements gcc's -Wstrict-selector-match.  
							
							... 
							
							
							
							(radar 8127244).
llvm-svn: 110622 
							
						 
						
							2010-08-09 23:27:58 +00:00  
				
					
						
							
							
								 
						
							
								ec43022b99 
								
							 
						 
						
							
							
								
								Warn if class object does not implement qualified  
							
							... 
							
							
							
							id's protocols. Fixes radar 8154220.
llvm-svn: 110583 
							
						 
						
							2010-08-09 18:21:43 +00:00  
				
					
						
							
							
								 
						
							
								114e55df5b 
								
							 
						 
						
							
							
								
								Fix an Objective-C crasher, PR7839.  
							
							... 
							
							
							
							llvm-svn: 110515 
							
						 
						
							2010-08-07 12:29:18 +00:00  
				
					
						
							
							
								 
						
							
								7b70eb4bb1 
								
							 
						 
						
							
							
								
								Tighten the rules when deciding if an ivar must be  
							
							... 
							
							
							
							auto-synthesized (nonfragile-abi2 specific).
Fixes radar 8251648.
llvm-svn: 109866 
							
						 
						
							2010-07-30 16:59:05 +00:00  
				
					
						
							
							
								 
						
							
								28e1c9155e 
								
							 
						 
						
							
							
								
								Don't print out ivars twice in Decl::print().  Fixes <rdar://problem/8253668>.  
							
							... 
							
							
							
							llvm-svn: 109833 
							
						 
						
							2010-07-30 00:47:46 +00:00  
				
					
						
							
							
								 
						
							
								c15dfd8a87 
								
							 
						 
						
							
							
								
								Tigthen the condition for issung ivar shadowing  
							
							... 
							
							
							
							variables to those in file scope (nonfragile-abi2).
Fixes radar 8248681.
llvm-svn: 109758 
							
						 
						
							2010-07-29 16:53:53 +00:00  
				
					
						
							
							
								 
						
							
								86151343b4 
								
							 
						 
						
							
							
								
								Warn when property ivar lookup finds a global variable  
							
							... 
							
							
							
							of same name. In nonfragile-abi2, lookup accesses a synthesized
ivar. This is a transition warning.  Radar 8225011.
llvm-svn: 109197 
							
						 
						
							2010-07-22 23:33:21 +00:00  
				
					
						
							
							
								 
						
							
								1ddd6d2b6b 
								
							 
						 
						
							
							
								
								Upgrade "'X' is unavailable" from a warning to an error.  This matches GCC's behavior.  Note that  
							
							... 
							
							
							
							GCC emits a warning instead of an error when using an unavailable Objective-C protocol, so now
Clang's behavior is more strict in this case, but more consistent.  We will need to see how much
this fires on real code and determine whether this case should be downgraded to a warning.
Fixes <rdar://problem/8213093>.
llvm-svn: 109033 
							
						 
						
							2010-07-21 20:43:11 +00:00  
				
					
						
							
							
								 
						
							
								3c7ebc3a5e 
								
							 
						 
						
							
							
								
								Patch to type match comparing Objective-C Classes which implement  
							
							... 
							
							
							
							protocols (Radar 8191774).
llvm-svn: 108758 
							
						 
						
							2010-07-19 22:02:22 +00:00  
				
					
						
							
							
								 
						
							
								2a36089eef 
								
							 
						 
						
							
							
								
								Categories cannot synthesize property ivars,  
							
							... 
							
							
							
							and a minor cleanup.
llvm-svn: 108707 
							
						 
						
							2010-07-19 16:14:33 +00:00  
				
					
						
							
							
								 
						
							
								6a06144021 
								
							 
						 
						
							
							
								
								Another test case for on demand synthesis of ivars.  
							
							... 
							
							
							
							llvm-svn: 108600 
							
						 
						
							2010-07-17 01:16:59 +00:00  
				
					
						
							
							
								 
						
							
								18722981e2 
								
							 
						 
						
							
							
								
								Patch to synthesize property ivars on demand as  
							
							... 
							
							
							
							part of the new property synthesis by default.
wip.
llvm-svn: 108599 
							
						 
						
							2010-07-17 00:59:30 +00:00  
				
					
						
							
							
								 
						
							
								56a9d54de8 
								
							 
						 
						
							
							
								
								Don't error when doing default property synthesis  
							
							... 
							
							
							
							and some are already synthesized by user declaration.
llvm-svn: 108341 
							
						 
						
							2010-07-14 18:11:52 +00:00  
				
					
						
							
							
								 
						
							
								c0b0ced477 
								
							 
						 
						
							
							
								
								Consider obective-c pointer arguments as valid sentinel args  
							
							... 
							
							
							
							as well. Fixes radar 7975788.
llvm-svn: 108333 
							
						 
						
							2010-07-14 16:37:51 +00:00  
				
					
						
							
							
								 
						
							
								5848d333b4 
								
							 
						 
						
							
							
								
								Check on property attributes which are declared  
							
							... 
							
							
							
							in class extensions (radar 8171968).
llvm-svn: 108283 
							
						 
						
							2010-07-13 22:04:56 +00:00  
				
					
						
							
							
								 
						
							
								3f1240b614 
								
							 
						 
						
							
							
								
								Add test case for <rdar://problem/4289832>.  Clang actuallys gets  
							
							... 
							
							
							
							the test case right (for the noreturn warning) because the CFG
doesn't support @try  yet, but the test case is now present when
we do properly implement CFG support for @try...@catch.
llvm-svn: 107203 
							
						 
						
							2010-06-29 20:25:42 +00:00  
				
					
						
							
							
								 
						
							
								66f9a6560e 
								
							 
						 
						
							
							
								
								This patch fixes a bug whereby, clang skipped  
							
							... 
							
							
							
							unimplemented property warning for properties 
coming from class's conformin protocol. It also
simplifies the algorithm in the process.
Fixes radar 8035776.
llvm-svn: 107174 
							
						 
						
							2010-06-29 18:12:32 +00:00  
				
					
						
							
							
								 
						
							
								3bf0ded346 
								
							 
						 
						
							
							
								
								Patch to provide separate ASTs for multiple ObjC class extension  
							
							... 
							
							
							
							declarations (implements radar 7928731).
llvm-svn: 106597 
							
						 
						
							2010-06-22 23:20:40 +00:00  
				
					
						
							
							
								 
						
							
								64c235e4c6 
								
							 
						 
						
							
							
								
								Extend format string type-checking to include '%p'.  Fixes remaining cases PR 4468.  
							
							... 
							
							
							
							llvm-svn: 106151 
							
						 
						
							2010-06-16 21:23:04 +00:00  
				
					
						
							
							
								 
						
							
								5981b04718 
								
							 
						 
						
							
							
								
								Clang missing warning about conflicting declaration vs. definition  
							
							... 
							
							
							
							for variable arguments list methods. (radar 8006060).
llvm-svn: 104407 
							
						 
						
							2010-05-21 23:28:58 +00:00  
				
					
						
							
							
								 
						
							
								9f963c2488 
								
							 
						 
						
							
							
								
								Misc. fixes to bring Objetive-C++'s handling of  
							
							... 
							
							
							
							gc attributes to be inline with Objective-C
(for radar 7925141).
llvm-svn: 104084 
							
						 
						
							2010-05-18 23:04:17 +00:00  
				
					
						
							
							
								 
						
							
								87b915a9bc 
								
							 
						 
						
							
							
								
								These test now run in objective-c++ mode we well.  
							
							... 
							
							
							
							llvm-svn: 104041 
							
						 
						
							2010-05-18 18:24:06 +00:00  
				
					
						
							
							
								 
						
							
								3f324d569b 
								
							 
						 
						
							
							
								
								Diagnose unused exception parameters under a different warning group  
							
							... 
							
							
							
							(-Wunused-exception-parameter) than normal variables, since it's more
common to name and then ignore an exception parameter. This warning is
neither enabled by default nor by -Wall. Fixes <rdar://problem/7931045>.
llvm-svn: 102931 
							
						 
						
							2010-05-03 18:51:14 +00:00  
				
					
						
							
							
								 
						
							
								50ec46d4af 
								
							 
						 
						
							
							
								
								Complain when we try to initialize an object of Objective-C class type  
							
							... 
							
							
							
							(which is ill-formed) with an initializer list. Also, change the
fallback from an assertion to a generic error message, which is far
friendlier. Fixes <rdar://problem/7730948>.
llvm-svn: 102930 
							
						 
						
							2010-05-03 18:24:37 +00:00  
				
					
						
							
							
								 
						
							
								58f11d6245 
								
							 
						 
						
							
							
								
								Do not issue warning on unimplemented property in the class, if it  
							
							... 
							
							
							
							conforms to a protocol as one of its super classes does. This is because
conforming super class will implement the property. This implements 
new warning rules for unimplemented properties (radar 7884086).
llvm-svn: 102919 
							
						 
						
							2010-05-03 15:49:20 +00:00  
				
					
						
							
							
								 
						
							
								9e1a3af030 
								
							 
						 
						
							
							
								
								Properties cannot be synthesized by-dafult in  
							
							... 
							
							
							
							categories. Issue usual warnings instead of
confusing error message. Radar 7920807
llvm-svn: 102645 
							
						 
						
							2010-04-29 17:52:18 +00:00  
				
					
						
							
							
								 
						
							
								8f68b777e2 
								
							 
						 
						
							
							
								
								wordsmith an objc warning, rdar://7900756  
							
							... 
							
							
							
							llvm-svn: 102388 
							
						 
						
							2010-04-26 21:44:01 +00:00  
				
					
						
							
							
								 
						
							
								f356419bf5 
								
							 
						 
						
							
							
								
								Refactor Objective-C  @catch  parameter checking by detangling it from  
							
							... 
							
							
							
							function-parameter checking and splitting it into the normal
ActOn*/Build* pair in Sema. We now use VarDecl to represent the @catch 
parameter rather than the ill-fitting ParmVarDecl.
llvm-svn: 102347 
							
						 
						
							2010-04-26 17:32:49 +00:00  
				
					
						
							
							
								 
						
							
								f9b52d5f63 
								
							 
						 
						
							
							
								
								Improve on my previous diagnostics: per Doug's comment.  
							
							... 
							
							
							
							llvm-svn: 102190 
							
						 
						
							2010-04-23 17:52:02 +00:00  
				
					
						
							
							
								 
						
							
								e459686aac 
								
							 
						 
						
							
							
								
								Trying to improve on a diagnostics for properties.  
							
							... 
							
							
							
							llvm-svn: 102187 
							
						 
						
							2010-04-23 17:22:07 +00:00  
				
					
						
							
							
								 
						
							
								58e24a8fd8 
								
							 
						 
						
							
							
								
								Change the 'declared at' diagnostic to say 'declared here'.  
							
							... 
							
							
							
							llvm-svn: 102163 
							
						 
						
							2010-04-23 02:20:12 +00:00  
				
					
						
							
							
								 
						
							
								4f4946aaaa 
								
							 
						 
						
							
							
								
								Whenever we complain about a failed initialization of a function or  
							
							... 
							
							
							
							method parameter, provide a note pointing at the parameter itself so
the user does not have to manually look for the function/method being
called and match up parameters to arguments. For example, we now get:
t.c:4:5: warning: incompatible pointer types passing 'long *' to
parameter of
      type 'int *' [-pedantic]
  f(long_ptr);
    ^~~~~~~~
t.c:1:13: note: passing argument to parameter 'x' here
void f(int *x);
            ^
llvm-svn: 102038 
							
						 
						
							2010-04-22 00:20:18 +00:00  
				
					
						
							
							
								 
						
							
								0c78ad9665 
								
							 
						 
						
							
							
								
								Rework the Parser-Sema interaction for Objective-C message  
							
							... 
							
							
							
							sends. Major changes include:
  - Expanded the interface from two actions (ActOnInstanceMessage,
    ActOnClassMessage), where ActOnClassMessage also handled sends to
    "super" by checking whether the identifier was "super", to three
    actions (ActOnInstanceMessage, ActOnClassMessage,
    ActOnSuperMessage). Code completion has the same changes.
  - The parser now resolves the type to which we are sending a class
    message, so ActOnClassMessage now accepts a TypeTy* (rather than
    an IdentifierInfo *). This opens the door to more interesting
    types (for Objective-C++ support).
  - Split ActOnInstanceMessage and ActOnClassMessage into parser
    action functions (with their original names) and semantic
    functions (BuildInstanceMessage and BuildClassMessage,
    respectively). At present, this split is onyl used by
    ActOnSuperMessage, which decides which kind of super message it
    has and forwards to the appropriate Build*Message. In the future,
    Build*Message will be used by template instantiation.
  - Use getObjCMessageKind() within the disambiguation of Objective-C
    message sends vs. array designators.
Two notes about substandard bits in this patch:
  - There is some redundancy in the code in ParseObjCMessageExpr and
  ParseInitializerWithPotentialDesignator; this will be addressed
  shortly by centralizing the mapping from identifiers to type names
  for the message receiver.
  - There is some #if 0'd code that won't likely ever be used---it
  handles the use of 'super' in methods whose class does not have a
  superclass---but could be used to model GCC's behavior more
  closely. This code will die in my next check-in, but I want it in
  Subversion.
llvm-svn: 102021 
							
						 
						
							2010-04-21 19:57:20 +00:00  
				
					
						
							
							
								 
						
							
								422cb21862 
								
							 
						 
						
							
							
								
								Improve on source location of diagnostic when default  
							
							... 
							
							
							
							property synthesis is using a super class ivar.
llvm-svn: 102011 
							
						 
						
							2010-04-21 18:57:20 +00:00  
				
					
						
							
							
								 
						
							
								15a81e59ca 
								
							 
						 
						
							
							
								
								Fix crash on invalid code where a @throw statement is not followed by a ';'  
							
							... 
							
							
							
							llvm-svn: 101941 
							
						 
						
							2010-04-20 21:21:51 +00:00  
				
					
						
							
							
								 
						
							
								877aaa9706 
								
							 
						 
						
							
							
								
								Patch to support transparent_union types on  
							
							... 
							
							
							
							objective-c methods. Fixes radar 7875968.
llvm-svn: 101935 
							
						 
						
							2010-04-20 20:28:15 +00:00  
				
					
						
							
							
								 
						
							
								26380d493b 
								
							 
						 
						
							
							
								
								More tests for Objective-C-related name lookup weirdness. Yes, it's  
							
							... 
							
							
							
							weird; yes, it's what GCC does. Almost.
llvm-svn: 101803 
							
						 
						
							2010-04-19 19:10:40 +00:00  
				
					
						
							
							
								 
						
							
								36712b2ac1 
								
							 
						 
						
							
							
								
								Allow the 'ibaction' attribute to be attached to method declarations (and not issue a warning).  
							
							... 
							
							
							
							llvm-svn: 101699 
							
						 
						
							2010-04-18 04:59:38 +00:00  
				
					
						
							
							
								 
						
							
								7a4a25de1e 
								
							 
						 
						
							
							
								
								Improve the bit-field too wide error message.  
							
							... 
							
							
							
							llvm-svn: 101384 
							
						 
						
							2010-04-15 18:47:32 +00:00  
				
					
						
							
							
								 
						
							
								b5795c01c4 
								
							 
						 
						
							
							
								
								Fix a -pedantic spurious warning involving @dynamic.  
							
							... 
							
							
							
							llvm-svn: 101284 
							
						 
						
							2010-04-14 20:52:42 +00:00  
				
					
						
							
							
								 
						
							
								5ff40fc7ab 
								
							 
						 
						
							
							
								
								tighten the check for cast of super to avoid rejecting valid code,  
							
							... 
							
							
							
							rdar://7853261
llvm-svn: 101048 
							
						 
						
							2010-04-12 17:09:27 +00:00  
				
					
						
							
							
								 
						
							
								08e774b7ef 
								
							 
						 
						
							
							
								
								fix rdar://7852959 - Use of super within a block is actually ok.  
							
							... 
							
							
							
							(aka, Fariborz was right ;-)
llvm-svn: 101046 
							
						 
						
							2010-04-12 17:03:29 +00:00  
				
					
						
							
							
								 
						
							
								3adb17d44f 
								
							 
						 
						
							
							
								
								fix a bug I noticed by inspection, correcting two reject-valid bugs.  
							
							... 
							
							
							
							llvm-svn: 101026 
							
						 
						
							2010-04-12 06:36:00 +00:00  
				
					
						
							
							
								 
						
							
								3ab8ca2894 
								
							 
						 
						
							
							
								
								fix a rejects-valid bug that I introduced, pointed out  
							
							... 
							
							
							
							by David Chisnall
llvm-svn: 101024 
							
						 
						
							2010-04-12 06:27:57 +00:00  
				
					
						
							
							
								 
						
							
								cd963185f0 
								
							 
						 
						
							
							
								
								fix a rejects-valid testcase involving super that I dreamt up.  
							
							... 
							
							
							
							This also fixes cases where super is used in a block in a
method which isn't valid.
llvm-svn: 101021 
							
						 
						
							2010-04-12 06:20:33 +00:00  
				
					
						
							
							
								 
						
							
								c2ebb03297 
								
							 
						 
						
							
							
								
								Have the parser decide whether a message to super is a variable or  
							
							... 
							
							
							
							type, instead of having sema do it.
llvm-svn: 101016 
							
						 
						
							2010-04-12 05:38:43 +00:00  
				
					
						
							
							
								 
						
							
								6033be79b3 
								
							 
						 
						
							
							
								
								avoid double negatives  
							
							... 
							
							
							
							llvm-svn: 100976 
							
						 
						
							2010-04-11 18:53:08 +00:00  
				
					
						
							
							
								 
						
							
								a36ec4243b 
								
							 
						 
						
							
							
								
								fix PR6811 by not parsing 'super' as a magic expression in  
							
							... 
							
							
							
							LookupInObjCMethod.  Doing so allows all sorts of invalid code
to slip through to codegen.  This patch does not change the 
AST representation of super, though that would now be a natural
thing to do since it can only be in the receiver position and
in the base of a ObjCPropertyRefExpr.
There are still several ugly areas handling super in the parser,
but this is definitely a step in the right direction.
llvm-svn: 100959 
							
						 
						
							2010-04-11 08:28:14 +00:00  
				
					
						
							
							
								 
						
							
								00dcffded1 
								
							 
						 
						
							
							
								
								fix a problem causing us to lose the ''s around objc interface names  
							
							... 
							
							
							
							in a diagnostic.
llvm-svn: 100956 
							
						 
						
							2010-04-11 07:04:01 +00:00  
				
					
						
							
							
								 
						
							
								b10646d4ce 
								
							 
						 
						
							
							
								
								Improve diagnostics like "initializing <type> from an expression of  
							
							... 
							
							
							
							type..." with "initializing <type> with an expression of type...",
which reads better. Thanks to John for the improved wording.
llvm-svn: 100873 
							
						 
						
							2010-04-09 17:53:29 +00:00  
				
					
						
							
							
								 
						
							
								c68e140657 
								
							 
						 
						
							
							
								
								Improve diagnostics when we fail to convert from a source type to a  
							
							... 
							
							
							
							destination type for initialization, assignment, parameter-passing,
etc. The main issue fixed here is that we used rather confusing
wording for diagnostics such as
t.c:2:9: warning: initializing 'char const [2]' discards qualifiers,
      expected 'char *' [-pedantic]
  char *name = __func__;
        ^      ~~~~~~~~
We're not initializing a 'char const [2]', we're initializing a 'char
*' with an expression of type 'char const [2]'. Similar problems
existed for other diagnostics in this area, so I've normalized them all
with more precise descriptive text to say what we're
initializing/converting/assigning/etc. from and to. The warning for
the code above is now:
t.c:2:9: warning: initializing 'char *' from an expression of type
      'char const [2]' discards qualifiers [-pedantic]
  char *name = __func__;
        ^      ~~~~~~~~
Fixes <rdar://problem/7447179>.
llvm-svn: 100832 
							
						 
						
							2010-04-09 00:35:39 +00:00  
				
					
						
							
							
								 
						
							
								f19ac0ede9 
								
							 
						 
						
							
							
								
								Downgrade the "declaration does not declare anything" error to a  
							
							... 
							
							
							
							warning. It's not harmful to have such pointless declarations, and GCC
does not diagnose this issue consistently.
llvm-svn: 100814 
							
						 
						
							2010-04-08 21:33:23 +00:00  
				
					
						
							
							
								 
						
							
								5c7f596b4c 
								
							 
						 
						
							
							
								
								Match GCC's behavior and do not include '-Wunused-parameter' in '-Wunused'.  
							
							... 
							
							
							
							llvm-svn: 100810 
							
						 
						
							2010-04-08 21:10:56 +00:00  
				
					
						
							
							
								 
						
							
								60462098d4 
								
							 
						 
						
							
							
								
								Patch to implement gcc's cstyle arguments in objc  
							
							... 
							
							
							
							methods. wip.
llvm-svn: 100734 
							
						 
						
							2010-04-08 00:30:06 +00:00  
				
					
						
							
							
								 
						
							
								ea7a133775 
								
							 
						 
						
							
							
								
								Improve on diagnostics when an objc class is used as  
							
							... 
							
							
							
							a stand-alone type declaration.
llvm-svn: 100588 
							
						 
						
							2010-04-07 00:22:00 +00:00  
				
					
						
							
							
								 
						
							
								b2c1aac544 
								
							 
						 
						
							
							
								
								default access for synthesize ivar is @protect.  
							
							... 
							
							
							
							Fixes radar 7823675.
llvm-svn: 100582 
							
						 
						
							2010-04-06 23:36:17 +00:00  
				
					
						
							
							
								 
						
							
								6a0a2e0ccc 
								
							 
						 
						
							
							
								
								Patch to not build ivar ASTs when they are ilegally  
							
							... 
							
							
							
							declared in categories.
llvm-svn: 100577 
							
						 
						
							2010-04-06 22:43:48 +00:00  
				
					
						
							
							
								 
						
							
								440a6832c5 
								
							 
						 
						
							
							
								
								Put type restriction on convesion to nonconforming 'id' back in  
							
							... 
							
							
							
							block pointer type comparison.
llvm-svn: 100533 
							
						 
						
							2010-04-06 17:23:39 +00:00  
				
					
						
							
							
								 
						
							
								e16cdb407a 
								
							 
						 
						
							
							
								
								diagnose declaring class extension after its implementation  
							
							... 
							
							
							
							(radar 7822210).
llvm-svn: 100226 
							
						 
						
							2010-04-02 20:53:05 +00:00  
				
					
						
							
							
								 
						
							
								a9f8675e02 
								
							 
						 
						
							
							
								
								Diagnose invalid code with -fobjc-nonfragile-abi2 when  
							
							... 
							
							
							
							property is being accessed without the dot-syntax notation.
(radar 7822344).
llvm-svn: 100212 
							
						 
						
							2010-04-02 20:09:24 +00:00  
				
					
						
							
							
								 
						
							
								d603b54c55 
								
							 
						 
						
							
							
								
								Relax the typesafty rules of block pointers types which  
							
							... 
							
							
							
							take'id' or return 'id' in their type. Fixes radar 7814131.
llvm-svn: 100129 
							
						 
						
							2010-04-01 19:50:22 +00:00  
				
					
						
							
							
								 
						
							
								c1fb862fda 
								
							 
						 
						
							
							
								
								Patch implements gcc's -Wno-protocol option to suppress warning  
							
							... 
							
							
							
							on unimplemented methods in protocols adopted by a class.
(radar 7056600).
llvm-svn: 100028 
							
						 
						
							2010-03-31 18:23:33 +00:00  
				
					
						
							
							
								 
						
							
								df58603c26 
								
							 
						 
						
							
							
								
								Recognize __attribute__((NSObject)) directly applied  
							
							... 
							
							
							
							on retain properties. (radar 7809468).
llvm-svn: 99951 
							
						 
						
							2010-03-30 22:40:11 +00:00  
				
					
						
							
							
								 
						
							
								5cab26d058 
								
							 
						 
						
							
							
								
								Add Support for 'warn_unused_result" attribute on  
							
							... 
							
							
							
							objective-c methods. (radar 7418262).
llvm-svn: 99903 
							
						 
						
							2010-03-30 18:22:15 +00:00  
				
					
						
							
							
								 
						
							
								2e8074bfc3 
								
							 
						 
						
							
							
								
								Further improvement to point to category  
							
							... 
							
							
							
							whose protocolls methods needs implementation.
llvm-svn: 99730 
							
						 
						
							2010-03-27 21:10:05 +00:00  
				
					
						
							
							
								 
						
							
								97752f7c95 
								
							 
						 
						
							
							
								
								Improve diagnostics on incomplete implementation  
							
							... 
							
							
							
							of objc classes; including which methods
need be implemented and where they come from.
WIP.
llvm-svn: 99724 
							
						 
						
							2010-03-27 19:02:17 +00:00  
				
					
						
							
							
								 
						
							
								9b37b1d6bb 
								
							 
						 
						
							
							
								
								Allow conversion of qualified Class type to unqualified  
							
							... 
							
							
							
							Class type to match gcc's. Fixes radar 7789113.
llvm-svn: 99425 
							
						 
						
							2010-03-24 21:00:27 +00:00  
				
					
						
							
							
								 
						
							
								c5b7bfc657 
								
							 
						 
						
							
							
								
								Improve diagnostics when ivar added to class  
							
							... 
							
							
							
							extension (radar 6812436).
llvm-svn: 99408 
							
						 
						
							2010-03-24 18:08:23 +00:00  
				
					
						
							
							
								 
						
							
								5921b83f54 
								
							 
						 
						
							
							
								
								Improve diagnostic for @property/ivar type mismatch by including the types of the  
							
							... 
							
							
							
							ivar and @property respectively.
llvm-svn: 99312 
							
						 
						
							2010-03-23 19:02:22 +00:00  
				
					
						
							
							
								 
						
							
								00c291b012 
								
							 
						 
						
							
							
								
								Set the relevent attributes declared in class extension  
							
							... 
							
							
							
							and fix a missing diagnostics on assigning to a read-only
property. Fixes radar 7766184.
llvm-svn: 99230 
							
						 
						
							2010-03-22 23:25:52 +00:00  
				
					
						
							
							
								 
						
							
								cf711fb353 
								
							 
						 
						
							
							
								
								Diagnose miuse of property dot-syntax instead of crashing.  
							
							... 
							
							
							
							(radar 7634653).
llvm-svn: 99210 
							
						 
						
							2010-03-22 21:02:34 +00:00  
				
					
						
							
							
								 
						
							
								a9effb55f3 
								
							 
						 
						
							
							
								
								Fixes access rues for ivars declared in class  
							
							... 
							
							
							
							implementations (radar 7547942).
llvm-svn: 99198 
							
						 
						
							2010-03-22 19:04:14 +00:00  
				
					
						
							
							
								 
						
							
								568586ff22 
								
							 
						 
						
							
							
								
								Fix PR6618.  
							
							... 
							
							
							
							If a struct has an invalid field, mark it as invalid. Also avoid producing
errors about incomplete types that are invalid.
llvm-svn: 99150 
							
						 
						
							2010-03-21 22:56:43 +00:00  
				
					
						
							
							
								 
						
							
								5140920a48 
								
							 
						 
						
							
							
								
								More coherent diagnostics when ivar is placed n categories.  
							
							... 
							
							
							
							(related to radar 7538989).
llvm-svn: 98993 
							
						 
						
							2010-03-19 21:25:51 +00:00  
				
					
						
							
							
								 
						
							
								d5bb8cb348 
								
							 
						 
						
							
							
								
								Diagnose conversion of 'Class' to/from objective-c  
							
							... 
							
							
							
							object pointer types.
Fixes radar 7634850.
llvm-svn: 98970 
							
						 
						
							2010-03-19 18:06:10 +00:00  
				
					
						
							
							
								 
						
							
								361ffd947c 
								
							 
						 
						
							
							
								
								Make PredefinedExpr::ComputeName() more robust to incorrect  
							
							... 
							
							
							
							code when we are printing the name of an Objective-C method
whose class has not been declared.  Fixes <rdar://problem/7495713>.
llvm-svn: 98874 
							
						 
						
							2010-03-18 21:23:08 +00:00  
				
					
						
							
							
								 
						
							
								8342e5776e 
								
							 
						 
						
							
							
								
								Some cleanup, change diagnostic when assigning to  
							
							... 
							
							
							
							a property which is not lvalue.
llvm-svn: 98848 
							
						 
						
							2010-03-18 18:50:41 +00:00  
				
					
						
							
							
								 
						
							
								b8b0ea330c 
								
							 
						 
						
							
							
								
								objective-c patch to provide type safty when blocks are passing or  
							
							... 
							
							
							
							returning objc objects. There will be a corresponding objective-c++
patch soon.
llvm-svn: 98696 
							
						 
						
							2010-03-17 00:20:01 +00:00  
				
					
						
							
							
								 
						
							
								e01bec9791 
								
							 
						 
						
							
							
								
								Add 'expected-note'  
							
							... 
							
							
							
							llvm-svn: 98560 
							
						 
						
							2010-03-15 18:47:29 +00:00  
				
					
						
							
							
								 
						
							
								679708ee34 
								
							 
						 
						
							
							
								
								Correctly determine if the @property has been previously declared.  If  
							
							... 
							
							
							
							a property has the same name as the ivar it wraps then the old logic
wouldn't find the previous property declaration.
llvm-svn: 98559 
							
						 
						
							2010-03-15 18:47:25 +00:00  
				
					
						
							
							
								 
						
							
								c33dec3664 
								
							 
						 
						
							
							
								
								Add support for -Wwrite-strings.  Patch by Mike M!  Fixes PR 4804.  
							
							... 
							
							
							
							llvm-svn: 98541 
							
						 
						
							2010-03-15 10:54:44 +00:00  
				
					
						
							
							
								 
						
							
								6cf3f3c75e 
								
							 
						 
						
							
							
								
								Statement expressions can be used in global- or namespace-scoped blocks  
							
							... 
							
							
							
							llvm-svn: 98135 
							
						 
						
							2010-03-10 04:54:39 +00:00  
				
					
						
							
							
								 
						
							
								c4813e8d02 
								
							 
						 
						
							
							
								
								Don't error when a block pointer is passed to a  
							
							... 
							
							
							
							vararg functions/methods. Fixes radar 7725203.
llvm-svn: 98070 
							
						 
						
							2010-03-09 18:34:52 +00:00  
				
					
						
							
							
								 
						
							
								a00c5db1a8 
								
							 
						 
						
							
							
								
								Augment __has_feature to report that Clang supports adding attribute 'unused'  
							
							... 
							
							
							
							to an Objective-C instance variable.
llvm-svn: 97850 
							
						 
						
							2010-03-05 22:43:32 +00:00