Peter Collingbourne
9114759641
C1X: implement generic selections
...
As an extension, generic selection support has been added for all
supported languages. The syntax is the same as for C1X.
llvm-svn: 129554
2011-04-15 00:35:48 +00:00
Chris Lattner
9cb59fa834
add a __sync_swap builtin to fill out the rest of the __sync builtins.
...
Patch by Dave Zarzycki!
llvm-svn: 129189
2011-04-09 03:57:26 +00:00
Anders Carlsson
69f1f9391b
we can now claim to fully support the override control feature in C++0x.
...
llvm-svn: 128281
2011-03-25 15:04:23 +00:00
Chris Lattner
04fe64f899
and now there are 3!
...
llvm-svn: 128001
2011-03-21 16:25:11 +00:00
John McCall
6107fc9e68
Improve the documentation for some of the analyzer attributes I added
...
a while back.
llvm-svn: 127866
2011-03-18 03:51:49 +00:00
Sebastian Redl
c17003c66b
Create __has_feature(cxx_noexcept) and mark it as working.
...
Find out that our C++0x status has only one field for noexcept expression and specification together, and that it was accidentally already marked as fully implemented.
This completes noexcept specification work.
llvm-svn: 127701
2011-03-15 21:17:12 +00:00
Richard Smith
bb7dcf59a0
Update the www to indicate that auto is now implemented.
...
llvm-svn: 126280
2011-02-23 00:41:16 +00:00
Douglas Gregor
7115aee109
Add a __has_feature check for default template arguments in function
...
templates, a C++0x feature.
llvm-svn: 124973
2011-02-05 20:35:30 +00:00
Douglas Gregor
7c60768590
Add __has_feature() for each of the type traits
...
llvm-svn: 124820
2011-02-03 21:57:35 +00:00
Jeffrey Yasskin
bbc4eea2c2
Revert r124217 because it didn't catch the actual error case it was trying to
...
catch:
lock_guard(my_mutex);
declares a variable instead of creating a temporary.
llvm-svn: 124398
2011-01-27 19:17:54 +00:00
Douglas Gregor
56d5f0abaa
Add __has_feature(cxx_reference_qualified_functions); update tests and
...
documentation.
llvm-svn: 124322
2011-01-26 21:25:54 +00:00
Jeffrey Yasskin
08a4f8f197
Add an attribute to forbid temporary instances of a type. This allows class
...
authors to write
class __attribute__((forbid_temporaries)) Name { ... };
when they want to force users to name all variables of the type. This protects
people from doing things like creating a scoped_lock that only lives for a
single statement instead of an entire scope.
The warning produced by this attribute can be disabled by
-Wno-forbid-temporaries.
llvm-svn: 124217
2011-01-25 20:08:12 +00:00
John McCall
46669c0996
Document the ns_returns_retained, ns_consumed, etc. attributes.
...
llvm-svn: 124176
2011-01-25 04:26:21 +00:00
Douglas Gregor
fa69024463
Eliminate the last reference to concepts, from Jean-Daniel Dupas
...
llvm-svn: 124118
2011-01-24 15:22:41 +00:00
Anders Carlsson
3bbfb7f64b
Fix the __has_attribute example; we don't have an override attribute anymore.
...
llvm-svn: 124106
2011-01-24 03:54:51 +00:00
Chris Lattner
d8d7543419
remove some crazy leftover thing.
...
llvm-svn: 124098
2011-01-24 02:53:58 +00:00
Douglas Gregor
312ab72dbd
Eradicate any mention of C++0x concepts.
...
llvm-svn: 123860
2011-01-19 23:15:20 +00:00
Chris Lattner
19e0fd0b2b
fix typo
...
llvm-svn: 120254
2010-11-28 18:19:13 +00:00
Chris Lattner
e56c786f11
make the example a bit better, encouraging people to use "suggestions of what to use" in the message :)
...
llvm-svn: 118612
2010-11-09 19:43:35 +00:00
John McCall
f71b45367f
Document Clang's support for attributes on individual enumerators and
...
tweak the documentation for deprecation-with-message. Provide __has_feature
tests for both. rdar://problem/8605692
llvm-svn: 118435
2010-11-08 19:48:17 +00:00
Anders Carlsson
274a70ed7f
Add a __has_attribute macro that works much like __has_feature and __has_builtin.
...
llvm-svn: 116906
2010-10-20 02:31:43 +00:00
Douglas Gregor
0bf3140424
Implement C++0x scoped enumerations, from Daniel Wallin! (and tweaked a
...
bit by me).
llvm-svn: 116122
2010-10-08 23:50:27 +00:00
Fariborz Jahanian
c74073cd20
Patch for adding message to unavailable attribute.
...
And its documentation.
Finishes off // rdar: // 6734520.
llvm-svn: 115862
2010-10-06 23:12:32 +00:00
Douglas Gregor
7fb25418ed
Implement the C++0x "trailing return type" feature, e.g.,
...
auto f(int) -> int
from Daniel Wallin!
(With a few minor bug fixes from me).
llvm-svn: 115322
2010-10-01 18:44:50 +00:00
Sebastian Redl
a93bb5b807
Implement __has_feature(cxx_inline_namespaces)
...
llvm-svn: 112671
2010-08-31 23:28:47 +00:00
mike-m
9f08a6f1a8
Reverted r103214.
...
llvm-svn: 103222
2010-05-07 00:42:33 +00:00
mike-m
9bb682b713
2nd part of: Overhauled llvm/clang docs builds.
...
llvm-svn: 103214
2010-05-06 23:46:27 +00:00
Douglas Gregor
6602c25c0c
Add Clang version inspection macros. Fixes PR6681.
...
llvm-svn: 102686
2010-04-30 02:51:06 +00:00
Nick Lewycky
e97d39b0f2
concepts is not a keyword here and fix copy-pasto.
...
llvm-svn: 102172
2010-04-23 06:09:40 +00:00
Chris Lattner
87c5e2f5d4
update link
...
llvm-svn: 98682
2010-03-16 21:43:03 +00:00
Owen Anderson
029eb7d243
Clarify the documentation of ext_vector, and add a small example. Hopefully
...
this will alleviate some confusion about the existence of this feature.
Comments/improvements welcome.
llvm-svn: 94645
2010-01-27 01:22:36 +00:00
Douglas Gregor
b89b99f1f2
Fix pasto in __has_feature(cxx_lambdas) docs
...
llvm-svn: 93320
2010-01-13 16:27:49 +00:00
Alexis Hunt
af4e28d897
Add a bunch more feature-checking macros for C++0x features. Some of these are
...
disabled with the intent that users can start with them now and not have to change
a thing to have them work when we implement the features.
llvm-svn: 93312
2010-01-13 08:31:49 +00:00
Ted Kremenek
72de23e8ab
Fix typo.
...
llvm-svn: 90390
2009-12-03 02:06:43 +00:00
Ted Kremenek
71d7463797
Add __has_feature(cxx_exceptions) and __has_feature(cxx_rtti) to table of contents.
...
llvm-svn: 90389
2009-12-03 02:05:57 +00:00
Ted Kremenek
51540f9377
Add section on what language features __has_feature() supports for querying if they are enabled.
...
llvm-svn: 90388
2009-12-03 02:04:01 +00:00
John Thompson
ac0b098d4d
Added __has_include and __has_include_next.
...
llvm-svn: 85834
2009-11-02 22:28:12 +00:00
Chris Lattner
bf20638966
Implement __builtin_unreachable(), a GCC 4.5 extension.
...
llvm-svn: 82433
2009-09-21 03:09:59 +00:00
Chris Lattner
c15c252007
grammaro
...
llvm-svn: 82070
2009-09-16 18:56:12 +00:00
Nick Lewycky
be42c11118
Fix "for all intensive purposes" to "for all intents and purposes".
...
llvm-svn: 73323
2009-06-14 04:08:08 +00:00
Chris Lattner
b6f77af532
implement and document a new __has_feature and __has_builtin magic
...
builtin preprocessor macro. This appears to work with two caveats:
1) builtins are registered in -E mode, and 2) target-specific builtins
are unconditionally registered even if they aren't supported by the
target (e.g. SSE4 builtin when only SSE1 is enabled).
llvm-svn: 73289
2009-06-13 07:13:28 +00:00
Chris Lattner
b732397343
257 -> FS
...
llvm-svn: 70996
2009-05-05 18:54:47 +00:00
Chris Lattner
7de6456593
mention the non-standard builtin macros we support.
...
llvm-svn: 68935
2009-04-13 02:45:46 +00:00
Chris Lattner
bb72f77416
typos
...
llvm-svn: 68770
2009-04-10 05:54:56 +00:00
Ted Kremenek
86ee059a3a
Wording changes.
...
llvm-svn: 68766
2009-04-10 05:04:22 +00:00
Ted Kremenek
a9deb97190
Add blurb about attribute "analyzer_noreturn"
...
llvm-svn: 68765
2009-04-10 05:03:33 +00:00
Chris Lattner
c86ffc3583
document the x86 address space extension for GS.
...
llvm-svn: 68724
2009-04-09 19:58:15 +00:00
Chris Lattner
14aea9a39c
link to blocks dox
...
llvm-svn: 66414
2009-03-09 07:03:22 +00:00
Chris Lattner
faca7d9842
fix typo
...
llvm-svn: 64966
2009-02-18 22:27:46 +00:00
Douglas Gregor
94349fd8cb
Allow "overloadable" functions in C to be declared as variadic without
...
any named parameters, e.g., this is accepted in C:
void f(...) __attribute__((overloadable));
although this would be rejected:
void f(...);
To do this, moved the checking of the "ellipsis without any named
arguments" condition from the parser into Sema (where it belongs anyway).
llvm-svn: 64902
2009-02-18 07:07:28 +00:00