5e0bccf2d0 
								
							 
						 
						
							
							
								
								Removed repeated word (of of).  
							
							... 
							
							
							
							llvm-svn: 153195 
							
						 
						
							2012-03-21 16:22:53 +00:00  
				
					
						
							
							
								 
						
							
								0661d0fc42 
								
							 
						 
						
							
							
								
								Fixed typo.  
							
							... 
							
							
							
							llvm-svn: 153142 
							
						 
						
							2012-03-20 21:52:11 +00:00  
				
					
						
							
							
								 
						
							
								f964c7be8d 
								
							 
						 
						
							
							
								
								Added summary section for Object Literals and Subscripting, which contains the external link.  
							
							... 
							
							
							
							llvm-svn: 153141 
							
						 
						
							2012-03-20 21:51:03 +00:00  
				
					
						
							
							
								 
						
							
								fbb2e46299 
								
							 
						 
						
							
							
								
								Link to Objective-C literals documentation.  
							
							... 
							
							
							
							llvm-svn: 153124 
							
						 
						
							2012-03-20 20:51:09 +00:00  
				
					
						
							
							
								 
						
							
								26dbe37993 
								
							 
						 
						
							
							
								
								LanguageExtensions: Manually word wrap a line to reduce horizontal scrolling.  
							
							... 
							
							
							
							llvm-svn: 153048 
							
						 
						
							2012-03-19 19:12:30 +00:00  
				
					
						
							
							
								 
						
							
								c683e4a8e9 
								
							 
						 
						
							
							
								
								Document the weak-linking behavior of the availability attribute  
							
							... 
							
							
							
							llvm-svn: 152543 
							
						 
						
							2012-03-11 17:21:03 +00:00  
				
					
						
							
							
								 
						
							
								fdd417fcee 
								
							 
						 
						
							
							
								
								Document the availability attribute  
							
							... 
							
							
							
							llvm-svn: 152531 
							
						 
						
							2012-03-11 04:53:21 +00:00  
				
					
						
							
							
								 
						
							
								cffca4a014 
								
							 
						 
						
							
							
								
								Clarify even further that the lambda-to-block-pointer conversion is only available in Objective-C++  
							
							... 
							
							
							
							llvm-svn: 152511 
							
						 
						
							2012-03-10 22:20:11 +00:00  
				
					
						
							
							
								 
						
							
								bcfe5582a5 
								
							 
						 
						
							
							
								
								Document the conversion from a lambda closure type to a block pointer  
							
							... 
							
							
							
							in Objective-C++.
llvm-svn: 152446 
							
						 
						
							2012-03-09 23:24:48 +00:00  
				
					
						
							
							
								 
						
							
								5023188315 
								
							 
						 
						
							
							
								
								User-defined literals are done.  
							
							... 
							
							
							
							llvm-svn: 152396 
							
						 
						
							2012-03-09 08:41:27 +00:00  
				
					
						
							
							
								 
						
							
								1e3c1d38f2 
								
							 
						 
						
							
							
								
								Correct the documentation to give a legal example of a raw string literal.  
							
							... 
							
							
							
							llvm-svn: 152216 
							
						 
						
							2012-03-07 08:57:31 +00:00  
				
					
						
							
							
								 
						
							
								522fa53703 
								
							 
						 
						
							
							
								
								Add a pile of tests for unrestricted unions, and advertise support for them.  
							
							... 
							
							
							
							llvm-svn: 151992 
							
						 
						
							2012-03-03 23:51:05 +00:00  
				
					
						
							
							
								 
						
							
								908f130d58 
								
							 
						 
						
							
							
								
								Implement double underscore names support in __has_attribute  
							
							... 
							
							
							
							llvm-svn: 151809 
							
						 
						
							2012-03-01 14:53:16 +00:00  
				
					
						
							
							
								 
						
							
								d18cd186d0 
								
							 
						 
						
							
							
								
								Correct an example of a feature name to actually use a feature name rather  
							
							... 
							
							
							
							than an attribute name. Patch by Michel Morin!
llvm-svn: 151791 
							
						 
						
							2012-03-01 02:12:07 +00:00  
				
					
						
							
							
								 
						
							
								2dc867f4e3 
								
							 
						 
						
							
							
								
								Update release notes and language extensions pages to note that support for  
							
							... 
							
							
							
							generalized initializers is available.
llvm-svn: 151477 
							
						 
						
							2012-02-26 07:09:21 +00:00  
				
					
						
							
							
								 
						
							
								2cca7b5ca9 
								
							 
						 
						
							
							
								
								Accept __has_feature(__feature__) as a synonym for __has_feature(feature) (and  
							
							... 
							
							
							
							likewise for __has_extension). Patch by Jonathan Sauer!
llvm-svn: 151445 
							
						 
						
							2012-02-25 10:41:10 +00:00  
				
					
						
							
							
								 
						
							
								29c42f2a25 
								
							 
						 
						
							
							
								
								Implement a new type trait __is_trivially_constructible(T, Args...)  
							
							... 
							
							
							
							that provides the behavior of the C++11 library trait
std::is_trivially_constructible<T, Args...>, which can't be
implemented purely as a library.
Since __is_trivially_constructible can have zero or more arguments, I
needed to add Yet Another Type Trait Expression Class, this one
handling arbitrary arguments. The next step will be to migrate
UnaryTypeTrait and BinaryTypeTrait over to this new, more general
TypeTrait class.
Fixes the Clang side of <rdar://problem/10895483> / PR12038.
llvm-svn: 151352 
							
						 
						
							2012-02-24 07:38:34 +00:00  
				
					
						
							
							
								 
						
							
								64bfb2e88e 
								
							 
						 
						
							
							
								
								Clang supports lambdas.  
							
							... 
							
							
							
							llvm-svn: 151239 
							
						 
						
							2012-02-23 05:44:09 +00:00  
				
					
						
							
							
								 
						
							
								1cb2af0b3a 
								
							 
						 
						
							
							
								
								Advertize support for constexpr.  
							
							... 
							
							
							
							llvm-svn: 150524 
							
						 
						
							2012-02-14 22:56:17 +00:00  
				
					
						
							
							
								 
						
							
								588d6abf7d 
								
							 
						 
						
							
							
								
								The following patch adds __attribute__((no_address_safety_analysis)) which will allow to disable  
							
							... 
							
							
							
							address safety analysis (such as e.g. AddressSanitizer or SAFECode) for a specific function.
When building with AddressSanitizer, add AddressSafety function attribute to every generated function
except for those that have __attribute__((no_address_safety_analysis)).
With this patch we will be able to
1. disable AddressSanitizer for a particular function
2. disable AddressSanitizer-hostile optimizations (such as some cases of load widening) when AddressSanitizer is on.
llvm-svn: 148842 
							
						 
						
							2012-01-24 19:25:38 +00:00  
				
					
						
							
							
								 
						
							
								83369b3377 
								
							 
						 
						
							
							
								
								Tweak markup.  
							
							... 
							
							
							
							llvm-svn: 148221 
							
						 
						
							2012-01-15 16:42:14 +00:00  
				
					
						
							
							
								 
						
							
								e89856784c 
								
							 
						 
						
							
							
								
								added descriptions of vector extensions, info about vector literals and vector operations.  
							
							... 
							
							
							
							llvm-svn: 148220 
							
						 
						
							2012-01-15 16:22:24 +00:00  
				
					
						
							
							
								 
						
							
								eaa262b5b8 
								
							 
						 
						
							
							
								
								Fix ALL the markup.  
							
							... 
							
							
							
							llvm-svn: 148219 
							
						 
						
							2012-01-15 15:26:07 +00:00  
				
					
						
							
							
								 
						
							
								e56f393249 
								
							 
						 
						
							
							
								
								Mass rename C1x references to C11. The name hasn't proliferated like "C++0x" so this patch is surprisingly small.  
							
							... 
							
							
							
							Also drop -Wc1x-extensions in favor of -Wc11-extensions. I don't think we need to keep this around for compatibility.
llvm-svn: 147221 
							
						 
						
							2011-12-23 17:00:35 +00:00  
				
					
						
							
							
								 
						
							
								ee9c24a40b 
								
							 
						 
						
							
							
								
								clarify that clang version number macros are marketing version #'s, not something useful.  
							
							... 
							
							
							
							llvm-svn: 146672 
							
						 
						
							2011-12-15 19:06:36 +00:00  
				
					
						
							
							
								 
						
							
								dca70af22f 
								
							 
						 
						
							
							
								
								Implement support for the __is_final type trait, to determine whether  
							
							... 
							
							
							
							a class is marked 'final', from Alberto Ganesh Barbati! Fixes
PR11462.
llvm-svn: 145775 
							
						 
						
							2011-12-03 18:14:24 +00:00  
				
					
						
							
							
								 
						
							
								9751d340db 
								
							 
						 
						
							
							
								
								First version of AddressSanitizer docs; documentation for __has_feature(address_sanitizer)  
							
							... 
							
							
							
							llvm-svn: 145276 
							
						 
						
							2011-11-28 20:51:02 +00:00  
				
					
						
							
							
								 
						
							
								f8b02cabca 
								
							 
						 
						
							
							
								
								Fix grammaro  
							
							... 
							
							
							
							llvm-svn: 143633 
							
						 
						
							2011-11-03 18:33:01 +00:00  
				
					
						
							
							
								 
						
							
								3c469769a2 
								
							 
						 
						
							
							
								
								Add __has_feature(cxx_defaulted_functions) for querying "defaulted  
							
							... 
							
							
							
							functions", from Michel Morin!
llvm-svn: 143411 
							
						 
						
							2011-11-01 01:19:34 +00:00  
				
					
						
							
							
								 
						
							
								8317245f9c 
								
							 
						 
						
							
							
								
								Update documentation to use "C++11" instead of "C++0x"  
							
							... 
							
							
							
							llvm-svn: 142339 
							
						 
						
							2011-10-18 05:49:30 +00:00  
				
					
						
							
							
								 
						
							
								60188eb8bf 
								
							 
						 
						
							
							
								
								Add c_alignas and cxx_alignas features  
							
							... 
							
							
							
							llvm-svn: 142020 
							
						 
						
							2011-10-14 23:44:46 +00:00  
				
					
						
							
							
								 
						
							
								a35d67dfd9 
								
							 
						 
						
							
							
								
								Implement built-in macro '__has_warning', which allows one to query if a warning flag is valid.  Fixes <rdar://problem/10263428>.  
							
							... 
							
							
							
							llvm-svn: 141802 
							
						 
						
							2011-10-12 19:46:30 +00:00  
				
					
						
							
							
								 
						
							
								6ce53ae752 
								
							 
						 
						
							
							
								
								Now that we support move generation, mention this in the language extension and C++ status pages. Also update the C++ status for default functions, which are complete now that we can generate move functions, and destructor exception specifications, which I did a while ago.  
							
							... 
							
							
							
							llvm-svn: 141558 
							
						 
						
							2011-10-10 18:10:00 +00:00  
				
					
						
							
							
								 
						
							
								6b9c41ea68 
								
							 
						 
						
							
							
								
								Add list initialization for complex numbers in C.  Essentially, this allows "_Complex float x = {1.0f, 2.0f};".  See changes to docs/LanguageExtensions.html for a longer description.  
							
							... 
							
							
							
							<rdar://problem/9397672>.
llvm-svn: 140090 
							
						 
						
							2011-09-19 23:17:44 +00:00  
				
					
						
							
							
								 
						
							
								dc28ba12e1 
								
							 
						 
						
							
							
								
								Document __has_feature(objc_instancetype).  
							
							... 
							
							
							
							llvm-svn: 139299 
							
						 
						
							2011-09-08 17:19:31 +00:00  
				
					
						
							
							
								 
						
							
								8b7d403684 
								
							 
						 
						
							
							
								
								Allow C++0x enumerations with a fixed underlying type in  
							
							... 
							
							
							
							Objective-C. The @encode'ing of such an enumeration type is the same
as its underlying type. <rdar://problem/5276348>.
llvm-svn: 139297 
							
						 
						
							2011-09-08 17:18:35 +00:00  
				
					
						
							
							
								 
						
							
								bab8a96f2f 
								
							 
						 
						
							
							
								
								Implement the Objective-C 'instancetype' type, which is an alias of  
							
							... 
							
							
							
							'id' that can be used (only!) via a contextual keyword as the result
type of an Objective-C message send. 'instancetype' then gives the
method a related result type, which we have already been inferring for
a variety of methods (new, alloc, init, self, retain). Addresses
<rdar://problem/9267640>.
llvm-svn: 139275 
							
						 
						
							2011-09-08 01:46:34 +00:00  
				
					
						
							
							
								 
						
							
								26858b7e10 
								
							 
						 
						
							
							
								
								Add and document __has_feature values for the remaining C++0x  
							
							... 
							
							
							
							features, so clients can check for the availability of these features
even before we get around to implementing them.
llvm-svn: 138741 
							
						 
						
							2011-08-29 17:28:38 +00:00  
				
					
						
							
							
								 
						
							
								4b1e8399c2 
								
							 
						 
						
							
							
								
								Thread Safety: Added basic argument parsing for all new attributes.  
							
							... 
							
							
							
							This patch special cases the parser for thread safety attributes so that all
attribute arguments are put in the argument list (instead of a special
parameter) since arguments may not otherwise resolve correctly without two-token
lookahead.
This patch also adds checks to make sure that attribute arguments are
lockable objects.
llvm-svn: 137130 
							
						 
						
							2011-08-09 17:59:31 +00:00  
				
					
						
							
							
								 
						
							
								7d1492a99d 
								
							 
						 
						
							
							
								
								Add a __has_feature macro for generalized initializers, turned off  
							
							... 
							
							
							
							because we don't support them yet.
llvm-svn: 137027 
							
						 
						
							2011-08-07 00:34:32 +00:00  
				
					
						
							
							
								 
						
							
								63fa667c68 
								
							 
						 
						
							
							
								
								Added basic parsing for all remaining attributes, thread safety  
							
							... 
							
							
							
							analysis. This includes checking that the attributes are applied in the
correct contexts and with the correct number of arguments.
llvm-svn: 136383 
							
						 
						
							2011-07-28 20:12:35 +00:00  
				
					
						
							
							
								 
						
							
								13d4444f96 
								
							 
						 
						
							
							
								
								Thread safety: Fix typo in documentation  
							
							... 
							
							
							
							llvm-svn: 136370 
							
						 
						
							2011-07-28 18:38:36 +00:00  
				
					
						
							
							
								 
						
							
								aac4d21ba7 
								
							 
						 
						
							
							
								
								Added parsing for guarded_var, pt_guarded_var, lockable,  
							
							... 
							
							
							
							scoped_lockable, and no_thread_safety_analysis attributes, all for thread safety analysis
llvm-svn: 136364 
							
						 
						
							2011-07-28 17:21:07 +00:00  
				
					
						
							
							
								 
						
							
								106b4924e2 
								
							 
						 
						
							
							
								
								Thanks to Chandler for reminding me to update the documentation for the  
							
							... 
							
							
							
							__underlying_type feature.
llvm-svn: 135402 
							
						 
						
							2011-07-18 17:22:33 +00:00  
				
					
						
							
							
								 
						
							
								b0d8199925 
								
							 
						 
						
							
							
								
								Add documentation about __has_feature(cxx_delegationg_constructors)  
							
							... 
							
							
							
							llvm-svn: 133693 
							
						 
						
							2011-06-23 06:11:37 +00:00  
				
					
						
							
							
								 
						
							
								efa0716ab7 
								
							 
						 
						
							
							
								
								Fix a minor copy-paste-o that broke the stylesheets  
							
							... 
							
							
							
							llvm-svn: 133678 
							
						 
						
							2011-06-23 01:22:53 +00:00  
				
					
						
							
							
								 
						
							
								aedbfe480f 
								
							 
						 
						
							
							
								
								Fix a bunch of HTML compliance problems with LanguageExtensions.html  
							
							... 
							
							
							
							One weird thing is the addition of several <a name=""> tags where
previously there were id attributes on the <h3> tags. This is because
the id attribute must begin with a letter, not an underscore. The name
attribute is not so constrained, so links will continue to work.
llvm-svn: 133677 
							
						 
						
							2011-06-23 01:21:01 +00:00  
				
					
						
							
							
								 
						
							
								c0a2ab6421 
								
							 
						 
						
							
							
								
								Revert "-fexceptions does not, in fact, enable C++ exceptions"  
							
							... 
							
							
							
							In fact it does. For the driver anyway, and not cc1 which I'm supposed
to pretend doesn't exist.
llvm-svn: 133673 
							
						 
						
							2011-06-23 00:42:53 +00:00  
				
					
						
							
							
								 
						
							
								6d756895a9 
								
							 
						 
						
							
							
								
								-fexceptions does not, in fact, enable C++ exceptions  
							
							... 
							
							
							
							llvm-svn: 133666 
							
						 
						
							2011-06-22 23:49:12 +00:00  
				
					
						
							
							
								 
						
							
								31168b077c 
								
							 
						 
						
							
							
								
								Automatic Reference Counting.  
							
							... 
							
							
							
							Language-design credit goes to a lot of people, but I particularly want
to single out Blaine Garst and Patrick Beard for their contributions.
Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself,
in no particular order.
llvm-svn: 133103 
							
						 
						
							2011-06-15 23:02:42 +00:00