Commit Graph

546 Commits

Author SHA1 Message Date
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