Manuel Klimek
05b56315d5
Updates the example to the latest incarnation of clang-check and
...
adds a paragraph on builtin headers.
llvm-svn: 160138
2012-07-12 18:32:50 +00:00
Nico Weber
50661442a9
Mention -fms-compatibility and -fdelayed-template-parsing in UsersManual.
...
Also mention that -std=c++11 is now on by default on windows.
llvm-svn: 160054
2012-07-11 16:56:28 +00:00
Alexander Kornienko
442b55fc28
How to set up clang tools for llvm
...
Summary: How to guide for setting up clang tooling for llvm repo.
Test Plan: this is untested
Reviewers: klimek, djasper
Reviewed By: klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D3
llvm-svn: 160047
2012-07-11 14:27:44 +00:00
Manuel Klimek
af18d52c09
Update the docs with specifics about escaping of compile commands.
...
llvm-svn: 159987
2012-07-10 08:05:54 +00:00
Chris Lattner
209ad6baa0
Jordan points out that this was incorrect: clang should recover from
...
*errors* with fixits on them by following the recovery advised by the
fixit, but if it is a fixit on a warning, then obviously the AST
should be for the code as-written.
llvm-svn: 159980
2012-07-10 05:03:05 +00:00
Jordan Rose
6ea25fe9ce
Add an explanation of -Wobjc-literal-compare to the "Objective-C Literals" page
...
(per Jean-Daniel's suggestion to keep around an explanation of why
direct comparisons on ObjC literals are a bad idea)
llvm-svn: 159972
2012-07-10 00:20:57 +00:00
Jordan Rose
f919803001
Downgrade the "direct comparison" error for ObjC literals to a warning.
...
Chris pointed out that while the comparison is certainly problematic
and does not have well-defined behavior, it isn't any worse than some
of the other abuses that we merely warn about and doesn't need to make
the compilation fail.
Revert the release notes change (r159766) now that this is just a new warning.
llvm-svn: 159939
2012-07-09 16:54:44 +00:00
Manuel Klimek
c508a742f7
Links to the python CXCompilationDatabase documentation.
...
Patch contributed by David Roethlisberger.
llvm-svn: 159923
2012-07-09 05:17:45 +00:00
Jordan Rose
2783b6c0e5
Release notes for r158230 "Disallow using ObjC literals in direct comparisons"
...
This may turn out to be a controversial change, due to string literals being
uniqued at link time, but Apple's docs only say "The compiler makes such
object constants unique on a per-module basis..."[1] without actually saying
what a "module" is. (It's not a clang module.) Furthermore, this uniqueness
guarantee often can't be guaranteed once the string has been passed through
framework code.
If this does turn out very controversial, we could downgrade this to a
DefaultError warning for strings, and leave it as a true Error for other
kinds of literals.
(<rdar://problem/11300873>)
[1]: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/CreatingStrings.html
llvm-svn: 159766
2012-07-05 18:48:30 +00:00
Kostya Serebryany
41a83c84f6
[asan] update docs: mention MacOS 10.7 and correct the ifdef sample for __has_feature
...
llvm-svn: 159521
2012-07-02 11:00:33 +00:00
Richard Trieu
c605844510
Update the %diff modifer to have an alternate string print when a template tree
...
is selected. This will allow more flexibility when converting diagnostics to
use template type diffing.
Also updated the internal manual and test cases for correctly keeping the bold
attribute and for tree printing.
llvm-svn: 159463
2012-06-29 21:12:16 +00:00
Hans Wennborg
f60f6af9e8
Add -ftls-model command-line flag.
...
This allows for setting the default TLS model. (PR9788)
llvm-svn: 159336
2012-06-28 08:01:44 +00:00
Richard Trieu
65ce36b45f
Add missing words to manual.
...
llvm-svn: 159251
2012-06-27 02:36:34 +00:00
Richard Trieu
e753f4bebd
Update documentation with regards to template type diffing.
...
llvm-svn: 159249
2012-06-27 02:00:20 +00:00
Hans Wennborg
d3b01bc7c6
Support the tls_model attribute (PR9788)
...
This adds support for the tls_model attribute. This allows the user to
choose a TLS model that is better than what LLVM would select by
default. For example, a variable might be declared as:
__thread int x __attribute__((tls_model("initial-exec")));
if it will not be used in a shared library that is dlopen'ed.
This depends on LLVM r159077.
llvm-svn: 159078
2012-06-23 11:51:46 +00:00
Alexey Samsonov
caef7e813b
Add release note about -gline-tables-only flag
...
llvm-svn: 158989
2012-06-22 11:18:10 +00:00
Fariborz Jahanian
9563a053de
document _has_feature(objc_default_synthesize_properties).
...
// rdar://11676972
llvm-svn: 158665
2012-06-18 17:13:17 +00:00
Anna Zaks
f5cad928f5
Make the analyzer site a single point of reference for info
...
on controlling diagnostics.
llvm-svn: 158581
2012-06-16 00:30:21 +00:00
Richard Smith
8acadcb84b
Add -isystem-prefix and -ino-system-prefix arguments, which can be used to
...
override whether headers are system headers by checking for prefixes of the
header name specified in the #include directive.
This allows warnings to be disabled for third-party code which is found in
specific subdirectories of include paths.
llvm-svn: 158418
2012-06-13 20:27:03 +00:00
Manuel Klimek
b4603f4dc3
Doc fixed as proposed (and mostly contributed) by David Roethlisberger.
...
llvm-svn: 158415
2012-06-13 19:40:46 +00:00
Michael Han
d17deb5bf6
Update clang attribute document.
...
Remove the instructions on manually adding boilerplate code of AttributeList::Kind and AttributeList::getKind().
Both are now generated by tblgen.
llvm-svn: 158386
2012-06-13 03:51:05 +00:00
Manuel Klimek
6d6baa88f6
Add documentation for the JSON compilation database format.
...
llvm-svn: 158365
2012-06-12 17:51:04 +00:00
Manuel Klimek
9cc3c0307d
Puts the linktime dependencies into stupid-ld-required order, as proposed by Jordan Rose.
...
llvm-svn: 158113
2012-06-06 21:30:34 +00:00
Manuel Klimek
a98032e4cf
Documents linking requirements for libtooling.
...
llvm-svn: 158088
2012-06-06 17:51:31 +00:00
Nico Weber
4d2d33f3ba
Document how fixits on errors and warnings must behave.
...
Review and wording tweaks by Richard.
llvm-svn: 157953
2012-06-04 21:56:14 +00:00
Benjamin Kramer
474261af7b
Fix typos found by http://github.com/lyda/misspell-check
...
llvm-svn: 157886
2012-06-02 10:20:41 +00:00
Alexey Samsonov
731eb477c1
Clang docs update: list command-line flags that control the size of generated debug information. Reviewed by chandlerc@ and echristo@.
...
llvm-svn: 157681
2012-05-30 06:55:10 +00:00
Dmitri Gribenko
34983f25c6
Close HTML tag properly.
...
llvm-svn: 157533
2012-05-27 14:08:44 +00:00
Richard Smith
1bb8edb8ac
In response to some discussions on IRC, tweak the wording of the new
...
-Wsometimes-uninitialized diagnostics to make it clearer that the cause
of the issue may be a condition which must always evaluate to true or
false, rather than an uninitialized variable.
To emphasize this, add a new note with a fixit which removes the
impossible condition or replaces it with a constant.
Also, downgrade the diagnostic from -Wsometimes-uninitialized to
-Wconditional-uninitialized when it applies to a range-based for loop,
since the condition is not written explicitly in the code in that case.
llvm-svn: 157511
2012-05-26 06:20:46 +00:00
Richard Smith
cff136cda8
Release notes update for -Wsometimes-uninitialized.
...
llvm-svn: 157459
2012-05-25 02:35:34 +00:00
Manuel Klimek
24c4805b3b
Adds menu sidebar to the docs.
...
llvm-svn: 157399
2012-05-24 17:16:23 +00:00
Manuel Klimek
b76810fa94
Updates the tooling docs with the links to the tutorials and
...
adds the menu include.
llvm-svn: 157397
2012-05-24 17:09:10 +00:00
Manuel Klimek
3115e3d171
Adds a tutorial for how to write clang plugins.
...
llvm-svn: 157396
2012-05-24 17:07:18 +00:00
Bill Wendling
2495bca543
Remove 3.1 release notes to get ready for current development cycle.
...
llvm-svn: 157379
2012-05-24 06:42:56 +00:00
Kostya Serebryany
eddc05abfc
[tsan] grammar fixes
...
llvm-svn: 156984
2012-05-17 08:49:14 +00:00
Kostya Serebryany
e8d0a0bf5c
[tsan] fix typo
...
llvm-svn: 156912
2012-05-16 08:19:13 +00:00
Kostya Serebryany
f30e08d218
[tsan] first version of ThreadSanitizer docs
...
llvm-svn: 156910
2012-05-16 08:14:36 +00:00
Argyrios Kyrtzidis
da6d7679e8
Add documentation about boxing enum types and a codegen test to make
...
sure we pick up the underlying type, per suggestion by Fariborz.
No functionality change.
llvm-svn: 156851
2012-05-15 20:45:35 +00:00
David Chisnall
ab5edc3e89
Add a note about atomic builtins to c11 section of release notes.
...
llvm-svn: 156820
2012-05-15 13:18:03 +00:00
Jean-Daniel Dupas
a8bfc41ea7
Fix Xcode case (Upper X, lower c)
...
llvm-svn: 156742
2012-05-13 14:32:11 +00:00
Gregory Szorc
dcbc96705d
Add Python binding info to release notes
...
llvm-svn: 156721
2012-05-12 20:45:56 +00:00
Chris Lattner
40a97f48f7
remove something that is really old and out of date.
...
llvm-svn: 156206
2012-05-04 21:11:08 +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
641a87b983
The release notes are no place for modesty.
...
llvm-svn: 155681
2012-04-27 00:40:44 +00:00
Manuel Klimek
18ac56bc0f
Adds a tutorial on how to write RAV based ASTFrontendActions.
...
llvm-svn: 155631
2012-04-26 08:49:54 +00:00
Manuel Klimek
34e0f6cba2
Reverted unintentional commit.
...
llvm-svn: 155629
2012-04-26 08:46:12 +00:00
Manuel Klimek
c01d3fbe0f
Adds a small tutorial on how to write RAV based ASTFrontendActions.
...
llvm-svn: 155627
2012-04-26 08:35:39 +00:00
Manuel Klimek
85e60b5dc9
Adds documentation for how to use the tooling library.
...
llvm-svn: 155550
2012-04-25 14:20:13 +00:00
Manuel Klimek
06b0a7369f
Adds a document describing the various tooling approaches and their pros and
...
cons.
llvm-svn: 155549
2012-04-25 13:57:00 +00:00
Kostya Serebryany
b90fe5c6ee
[asan] fix typo
...
llvm-svn: 155345
2012-04-23 10:15:18 +00:00
Kostya Serebryany
f43ce26688
[asan] update docs
...
llvm-svn: 155343
2012-04-23 09:05:50 +00:00
Patrick Beard
81a256a909
Added equivalent method calls in examples.
...
llvm-svn: 155155
2012-04-19 20:48:09 +00:00
Richard Smith
500ae098bb
Formatting fix.
...
llvm-svn: 155141
2012-04-19 17:46:52 +00:00
David Blaikie
c5caf7291c
Fix a broken link. Patch by Nikola Smiljanic.
...
llvm-svn: 155139
2012-04-19 17:21:46 +00:00
Patrick Beard
2a4cfae1b3
Clarified encoding of boxed C strings, balanced all <p> with </p>.
...
llvm-svn: 155126
2012-04-19 14:33:55 +00:00
Patrick Beard
5890bc548b
Changed title.
...
llvm-svn: 155088
2012-04-19 01:30:47 +00:00
Patrick Beard
cbcacc6aa3
Changed wording of availability.
...
llvm-svn: 155086
2012-04-19 01:02:16 +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
165039d49d
Mention atomics support in the release notes.
...
Thanks to Nico Weber for the suggestion.
llvm-svn: 154648
2012-04-13 01:24:35 +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
David Blaikie
174ca49180
RelNote improvements made to -Wliteral-conversion by r141955.
...
llvm-svn: 154071
2012-04-05 00:47:38 +00:00
Manuel Klimek
d01a99ea41
Updated release notes for tooling.
...
llvm-svn: 154012
2012-04-04 12:53:16 +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
John McCall
67cd5e094e
Forbid the block and lambda copy-capture of __autoreleasing variables
...
in ARC, under the usual reasoning limiting the use of __autoreleasing.
llvm-svn: 153725
2012-03-30 05:23:48 +00:00
John McCall
01a360f06c
Update the ARC specification for several changes made in the
...
last N months. This required a brief soliloquy about change in
an uncertainly-versioned world.
I believe I've gotten the right target versions on all these changes.
llvm-svn: 153501
2012-03-27 07:42:12 +00:00
Richard Smith
6da64f39d4
Forward-declared enumerations are now complete, except for an interaction
...
between unscoped enumerations and class template member specializations,
whose behavior is currently under discussion in CWG (and for which there
is a preference to not implement the currently-standardized wording).
llvm-svn: 153464
2012-03-26 20:31:41 +00:00
Richard Smith
34bd1eb560
Revert accidentally-committed www changes (and an unused diagnostic);
...
forward-declared enums aren't /quite/ done yet.
llvm-svn: 153350
2012-03-23 23:11:49 +00:00
Richard Smith
b66d77793f
When defining a forward-declared enum, don't try to attach the definition to
...
a previous declaration if the redeclaration is invalid. That way lies madness.
Fixes a crash-on-invalid reported by Abramo.
llvm-svn: 153349
2012-03-23 23:09:08 +00:00
Patrick Beard
5e0bccf2d0
Removed repeated word (of of).
...
llvm-svn: 153195
2012-03-21 16:22:53 +00:00
Patrick Beard
aae4a392e5
numberWithFloat -> numberWithDouble.
...
llvm-svn: 153146
2012-03-20 22:24:08 +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
bbb7ffc63f
Fixed typos.
...
llvm-svn: 153126
2012-03-20 21:09:25 +00:00
Patrick Beard
fbb2e46299
Link to Objective-C literals documentation.
...
llvm-svn: 153124
2012-03-20 20:51:09 +00:00
Patrick Beard
958c98ab4b
Objective-C literals documentation.
...
llvm-svn: 153123
2012-03-20 20:50:45 +00:00
Patrick Beard
85bdcfc97b
Test commit.
...
llvm-svn: 153096
2012-03-20 17:25:17 +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
Kostya Serebryany
8b0a575065
fix link
...
llvm-svn: 152806
2012-03-15 16:22:06 +00:00
Kostya Serebryany
83d2a94e3a
[asan] update asan docs: mention CMake problem and to explain the status of MacOS 10.7 and 32-bit Linux
...
llvm-svn: 152805
2012-03-15 16:20:29 +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
f5a0d10c2c
Add user-defined literals to release notes.
...
llvm-svn: 152424
2012-03-09 19:09:47 +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
999892f0d0
Fix Typo in 'objc changes' anchor.
...
llvm-svn: 151978
2012-03-03 13:37:22 +00:00
Kostya Serebryany
b187449435
add documentation for -f[no-]thread-sanitizer and -f[no-]address-sanitizer to docs/UsersManual.html
...
llvm-svn: 151858
2012-03-01 23:14:19 +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
e5809a0aaf
Fix indentation
...
llvm-svn: 151264
2012-02-23 17:54:00 +00:00
Douglas Gregor
1fe7e90758
Note that lambda expressions are available in the release notes for 3.1
...
llvm-svn: 151263
2012-02-23 17:51:51 +00:00
Douglas Gregor
64bfb2e88e
Clang supports lambdas.
...
llvm-svn: 151239
2012-02-23 05:44:09 +00:00
Chad Rosier
c41c5a8c39
Improve placement of clang crash diagnostics section.
...
llvm-svn: 151192
2012-02-22 20:26:10 +00:00
Chad Rosier
35d14d91c2
Add clang crash diagnostic info and associated flags to Clang user manual.
...
llvm-svn: 151184
2012-02-22 19:14:46 +00:00
Dmitri Gribenko
e72fa2c113
Add -Wstrncat-size and -Wempty-body to release notes.
...
llvm-svn: 150879
2012-02-18 14:13:26 +00:00
Nico Weber
2668f0a132
Add a few minor items to the 3.1 release notes.
...
llvm-svn: 150656
2012-02-16 02:35:03 +00:00
Richard Smith
7e14ddd41b
Start off release notes for clang 3.1 with reference to C11 anonymous structs
...
and unions, and C++11 generalized constant expressions.
llvm-svn: 150640
2012-02-16 00:32:27 +00:00
David Blaikie
040a3a28f1
Remove the unuseful -fdiagnostics-show-name
...
This option was added in r129614 and doesn't have any use case that I'm aware
of. It's possible that external tools are using these names - and if that's
the case we can certainly reassess the functionality, but for now it lets us
shave out a few unneeded bits from clang.
Move the "StaticDiagNameIndex" table into the only remaining consumer, diagtool.
This removes the actual diagnostic name strings from clang entirely.
Reviewed by Chris Lattner & Ted Kremenek.
llvm-svn: 150612
2012-02-15 19:45:34 +00:00
Richard Smith
1cb2af0b3a
Advertize support for constexpr.
...
llvm-svn: 150524
2012-02-14 22:56:17 +00:00
Michael J. Spencer
9dc864b6ce
Fix broken link. I believe this has been broken for at least 7 months.
...
llvm-svn: 150329
2012-02-12 09:11:39 +00:00
Benjamin Kramer
a20863e67d
Fix a typo (builting -> builtin).
...
Patch by Afriza N. Arief!
llvm-svn: 149822
2012-02-05 11:24:56 +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
Kostya Serebryany
8c84d4591d
[asan] document the need for -fno-optimize-sibling-calls
...
llvm-svn: 148716
2012-01-23 18:50:23 +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
Kostya Serebryany
417dfe7a16
[asan] mention -fno-omit-frame-pointer in the docs
...
llvm-svn: 147663
2012-01-06 17:35:27 +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
Douglas Gregor
12aa609fd9
Fix typo 'typdefs', from Nikola Smiljanic
...
llvm-svn: 146894
2011-12-19 19:50:23 +00:00
Chris Lattner
ac2bda8dd0
fix a broken link
...
llvm-svn: 146859
2011-12-19 07:49:23 +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
Kostya Serebryany
7c5c789e38
[asan] update asan docs
...
llvm-svn: 146446
2011-12-12 23:22:31 +00:00
Richard Smith
eb45aa0b2e
Document the updated behaviour of __builtin_constant_p introduced in r146236.
...
llvm-svn: 146241
2011-12-09 03:40:28 +00:00
Chris Lattner
1e13e8ac97
we got badgered into supporting multi-alternative constraints.
...
llvm-svn: 145822
2011-12-05 18:29:03 +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
3aac38e90f
[asan] update docs to allow, but discourage, -O0
...
llvm-svn: 145653
2011-12-02 00:24:42 +00:00
Peter Collingbourne
a35dcd2310
Add Clang release notes for OpenCL C support.
...
llvm-svn: 145360
2011-11-29 02:03:07 +00:00
Peter Collingbourne
33d838c499
Fix URL typo.
...
llvm-svn: 145359
2011-11-29 02:03:03 +00:00
Chandler Carruth
d196a1e637
Fix a spelling error pointed out by Sebastien, and tidy up the
...
formatting here a bit... mostly to my preferred bikeshed-blue.
llvm-svn: 145337
2011-11-29 00:24:20 +00:00
Chandler Carruth
9a39b455aa
Remove the last of my notes. I don't think these really need to be in
...
the release notes despite their awesomeness. If we had a thorough
discussion of the performance of Clang in 2.9 vs. 3.0, the first would
be more relevant, but we don't. The serialization stuff hopefully isn't
terribly visible to end users.
Objections to these omissions are of course welcome. =]
llvm-svn: 145336
2011-11-29 00:24:18 +00:00
Chandler Carruth
cb9f4c7fde
Last major chunk of features. This covers a couple of language
...
extensions and one infrastructure feature addition that has a direct
impact on other projects which use Clang.
llvm-svn: 145335
2011-11-29 00:15:26 +00:00
Chandler Carruth
30befa0f7a
And sink the GNU runtime bit into this section as a stub.
...
llvm-svn: 145334
2011-11-29 00:15:25 +00:00
Chandler Carruth
1ef751f4a5
Flesh out the Objective-C section a bit. This may well need some love
...
from the Objective-C experts, but the basic stuff is there now.
llvm-svn: 145333
2011-11-29 00:15:23 +00:00
Rafael Espindola
e11c5f2d63
CFI is mentioned on the LLVM releases as the clang bits are relatively small.
...
llvm-svn: 145325
2011-11-28 23:58:04 +00:00
Francois Pichet
2a69e24291
Update release notes with 2 features now supported in -fms-extensions mode.
...
I think that's enough for my release notes.
llvm-svn: 145320
2011-11-28 23:46:15 +00:00
Richard Smith
0e8f5c7e9b
Release notes: add link to ISO C++ 2011 standard from the C++11 section.
...
llvm-svn: 145317
2011-11-28 23:35:03 +00:00
Francois Pichet
44cb7b6354
Update release notes with information on MSVC mode.
...
llvm-svn: 145315
2011-11-28 23:30:46 +00:00
Richard Smith
a7c7e2bb84
Release notes: fix up formatting of diagnostic example.
...
llvm-svn: 145311
2011-11-28 23:16:15 +00:00
Chandler Carruth
67f5d88869
Extract a Windows section in the release notes. Hopefully this is more
...
accurate than my original notes were based on IRC conversations. Windows
folks, please edit as needed to make this closer to the truth if I've
still got it wrong.
llvm-svn: 145309
2011-11-28 23:11:27 +00:00
Chandler Carruth
2d4fc0c329
Create a stub for Nick to hack on, nuking another of my rough notes.
...
llvm-svn: 145308
2011-11-28 23:02:13 +00:00
Chandler Carruth
17ca53c12c
Pull the uninitialized values rewrite into the diagnostics section, and
...
add a bit to that section about the many bug-finding warnings that Clang
has grown since 2.9 as this is one of the more visible new additions.
llvm-svn: 145307
2011-11-28 22:54:33 +00:00
Chandler Carruth
6111e359e0
Remove some features that don't really seem major enough or widely used
...
enough to merit space in the release notes.
llvm-svn: 145306
2011-11-28 22:54:31 +00:00
Richard Smith
66fced550e
Add a release notes section for C1X language features supported by clang 3.0.
...
llvm-svn: 145305
2011-11-28 22:48:25 +00:00
Chandler Carruth
2679f3cb12
Pull out the libclang section and try to clean it up some. This one
...
feels a bit spartan currently.
llvm-svn: 145302
2011-11-28 22:43:32 +00:00
Chandler Carruth
124d8ff0da
We now have text (or comment stubs for others) for these...
...
llvm-svn: 145299
2011-11-28 22:36:40 +00:00
Chandler Carruth
7252e7a949
Expand and clean up the diagnostics section.
...
llvm-svn: 145298
2011-11-28 22:34:59 +00:00
Kostya Serebryany
1283ccf273
fix html markup
...
llvm-svn: 145297
2011-11-28 22:34:10 +00:00
Chandler Carruth
270e4511a7
Create a more organized (but still commented out as not very useful)
...
stub for OpenCL work. I can't really dig enough out of the commit log
messages other than to tell that a lot of work went into this in the 2.9
-> 3.0 timeframe. I'll let the folks touching it decide if it merits
a spot in the release notes and provide the appropriate details if so.
llvm-svn: 145291
2011-11-28 22:17:58 +00:00
Chandler Carruth
b843b0be6b
Create a 3.1 notes section in a comment so that the next batch are a bit
...
easier. Move the CUDA bits and the C1X/C++11 atomics stuff there. We
haven't exposed a __has_feature for the atomic builtins, so none of this
is available yet...
llvm-svn: 145288
2011-11-28 22:12:44 +00:00
Chandler Carruth
c869fb3be9
Peter says this shouldn't make it to the relnotes, it's too immature at
...
this stage.
llvm-svn: 145286
2011-11-28 22:06:59 +00:00
Chandler Carruth
c8b093de54
Flesh out and pretty-up the driver section. This could probably use some
...
more love w.r.t. platforms other than Linux?
llvm-svn: 145285
2011-11-28 21:56:30 +00:00
Chandler Carruth
8ecf3c970b
Add a brief mention of the warning flag name updates associated with the
...
C++11 standard.
llvm-svn: 145284
2011-11-28 21:55:34 +00:00
Chandler Carruth
f99d03b489
Tidy up, wrap lines, and use <code> tags more consistently.
...
llvm-svn: 145283
2011-11-28 21:47:51 +00:00
Anna Zaks
c086f0f91b
Cleanup the Release Notes for the static analyzer:
...
The performance improvement was committed after the 3.0 branch.
Constructors/destructors are handled by the CFG, but we do not do anything
special for them in the analyzer yet.
Since we do not have an open source release qualification for the analyzer,
we are not investing into creating the proper release notes for it.
llvm-svn: 145281
2011-11-28 21:31:55 +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
Richard Smith
7a5898c3fe
Add a release notes section on new C++11 language features, and flesh it out.
...
llvm-svn: 145268
2011-11-28 20:02:05 +00:00
Chandler Carruth
48f8f9fdb1
Add a proper blurb for the PPCallbacks features.
...
llvm-svn: 145261
2011-11-28 19:17:25 +00:00
Chandler Carruth
9252724a04
This doesn't really seem worthy of a relnote... Shout if you disagree!
...
llvm-svn: 145259
2011-11-28 19:11:25 +00:00
Chandler Carruth
61a0421cf4
Fill in a section for the instantiation -> expansion rename. Not great,
...
but better.
llvm-svn: 145258
2011-11-28 19:06:34 +00:00
Chandler Carruth
34dfcc5570
Add proper text for the Diagnostic API changes.
...
llvm-svn: 145257
2011-11-28 18:55:47 +00:00
Douglas Gregor
08dbbbb338
Add a release note for Objective-C related result types
...
llvm-svn: 145252
2011-11-28 17:51:39 +00:00
Douglas Gregor
6cfe81e603
Note that code completion now works better for in-class member functions
...
llvm-svn: 145251
2011-11-28 17:50:36 +00:00
Chandler Carruth
e2031bbcb8
And that completes my sweep through commits for things that might be
...
worth noting in the release notes. These remain raw notes. I'll be
re-writing them into nice prose first thing tomorrow, with help from
others. A couple of notes for any reading the commits:
If you don't see something that should be mentioned, feel free to add
a note (or even a nicely written section) about it! I haven't really
done the static analyzer justice here as I don't really know what the
significant changes are other than mile-high stuff like watching it grow
C++ support and a more robust CFG. I also worry I've missed important
stuff in the Objective-C world.
If you see something that isn't worth mentioning, just delete it. I know
there are several things like this. I plan to prune the list down as
I flesh things out.
If you're name or email is on a bullet, I'll likely be sending you an
email asking for any input on that subject. For many of these I can fill
in something generic, and I'll just want you to give it a once-over.
However, if you have time, feel free to just write the blurb yourself
and drop it in, or drop it in an email to me.
Finally, *WOW* has a lot happened in Clang... I shouldn't have dreaded
(and put off) this so much, it was kind of awesome to go back and watch
the evolution. Anyways, these should be in a reasonable draft state
early tomorrow.
llvm-svn: 145247
2011-11-28 13:02:29 +00:00
Chandler Carruth
3fc02a2fd9
Finished with August's commits, and actually added a clearly missing
...
section on libclang.
llvm-svn: 145246
2011-11-28 12:24:23 +00:00
Chandler Carruth
2191916305
July's notes..
...
llvm-svn: 145245
2011-11-28 12:24:21 +00:00
Chandler Carruth
e70b005a6d
July was a bit quiet to... except for ARC. ;]
...
llvm-svn: 145242
2011-11-28 11:27:33 +00:00
Chandler Carruth
955ba6c076
June was a quiet month... I can't imagine why... ;]
...
llvm-svn: 145241
2011-11-28 10:57:14 +00:00
Chandler Carruth
a393202377
Notes through another month... a *really* busy month, but mostly bug
...
fixing.
llvm-svn: 145237
2011-11-28 09:43:30 +00:00
Chandler Carruth
7c8e5ff578
Add the first month's commit notes.
...
llvm-svn: 145236
2011-11-28 08:41:06 +00:00
Chandler Carruth
629c3552bb
Begin sketching out the Clang release notes. The plan is to link to
...
these more detailed notes from the primary LLVM release notes for Clang.
This gives us a nice place to flesh out in plenty of detail the major
changes that have happened in Clang land since 2.9.
I've outlined a very rough structure based on the LLVM release notes
structure and what seems like useful divisions in the Clang landscape
(e.g., language-specific stuff is relevant to a narrower audience).
I'll be first converting my brain-dump-ish notes from the commit logs,
and then cleaning here. Suggestions on structure welcome. Typo
corrections, spelling fixes (oh how I'll need them), all welcome; just
commit away.
llvm-svn: 145233
2011-11-28 07:16:19 +00:00
David Blaikie
4f1f9e6b2e
Fix typo (becuase->because), PR11427
...
llvm-svn: 145117
2011-11-24 00:37:54 +00:00
Richard Smith
f13b855809
Add stub section to the user manual for C++ language features, and document
...
-ftemplate-depth= and -fconstexpr-depth= in it.
llvm-svn: 145049
2011-11-21 20:54:59 +00:00
NAKAMURA Takumi
74793710c1
docs/UsersManual.html: Remove obsolete mingw issue.
...
llvm-svn: 144897
2011-11-17 07:54:13 +00:00
Ted Kremenek
1fcdaa9c05
ARC: make assignment to 'self' within class methods illegal. Fixes <rdar://problem/10416568>.
...
llvm-svn: 144572
2011-11-14 21:59:25 +00:00
Douglas Gregor
f8b02cabca
Fix grammaro
...
llvm-svn: 143633
2011-11-03 18:33:01 +00:00
Tanya Lattner
fa7d9360f0
Do not create sub_dirs. This breaks the CSS links for the website and produces really long URLS.
...
llvm-svn: 143487
2011-11-01 20:09:03 +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
Bill Wendling
1c78ba0140
Enable CREATE_SUBDIRS for a performance win, because there are a lot of files being generated.
...
llvm-svn: 142113
2011-10-16 06:43:18 +00:00
Peter Collingbourne
a8e267b398
Internals manual: eliminate mention of System library
...
llvm-svn: 142074
2011-10-15 16:59:24 +00:00
Peter Collingbourne
60188eb8bf
Add c_alignas and cxx_alignas features
...
llvm-svn: 142020
2011-10-14 23:44:46 +00:00
Douglas Gregor
a273f58c74
Fix grammaro
...
llvm-svn: 141927
2011-10-14 00:54:15 +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
Douglas Gregor
e7a8e3b612
Introduce BalancedDelimiterTracker, to better track open/close
...
delimiter pairs and detect when we exceed the implementation limit for
nesting depth, from Aaron Ballman!
llvm-svn: 141782
2011-10-12 16:37:45 +00:00
Daniel Dunbar
0f41eee2a0
Driver: Add support for a new -nostdlibinc option.
...
- This disables the system include directories, but not the compiler builtin
directories. Useful for projects that want to use things like the intrinsic
headers, but are otherwise freestanding.
- I'm willing to reconsider the option naming, I also considered providing an
explicit -builtinc (which would match -nobuiltininc), but this is more
consistent with existing options.
llvm-svn: 141692
2011-10-11 18:20:16 +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
Daniel Dunbar
920844c36e
Revert my --working-directory option, which wasn't well thought through.
...
llvm-svn: 140889
2011-09-30 21:33:09 +00:00
Douglas Gregor
3984269260
Add a section detailing the steps required to add an expression or
...
statement to Clang.
llvm-svn: 140888
2011-09-30 21:32:37 +00:00
Daniel Dunbar
10d398f894
Driver: Add a --working-directory option which can be used to cause the compiler
...
to operate "as if" in a certain working directory.
- For now, we just implement this by changing the actual working directory, but
eventually we would want to handle this transparently. This is useful to
avoid an extra exec() pair in some situations, and will be something we would
want to support for more flexibility in using the Clang libraries.
llvm-svn: 140409
2011-09-23 20:33:41 +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
cd267f7e0d
Update mingw-w64 part of the user manual, from Ruben Van Boxem!
...
llvm-svn: 138788
2011-08-30 00:40:12 +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
Ted Kremenek
66bfc1db14
Add documentation on -Weverything.
...
llvm-svn: 137911
2011-08-18 01:17:05 +00:00
NAKAMURA Takumi
5ae5353894
docs/doxygen.css: Import .memitem, .memproto and .memdoc from llvm/doxygen.
...
llvm-svn: 137435
2011-08-12 06:24:04 +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
Caitlin Sadowski
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
Caitlin Sadowski
13d4444f96
Thread safety: Fix typo in documentation
...
llvm-svn: 136370
2011-07-28 18:38:36 +00:00
Caitlin Sadowski
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
John McCall
cf1667022f
Document the existing objc_precise_lifetime attribute.
...
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.
llvm-svn: 135764
2011-07-22 08:53:00 +00:00
Alexis Hunt
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
John McCall
7c3ed3d0c5
Document the behavior of property modifiers in ARC.
...
rdar://problem/9768338
llvm-svn: 135104
2011-07-13 23:15:32 +00:00
David Chisnall
c2800aab7b
Fix another typo (int -> id for captured_obj).
...
llvm-svn: 134998
2011-07-12 20:34:06 +00:00
David Chisnall
561471d2f3
Fix example: variable is initialized to 10 and then has 11 stored in it, but in the expanded version is initialized to 11.
...
llvm-svn: 134610
2011-07-07 09:49:59 +00:00
John McCall
c3df93aa0d
Move and elaborate the section on objc_arc_weak_unavailable.
...
llvm-svn: 134567
2011-07-07 00:03:42 +00:00
Fariborz Jahanian
1025318ca9
Update document for objc_arc_weak_unavailable attribute
...
on class declarations. Documentation for // rdar://9693477
llvm-svn: 134558
2011-07-06 22:56:44 +00:00
Fariborz Jahanian
e634a92dac
Update document on use of ns_returns_not_retained
...
attribute on property. Document for // rdar://9636091.
llvm-svn: 134556
2011-07-06 22:47:46 +00:00
Fariborz Jahanian
251e793a3f
Update documentation for // rdar://9619861
...
llvm-svn: 134544
2011-07-06 21:58:44 +00:00
Jonathan D. Turner
3b1da3604f
Update docs to remove reference to OverloadedFunctionDecl and replace it with DeclContext::lookup_result.
...
llvm-svn: 134514
2011-07-06 18:12:36 +00:00
Chris Lattner
052172bc14
fix typo
...
llvm-svn: 134361
2011-07-03 02:21:48 +00:00
Douglas Gregor
c2e40fa681
Remove reference to the Index library
...
llvm-svn: 134238
2011-07-01 16:35:47 +00:00
Benjamin Kramer
0c14ce1dbf
Remove doxygen.cfg to prevent accidental commits, it is generated from doxygen.cfg.in.
...
llvm-svn: 134072
2011-06-29 16:22:39 +00:00
Evan Cheng
fbaa5b1077
Revert accidental commit.
...
llvm-svn: 134052
2011-06-29 01:23:25 +00:00
Evan Cheng
eeb486dda5
SubtargetFeature.h has been moved to MC.
...
llvm-svn: 134050
2011-06-29 01:14:32 +00:00
Alexis Hunt
b0d8199925
Add documentation about __has_feature(cxx_delegationg_constructors)
...
llvm-svn: 133693
2011-06-23 06:11:37 +00:00
Alexis Hunt
efa0716ab7
Fix a minor copy-paste-o that broke the stylesheets
...
llvm-svn: 133678
2011-06-23 01:22:53 +00:00
Alexis Hunt
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
Alexis Hunt
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
Alexis Hunt
6d756895a9
-fexceptions does not, in fact, enable C++ exceptions
...
llvm-svn: 133666
2011-06-22 23:49:12 +00:00
John McCall
a994df5a02
More clarifications.
...
llvm-svn: 133387
2011-06-19 10:12:24 +00:00
John McCall
fb414bc66d
Improve the intro to the runtime-functions section.
...
llvm-svn: 133386
2011-06-19 09:59:33 +00:00
John McCall
092701c326
Describe the ARC runtime support calls.
...
llvm-svn: 133385
2011-06-19 09:36:02 +00:00
John McCall
9cc574d538
Clarify the semantics of init methods, and point out a few places
...
where mismatched semantics can cause undefined behavior.
llvm-svn: 133341
2011-06-18 08:15:19 +00:00
John McCall
f8d4799267
A couple of minor changes to the ARC spec, plus a new section
...
specifying that retain/release/autorelease/retainCount are forbidden,
plus a section talking about the behavior of dealloc.
llvm-svn: 133340
2011-06-18 07:31:30 +00:00
Douglas Gregor
d7357a9b8e
Objective-C++ ARC: eliminate the utterly unjustified loophole that
...
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.
llvm-svn: 133309
2011-06-17 23:16:24 +00:00
Douglas Gregor
4fdf57b0b2
Fix a grammaro
...
llvm-svn: 133304
2011-06-17 22:19:27 +00:00
Douglas Gregor
e46db90c9a
Objective-ARC++: infer template type arguments of
...
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>.
llvm-svn: 133303
2011-06-17 22:11:49 +00:00
John McCall
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
John McCall
556fad31d1
The specification document for the new ObjC Automatic Reference Counting
...
feature.
Implementation to follow. :)
llvm-svn: 133090
2011-06-15 21:21:53 +00:00
Chris Lattner
dcb562dea4
remove the index page, we have dox now!
...
llvm-svn: 133087
2011-06-15 21:13:48 +00:00
Chris Lattner
e67977214f
mention new VLA behavior in gnu* vs c* mode dox.
...
llvm-svn: 133030
2011-06-15 00:41:40 +00:00
Blaine Garst
f562bf239c
fix example as per rdar://problem/9461587
...
llvm-svn: 133012
2011-06-14 21:41:00 +00:00
Eli Friedman
97f3d1a5ee
Update extensions section of the docs to account for wacky gcc stuff we did end up implementing.
...
llvm-svn: 132947
2011-06-13 23:12:01 +00:00
Douglas Gregor
33823727c8
Implement Objective-C Related Result Type semantics.
...
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
llvm-svn: 132868
2011-06-11 01:09:30 +00:00
Ted Kremenek
8c66ae7ddc
Remove derelict documentation.
...
llvm-svn: 132407
2011-06-01 17:45:02 +00:00
Argyrios Kyrtzidis
0e37afa15e
A StringRef-ication of the DiagnosticIDs API and internals.
...
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.
llvm-svn: 132047
2011-05-25 05:05:01 +00:00
Douglas Gregor
80af31397a
Audit and finish the implementation of C++0x nullptr, fixing two
...
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.
llvm-svn: 131813
2011-05-21 23:15:46 +00:00
Douglas Gregor
643c922e66
Introduce the -fdiagnostics-format=xxx option to control how Clang
...
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!
llvm-svn: 131794
2011-05-21 17:07:29 +00:00
Peter Collingbourne
d5d410faa8
Introduce __has_extension macro
...
__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.
llvm-svn: 131308
2011-05-13 20:54:45 +00:00
Peter Collingbourne
d12d712c84
Delete doxygen.cfg, and use cwd-relative paths in doxygen.cfg.in.
...
Now "make doxygen" works for clang.
llvm-svn: 131282
2011-05-13 03:29:06 +00:00
Douglas Gregor
347d626cf7
Implement CWG1170, which makes access-control errors into template
...
argument deduction failures. Only implemented in C++0x, since this is
a significant change in behavior from C++98/03.
llvm-svn: 131209
2011-05-11 23:45:11 +00:00
Richard Smith
3f1b5d077b
Implement support for C++0x alias templates.
...
llvm-svn: 130953
2011-05-05 21:57:07 +00:00
Chad Rosier
b9a8525bab
Documentation for -Oz; Updated synopsis and item.
...
llvm-svn: 130570
2011-04-30 02:04:10 +00:00
Chad Rosier
bc8d7c27d9
Add documentation for -Oz flag.
...
llvm-svn: 130569
2011-04-30 01:40:58 +00:00
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
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
John McCall
98757030a4
Document the extensions I made to the diagnostics-formatting system yesterday.
...
llvm-svn: 93439
2010-01-14 19:12:17 +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
Nuno Lopes
641fdce235
revert part of my last patch, and mark only the c++ global new operator as noalias. the rest will be infered by llvm optz
...
llvm-svn: 91600
2009-12-17 10:15:49 +00:00
Nuno Lopes
ff22e5e8cb
document -fno-assume-sane-operator-new, per Chris request.
...
please review for English grammar mistakes
llvm-svn: 91599
2009-12-17 10:00:52 +00:00
Mike Stump
64a03454c6
Refine a little. WIP.
...
llvm-svn: 91502
2009-12-16 03:25:12 +00:00
Mike Stump
11ba8d989c
Add some documentation for recent checkins. WIP.
...
llvm-svn: 91500
2009-12-16 03:18:14 +00:00
Mike Stump
68943780a6
Add documentation for recently added code. WIP.
...
llvm-svn: 91367
2009-12-14 23:53:10 +00:00
Daniel Dunbar
0910cf54ac
Update a few more docs references to clang-cc.
...
llvm-svn: 91178
2009-12-11 23:17:03 +00:00
Zhongxing Xu
9ad590125c
brace completion.
...
llvm-svn: 90833
2009-12-08 05:05:26 +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
Douglas Gregor
44ab140001
Fix a broken link
...
llvm-svn: 86545
2009-11-09 15:15:41 +00:00
John Thompson
ac0b098d4d
Added __has_include and __has_include_next.
...
llvm-svn: 85834
2009-11-02 22:28:12 +00:00
Rafael Espindola
bb85c2644a
Document -nobuiltininc
...
llvm-svn: 85188
2009-10-27 00:29:40 +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
Mike Stump
b4bed3a497
Collapse more clang version numbers down into fewer places.
...
llvm-svn: 81983
2009-09-16 01:26:05 +00:00
Mike Stump
e18856dad1
Back to 1.1 we go.
...
llvm-svn: 81944
2009-09-15 23:04:22 +00:00
Chris Lattner
f8122966a9
clang tracks multiple levels of macro expansion
...
llvm-svn: 81811
2009-09-14 23:44:08 +00:00
Daniel Dunbar
5e2de9fe00
Some formatting tweaks to clang(1)
...
llvm-svn: 81668
2009-09-13 02:21:55 +00:00
Eli Friedman
a3063cec14
As far as I know, there aren't any warning differences between -std=gnu99 and
...
-std=c99 modes, etc.
llvm-svn: 80133
2009-08-26 20:18:00 +00:00
Daniel Dunbar
f944cc5347
Fix a few typos.
...
llvm-svn: 78991
2009-08-14 04:43:04 +00:00
Chris Lattner
7bad9ef8ae
document the diagnostics pragmas, patch by Louis Gerbarg!
...
llvm-svn: 75432
2009-07-12 21:22:10 +00:00
Argyrios Kyrtzidis
bff082aec9
Add documentation for the Index library to clang's web page.
...
llvm-svn: 75222
2009-07-10 03:41:36 +00:00
Douglas Gregor
0086a5a3bb
Introduce the notion of "Relocatable" precompiled headers, which are built
...
with a particular system root directory and can be used with a different
system root directory when the headers it depends on have been installed.
Relocatable precompiled headers rewrite the file names of the headers used
when generating the PCH file into the corresponding file names of the
headers available when using the PCH file.
Addresses <rdar://problem/7001604>.
llvm-svn: 74885
2009-07-07 00:12:59 +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
084776d08b
fix typo
...
llvm-svn: 73304
2009-06-13 20:35:58 +00:00
Chris Lattner
60ac6b9dce
a couple minor tweaks
...
llvm-svn: 73296
2009-06-13 18:11:10 +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
Eli Friedman
7983cb1dbe
Minor formatting tweak.
...
llvm-svn: 73251
2009-06-12 20:11:05 +00:00
Eli Friedman
0f7d4455fe
Fix a minor formatting mistake.
...
llvm-svn: 73250
2009-06-12 20:08:48 +00:00
Eli Friedman
4e20479de8
Some updates to the gcc extension sections of the users manual.
...
llvm-svn: 73249
2009-06-12 20:04:25 +00:00
Eli Friedman
4d38aeb372
Minor documentation update about Microsoft extensions.
...
llvm-svn: 73052
2009-06-08 06:21:03 +00:00
Eli Friedman
3a80fc3808
Say a bit about various architectures in the users manual.
...
llvm-svn: 73044
2009-06-08 05:12:39 +00:00
Daniel Dunbar
15b86228cf
Mention unsupported GCC duplicate-definition-with-inline extension.
...
Also, link users manual from the main web page.
llvm-svn: 72878
2009-06-04 18:37:52 +00:00
Douglas Gregor
b48c6eb794
PTH -> PCH in the user manual
...
llvm-svn: 72815
2009-06-03 22:37:00 +00:00
Douglas Gregor
277d4d355b
HTML tweak to get the PCH internals documentation to display correctly
...
llvm-svn: 72813
2009-06-03 21:57:43 +00:00
Douglas Gregor
22c7d31a3f
Finished the PCH design and implementation documentation
...
llvm-svn: 72812
2009-06-03 21:55:35 +00:00
Douglas Gregor
6c5d61ca09
Document the integration points for precompiled headers
...
llvm-svn: 72809
2009-06-03 21:41:31 +00:00
Douglas Gregor
a3bd665e17
Add a table of contents to the PCH design document
...
llvm-svn: 72791
2009-06-03 18:35:59 +00:00
Douglas Gregor
8662d1ffd0
Document the PCH representation of statements and expressions
...
llvm-svn: 72790
2009-06-03 18:26:16 +00:00
Douglas Gregor
02a109f6d7
Fill in some gaps in the precompiled headers documentation
...
llvm-svn: 72779
2009-06-03 16:06:22 +00:00
Douglas Gregor
f727bb18d9
More PCH documentation
...
llvm-svn: 72743
2009-06-02 22:08:07 +00:00
Eli Friedman
164da6618e
A couple minor corrections to the "GCC extensions not implemented yet"
...
section of the users manual.
llvm-svn: 72725
2009-06-02 08:21:31 +00:00
Eli Friedman
b5f33c1634
A few tweaks to the "Differences between various standard modes"
...
section.
llvm-svn: 72501
2009-05-27 23:02:57 +00:00
Douglas Gregor
95fc37fd8f
Start documenting precompiled headers
...
llvm-svn: 72146
2009-05-20 00:16:32 +00:00
Daniel Dunbar
f7a24e176c
Several fixes to the clang man page.
...
- -emit-llvm isn't a stage selection option.
- Document -O4 and -flto.
- -ObjC++ and -ObjC apply to all inputs, not subsequent ones.
- Some versions of pod2man aren't happy about the comment after =over=?
- Some minor grammar fixes.
llvm-svn: 72044
2009-05-18 21:34:46 +00:00
Eli Friedman
c3dcdd0980
A few minor updates to the user manual.
...
llvm-svn: 71964
2009-05-16 23:17:30 +00:00
Daniel Dunbar
ffe4e63b40
Note that clang follows the MSVC definition for #pragma pack.
...
llvm-svn: 71725
2009-05-13 21:40:49 +00:00
Daniel Dunbar
98d7164ab0
Tweak wording
...
llvm-svn: 71611
2009-05-13 00:23:53 +00:00
Daniel Dunbar
e83b560e06
Note a few more unsupported language extensions.
...
llvm-svn: 71607
2009-05-12 23:12:07 +00:00
Chris Lattner
32efff659c
wrap up a version of the man page that is minimally helpful, but somewhat complete.
...
llvm-svn: 71524
2009-05-12 00:47:40 +00:00
Chris Lattner
66c64f9ba4
add some more content.
...
llvm-svn: 71518
2009-05-12 00:01:32 +00:00
Chris Lattner
e3c3f40404
pull a bunch of options out of clang-cc.cpp. This doesn't include
...
options that the driver swizzles.
llvm-svn: 71487
2009-05-11 22:45:37 +00:00
Daniel Dunbar
16af476c42
Document environment variables we handle, and don't mention -pipe (it
...
isn't yet supported... lazy developers).
llvm-svn: 71109
2009-05-06 19:18:09 +00:00
Chris Lattner
164ac10f82
More content.
...
llvm-svn: 71088
2009-05-06 17:22:08 +00:00
Chris Lattner
2080787636
add some content
...
llvm-svn: 71059
2009-05-06 02:47:51 +00:00
Daniel Dunbar
94fa27171b
Override some pod2man defaults.
...
llvm-svn: 71045
2009-05-06 00:10:37 +00:00
Chris Lattner
b732397343
257 -> FS
...
llvm-svn: 70996
2009-05-05 18:54:47 +00:00
Daniel Dunbar
6d0eecad6c
Make install target actually work, dependencies FTW.
...
llvm-svn: 70599
2009-05-01 23:34:58 +00:00
Daniel Dunbar
c52d01f8d9
Add ONLY_MAN_DOCS variable to only install the man page, not the html
...
and ps documentation.
llvm-svn: 70589
2009-05-01 23:11:42 +00:00
Daniel Dunbar
c1b1658751
Add incredibly bare bones docs/tools.
...
- Mirroring LLVM's docs/CommandGuide, a place to put .pod files which
are used to generate man/html/etc documentation for tools provided
as part of clang.
llvm-svn: 70355
2009-04-29 01:00:32 +00:00
Eli Friedman
5406f5430b
Add some text to the user manual describing the current state of C
...
support in clang.
llvm-svn: 70314
2009-04-28 18:48:34 +00:00
Ted Kremenek
dab465d820
Grammar fix.
...
llvm-svn: 69682
2009-04-21 17:14:24 +00:00
Chris Lattner
a80b2bdb25
document new form of -fdiagnostics-print-source-range-in
...
llvm-svn: 69663
2009-04-21 05:35:32 +00:00
Zhongxing Xu
2f8198f82a
update the doc.
...
llvm-svn: 69587
2009-04-20 10:09:10 +00:00
Chris Lattner
396b9c380a
more stuff.
...
llvm-svn: 69576
2009-04-20 06:26:18 +00:00
Chris Lattner
5ed5e9a612
add a bunch of diagnostics options, add one example warning group.
...
llvm-svn: 69573
2009-04-20 06:00:23 +00:00
Chris Lattner
6840825137
slurp some content from the PTH doc into the user's doc.
...
llvm-svn: 69569
2009-04-20 04:37:38 +00:00
Chris Lattner
f9d8913b80
initial skeleton of a user's manual.
...
llvm-svn: 69568
2009-04-20 04:23:09 +00:00
Daniel Dunbar
2355ea2625
Some more tweaks to driver documentation.
...
llvm-svn: 69504
2009-04-19 02:33:12 +00:00
Chris Lattner
ecbcb3ab0b
minor typographical fixes
...
llvm-svn: 69502
2009-04-19 02:02:45 +00:00
Chris Lattner
7de6456593
mention the non-standard builtin macros we support.
...
llvm-svn: 68935
2009-04-13 02:45:46 +00:00
Zhongxing Xu
a720c8b1c9
update analyzer doc.
...
llvm-svn: 68773
2009-04-10 06:52:49 +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
Ted Kremenek
11e13fae69
Fix grammar. Bold face feature points.
...
llvm-svn: 68720
2009-04-09 18:22:40 +00:00
Ted Kremenek
4adfee4ff7
More cleanup.
...
llvm-svn: 68719
2009-04-09 18:20:08 +00:00
Ted Kremenek
8918025272
More cleanups.
...
llvm-svn: 68718
2009-04-09 18:17:39 +00:00
Ted Kremenek
df0d9070b8
Add link from internals manual to PTH documentation.
...
llvm-svn: 68717
2009-04-09 18:08:18 +00:00
Ted Kremenek
6b27a811c6
Minor cleanups. Added a blurb about the advantages of fast PTH file generation.
...
llvm-svn: 68716
2009-04-09 18:03:21 +00:00
Chris Lattner
937b68b201
use escapes.
...
llvm-svn: 68600
2009-04-08 06:00:32 +00:00
Chris Lattner
1659301bed
some minor edits
...
llvm-svn: 68599
2009-04-08 05:50:25 +00:00
Ted Kremenek
d969f5fb6f
Initial draft of PTH internals.
...
llvm-svn: 68594
2009-04-08 05:07:30 +00:00
Ted Kremenek
5d71204390
Convert region-design document to HTML.
...
llvm-svn: 68366
2009-04-03 01:38:55 +00:00
Zhongxing Xu
43533c7f40
update docs. Replace 'lattice' with 'tree'.
...
llvm-svn: 68271
2009-04-02 01:14:56 +00:00
Zhongxing Xu
034247130e
Update docs.
...
llvm-svn: 68191
2009-04-01 06:01:08 +00:00
Zhongxing Xu
dcb7a35294
Adjust doc format.
...
llvm-svn: 68190
2009-04-01 05:26:39 +00:00
Zhongxing Xu
1b1d3f6b0c
update docs.
...
llvm-svn: 68188
2009-04-01 05:05:22 +00:00
Zhongxing Xu
c473a44507
Update docs.
...
llvm-svn: 68183
2009-04-01 03:23:38 +00:00
Daniel Dunbar
1cd3f8c54f
Some very rough Driver documentation.
...
llvm-svn: 68030
2009-03-30 06:50:01 +00:00
Ted Kremenek
2f41ffe825
Add a high-level intro to the memory regions design document.
...
llvm-svn: 67759
2009-03-26 16:19:54 +00:00
Ted Kremenek
a32f7a124a
Move "regions" analyzer design document to 'docs'.
...
llvm-svn: 67752
2009-03-26 15:29:38 +00:00
Chris Lattner
14aea9a39c
link to blocks dox
...
llvm-svn: 66414
2009-03-09 07:03:22 +00:00
Chris Lattner
d6daa1dafd
add some description of the block language extension.
...
llvm-svn: 66413
2009-03-09 07:01:20 +00:00
Chris Lattner
da84e0d516
The long-rumored blocks implementation document.
...
llvm-svn: 66410
2009-03-09 06:57:46 +00:00
Chris Lattner
9605a55076
minor wording changes.
...
llvm-svn: 65648
2009-02-27 19:31:12 +00:00
Douglas Gregor
96977da72c
Clean up and document code modification hints.
...
llvm-svn: 65641
2009-02-27 17:53:17 +00:00
Douglas Gregor
7f74112756
Implement parsing of nested-name-specifiers that involve template-ids, e.g.,
...
std::vector<int>::allocator_type
When we parse a template-id that names a type, it will become either a
template-id annotation (which is a parsed representation of a
template-id that has not yet been through semantic analysis) or a
typename annotation (where semantic analysis has resolved the
template-id to an actual type), depending on the context. We only
produce a type in contexts where we know that we only need type
information, e.g., in a type specifier. Otherwise, we create a
template-id annotation that can later be "upgraded" by transforming it
into a typename annotation when the parser needs a type. This occurs,
for example, when we've parsed "std::vector<int>" above and then see
the '::' after it. However, it means that when writing something like
this:
template<> class Outer::Inner<int> { ... };
We have two tokens to represent Outer::Inner<int>: one token for the
nested name specifier Outer::, and one template-id annotation token
for Inner<int>, which will be passed to semantic analysis to define
the class template specialization.
Most of the churn in the template tests in this patch come from an
improvement in our error recovery from ill-formed template-ids.
llvm-svn: 65467
2009-02-25 19:37:18 +00:00