Richard Smith
9bc6eedab4
Add __has_feature(cxx_range_for) check for C++11 range-based for loop.
...
llvm-svn: 129573
2011-04-15 15:14:40 +00:00
Chris Lattner
57540c5be0
fix a bunch of comment typos found by codespell. Patch by
...
Luis Felipe Strano Moraes!
llvm-svn: 129559
2011-04-15 05:22:18 +00:00
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
Chris Lattner
e094ee0a34
typo fix + expand
...
llvm-svn: 129167
2011-04-08 22:58:43 +00:00
Evan Cheng
298de937e7
Minor format fix.
...
llvm-svn: 129164
2011-04-08 22:34:21 +00:00
Evan Cheng
fbbacc9241
Document -ftrap-function= option
...
llvm-svn: 129162
2011-04-08 22:18:01 +00:00
NAKAMURA Takumi
584f2de0a3
docs/UsersManual.html: Fix some inconsistent HTML elements.
...
llvm-svn: 128876
2011-04-05 04:31:31 +00:00
NAKAMURA Takumi
a33296392e
docs/UsersManual.html: """ize in a paragraph. A few unpaired quotations might confuse HTML-aware text edtors.
...
llvm-svn: 128871
2011-04-05 00:57:02 +00:00
NAKAMURA Takumi
ce60187a89
docs/UsersManual.html: Add cygming notes.
...
llvm-svn: 128819
2011-04-04 15:02:41 +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
Peter Collingbourne
e4c02400ad
Code modification hints have been known as fix-it hints for almost
...
a year now. Update the internals manual.
llvm-svn: 127983
2011-03-21 01:45:18 +00:00
Ted Kremenek
d15609a582
Remove '-Xclang' and '-mllvm' entries from Clang man page. The later is only available in debug builds and the former is not supposed to be used by end-users.
...
llvm-svn: 127914
2011-03-18 22:11:40 +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
Peter Collingbourne
2f1e36bfd0
Rename tok::eom to tok::eod.
...
The previous name was inaccurate as this token in fact appears at
the end of every preprocessing directive, not just macro definitions.
No functionality change, except for a diagnostic tweak.
llvm-svn: 126631
2011-02-28 02:37:51 +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
Chris Lattner
c4ef61af9a
we now support __label__
...
llvm-svn: 125826
2011-02-18 04:12:08 +00:00
Chris Lattner
18703d41f0
fix two broken links and some out of date writing, PR9174
...
llvm-svn: 125484
2011-02-14 06:42:50 +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
f66a5283ed
Document how to add an attribute to clang. This should be reviewed by someone
...
who actually knows how it works.
llvm-svn: 124506
2011-01-28 23:41:54 +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
c2989b3718
fix some typos, patch by Jonathan Wakely!
...
llvm-svn: 124105
2011-01-24 03:47:59 +00:00
Chris Lattner
7d29d4503a
fix a broken example, PR9005, patch by Jonathan Wakely!
...
llvm-svn: 124104
2011-01-24 03:47:34 +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
Bob Wilson
ce3ee6539e
NEON vector support for ARM is in pretty good shape now. Update the docs.
...
llvm-svn: 123183
2011-01-10 17:55:14 +00:00
Douglas Gregor
e350923a9b
Fix documentation typo, from nobled.
...
llvm-svn: 121768
2010-12-14 16:21:49 +00:00
Eric Christopher
b0fd4599de
And more gzip goodness for clang.
...
llvm-svn: 121453
2010-12-10 01:59:28 +00:00
Chris Lattner
19e0fd0b2b
fix typo
...
llvm-svn: 120254
2010-11-28 18:19:13 +00:00
Chris Lattner
2a6ee91619
move AdvanceToTokenCharacter and getLocForEndOfToken from
...
Preprocessor to Lexer where they make more sense.
llvm-svn: 119474
2010-11-17 07:05:50 +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
Blaine Garst
cfdb75891d
expand discussion of __block C++ on-stack objects
...
llvm-svn: 117618
2010-10-28 23:30:10 +00:00
Chris Lattner
4935b45d74
make it really clear that vla != flexible arrays
...
llvm-svn: 117522
2010-10-28 02:20:32 +00:00
Blaine Garst
03b99365e3
small tweaks to reflect statements of what really ever shipped. ABI is, and has been, accurate for what we ship.
...
llvm-svn: 117504
2010-10-27 22:59:01 +00:00
Blaine Garst
2314079ef0
reconcile missing typos & delete obsolete pre-SnowLeopard section w.r.t. prior repository for this document
...
llvm-svn: 117492
2010-10-27 21:22:46 +00:00
Douglas Gregor
d2893dd0b9
Document how source ranges work
...
llvm-svn: 117450
2010-10-27 16:02:28 +00:00
Michael J. Spencer
4992ca4b17
Reorganize predefined macros for all Windows targets.
...
This adds an option to set the _MSC_VER macro without
recompiling. This is very useful when testing compatibility
with the Windows SDK and c++stdlib headers.
-fmsc-version=<version> (defaults to VS2003 (1300))
llvm-svn: 116999
2010-10-21 05:21:48 +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
Chris Lattner
a09e8efd1f
Per discussion with Sanjiv, remove the PIC16 target from mainline. When/if
...
it comes back, it will be largely a rewrite, so keeping the old codebase
in tree isn't helping anyone.
llvm-svn: 116191
2010-10-11 05:44:49 +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
Douglas Gregor
63b0a1e9fb
Fix a typo in the Clang man page, from Alexander Best.
...
llvm-svn: 116102
2010-10-08 21:03:07 +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
Douglas Gregor
3aa045491f
Update Clang man page to say a little bit more about C++
...
llvm-svn: 114735
2010-09-24 17:26:14 +00:00
Daniel Dunbar
c1dd0e97f3
Driver/Objective-C: Retool Objective-C ABI flags to be more usable, and actually
...
document behavior. Will wonders never cease.
llvm-svn: 114334
2010-09-20 18:19:55 +00:00
Daniel Dunbar
549decf4cc
Update users manual comments on X86 and ARM support.
...
llvm-svn: 114311
2010-09-19 19:26:59 +00:00
Daniel Dunbar
092b6fb187
Driver: Add a -stdlib= argument which can be used to select the C++ standard
...
library to use.
- This is currently useful for testing libc++; you can now use 'clang++
-stdlib=libc++ t.cpp' to compile using it if installed.
- In the future could also be used to select other standard library choices if
alternatives become available (for example, to use an alternate C library).
llvm-svn: 113891
2010-09-14 23:12:40 +00:00
Argyrios Kyrtzidis
2716b9ae54
Update 'docs/PCHInternals.html' about how subexpressions are stored.
...
llvm-svn: 113760
2010-09-13 17:48:02 +00:00
Douglas Gregor
c6876fe121
Document our extension to constant-fold __builtin_strlen and strlen
...
llvm-svn: 113699
2010-09-11 18:08:34 +00:00
John McCall
e37a619715
Update the internals manual for the removal of Action, as well as other
...
changes that are much older.
llvm-svn: 112951
2010-09-03 05:07:55 +00:00
Dawn Perchik
68bb1b441f
Add support for Borland extensions via option -fborland-extensions
...
(original patch r112791 was reverted due to a bug).
llvm-svn: 112915
2010-09-02 23:59:25 +00:00
Dawn Perchik
f0882f90f3
Reverting rev 112791 - apparently -fborland-extensions is on all the time?!
...
llvm-svn: 112797
2010-09-02 02:18:55 +00:00
Dawn Perchik
1fcc18c7bc
Add support for Borland extensions via option -fborland-extensions
...
llvm-svn: 112791
2010-09-02 01:12:01 +00:00
Sebastian Redl
a93bb5b807
Implement __has_feature(cxx_inline_namespaces)
...
llvm-svn: 112671
2010-08-31 23:28:47 +00:00
Ted Kremenek
800ad06e8c
Document '__clang_analyzer__'.
...
llvm-svn: 111935
2010-08-24 18:12:35 +00:00
Douglas Gregor
34a462538e
Clarify documentation of escaping for backslash
...
llvm-svn: 111806
2010-08-23 14:03:03 +00:00
Douglas Gregor
12e2a06824
Eliminate some extraneous whitespace in the machine-parseable Fix-It output.
...
llvm-svn: 111610
2010-08-20 03:17:33 +00:00
Douglas Gregor
a03c296e79
Fix some typos in the documentation of -fdiagnostics-parseable-fixits. Typos by me, patch by Eelis van der Weegen
...
llvm-svn: 111573
2010-08-19 23:31:13 +00:00
Douglas Gregor
eec975ce5a
Add machine-parseable Fix-It output as part of diagnostics, under the
...
flag -fdiagnostics-parseable-fixits, from Eelis van der Weegen!
llvm-svn: 111557
2010-08-19 20:24:43 +00:00
Daniel Dunbar
71323e66b6
Remove a gratuitous lie.
...
llvm-svn: 111253
2010-08-17 17:34:48 +00:00
Daniel Dunbar
1b8842d981
Update UsersManual, we support '#pragma align' now.
...
llvm-svn: 110040
2010-08-02 15:36:37 +00:00
Douglas Gregor
137b27da2e
Document -f{no-}color-diagnostics
...
llvm-svn: 107985
2010-07-09 16:31:58 +00:00
Sebastian Redl
595c51342c
Some preparatory work for chained PCH. No functionality change.
...
llvm-svn: 107915
2010-07-08 22:01:51 +00:00
Sebastian Redl
bbace2a63d
Fix a few errors in the internals doc.
...
llvm-svn: 107838
2010-07-07 23:42:27 +00:00
Douglas Gregor
b7b04ae204
Remove redundant and incomplete bits from the users manual w.r.t. language conformance
...
llvm-svn: 107326
2010-06-30 22:04:24 +00:00
Daniel Dunbar
283fe3d07a
build: Get CLANG_VERSION from Version.inc instead of depending on VER file directly.
...
llvm-svn: 106864
2010-06-25 17:33:49 +00:00
Daniel Dunbar
e6c1daa8fd
Makefile: Switch Clang Makefiles to always include the top-level Clang Makefile.
...
- This eliminates most dependencies on how Clang is installed relative to LLVM.
llvm-svn: 105637
2010-06-08 20:34:18 +00:00
Jeffrey Yasskin
caa710dfd2
PR7245: Make binding a reference to a temporary without a usable copy
...
constructor into an extension warning into the error that C++98 requires.
llvm-svn: 105529
2010-06-07 15:58:05 +00:00
Jeffrey Yasskin
2f96e9f5c9
Add an extension to avoid an error when a global template has the same name as
...
a member template, and you try to call the member template with an explicit
template argument. See PR7247
For example, this downgrades the error to a warning in:
template<typename T> struct set{};
struct Value {
template<typename T>
void set(T value) {
}
};
void foo() {
Value v;
v.set<double>(3.2); // Warning here.
}
llvm-svn: 105518
2010-06-05 01:39:57 +00:00
Chris Lattner
f3d0436077
fix incorrect tag
...
llvm-svn: 105189
2010-05-30 23:42:51 +00:00
Daniel Dunbar
406e3826e0
Update "users manual", PR2461 has been fixed.
...
llvm-svn: 104997
2010-05-28 19:43:31 +00:00
Nick Lewycky
42f9ba3790
Fix typo.
...
llvm-svn: 104898
2010-05-27 23:40:55 +00:00
Nick Lewycky
de2291a717
Grammar fix: s/it's/its/g in
...
"it's spelling location and it's instantiation location"
llvm-svn: 104746
2010-05-26 21:48:10 +00:00
Chris Lattner
b997626120
push categories forward a bit more: document them, add some
...
major buckets to catch parser and sema issues, add inline asm
category, and make diag groups take precedence over the
sweeping categories just added.
llvm-svn: 104561
2010-05-24 21:35:18 +00:00
Daniel Dunbar
95dff818e7
docs: Man page tweaks, to mention the integrated assembler and the
...
-integrated-as and -no-integrated-as options.
llvm-svn: 104304
2010-05-21 00:28:14 +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
Chris Lattner
336119f089
document -fdiagnostics-show-category
...
llvm-svn: 103067
2010-05-05 01:35:28 +00:00
Chris Lattner
ef8c6e8ba7
fix a broken link, diagnostickinds.td was fissioned.
...
llvm-svn: 102851
2010-05-01 17:35:19 +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
Douglas Gregor
ffed1cb339
Introduce a limit on the depth of the template instantiation backtrace
...
we will print with each error that occurs during template
instantiation. When the backtrace is longer than that, we will print
N/2 of the innermost backtrace entries and N/2 of the outermost
backtrace entries, then skip the middle entries with a note such as:
note: suppressed 2 template instantiation contexts; use
-ftemplate-backtrace-limit=N to change the number of template
instantiation entries shown
This should eliminate some excessively long backtraces that aren't
providing any value.
llvm-svn: 101882
2010-04-20 07:18:24 +00:00
Chris Lattner
b35583df52
add a new driver-level -ferror-limit=412 option, which causes clang to stop
...
emitting diagnostics after it has produced that many errors. Give this a
default value of 20 which produces plenty of errors for people to fix before
recompiling but not so many that their entire console scrolls away when the
compiler gets confused. The experience looks like this:
$ clang foo.c
<tons of crap>
foo.c:102:3: error: unknown type name 'somethingbad'
somethingbad x;
^
fatal error: too many errors emitted, stopping now
36 warnings and 20 errors generated.
llvm-svn: 100689
2010-04-07 20:49:23 +00:00
Blaine Garst
55050630a9
improved wording around ABI
...
llvm-svn: 100536
2010-04-06 17:46:43 +00:00
Rafael Espindola
fcc4739089
Document common clang compatibility issues.
...
Patch by Zhanyong Wan.
llvm-svn: 98708
2010-03-17 04:31:53 +00:00
Blaine Garst
a41f71212a
fix copyright & typo
...
llvm-svn: 98688
2010-03-16 22:02:16 +00:00
Chris Lattner
87c5e2f5d4
update link
...
llvm-svn: 98682
2010-03-16 21:43:03 +00:00
Blaine Garst
ade4303e2b
at least give the Apple ABI a name that reflects Apple in prep for other ABI specs that might come along
...
llvm-svn: 98678
2010-03-16 21:22:41 +00:00
Blaine Garst
1832cdb2d3
rev existing doc to account for recent ABI changes
...
llvm-svn: 98676
2010-03-16 21:21:07 +00:00
Erick Tryzelaar
e62248a79c
Use LLVM's new DESTDIR-less PROJ_* variables.
...
llvm-svn: 97744
2010-03-04 20:57:19 +00:00
Douglas Gregor
bb26a92239
Update Clang C++ status, with a more project-centric focus.
...
llvm-svn: 95455
2010-02-05 23:51:14 +00:00