aboutsummaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2011-07-22Document the existing objc_precise_lifetime attribute.John McCall
Introduce and document a new objc_returns_inner_pointer attribute, and consume it by performing a retain+autorelease on message receivers when they're not immediately loaded from an object with precise lifetime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135764 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-18Thanks to Chandler for reminding me to update the documentation for theSean Hunt
__underlying_type feature. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135402 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-13Document the behavior of property modifiers in ARC.John McCall
rdar://problem/9768338 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135104 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-12Fix another typo (int -> id for captured_obj).David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134998 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-07Fix example: variable is initialized to 10 and then has 11 stored in it, but ↵David Chisnall
in the expanded version is initialized to 11. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134610 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-07Move and elaborate the section on objc_arc_weak_unavailable.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134567 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Update document for objc_arc_weak_unavailable attributeFariborz Jahanian
on class declarations. Documentation for // rdar://9693477 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134558 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Update document on use of ns_returns_not_retainedFariborz Jahanian
attribute on property. Document for // rdar://9636091. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134556 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Update documentation for // rdar://9619861Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134544 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Update docs to remove reference to OverloadedFunctionDecl and replace it ↵Jonathan D. Turner
with DeclContext::lookup_result. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134514 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-03fix typoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134361 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-01Remove reference to the Index libraryDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134238 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-29Remove doxygen.cfg to prevent accidental commits, it is generated from ↵Benjamin Kramer
doxygen.cfg.in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134072 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-29Revert accidental commit.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134052 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-29SubtargetFeature.h has been moved to MC.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134050 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23Add documentation about __has_feature(cxx_delegationg_constructors)Sean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133693 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23Fix a minor copy-paste-o that broke the stylesheetsSean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133678 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23Fix a bunch of HTML compliance problems with LanguageExtensions.htmlSean Hunt
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133677 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23Revert "-fexceptions does not, in fact, enable C++ exceptions"Sean Hunt
In fact it does. For the driver anyway, and not cc1 which I'm supposed to pretend doesn't exist. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133673 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22-fexceptions does not, in fact, enable C++ exceptionsSean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133666 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-19More clarifications.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133387 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-19Improve the intro to the runtime-functions section.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133386 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-19Describe the ARC runtime support calls.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133385 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-18Clarify the semantics of init methods, and point out a few placesJohn McCall
where mismatched semantics can cause undefined behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133341 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-18A couple of minor changes to the ARC spec, plus a new sectionJohn McCall
specifying that retain/release/autorelease/retainCount are forbidden, plus a section talking about the behavior of dealloc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133340 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-17Objective-C++ ARC: eliminate the utterly unjustified loophole thatDouglas Gregor
silently dropped ownership qualifiers that were being applied to ownership-qualified, substituted type that was *not* a substituted template type parameter. We now provide a diagnostic in such cases, and recover by dropping the added qualifiers. Document this behavior in the ARC specification. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133309 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-17Fix a grammaroDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133304 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-17Objective-ARC++: infer template type arguments ofDouglas Gregor
ownership-unqualified retainable object type as __strong. This allows us to write, e.g., std::vector<id> and we'll infer that the vector's element types have __strong ownership semantics, which is far nicer than requiring: std::vector<__strong id> Note that we allow one to override the ownership qualifier of a substituted template type parameter, e.g., given template<typename T> struct X { typedef __weak T type; }; X<id> is treated the same as X<__strong id>. At instantiation type, the __weak in "__weak T" overrides the (inferred or specified) __strong on the template argument type, so that we can still provide metaprogramming transformations. This is part of <rdar://problem/9595486>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133303 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-15Automatic Reference Counting.John McCall
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-15The specification document for the new ObjC Automatic Reference CountingJohn McCall
feature. Implementation to follow. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133090 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-15remove the index page, we have dox now!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133087 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-15mention new VLA behavior in gnu* vs c* mode dox.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133030 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-14fix example as per rdar://problem/9461587Blaine Garst
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133012 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-13Update extensions section of the docs to account for wacky gcc stuff we did ↵Eli Friedman
end up implementing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132947 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-11Implement Objective-C Related Result Type semantics.Douglas Gregor
Related result types apply Cocoa conventions to the type of message sends and property accesses to Objective-C methods that are known to always return objects whose type is the same as the type of the receiving class (or a subclass thereof), such as +alloc and -init. This tightens up static type safety for Objective-C, so that we now diagnose mistakes like this: t.m:4:10: warning: incompatible pointer types initializing 'NSSet *' with an expression of type 'NSArray *' [-Wincompatible-pointer-types] NSSet *array = [[NSArray alloc] init]; ^ ~~~~~~~~~~~~~~~~~~~~~~ /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:72:1: note: instance method 'init' is assumed to return an instance of its receiver type ('NSArray *') - (id)init; ^ It also means that we get decent type inference when writing code in Objective-C++0x: auto array = [[NSMutableArray alloc] initWithObjects:@"one", @"two",nil]; // ^ now infers NSMutableArray* rather than id git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132868 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-01Remove derelict documentation.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132407 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-25A StringRef-ication of the DiagnosticIDs API and internals.Argyrios Kyrtzidis
Patch by Matthieu Monrocq with tweaks by me to avoid StringRefs in the static diagnostic data structures, which resulted in a huge global-var-init function. Depends on llvm commit r132046. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132047 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-21Audit and finish the implementation of C++0x nullptr, fixing twoDouglas Gregor
minor issues along the way: - Non-type template parameters of type 'std::nullptr_t' were not permitted. - We didn't properly introduce built-in operators for nullptr ==, !=, <, <=, >=, or > as candidate functions . To my knowledge, there's only one (minor but annoying) part of nullptr that hasn't been implemented: catching a thrown 'nullptr' as a pointer or pointer-to-member, per C++0x [except.handle]p4. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131813 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-21Introduce the -fdiagnostics-format=xxx option to control how ClangDouglas Gregor
prints the file, line, and column of a diagnostic. We currently support Clang's normal format, MSVC, and Vi formats. Note that we no longer change the diagnostic format based on -fms-extensions. Patch by Andrew Fish! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131794 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Introduce __has_extension macroPeter Collingbourne
__has_extension is a function-like macro which takes the same set of feature identifiers as __has_feature. It evaluates to 1 if the feature is supported by Clang in the current language (either as a language extension or a standard language feature) or 0 if not. At the same time, add support for the C1X feature identifiers c_generic_selections (renamed from generic_selections) and c_static_assert, and document them. Patch by myself and Jean-Daniel Dupas. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131308 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13Delete doxygen.cfg, and use cwd-relative paths in doxygen.cfg.in.Peter Collingbourne
Now "make doxygen" works for clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131282 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-11Implement CWG1170, which makes access-control errors into templateDouglas Gregor
argument deduction failures. Only implemented in C++0x, since this is a significant change in behavior from C++98/03. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131209 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-05Implement support for C++0x alias templates.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130953 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-30Documentation for -Oz; Updated synopsis and item.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130570 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-30Add documentation for -Oz flag.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130569 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15Add __has_feature(cxx_range_for) check for C++11 range-based for loop.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129573 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15fix a bunch of comment typos found by codespell. Patch byChris Lattner
Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15C1X: implement generic selectionsPeter Collingbourne
As an extension, generic selection support has been added for all supported languages. The syntax is the same as for C1X. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129554 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09add a __sync_swap builtin to fill out the rest of the __sync builtins. Chris Lattner
Patch by Dave Zarzycki! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129189 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-08typo fix + expandChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129167 91177308-0d34-0410-b5e6-96231b3b80d8