Dmitri Gribenko
34983f25c6
Close HTML tag properly.
...
llvm-svn: 157533
2012-05-27 14:08:44 +00:00
Richard Smith
33c1cf9205
Fix typo and avoid layout issue with almost-but-not-quite-fixed-width fonts.
...
llvm-svn: 156095
2012-05-03 20:10:41 +00:00
Richard Smith
dcfde13648
Minor copy-edits to clang::fallthrough attribute documentation.
...
llvm-svn: 156094
2012-05-03 20:05:46 +00:00
Richard Smith
84837d5b5a
Add -Wimplicit-fallthrough warning flag, which warns on fallthrough between
...
cases in switch statements. Also add a [[clang::fallthrough]] attribute, which
can be used to suppress the warning in the case of intentional fallthrough.
Patch by Alexander Kornienko!
The handling of C++11 attribute namespaces in this patch is temporary, and will
be replaced with a cleaner mechanism in a subsequent patch.
llvm-svn: 156086
2012-05-03 18:27:39 +00:00
Richard Smith
500ae098bb
Formatting fix.
...
llvm-svn: 155141
2012-04-19 17:46:52 +00:00
Patrick Beard
0caa39474b
Implements boxed expressions for Objective-C. <rdar://problem/10194391>
...
llvm-svn: 155082
2012-04-19 00:25:12 +00:00
Richard Smith
b1e36c662b
Provide, and document, a set of __c11_atomic_* intrinsics to implement C11's
...
<stdatomic.h> header.
In passing, fix LanguageExtensions to note that C11 and C++11 are no longer
"upcoming standards" but are now actually standardized.
llvm-svn: 154513
2012-04-11 17:55:32 +00:00
Douglas Gregor
0598962a7b
Add a query macro for C++11 N3276, decltype does not require complete
...
return types, from Michel Morin!
llvm-svn: 154428
2012-04-10 20:00:33 +00:00
Daniel Dunbar
3c9bc4dbdb
[Lex] Add support for 'user specified system frameworks' (see test case).
...
- Developers of system frameworks need a way for their framework to be treated as a "system framework" during development. Otherwise, they are unable to properly test how their framework behaves when installed because of the semantic changes (in warning behavior) applied to system frameworks.
llvm-svn: 154105
2012-04-05 17:10:06 +00:00
Douglas Gregor
9781893507
Add feature check "cxx_local_type_template_args" describing support
...
for templates with local template arguments, from Michel Morin! Fixes
PR12337.
llvm-svn: 153983
2012-04-04 00:48:39 +00:00
Patrick Beard
5e0bccf2d0
Removed repeated word (of of).
...
llvm-svn: 153195
2012-03-21 16:22:53 +00:00
Patrick Beard
0661d0fc42
Fixed typo.
...
llvm-svn: 153142
2012-03-20 21:52:11 +00:00
Patrick Beard
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
Patrick Beard
fbb2e46299
Link to Objective-C literals documentation.
...
llvm-svn: 153124
2012-03-20 20:51:09 +00:00
Benjamin Kramer
26dbe37993
LanguageExtensions: Manually word wrap a line to reduce horizontal scrolling.
...
llvm-svn: 153048
2012-03-19 19:12:30 +00:00
Douglas Gregor
c683e4a8e9
Document the weak-linking behavior of the availability attribute
...
llvm-svn: 152543
2012-03-11 17:21:03 +00:00
Douglas Gregor
fdd417fcee
Document the availability attribute
...
llvm-svn: 152531
2012-03-11 04:53:21 +00:00
Douglas Gregor
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
Douglas Gregor
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
Richard Smith
5023188315
User-defined literals are done.
...
llvm-svn: 152396
2012-03-09 08:41:27 +00:00
Richard Smith
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
Richard Smith
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
Jean-Daniel Dupas
908f130d58
Implement double underscore names support in __has_attribute
...
llvm-svn: 151809
2012-03-01 14:53:16 +00:00
Richard Smith
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
Richard Smith
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
Richard Smith
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
Douglas Gregor
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
Douglas Gregor
64bfb2e88e
Clang supports lambdas.
...
llvm-svn: 151239
2012-02-23 05:44:09 +00:00
Richard Smith
1cb2af0b3a
Advertize support for constexpr.
...
llvm-svn: 150524
2012-02-14 22:56:17 +00:00
Kostya Serebryany
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
Benjamin Kramer
83369b3377
Tweak markup.
...
llvm-svn: 148221
2012-01-15 16:42:14 +00:00
Anton Yartsev
e89856784c
added descriptions of vector extensions, info about vector literals and vector operations.
...
llvm-svn: 148220
2012-01-15 16:22:24 +00:00
Benjamin Kramer
eaa262b5b8
Fix ALL the markup.
...
llvm-svn: 148219
2012-01-15 15:26:07 +00:00
Benjamin Kramer
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
Chris Lattner
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
Douglas Gregor
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
Kostya Serebryany
9751d340db
First version of AddressSanitizer docs; documentation for __has_feature(address_sanitizer)
...
llvm-svn: 145276
2011-11-28 20:51:02 +00:00
Douglas Gregor
f8b02cabca
Fix grammaro
...
llvm-svn: 143633
2011-11-03 18:33:01 +00:00
Douglas Gregor
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
David Blaikie
8317245f9c
Update documentation to use "C++11" instead of "C++0x"
...
llvm-svn: 142339
2011-10-18 05:49:30 +00:00
Peter Collingbourne
60188eb8bf
Add c_alignas and cxx_alignas features
...
llvm-svn: 142020
2011-10-14 23:44:46 +00:00
Ted Kremenek
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
Sebastian Redl
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
Eli Friedman
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
Douglas Gregor
dc28ba12e1
Document __has_feature(objc_instancetype).
...
llvm-svn: 139299
2011-09-08 17:19:31 +00:00
Douglas Gregor
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
Douglas Gregor
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
Douglas Gregor
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
Caitlin Sadowski
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
Alexis Hunt
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