Commit Graph

1534 Commits

Author SHA1 Message Date
Richard Smith 88fe69ce21 DR1909: Diagnose all invalid cases of a class member sharing its name with the class.
llvm-svn: 241425
2015-07-06 01:45:27 +00:00
Eric Christopher 2c4555ad1b Fix "the the" in comments/documentation/etc.
llvm-svn: 240110
2015-06-19 01:52:53 +00:00
Faisal Vali 24d59d14ba "This adds -fconcepts-ts as a cc1 option for enabling the
in-progress implementation of the Concepts TS. The recommended feature
test macro __cpp_experimental_concepts is set to 1 (as opposed to
201501) to indicate that the feature is enabled, but the
implementation is incomplete.

The link to the Concepts TS in cxx_status is updated to refer to the
PDTS (N4377). Additional changes related to __has_feature and
__has_extension are to follow in a later change.

Relevant tests include:

test/Lexer/cxx-features.cpp

The test file is updated with testing of the C++14 + Concepts TS mode.
The expected behaviour is the same as that of the C++14 modes except
for the case of __cpp_experimental_concepts."

- Hubert Tong.

Being committed for Hubert (as per his understanding with Richard Smith) as we start work on the concepts-ts following our preliminary strategy session earlier today. 

The patch is tiny and seems quite standard.

Thanks Hubert!

llvm-svn: 237982
2015-05-22 01:11:10 +00:00
Jonathan Roelofs 99bdd98a2b Fix 'CFG graph' typo. NFC
Patch by Jon Eyolfson!

llvm-svn: 237713
2015-05-19 18:51:56 +00:00
Richard Smith a462b4c9ac DR295: cv-qualifiers on function types are ignored in C++.
llvm-svn: 237383
2015-05-14 19:10:42 +00:00
Richard Smith 2d5814c2d4 Update cxx_dr_status to latest issues list.
llvm-svn: 237382
2015-05-14 19:07:47 +00:00
Yaron Keren 9f88702ac6 Update the subversion link to http://subversion.apache.org/packages.html.
llvm-svn: 236734
2015-05-07 15:15:16 +00:00
Yaron Keren 37f99ed0fb Fix clang getting started guide to require VC2013 instead of VS2012.
llvm-svn: 236733
2015-05-07 15:12:30 +00:00
Alexey Samsonov ec0bff9262 Recommend to use CMake on the Clang Getting Started page.
llvm-svn: 235402
2015-04-21 18:38:31 +00:00
Benjamin Kramer 6dcddc21f8 Mark DR777 only as fixed in clang SVN.
llvm-svn: 233391
2015-03-27 17:38:35 +00:00
Benjamin Kramer fe25759022 [Sema] Implement DR777
A parameter pack after a default argument is now valid.

PR23029.

llvm-svn: 233377
2015-03-27 13:58:41 +00:00
Reid Kleckner 7ffc3fbb2f C++14: Disable sized deallocation by default due to ABI breakage
There are no widely deployed standard libraries providing sized
deallocation functions, so we have to punt and ask the user if they want
us to use sized deallocation. In the future, when such libraries are
deployed, we can teach the driver to detect them and enable this
feature.

N3536 claimed that a weak thunk from sized to unsized deallocation could
be emitted to avoid breaking backwards compatibility with standard
libraries not providing sized deallocation. However, this approach and
other variations don't work in practice.

With the weak function approach, the thunk has to have default
visibility in order to ensure that it is overridden by other DSOs
providing sized deallocation. Weak, default visibility symbols are
particularly expensive on MachO, so John McCall was considering
disabling this feature by default on Darwin. It also changes behavior
ELF linking behavior, causing certain otherwise unreferenced object
files from an archive to be pulled into the link.

Our second approach was to use an extern_weak function declaration and
do an inline conditional branch at the deletion call site. This doesn't
work because extern_weak only works on MachO if you have some archive
providing the default value of the extern_weak symbol. Arranging to
provide such an archive has the same challenges as providing the symbol
in the standard library. Not to mention that extern_weak doesn't really
work on COFF.

Reviewers: rsmith, rjmccall

Differential Revision: http://reviews.llvm.org/D8467

llvm-svn: 232788
2015-03-20 00:31:07 +00:00
Anton Yartsev 1c6ff0ac2e [analyzer] www: +progress for undefbehavior.ZeroAllocDereference
llvm-svn: 231978
2015-03-11 22:29:32 +00:00
Sylvestre Ledru b062fd587d Fix a menu issue. patch by Vassil Vassilev
llvm-svn: 231637
2015-03-09 09:09:55 +00:00
Hans Wennborg b202b27a22 Add a download link to the web page (PR22764)
llvm-svn: 231431
2015-03-06 00:13:55 +00:00
Larisse Voufo 17151eba64 Fix typo.
llvm-svn: 230579
2015-02-25 23:48:35 +00:00
Larisse Voufo 351f309dab Move -fdefine-sized-deallocation and -fno-sized-deallocation options from driver into CC1 for now.
llvm-svn: 230577
2015-02-25 23:48:25 +00:00
Larisse Voufo 01c97c0860 Fix typo.
llvm-svn: 230159
2015-02-22 06:36:49 +00:00
Larisse Voufo 0d0237f6cb Move -fdefine-sized-deallocation and -fno-sized-deallocation options from driver into CC1 for now.
llvm-svn: 230158
2015-02-22 06:36:46 +00:00
Larisse Voufo 2e5c25ac77 Fix typo.
llvm-svn: 230114
2015-02-21 01:05:29 +00:00
Larisse Voufo dcc0eddd18 Move -fdefine-sized-deallocation and -fno-sized-deallocation options from driver into CC1 for now.
llvm-svn: 230112
2015-02-21 01:03:48 +00:00
David Majnemer 12d3783add Mark DR1940 as implemented
llvm-svn: 229829
2015-02-19 07:29:01 +00:00
David Majnemer 6440548434 Mark DR1947 as implemented
llvm-svn: 229828
2015-02-19 07:28:57 +00:00
David Majnemer 7da2302780 Mark DR1948 as implemented
llvm-svn: 229827
2015-02-19 07:28:55 +00:00
David Majnemer 54dc82e1d2 Mark DR1994 as a duplicate of DR529
llvm-svn: 229826
2015-02-19 07:28:52 +00:00
David Majnemer 2dbad01349 Mark DR1968 as implemented
llvm-svn: 229825
2015-02-19 07:28:49 +00:00
Larisse Voufo ee3c1b2a71 Update C++ implementation status page with recent changes w.r.t. to sized deallocation.
llvm-svn: 229818
2015-02-19 04:34:13 +00:00
Richard Smith 3cfad7ee25 Update cxx_dr_status to cover dr1748 and add test.
llvm-svn: 229229
2015-02-14 03:38:31 +00:00
Benjamin Kramer eb0ad45f3f Update cxx_status to list features implemented in Clang 3.6.
Still yellow because 3.6 is unreleased. While there make Urbana paper
links clickable and list binary literals as available in Clang 2.9
(they've been available basically since the dawn of Clang, but not
having a version number in the table looks weird)

llvm-svn: 228571
2015-02-09 11:48:43 +00:00
Larisse Voufo 4891e74c39 Re-arrange DR test cases, and update DR status page.
llvm-svn: 227279
2015-01-28 01:01:21 +00:00
Richard Smith 48372b68fe DR1902: if overload resolution recurses, and the inner overload resolution
selects a deleted function, the outer function is still a candidate even though
the initialization sequence is "otherwise ill-formed".

llvm-svn: 227169
2015-01-27 03:30:40 +00:00
Hans Wennborg a38fb96796 Update cxx_dr_status.html after 3.6 branch
llvm-svn: 226008
2015-01-14 18:14:00 +00:00
Anton Yartsev df7a5b14c2 [analyzer] Updated progress for memory.ZeroAlloc
llvm-svn: 224797
2014-12-24 01:04:38 +00:00
Anton Yartsev 50a91cca17 [analyzer] +memory.ZeroAlloc
llvm-svn: 224796
2014-12-24 00:46:56 +00:00
Richard Smith 5a0e50cd87 DR1048: drop top-level cv-qualifiers when deducing the return type of a
lambda-expression in C++11, to match the C++14 rules.

llvm-svn: 224620
2014-12-19 22:10:51 +00:00
Richard Smith d52186ff5a DR1684: a constexpr member function need not be a member of a literal class type.
llvm-svn: 224388
2014-12-16 23:12:52 +00:00
Richard Smith 83d3f150c8 [c++1z] Remove terse range-based for loops; they've been removed from
consideration for C++17 for now. Update C++ status page to match.

llvm-svn: 222865
2014-11-27 01:54:27 +00:00
Richard Smith 410cc89374 [c++1z] Most of N4268 (allow constant evaluation for non-type template arguments).
We don't yet support pointer-to-member template arguments that have undergone
pointer-to-member conversions, mostly because we don't have a mangling for them yet.

llvm-svn: 222807
2014-11-26 03:26:53 +00:00
Aaron Ballman a0344c5d7b Complete support for the SD-6 standing document (based off N4200) with support for __has_cpp_attribute.
llvm-svn: 221991
2014-11-14 13:44:02 +00:00
Richard Smith 38af8561f9 Update Clang's SD-6 support to match N4200 (except for __has_cpp_attribute,
which we don't yet implement).

llvm-svn: 221816
2014-11-12 21:16:38 +00:00
Aaron Ballman 730476b50e [c++1z] Support for attributes on namespaces and enumerators.
llvm-svn: 221580
2014-11-08 15:33:35 +00:00
Richard Smith 3e3a705062 [c++1z] Support for u8 character literals.
llvm-svn: 221576
2014-11-08 06:08:42 +00:00
Richard Smith 13307f5f24 [c++1z] Implement nested-namespace-definitions.
This allows 'namespace A::B { ... }' as a shorthand for 'namespace A {
namespace B { ... } }'. We already supported this correctly for error recovery;
promote that support to a full implementation.

This is not the right implementation: we do not maintain source fidelity
because we desugar the nested namespace definition in the parser. This is
tricky to avoid, since the definition genuinely does inject one named
entity per level in the namespace name.

llvm-svn: 221574
2014-11-08 05:37:34 +00:00
Richard Smith 0f0af19b05 [c++1z] N4295: fold-expressions.
This is a new form of expression of the form:

  (expr op ... op expr)

where one of the exprs is a parameter pack. It expands into

  (expr1 op (expr2onwards op ... op expr))

(and likewise if the pack is on the right). The non-pack operand can be
omitted; in that case, an empty pack gives a fallback value or an error,
depending on the operator.

llvm-svn: 221573
2014-11-08 05:07:16 +00:00
Anton Yartsev 5ad0169855 [analyzer] Helpful hints for Windows users of scan-build.
llvm-svn: 220999
2014-10-31 20:57:57 +00:00
Anton Yartsev 9959295142 [analyzer] Updated tests for ZeroAllocDereference checker.
llvm-svn: 220911
2014-10-30 15:16:26 +00:00
Daniel Marjamaki 3f4062902a Update contact person in Open Projects webpage for copy-paste detection. From Per Viberg to Daniel Marjamäki.
llvm-svn: 220905
2014-10-30 12:44:33 +00:00
Richard Smith ab506adf7d Switch C compilations to C11 by default.
This is long-since overdue, and matches GCC 5.0. This should also be
backwards-compatible, because we already supported all of C11 as an extension
in C99 mode.

llvm-svn: 220244
2014-10-20 23:26:58 +00:00
Richard Smith 0680d8aa68 Per comments on PR12350, move DR244 back from 'done' to 'partial' and add tests showing what we get wrong.
llvm-svn: 220009
2014-10-17 01:03:17 +00:00
Richard Smith 31563ef090 Tests for DR600-640.
llvm-svn: 218591
2014-09-29 06:03:56 +00:00
Richard Smith 2d525eb9ad Tests for DR581-600.
llvm-svn: 217844
2014-09-15 22:56:03 +00:00
Richard Smith ee0a49c802 Update C++ status page to reflect that Clang 3.5 has released.
llvm-svn: 217609
2014-09-11 17:30:32 +00:00
Richard Smith c0d20ef22a Update DR status list to reflect that Clang 3.5 has been released.
llvm-svn: 217608
2014-09-11 17:29:13 +00:00
Richard Smith 414598e20a Tests for DR573-580.
llvm-svn: 217606
2014-09-11 17:28:14 +00:00
Richard Smith 8c9d2c7cc5 Remove suppression of dr547 test and instead test that deduction succeeds if we
use __thiscall. (This doesn't actually work for MSVC; they don't allow the
__thiscall qualifier here, but it's sufficient to demonstrate that we do
implement the intent of the DR.)

llvm-svn: 217213
2014-09-05 00:17:00 +00:00
Richard Smith a10a16264f Tests for DR550-572.
llvm-svn: 216953
2014-09-02 21:29:16 +00:00
Richard Smith 1b88632886 cxx_status: we did support some of C++14 in Clang 3.3.
llvm-svn: 216837
2014-08-31 04:18:54 +00:00
Richard Smith 20f3767f36 cxx_status: the name C++14 isn't provisional any more.
llvm-svn: 216836
2014-08-31 04:17:48 +00:00
Richard Smith fb640501a2 Tests for DR525-550.
llvm-svn: 216834
2014-08-31 03:06:20 +00:00
Richard Smith 707e3ba37c [cxx_status] Minor wording tweaks.
llvm-svn: 211471
2014-06-22 16:00:05 +00:00
Richard Smith e114c3a3ba [cxx_status] Be a bit more precise.
llvm-svn: 211470
2014-06-22 15:56:23 +00:00
Richard Smith 7cebe465ef Fix dead link.
llvm-svn: 211469
2014-06-22 15:54:54 +00:00
Richard Smith 4a4b357c90 C++ status page: restore the convention of saying "SVN" until we reach a release.
llvm-svn: 211398
2014-06-20 20:35:42 +00:00
Richard Smith a32124a231 Be less bold.
llvm-svn: 211397
2014-06-20 20:34:03 +00:00
Richard Smith cf31c6b6f2 [C++1z] Add C++1z to the C++ status page.
llvm-svn: 211396
2014-06-20 20:33:10 +00:00
Nico Weber 39f17b6d46 Tweak documentation.
1. Having "get started", "get involved", and "hacking" makes it hard to find
   how to send patches, so add a link from "get involved" to "hacking".
2. Remove an almost 5 year old note on the test running meachanism changing
   soon.
3. Let "hacking" link to the LLVM developer policy.

llvm-svn: 210826
2014-06-12 21:15:10 +00:00
Richard Smith 8de08a9627 Update DR page for latest revision of CWG issues list.
llvm-svn: 210130
2014-06-03 21:58:55 +00:00
Richard Smith 454a7cdfb3 Implement DR990 and DR1070. Aggregate initialization initializes uninitialized
elements from {}, rather than value-initializing them. This permits calling an
initializer-list constructor or constructing a std::initializer_list object.
(It would also permit initializing a const reference or rvalue reference if
that weren't explicitly prohibited by other rules.)

llvm-svn: 210091
2014-06-03 08:26:00 +00:00
David Majnemer e37a6ce9f7 Sema: Implement DR244
Summary:
Naming the destructor using a typedef-name for the class-name is
well-formed.

This fixes PR19620.

Reviewers: rsmith, doug.gregor

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D3583

llvm-svn: 209319
2014-05-21 20:19:59 +00:00
Anton Yartsev 45056dc50a [analyzer] Alpha and implicit checker lists, expand/collapse feature.
The list of alpha and the list of implicit checkers added. An ability to expand/collapse long texts added. Markup fixed.

http://reviews.llvm.org/D3457

llvm-svn: 209131
2014-05-19 15:04:55 +00:00
Richard Smith 6fdeaabda9 Correct incoherent function versus function template partial ordering for conversion operators (the comparison could claim that two conversion operators are both better than each other). Actually implement DR495, rather than passing its test by chance because the declarations happened to be in the "lucky" order.
llvm-svn: 209054
2014-05-17 01:58:45 +00:00
Richard Smith 10f22aa1ea Fix link target.
llvm-svn: 208376
2014-05-09 00:20:01 +00:00
Alp Toker 1fd1d5215c www: add a missing HTML open tag
This went AWOL in r207995.

llvm-svn: 208018
2014-05-06 00:17:24 +00:00
Alp Toker 871de4ff4d www: remove proprietary dbtree.js script from r96013
This minified source code and artwork is copied from a commercial product and
carries no license information:

  dbtree.js (7 kb), 25.03.2014 14:51:32
  Purchase and download DBTree now for only $29.75 $9.75

It was used by a small TOC which looks fine now as a plain unordered list.

llvm-svn: 207995
2014-05-05 19:53:49 +00:00
David Majnemer a2245271af Revert "Sema: Implement DR244"
This was accidentally committed.

This reverts commit r207892.

llvm-svn: 207893
2014-05-03 02:22:11 +00:00
David Majnemer 22fcb08357 Sema: Implement DR244
Naming the destructor using a typedef-name for the class-name is
well-formed.

This fixes PR19620.

llvm-svn: 207892
2014-05-03 02:18:46 +00:00
David Majnemer deca705593 Sema: Implement DR477
Summary: Friend declarations shouldn't mention explicit or virtual.

Reviewers: rsmith

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D3562

llvm-svn: 207682
2014-04-30 18:24:01 +00:00
Jordan Rose 1057e09432 [analyzer] Clean up the lists of current and potential checkers.
Patch by Anton Yartsev, modified by me.

llvm-svn: 207478
2014-04-29 00:46:17 +00:00
Sylvestre Ledru 7db5ab49cd remove less relevant information + about packaging/Mac OS X + link to cfe-dev
llvm-svn: 207362
2014-04-27 15:17:15 +00:00
Sylvestre Ledru ba3f838e70 Remove no longer relevant information in the gcc/llvm comparison page + minor updates
llvm-svn: 207361
2014-04-27 15:02:05 +00:00
Sylvestre Ledru 39f85b185c Remove deprecated information about performances:
* It is better if we leave third parties to do "independent" benchmark.
* We compare Clang (version unspecified) with gcc 4.0 or 4.2.
* The graphs have not been updated for a while.
* Clang is well known now. I don't think we still need to explain why
Clang is great.

llvm-svn: 207358
2014-04-27 14:54:11 +00:00
Richard Smith c7f9bb1757 Tests for DR501-525.
llvm-svn: 206123
2014-04-13 00:40:32 +00:00
Jordan Rose 7f07fc1fee [analyzer] Fix mistake in example for potential checker "posix.Errno".
Found by Richard Osbourne!

llvm-svn: 205721
2014-04-07 16:36:15 +00:00
Jordan Rose 4d6da2bb4f [analyzer] Add an ErrnoChecker (PR18701) to the Potential Checkers list.
llvm-svn: 205667
2014-04-05 06:10:28 +00:00
Jordan Rose a32968fc10 [analyzer] Update Open Projects page with BitwiseConstraintManager.
Also, add the names of people most recently working on particular projects,
and remove "relate bugs and checkers" (thanks, Alex!).

llvm-svn: 205666
2014-04-05 06:10:22 +00:00
Richard Smith 5557f6d678 Add failing testcase for DR305. Looks like we didn't implement the resolution
here in the simple-template-id case.

llvm-svn: 205273
2014-04-01 01:58:11 +00:00
David Majnemer ee4f4025c3 Sema: Implement DR317
Summary:
Declaring a function as inline after it has been defined is in violation
of [dcl.fct.spec]p4.  The program would get a strong definition instead
of getting a function with linkonce_odr linkage.

Reviewers: rsmith

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D3220

llvm-svn: 205129
2014-03-30 06:44:54 +00:00
Richard Smith 6190ee65e1 Tests for dr475-dr500.
llvm-svn: 205127
2014-03-30 06:05:29 +00:00
Jordan Rose 6fc2ec96b8 [analyzer] Remove the implemented Identical* checkers from the "potential" list.
Edit by Daniel Fahlgren.

llvm-svn: 204842
2014-03-26 18:59:22 +00:00
Richard Smith 17710217fa Tests for DR450-475.
llvm-svn: 204217
2014-03-19 08:04:12 +00:00
Richard Smith ba41a73993 Tests for DR400-450.
llvm-svn: 204033
2014-03-17 08:20:10 +00:00
Richard Smith 7e34fbdaa0 Add two missing entries to the C++11 support page. Bump one relevant diagnostic
(for an integer too large for any signed type) from Warning to ExtWarn -- it's
ill-formed in C++11 and C99 onwards, and UB during translation in C89 and
C++98. Add diagnostic groups for two relevant diagnostics.

llvm-svn: 203974
2014-03-14 21:21:24 +00:00
Richard Smith d997cce05f Try to remove confusion about C++11 feature support:
* Explicitly say that we conform to the two N/A bullets that required no
   compiler changes.
 * Remove a library feature from our features list.

llvm-svn: 203964
2014-03-14 20:26:09 +00:00
Richard Smith 4a558a44a0 Tests for DR389-399.
llvm-svn: 203771
2014-03-13 08:40:37 +00:00
Richard Smith 66204ecff9 DR1346: a parenthesized braced-init-list cannot be used as the initializer when
performing auto type deduction.

llvm-svn: 203683
2014-03-12 17:42:45 +00:00
Richard Smith b81b196a58 Tests for DR381-388.
llvm-svn: 203549
2014-03-11 07:49:32 +00:00
Nico Weber ab88f0b12f "Mac OS/X" -> "Mac OS X" spelling fixes for clang.
Patch from Sean McBride <sean@rogue-research.com>!

llvm-svn: 203259
2014-03-07 18:09:57 +00:00
Richard Smith a13f8ae84e DR status page: add link targets for individual DRs, and link duplicates.
llvm-svn: 203022
2014-03-05 23:02:47 +00:00
Richard Smith faf156ad15 Tests for DR370-380.
Also promote a couple of Warnings on ill-formed code found by this testing to
ExtWarns.

llvm-svn: 203021
2014-03-05 22:54:58 +00:00
Richard Smith 2f0e4e78b2 Add tests for newly-resolved core issues <= 370.
llvm-svn: 202889
2014-03-04 21:14:30 +00:00
Richard Smith 37213e219b Update DR status page to match post-Issaquah core issues list.
llvm-svn: 202886
2014-03-04 20:44:20 +00:00
Richard Smith 586cd94340 Add links to TSen from post-Issaquah mailing.
llvm-svn: 202882
2014-03-04 20:22:54 +00:00
Ted Kremenek 2e25fbfc11 [analyzer] post analyzer build checker-276
llvm-svn: 201648
2014-02-19 08:09:22 +00:00
David Majnemer 141a7b5402 Remove gunk from cxx_dr_status.html
Accidentally piped the stdout from make_cxx_dr_status into
cxx_dr_status.html

llvm-svn: 201634
2014-02-19 03:21:27 +00:00
David Majnemer 49864d6676 Regenerate DR status page.
llvm-svn: 201632
2014-02-19 03:03:21 +00:00
Richard Smith efa20ae276 Remove transactional memory from c++ status page; there's no working paper for it yet.
llvm-svn: 201452
2014-02-15 00:48:38 +00:00
Richard Smith 78c7bbb430 Add some missing threes.
llvm-svn: 201449
2014-02-15 00:29:44 +00:00
Richard Smith 3a0ed87ed9 Add entries to C++ status page for Technical Specification Working Papers that
WG21 is about to vote on.

llvm-svn: 201448
2014-02-15 00:29:00 +00:00
Richard Smith cc4a72ecd2 Tests for DR351-370, plus update DR status page to match the latest core issue list.
llvm-svn: 201106
2014-02-10 19:53:17 +00:00
Richard Smith 18819307d3 DR101, PR12770: If a function is declared in the same context as a
using-declaration, and they declare the same function (either because
the using-declaration is in the same namespace as the declaration it
imports, or because they're both extern "C"), they do not conflict.

llvm-svn: 200897
2014-02-06 01:31:33 +00:00
Richard Smith 5e34db94bb Fix typo in CSS class name.
llvm-svn: 200680
2014-02-03 07:02:19 +00:00
Richard Smith 7fe896251d Clang 3.4 was released, make the boxes green.
llvm-svn: 200679
2014-02-03 06:58:08 +00:00
Richard Smith c94410bc8d Tests for DR331-350.
llvm-svn: 200678
2014-02-03 06:34:23 +00:00
Richard Smith 209bbb7774 Update C++ DR page now 3.4 has been released.
llvm-svn: 200674
2014-02-03 02:40:25 +00:00
Richard Smith 91dfaacd38 Implement DR329. We already did the right thing here in C++98 mode, but r104014
(which implemented the DR) was disabled in C++11.

llvm-svn: 200673
2014-02-03 02:37:59 +00:00
Richard Smith 9f38709193 Tests for DR321-330.
llvm-svn: 200672
2014-02-03 02:13:49 +00:00
Richard Smith 6938adbd16 Tests for DR301-320.
llvm-svn: 200671
2014-02-03 01:23:27 +00:00
Nikola Smiljanic d8fe631d7f Update debugging visualizers section.
llvm-svn: 200460
2014-01-30 07:15:53 +00:00
Richard Smith 6a6a4bbdd4 PR17052 / DR1560 (+DR1550): In a conditional expression between a glvalue and a
throw-expression, the result is also a glvalue and isn't unnecessarily coerced
to a prvalue.

llvm-svn: 200189
2014-01-27 04:19:56 +00:00
Richard Smith a8e1e9b143 Correct < and > to &lt; and &gt;. Thanks to Samuel Harrington for pointing this out!
llvm-svn: 200048
2014-01-24 22:55:47 +00:00
Richard Smith 0e50a883ff Update page on clang diagnostics to contrast to GCC 4.9 instead of 4.2. A lot
of the differences we identified here have been fixed by improvements in GCC.

llvm-svn: 199970
2014-01-24 03:13:34 +00:00
Aaron Ballman 13472563ad Updating the minimum version information for Visual Studio.
Patch thanks to Nikola Smiljanic!

llvm-svn: 199457
2014-01-17 03:38:49 +00:00
Richard Smith 3dd73db411 Move away from 'general' / 'generalized' as a way of identifying C++11
attribute syntax. There's nothing generalized about this; it's one of
several first-class attribute syntaxes we support, all of which are
more-or-less equally general.

As discussed on cfe-commits, we may want to revisit this if we start allowing
this syntax as an extension in C (or if C adopts the syntax), but hopefully
this diagnostic wording will be crystal clear to everyone in the mean time.

llvm-svn: 199443
2014-01-17 00:11:48 +00:00
Alp Toker 344845b43f www: update the "Follow what's going on" section too
Includes some style tweaks and removes the tautological observation that "Clang
is still under heavy development" -- it hopefully always will be.

llvm-svn: 199401
2014-01-16 17:04:52 +00:00
Alp Toker 5a1a81841a www: link to the planet clang newsfeed
Also shuffle the Communication section so the bug tracker comes first.

(The sidebar isn't scrollable at the moment so this gives a better chance of
the bug tracker being seen. The links further down are basically invisible --
we should look into that.)

llvm-svn: 199398
2014-01-16 16:29:02 +00:00
Richard Smith 75a9a1a3c2 Update feature name "Generalized Attributes" to match the heading in the paper.
llvm-svn: 199177
2014-01-14 02:52:38 +00:00
Richard Smith 8e6afd4785 Regenerate DR status page.
llvm-svn: 196893
2013-12-10 08:26:19 +00:00
Richard Smith e0cabb7756 Versions of GCC newer than 4.8 exist these days =)
llvm-svn: 196765
2013-12-09 08:55:59 +00:00
Richard Smith 6058634007 Minor cleanup and reorg of C++ status page.
llvm-svn: 196763
2013-12-09 08:52:23 +00:00
Richard Smith 99b72425f0 Update compatibility page to list some GCC language extensions that Clang does
not support as a possible reason for choosing GCC instead of Clang (and vice
versa). Weaken some of the claimed advantages of Clang in light of GCC
improvements.

llvm-svn: 196758
2013-12-09 07:03:59 +00:00
Alp Toker 05f894358a Add introductory paragraph to the C++ status page
Use internal links to provide easier access to recent and ongoing work.

Also shift up the order of standards in the page title in order to avoid web
search results focusing on C++98 in the summary.

This is done to highlight the modern standards support in clang that was
previously languishing at the bottom of the page.

  "C++98/03 is sooooo yesterday" - dgregor

llvm-svn: 196565
2013-12-06 06:35:49 +00:00
Richard Smith e7f5249913 Mark auto-generated file as auto-generated, as suggested by Alp.
llvm-svn: 196534
2013-12-05 21:08:20 +00:00
Alp Toker f6a24ce40f Fix a tranche of comment, test and doc typos
llvm-svn: 196510
2013-12-05 16:25:25 +00:00
Richard Smith 28b1939849 Update C++ status from 'SVN' to 'Clang 3.4' in preparation for release. Leave
boxes yellow until we release, though.

llvm-svn: 196482
2013-12-05 07:52:05 +00:00
Richard Smith a230224be4 Implement DR482: namespace members can be redeclared with a qualified name
within their namespace, and such a redeclaration isn't required to be a
definition any more.

Update DR status page to say Clang 3.4 instead of SVN and add new Clang 3.5
category (but keep Clang 3.4 yellow for now).

llvm-svn: 196481
2013-12-05 07:51:02 +00:00
Alp Toker d473363876 Correct hyphenations in comments and assert messages
This patch tries to avoid unrelated changes other than fixing a few
hyphen-related ambiguities in nearby lines.

llvm-svn: 196466
2013-12-05 04:47:09 +00:00
Alp Toker 3b557ba3f6 Documentation typo corrections
llvm-svn: 196215
2013-12-03 06:53:39 +00:00
Richard Smith 91e474fc91 Add support for C++'s SD6 feature test macros.
llvm-svn: 195888
2013-11-27 22:58:16 +00:00
Richard Smith ce42084402 Tests for core issues 270-300.
llvm-svn: 195626
2013-11-25 08:07:41 +00:00
Richard Smith 5327b86430 Tests for core issues 251-270.
llvm-svn: 194989
2013-11-18 05:24:03 +00:00
Richard Smith 3cde3d245a Tests for core issue 241-250.
llvm-svn: 194951
2013-11-17 06:39:43 +00:00
Richard Smith 7101fd0e56 Tests for core issues 224-240.
llvm-svn: 194946
2013-11-17 02:50:30 +00:00
Richard Smith b09a4fe192 Tests for core issue 216-223.
llvm-svn: 194795
2013-11-15 08:55:01 +00:00
Richard Smith 00f5d8927b DR408: If a static data member of incomplete array type is declared in a class
template, that member has a dependent type (even if we can see the definition
of the member of the primary template), because the array size could change in
a member specialization.

Patch by Karthik Bhat!

llvm-svn: 194740
2013-11-14 22:40:45 +00:00
Richard Smith 8c98c1e704 Tests for core issue 201-215.
llvm-svn: 194458
2013-11-12 09:16:15 +00:00
Hans Wennborg 1b6973fc99 Update macro expansion diagnostic examples to say 'expanded from:'
instead of 'instantiated from:'. The actual wording of the note was
changed in r135135.

llvm-svn: 194297
2013-11-08 23:52:29 +00:00
Richard Smith c8f7fd10a9 Tests for core issue 170-200.
llvm-svn: 194240
2013-11-08 02:05:54 +00:00
Richard Smith 786d8a26f2 Tests for CWG issue 165-170.
llvm-svn: 194215
2013-11-07 19:26:14 +00:00
Richard Smith 76b9f23f2d Mark generic lambdas, and thus C++14, as complete. Add commented-out stub for C++17.
llvm-svn: 194194
2013-11-07 06:41:26 +00:00
Richard Smith 14bdd7a925 Tests for DR150 - DR165.
llvm-svn: 194192
2013-11-07 06:24:09 +00:00
Richard Smith 677fb06cec Update cxx_dr_status.html to match current cwg issue list.
llvm-svn: 194189
2013-11-07 05:34:58 +00:00
Richard Smith 96c07b165e Remove stray comma from documentation.
llvm-svn: 194056
2013-11-05 09:12:55 +00:00
Richard Smith b47c36f8e1 C++1y sized deallocation: if we have a use, but not a definition, of a sized
deallocation function (and the corresponding unsized deallocation function has
been declared), emit a weak discardable definition of the function that
forwards to the corresponding unsized deallocation.

This allows a C++ standard library implementation to provide both a sized and
an unsized deallocation function, where the unsized one does not just call the
sized one, for instance by putting both in the same object file within an
archive.

llvm-svn: 194055
2013-11-05 09:12:18 +00:00
Richard Smith 2d1d3ca1cc Enable links now that they work.
llvm-svn: 194054
2013-11-05 08:27:00 +00:00
Richard Smith 1cdec019e8 Implement C++1y sized deallocation (n3778). This is not enabled by -std=c++1y;
instead, it's enabled by the -cc1 flag -fsized-deallocation, until we sort out
the backward-compatibility issues.

llvm-svn: 191629
2013-09-29 04:40:38 +00:00
Richard Smith ee84919175 Remove commented-out entry for ARBs, they're not in C++1y any more.
llvm-svn: 191627
2013-09-28 19:09:34 +00:00
Richard Smith b438e62aba Mark lambda init-captures as complete.
llvm-svn: 191607
2013-09-28 04:37:56 +00:00
Chandler Carruth 826eec5913 Implementation of N3760 which is planned to be voted into C++14's draft
tomorrow is complete.

There is a missing warning due to a serious issue with template
instantiation in Clang (and potentially in the core language).

llvm-svn: 191577
2013-09-27 22:30:27 +00:00
Richard Smith dca0c7a5fb Mark variable template implementation as complete. Nearly all of the credit
here goes to Larisse Voufo.

llvm-svn: 191549
2013-09-27 20:19:41 +00:00
Richard Smith 23e43cdda6 Comment out links for papers that aren't up yet.
llvm-svn: 191547
2013-09-27 19:55:03 +00:00
Benjamin Kramer 8ba47d017b Fix typo: Dellocation.
llvm-svn: 191542
2013-09-27 19:35:09 +00:00
Richard Smith 36f11c56ed Fix formatting goof.
llvm-svn: 191541
2013-09-27 19:12:22 +00:00
Richard Smith 3ca005bd01 Update status:
* generic lambdas are now partially supported
 * add papers from formal motions in committee

llvm-svn: 191540
2013-09-27 19:11:33 +00:00
Richard Smith 541b38be7b Switch the semantic DeclContext for a block-scope declaration of a function or
variable from being the function to being the enclosing namespace scope (in
C++) or the TU (in C). This allows us to fix a selection of related issues
where we would build incorrect redeclaration chains for such declarations, and
fail to notice type mismatches.

Such declarations are put into a new IdentifierNamespace, IDNS_LocalExtern,
which is only found when searching scopes, and not found when searching
DeclContexts. Such a declaration is only made visible in its DeclContext if
there are no non-LocalExtern declarations.

llvm-svn: 191064
2013-09-20 01:15:31 +00:00
Ted Kremenek 6700934ac7 Move checker downloads to llvm.org.
llvm-svn: 190316
2013-09-09 17:19:27 +00:00
Sylvestre Ledru 525e4444c4 add OCLint to the list of projects based on clang
llvm-svn: 190248
2013-09-07 07:59:01 +00:00
Sylvestre Ledru 26a4fff380 add he 'include what you use' project
llvm-svn: 190247
2013-09-07 07:56:03 +00:00
Sylvestre Ledru 215707b660 remove the description about clang & llvm in the freebsd section (the reader probably know what are llvm and clang
llvm-svn: 190246
2013-09-07 07:52:20 +00:00
Sylvestre Ledru e1f8a17a9c about the debian effort to rebuild the archive with clang
llvm-svn: 190245
2013-09-07 07:51:23 +00:00
Sylvestre Ledru 901be185d8 Clang event are now part of the llvm events. Add a link to the LLVM events
llvm-svn: 190244
2013-09-07 07:39:49 +00:00
Sylvestre Ledru a07226fff8 Update the link to the current code coverage reports (the previous one has not been updated since february 2010) + remove the spec references, not updated since May 2010
llvm-svn: 190243
2013-09-07 07:37:18 +00:00
Jordan Rose 6f937e9a21 [analyzer] Note that deadcode.UnmodifiedVariable would be an opt-in checker.
Website-only change.

llvm-svn: 188731
2013-08-19 23:54:35 +00:00
Jordan Rose 23b2f755ce [analyzer] Add "unmodified variable" checker to the Potential Checkers.
This is PR16890.

llvm-svn: 188681
2013-08-19 16:27:37 +00:00
Jordan Rose 60619a639b [analyzer] Assume that strings are no longer than SIZE_MAX/4.
This keeps the analyzer from making silly assumptions, like thinking
strlen(foo)+1 could wrap around to 0. This fixes PR16558.

Patch by Karthik Bhat!

llvm-svn: 188680
2013-08-19 16:27:34 +00:00
Jordan Rose 7964ab5a43 [analyzer] Update Open Projects and Potential Checkers pages.
- va_list checker (PR16811 and PR16812)
- Model floating-point values
- Bound bitwise masking operations (PR16615)
- Bound C string length (PR16558 and others)

llvm-svn: 188127
2013-08-10 01:24:35 +00:00
Larisse Voufo b9737e314c Update status of support for variable templates on website.
llvm-svn: 187785
2013-08-06 07:37:09 +00:00
Richard Smith 08d6a2cc7a C++1y: track object lifetime during constexpr evaluation, and don't allow
objects to be used once their lifetimes end. This completes the C++1y
constexpr extensions.

llvm-svn: 187025
2013-07-24 07:11:57 +00:00
Richard Smith 8d0dc31dca Tighten up the set of operator new/operator delete calls we're permitted to
optimize, to follow the permissions granted in N3664. Under those rules, only
calls generated by new-expressions and delete-expressions are permitted to be
optimized, and direct calls to ::operator new and ::operator delete must be
treated as normal calls.

llvm-svn: 186799
2013-07-21 23:12:18 +00:00
Anton Yartsev 93e5a02c8b + "For Windows Users" section
+ description for --use-analyzer option
+ managed size of columns of the 'options' table

llvm-svn: 185199
2013-06-28 19:21:11 +00:00
David Majnemer 502b0ed264 Implement DR136
Friend declarations that specify a default argument must be a definition
and the only declaration in the translation unit.

llvm-svn: 184889
2013-06-25 23:09:30 +00:00
David Majnemer ba8f17ac10 Implement DR21
A default template-argument shall not be specified in a friend template
declaration.

Interestingly, we properly handled default template arguments on friend
class members but not on just friend classes.

llvm-svn: 184882
2013-06-25 22:08:55 +00:00
Richard Smith 39b7968ccb DR14, DR101, and part of DR1: fix handling of extern "C" declarations in
namespaces, by treating them just like we treat extern "C" declarations in
function scope.

llvm-svn: 184223
2013-06-18 20:15:12 +00:00
Richard Smith 9924772d5f Turn Clang 3.3 boxes on C++ status from yellow to green now we're releasing it.
llvm-svn: 184149
2013-06-17 23:54:23 +00:00
Larisse Voufo e4fb3dc7d4 Corrected status of support for contextual conversion from full to SVN
llvm-svn: 184073
2013-06-17 05:37:15 +00:00
Richard Smith 3b08dcd4cc Remove unused file.
llvm-svn: 184070
2013-06-17 01:34:23 +00:00
Richard Smith 895d6952d6 Add tests for C++ DR100-150.
llvm-svn: 184057
2013-06-16 08:00:51 +00:00
Larisse Voufo 492a6af72f Updated status of support for contextual conversion from partial to full
llvm-svn: 184049
2013-06-15 20:26:23 +00:00
Larisse Voufo 27ef14f098 Updated C++1y status for contextual conversions to 'partial' (without review)
llvm-svn: 183888
2013-06-13 06:04:33 +00:00
David Majnemer 66ad574f40 Implement DR61: Address of ambiguous bound methods should be disallowed
DR61 affirms that expressions containing unresolved member access should
be disallowed when performing "address of" operations.

llvm-svn: 183723
2013-06-11 03:56:29 +00:00
David Majnemer 55890bfaa6 Implement DR85: Redeclaration of member is forbidden
Disallow the existence of a declaration of a member class that isn't a
forward declaration before it's definition.

llvm-svn: 183722
2013-06-11 03:51:23 +00:00
Ted Kremenek 274429be76 Remove links to old checker builds.
llvm-svn: 182811
2013-05-28 23:30:24 +00:00
Richard Smith b7df8a7014 Tests and status for DR51-99.
llvm-svn: 182720
2013-05-26 22:03:53 +00:00
Ted Kremenek 48ed4b614c Update static analyzer build to checker-275.
llvm-svn: 182626
2013-05-24 00:50:01 +00:00
Richard Smith 10bb5b90ed Tests and status for core issues 1-50.
llvm-svn: 182207
2013-05-19 07:22:38 +00:00
Anna Zaks 8cfbaa6988 [analyzer] Extend the checker developer manual. A patch by Sam Handler!
llvm-svn: 182204
2013-05-18 22:51:28 +00:00
Richard Smith c8adfc8957 Start a page tracking which C++ defect reports have been implemented in Clang.
The page is generated from a text file listing DR numbers and implementation
status, plus a copy of the cwg_index.html from the WG21 website. Recipe:

  $ wget http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_index.html
  $ ./make_cxx_dr_status >! cxx_dr_status.html

The intent here is to go through all the DRs, add tests for each one, then mark
them as done once such tests are committed and passing. I've not linked to this
page from anywhere, since it doesn't contain any useful information yet.

llvm-svn: 181967
2013-05-16 01:23:30 +00:00
Richard Smith 0e4676e1f5 Downgrade C++14 "Clarifying memory allocation". We perform non-conforming
optimizations -- in particular, globalopt will remove calls to ::operator
new(size_t) that did not come from new-expressions.

llvm-svn: 181676
2013-05-12 23:39:32 +00:00
Richard Smith 9155be1e54 C++1y: provide full 'auto' return type deduction for lambda expressions. This
completes the implementation of N3638.

llvm-svn: 181669
2013-05-12 03:09:35 +00:00
Richard Smith f2f6e114fd Switch C++1y paper links back to the canonical location at open-std.org now that the post-Bristol mailing has shipped.
llvm-svn: 181533
2013-05-09 18:53:17 +00:00
Richard Smith badcd986bb C++ status:
- fix paper links to point to isocpp.org, where most of the papers are already up
 - update "SVN" features to "Clang 3.3" to distinguish them from features which we
   complete after the branch
 - document use of -std=c++1y to enable c++1y support

llvm-svn: 181283
2013-05-07 02:55:48 +00:00
Richard Smith fa7a7b4f36 Tweaks to C++ status: add a link to Faisal's generic lambdas implementation,
and mark "clarifying memory allocation" as done, since it turns out that our
optimizations here (such as they are) already conform to the new rules.

llvm-svn: 181110
2013-05-04 07:12:37 +00:00
Richard Smith 452d6b0331 More colours for C++ status page, and mark relaxed constexpr as partially complete.
llvm-svn: 181109
2013-05-04 07:02:10 +00:00
Richard Smith 2a7d481faf Implement most of N3638 (return type deduction for normal functions).
Missing (somewhat ironically) is support for the new deduction rules
in lambda functions, plus PCH support for return type patching.

llvm-svn: 181108
2013-05-04 07:00:32 +00:00
Richard Smith 74aeef50a0 Implement C++1y decltype(auto).
llvm-svn: 180610
2013-04-26 16:15:35 +00:00
Ted Kremenek 721ffed9bc Update checker build.
llvm-svn: 180164
2013-04-23 23:55:03 +00:00
Richard Smith 852c9db72b C++1y: Allow aggregates to have default initializers.
Add a CXXDefaultInitExpr, analogous to CXXDefaultArgExpr, and use it both in
CXXCtorInitializers and in InitListExprs to represent a default initializer.

There's an additional complication here: because the default initializer can
refer to the initialized object via its 'this' pointer, we need to make sure
that 'this' points to the right thing within the evaluation.

llvm-svn: 179958
2013-04-20 22:23:05 +00:00
Richard Smith f30c842a38 Update some stuff on the open projects page to reflect things we've already done.
llvm-svn: 179953
2013-04-20 16:20:44 +00:00
Richard Smith 95997207e0 Switch C++11 open project to C++1y :)
llvm-svn: 179951
2013-04-20 15:57:27 +00:00
Richard Smith 4cf9a1ee0b Add note that some of these links are dead for now.
llvm-svn: 179950
2013-04-20 13:22:50 +00:00
Richard Smith 33089cbdae VLAs in C++14!
llvm-svn: 179949
2013-04-20 13:20:33 +00:00
Richard Smith 7898d7ba96 Variable templates and generic lambdas are approved for C++14.
llvm-svn: 179947
2013-04-20 12:58:57 +00:00
Richard Smith d3a7386452 Clarifying memory allocation: approved for C++14. Move from N/A to no, since we currently relax 'operator new' calls which didn't come from new-expressions.
llvm-svn: 179946
2013-04-20 12:57:49 +00:00
Richard Smith 74c61eaca2 No digit separators for C++14.
llvm-svn: 179945
2013-04-20 12:56:37 +00:00
Richard Smith 7feda2f990 Generalized constexpr is approved for C++14.
llvm-svn: 179944
2013-04-20 12:49:36 +00:00
Richard Smith 5db8b286e2 More approved C++14 features.
llvm-svn: 179943
2013-04-20 12:47:36 +00:00
Richard Smith 0fa4fceaae Binary literals are approved for C++14.
llvm-svn: 179942
2013-04-20 12:44:32 +00:00
Jordan Rose 2a481fa63b [analyzer] Website: update lists of potential and actual checkers.
- memory.MismatchedDelete, memory.MultipleDelete, and memory.DeallocateNonPtr
  are complete (unix.MismatchedDeallocator and cplusplus.NewDelete)
- Per discussion on the mailing list, different.UnaryPlusWithUnsigned has
  dubious value; remove it.
- Add potential checker ctordtor.PlacementSelfCopy per an internal bug report.
- core.AttributeNonNull is now core.NonNullParamChecker, though no one should
  be depending on this name anyway.

llvm-svn: 179900
2013-04-19 22:19:14 +00:00
Richard Smith c5c27f2a1f Note that we support (and in fact have supported since the dawn of time itself)
C++1y binary literals.

llvm-svn: 179883
2013-04-19 20:47:20 +00:00
Richard Smith 9172520f57 Initial work on status page for C++14.
llvm-svn: 179864
2013-04-19 17:27:48 +00:00
Richard Smith 25b555a6bf C++11 support is now feature-complete.
llvm-svn: 179861
2013-04-19 17:00:31 +00:00
Jordan Rose 406503a0f9 [analyzer] Merge C++ status page into Open Projects.
Also, add a few random extra open projects.

Most of C++ support is done; we don't need the status page anymore. We're
hoping that the C++-related open projects are the only major pieces of
functionality we don't model at this point.

llvm-svn: 179659
2013-04-17 00:57:39 +00:00
Jordan Rose 4e225c0646 [analyzer] Open Projects: grammar, phrasing, formatting
llvm-svn: 179658
2013-04-17 00:57:24 +00:00
Anna Zaks 4082c43d06 [analyzer] Add Open Projects page to the analyzer website
llvm-svn: 179631
2013-04-16 21:37:04 +00:00
Tim Northover 737889ded7 Remove reference to MSVC only building X86 backend.
This is no longer true.

llvm-svn: 179519
2013-04-15 11:55:27 +00:00
Anna Zaks 1ebded0a11 [analyzer] Add a link to the Building a Checker in 24 Hours talk to the developer manual
llvm-svn: 179490
2013-04-14 18:36:51 +00:00
Richard Smith b7151b910c Add support for computing the exception specification for an inheriting
constructor. This isn't quite perfect (as usual, we don't handle default
arguments correctly yet, and we don't deal with copy/move constructors for
arguments correctly either, but this will be fixed when we implement core issue
1351.

This completes our support for inheriting constructors.

llvm-svn: 179154
2013-04-10 06:11:48 +00:00
Ted Kremenek ca2a334e77 Update checker build to checker-273
llvm-svn: 179055
2013-04-08 21:02:16 +00:00
Chris Lattner 1dfc27d9c1 In the comparison, both clang and GCC are popular and widely adopted. This is no longer a win of GCC.
This whole doc should really be looked at.

llvm-svn: 179040
2013-04-08 18:56:15 +00:00
Richard Smith 38546eddf4 Add a linebreak. Linebreaks are cool.
llvm-svn: 177325
2013-03-18 21:57:52 +00:00
Richard Smith 8024ee5603 C++11 status: mark 'extended integral types' as N/A, since we don't support
any, and add a note that we cannot treat __int128 as an extended integral type.

llvm-svn: 177324
2013-03-18 21:44:56 +00:00
Richard Smith 9deb9d9d42 Make C++11 status page more consistent: we mark entries as "done" if we
implement correct functionality, even if it's not optimal. On this basis, mark
"data dependency ordering" as done. Add footnotes for cases where our
implementation is known to be suboptimal.

llvm-svn: 176891
2013-03-12 19:56:09 +00:00
Richard Smith 531c9a0c27 www tweaks to embiggen up our near-complete C++11 and C11 support.
llvm-svn: 176781
2013-03-10 00:11:00 +00:00
Richard Smith 115314926d Remove outdated claim that GCC builds without a C++ compiler from compilers comparison.
llvm-svn: 176515
2013-03-05 21:49:52 +00:00
Jordan Rose 687d1d33f4 [analyzer] Update open source checker build to checker-272.
See http://clang-analyzer.llvm.org/release_notes.html for what's new
in this build.

llvm-svn: 176389
2013-03-01 23:26:05 +00:00
Anna Zaks 4a8a015f13 [analyzer] Reword FAQ
Reword the FAQ to stress more that the assert should be used only in case
the developer is sure that the issue is a false positive.

llvm-svn: 176335
2013-03-01 06:38:16 +00:00
Renato Golin 05bbce70dd Avoiding flamewars
llvm-svn: 176221
2013-02-27 23:21:44 +00:00
Renato Golin 4890582f2a Add config manager to open projects
llvm-svn: 176211
2013-02-27 21:28:29 +00:00
Richard Smith 537a834bca C++11 status page:
* Mark attributes as done in SVN.
 * Downgrade alignment support from 'Clang 3.0' to 'SVN', now that we actually implement the rules.
 * Upgrade 'Dynamic initialization with concurrency' from 'No' to 'Clang 2.9' -- all that is required here is the ABI-mandated locking for the initialization of static locals.

llvm-svn: 175882
2013-02-22 09:31:00 +00:00
Tanya Lattner 33455e10c9 Remove outdated performance.html webpage.
llvm-svn: 175090
2013-02-13 21:51:18 +00:00
Anton Yartsev 277775b8af + specified progress information
llvm-svn: 174942
2013-02-12 05:02:54 +00:00
Anton Yartsev 19802a709a + centered progress cells
+ added progress information for several checkers

llvm-svn: 174941
2013-02-12 04:45:48 +00:00
Tanya Lattner d7fe06f274 Timing data was removed years ago. Remove these links.
llvm-svn: 174918
2013-02-11 23:32:10 +00:00
Ted Kremenek e0cdd752d5 Note that checker-271 is newer than the analyzer in Xcode 4.6
llvm-svn: 174759
2013-02-08 22:19:43 +00:00
Ted Kremenek b3cbef4ad2 Update open source checker build to checker-271.
llvm-svn: 174758
2013-02-08 22:18:26 +00:00
Ted Kremenek f5209c4b45 Revert "Update checker build to checker-271."
Turns out we didn't update scan-build to work with HTML files in nested directories.

llvm-svn: 174256
2013-02-02 01:06:22 +00:00
Ted Kremenek 93482a523c Update checker build to checker-271.
llvm-svn: 174252
2013-02-02 00:57:28 +00:00
Richard Smith 4e483edaf9 Consistently format sample diagnostics on this page.
llvm-svn: 174126
2013-02-01 00:45:12 +00:00
Richard Smith bc4fc77aac C++11 status:
* Mark 'sequence points' as done now we have a warning for unsequenced operations
 * Mark 'memory model' as done now we correctly model bitfield operations

llvm-svn: 173771
2013-01-29 04:55:18 +00:00
Jordan Rose a2d5f0c742 Various tweaks and updates to the analyzer website.
llvm-svn: 171885
2013-01-08 19:29:37 +00:00
Ted Kremenek 0ab78e622f Repost checker-270, which for some reason got deleted.
llvm-svn: 171870
2013-01-08 17:33:58 +00:00
Anna Zaks af48a938e3 [analyzer] Extend the Representing Values section of the dev manual.
llvm-svn: 171823
2013-01-08 00:25:14 +00:00
Ted Kremenek a49cf10737 Update checker build to checker-270
llvm-svn: 171560
2013-01-04 23:52:16 +00:00
NAKAMURA Takumi 5e74510398 docs: [CMake] Add Xcode to the list of project formats CMake can generate.
Suggested by Sean McBride, thanks!

llvm-svn: 168745
2012-11-27 23:34:28 +00:00
NAKAMURA Takumi a9f3c0f09a clang/www/get_started.html: s/cmake/CMake/
Suggested by Sean McBride, thanks!

llvm-svn: 168744
2012-11-27 23:34:08 +00:00
Argyrios Kyrtzidis 28b907dcfa Mention the lldb formatters in the clang wiki under debugging.
llvm-svn: 168118
2012-11-16 00:25:28 +00:00
Tanya Lattner b634bc91b4 Add link to cfe-users mailing list.
llvm-svn: 168015
2012-11-15 01:13:31 +00:00
Jordan Rose 721567af3e [analyzer] Check that the argument to CFMakeCollectable is non-NULL.
Patch by Sean McBride!

llvm-svn: 167537
2012-11-07 17:12:37 +00:00
Rafael Espindola ebc56b217b Remove really old benchmark data.
llvm-svn: 167098
2012-10-31 02:29:15 +00:00
Richard Smith 2ddcbab8ff Ugly ugly hack for libstdc++-4.6 and libstdc++-4.7 compatibility. These
libraries have an incorrect definition of std::common_type (inherited from a
bug in the standard -- see LWG issue 2141), whereby they produce reference
types when they should not.

If we instantiate a typedef named std::common_type<...>::type, which is defined
in a system header as decltype(... ? ... : ...), and the decltype produces a
reference type, convert it to the non-reference type. (This doesn't affect any
LWG2141-conforming implementation of common_type, such as libc++'s, because the
default implementation of common_type<...>::type isn't supposed to produce a
reference type.)

This is horrible. I'm really sorry. :( Better ideas appreciated!

llvm-svn: 166455
2012-10-23 00:32:41 +00:00
Ted Kremenek eb18262908 Add prologue text for list of potential checkers.
llvm-svn: 165705
2012-10-11 06:26:56 +00:00
Dmitri Gribenko 67df63f69d List of potential checkers: smart pointer checker: actually, unique_ptr<T[]>
will do the right thing for new[] allocated memory.  Thanks David!

llvm-svn: 165365
2012-10-06 17:23:59 +00:00
Dmitri Gribenko 760cbe65fd Clang static analyzer docs: fix a couple of HTML markup issues and non-UTF-8
characters.

llvm-svn: 165364
2012-10-06 17:14:39 +00:00
Dmitri Gribenko a124d76ed1 List of potential checkers: more C++11 details for the smart pointer checker.
llvm-svn: 165363
2012-10-06 16:59:15 +00:00
Ted Kremenek 76b8ac466e Add link to potential future checkers.
llvm-svn: 165360
2012-10-06 05:11:15 +00:00
Ted Kremenek 4bb7eb1c20 Add list of potential checkers. Provided by Anton Yartsev!
llvm-svn: 165359
2012-10-06 05:09:43 +00:00
Richard Smith 84b163cf66 libstdc++-4.6 needs the same common_type fix as libstdc++-4.7. Other than that,
Clang can now cope with its eccentricities in C++11 mode.

llvm-svn: 165265
2012-10-04 22:23:07 +00:00
Ted Kremenek bc8cd06865 Update checker build.
llvm-svn: 164649
2012-09-25 23:58:39 +00:00
David Blaikie 7c70fe60aa Fix typo. (s/Explided/Exploded/)
Patch by Sean McBride.

llvm-svn: 164318
2012-09-20 20:59:21 +00:00
Ted Kremenek b8cae9fddf Post new checker build.
llvm-svn: 163680
2012-09-12 05:11:29 +00:00
Benjamin Kramer a49705e5b8 WWW: Force word wrapping of the content to avoid horizontal scrolling.
This isn't perfect but avoids overlap of the menu and the content.

llvm-svn: 162903
2012-08-30 13:12:02 +00:00
Rafael Espindola 1af8aadf11 Small change to avoid confusion on what "used by" means for a compiler.
Patch by Jonathan Sauer.

llvm-svn: 161897
2012-08-14 21:58:29 +00:00
Chandler Carruth 72af8c3c6f Add initial documentation about the new tools repository and the
structure of how we're building concrete tools as well as tooling
infrastructure as part of the Clang project.

This documentation is definitely still rough. If anyone can improve it,
flesh it out, or help structure it in a more natural way, please, help!
=] This is not my forte, and patches here are more than welcome!

llvm-svn: 161855
2012-08-14 07:19:09 +00:00
Chandler Carruth 18d674522d Clean up the basic instructions for getting started with clang to always
return to the same directory.

llvm-svn: 161823
2012-08-14 00:41:30 +00:00
Chris Lattner b35f34105e clarify that the advantages of the BSD license apply to when you incorporate clang into proprietary code bases,
patch by Jonathan Sauer.

llvm-svn: 161475
2012-08-08 05:26:51 +00:00
Eric Christopher d15385c9e4 Add some missing functions to builtins.py.
rdar://10112601

llvm-svn: 161227
2012-08-03 00:13:44 +00:00
Sylvestre Ledru a5202660fb Fix some minor typos
llvm-svn: 161036
2012-07-31 06:56:50 +00:00
Sylvestre Ledru 830885ca64 Fix a typo (the the => the)
llvm-svn: 160622
2012-07-23 08:59:39 +00:00
Ted Kremenek a8c2c10f16 Place checker build at alternate URL.
llvm-svn: 160247
2012-07-16 04:18:35 +00:00
Richard Trieu e753f4bebd Update documentation with regards to template type diffing.
llvm-svn: 159249
2012-06-27 02:00:20 +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
Anna Zaks 2ae781f9e3 [analyzer] WWW: Shorten the menu title.
llvm-svn: 158356
2012-06-12 13:18:20 +00:00
Anna Zaks 130adbc5a3 [analyzer] WWW: Add FAQ to the menu.
llvm-svn: 158335
2012-06-11 22:35:53 +00:00
Anna Zaks 8a87c12355 [analyzer] WWW: FAQ - fix the assertion use example.
llvm-svn: 158333
2012-06-11 22:09:48 +00:00
Anna Zaks 0560cc0591 [analyzer] The FAQ question style shouldn't be the same as code_example.
llvm-svn: 158332
2012-06-11 22:09:46 +00:00
Anna Zaks c1e3568e7d [analyzer] WWW: Add table of contents, fixed code examples.
llvm-svn: 158331
2012-06-11 22:09:44 +00:00
Anna Zaks 67bd96479e [analyzer] WWW: Mention that we do not support "noreturn" for methods.
llvm-svn: 158330
2012-06-11 22:09:41 +00:00
Ted Kremenek 2d7fc64274 Add CSS style for FAQ questions, and restate FAQ questions as actual questions.
llvm-svn: 158282
2012-06-09 20:10:45 +00:00
Ted Kremenek 41bf2cc177 Wordsmith a bit, and turn </h1> into </h4> when appropriate.
llvm-svn: 158281
2012-06-09 20:10:42 +00:00
Anna Zaks ab24b83b01 [analyzer] FAQ page fixup
llvm-svn: 158254
2012-06-09 01:05:01 +00:00
Anna Zaks 40d64fcd55 [analyzer] Add FAQ and How to Deal with Common False Positives page
Still not linked in; comments and additions are very welcome.

llvm-svn: 158253
2012-06-09 01:04:54 +00:00
Ted Kremenek ac80f60eed Update checker build.
llvm-svn: 157844
2012-06-01 21:51:15 +00:00
Manuel Klimek 5d9e8362df Links the entry point to the tooling documentation into clang's menu bar.
llvm-svn: 157462
2012-05-25 08:39:21 +00:00
Richard Smith cff136cda8 Release notes update for -Wsometimes-uninitialized.
llvm-svn: 157459
2012-05-25 02:35:34 +00:00
Ted Kremenek 4ab452d061 Update checker build.
llvm-svn: 157339
2012-05-23 19:57:38 +00:00
Richard Smith 607d631d64 Clang 3.1 is out: turn the relevant C++11 status boxes green.
llvm-svn: 157308
2012-05-23 01:38:11 +00:00
Chandler Carruth cc3123174c Clarify how libstdc++ and other bits of the system toolchain are found
on Linux in the getting started documentation.

Patch by Nathan Ridge.

llvm-svn: 156911
2012-05-16 08:18:58 +00:00
Anna Zaks 951949723d [analyzer]Extend the available checks list and the release notes for 264
llvm-svn: 156488
2012-05-09 17:57:16 +00:00
Ted Kremenek 25498d0afa Fix Engrish.
llvm-svn: 156465
2012-05-09 06:29:38 +00:00
Ted Kremenek 9133c34a2a Fix typo.
llvm-svn: 156462
2012-05-09 04:35:15 +00:00
Ted Kremenek 368aad45d7 Update checker build.
llvm-svn: 156449
2012-05-09 00:08:47 +00:00
Ted Kremenek 2fda5a1e90 Update checker build link, and remove stale links.
llvm-svn: 155622
2012-04-26 07:29:14 +00:00
Benjamin Kramer 2484772c14 Better C++11 support is no longer an advantage of GCC.
llvm-svn: 155312
2012-04-22 11:34:43 +00:00
Benjamin Kramer 134ce10dbf c++11 status: Replace references to "SVN" with "3.1" to avoid confusion when they diverge.
Color is still yellow, as 3.1 isn't released yet.

llvm-svn: 155217
2012-04-20 18:43:50 +00:00
Richard Smith 3c90f01bf0 In an attempt to reduce confusion, mark 'Strong compare exchange' as done, since
we generate correct code for both strong and weak atomic compare-exchanges, even
though we don't propagate to the IR enough information to generate optimal weak
compare-exchanges on architectures which support them.

llvm-svn: 155161
2012-04-19 22:09:22 +00:00
Richard Smith f5520aebb1 Link to a tiny patch to libstdc++-4.7 to work around the <chrono> issues
from the C++ status page.

llvm-svn: 154890
2012-04-17 01:04:22 +00:00
Eli Friedman 250ae4a775 Add note to hacking.html that running the test harness directly from the command-line requires making sure the relevant files are generated first. Patch by Matt Fowles, with some minor modifications.
llvm-svn: 154795
2012-04-16 05:04:45 +00:00
Richard Smith d3b64878ff Now that we provide sufficient support for three C11/C++11 atomics
implementations, mark the atomics-related parts of the C++11 status page
as done. I've not marked 'Strong Compare and Exchange' done, since although
we implement supporting builtins, we don't yet produce different code for
the weak and strong forms.

llvm-svn: 154644
2012-04-13 01:02:19 +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
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
Ted Kremenek 888ac96f2b Update checker build.
llvm-svn: 153312
2012-03-23 07:06:16 +00:00
Richard Smith eb38bf549d Update front page to indicate that we do, in fact, support some of C++11.
llvm-svn: 153246
2012-03-22 08:15:13 +00:00
Ted Kremenek 11f208468e Update checker build.
llvm-svn: 152871
2012-03-15 23:02:21 +00:00
Richard Smith 4b38ded66a Instantiating a class template should not instantiate the definition of any
scoped enumeration members. Later uses of an enumeration temploid as a nested
name specifier should cause its instantiation. Plus some groundwork for
explicit specialization of member enumerations of class templates.

llvm-svn: 152750
2012-03-14 23:13:10 +00:00
Richard Smith 6d244d754b cxx_status: No compiler changes are required for 'minimal support for garbage
collection'. Keep it in the table to match gcc's table, but mark it N/A.

llvm-svn: 152528
2012-03-11 03:06:00 +00:00
Richard Smith 2a70e65436 Improve diagnostics for UCNs referring to control characters and members of the
basic source character set in C++98. Add -Wc++98-compat diagnostics for same in
literals in C++11. Extend such support to cover string literals as well as
character literals, and mark N2170 as done.

This seems too minor to warrant a release note to me. Let me know if you disagree.

llvm-svn: 152444
2012-03-09 22:27:51 +00:00
Richard Smith 5023188315 User-defined literals are done.
llvm-svn: 152396
2012-03-09 08:41:27 +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
Ted Kremenek 205fbeb54a Fix documentation typo.
llvm-svn: 151573
2012-02-27 21:40:10 +00:00
Sebastian Redl d89c218a2b Initializer lists are now supported.
llvm-svn: 151458
2012-02-25 20:51:27 +00:00
Richard Smith 18743deb21 cxx_status: Consistently refer to C++11 as "C++11", not as "C++'11" nor as
"C++0x". Use "C++98" to refer to C++98, not "C++". Add heading for C++98
support section.

llvm-svn: 151381
2012-02-24 18:42:08 +00:00
Richard Smith 4e8376279d cxx_status: extended sizeof has been essentially complete for some time. As
agreed on IRC, any remaining issues are best dealt with as bugs.

We have no __has_feature check for this; please shout if you'd like one. This
feature seems too small to be worth its own release notes bullet (again, please
shout if you disagree).

llvm-svn: 151380
2012-02-24 18:37:14 +00:00
Anna Zaks fa31b8ef10 [analyzer] Add CString checks to the release notes.
llvm-svn: 151286
2012-02-23 21:38:14 +00:00
Douglas Gregor a2bd11f2de Tweak C++ status table:
- Apparently, SVN is yellow
  - Note that initializer lists are "in progress"

llvm-svn: 151232
2012-02-23 03:10:24 +00:00
Douglas Gregor 34b2e8bb17 Clang now supports lambda expressions.
llvm-svn: 151231
2012-02-23 03:02:32 +00:00
Ted Kremenek 8634d73e17 Tweak release note comments for checker build.
llvm-svn: 151219
2012-02-23 00:48:17 +00:00
Ted Kremenek 5467b05f5a Update checker build to checker-261.
llvm-svn: 151218
2012-02-23 00:47:09 +00:00
Richard Smith b9a7efd791 I hereby declare that all remaining constexpr issues are bugs, not unimplemented
features. :)

llvm-svn: 150522
2012-02-14 22:39:23 +00:00
Benjamin Kramer 5998c035ba Getting Started: Add a missing "cd ../..".
llvm-svn: 150181
2012-02-09 16:04:50 +00:00
Aaron Ballman 759c2a4360 Updated information on how to perform command line testing on Windows when built from MSVC.
llvm-svn: 150180
2012-02-09 15:23:18 +00:00
Ted Kremenek 1ca6ce5a22 Post link to checker-260, which is checker-259 with some experimental checks enabled.
llvm-svn: 149032
2012-01-26 03:02:34 +00:00
Ted Kremenek 807f7e38a9 Post open source analyzer build checker-259.
llvm-svn: 148988
2012-01-25 22:18:04 +00:00
Anna Zaks 03e0651ff3 [analyzer] www: A minor cleanup to the dev manual.
llvm-svn: 148514
2012-01-20 00:11:04 +00:00
Benjamin Kramer eaa262b5b8 Fix ALL the markup.
llvm-svn: 148219
2012-01-15 15:26:07 +00:00
Richard Smith 173b94c9ac Revert accidentally-committed file in r148020.
llvm-svn: 148021
2012-01-12 06:10:09 +00:00
Richard Smith 02ab9c2940 Allow constant-folding of references which were formed in a manner not permitted
in a constant expression, for compatibility with g++.

llvm-svn: 148020
2012-01-12 06:08:57 +00:00
Anna Zaks 8e2fc5c5e9 [analyzer] Update the docs to reflect that gcc is not the only default
compiler option.

llvm-svn: 147645
2012-01-06 01:54:08 +00:00
Ted Kremenek cc0cf90953 Add missing #endif in documentation.
llvm-svn: 147556
2012-01-04 22:35:02 +00:00
Alexis Hunt c4f1b4ad30 Make this text slightly more accurate; thanks to Johannes Schaub for
pointing this out.

llvm-svn: 147346
2011-12-29 18:40:13 +00:00
Anna Zaks e87ad4625c [analyzer] More www; document ProgramState->dump().
llvm-svn: 146049
2011-12-07 19:04:27 +00:00
Anna Zaks db0e17336d [analyzer] Update the checker writer manual with explanation of SVals
and the link to checker callback documentation.

SVal, SymExpr, MemRegion description is a slightly edited version of
Ted's reply to a question on cfe-dev list.

llvm-svn: 146048
2011-12-07 19:04:24 +00:00
Daniel Dunbar 2931cd9cf9 www: Update getting started to encourage people to check out compielr-rt.
llvm-svn: 146014
2011-12-07 03:04:42 +00:00
Douglas Gregor 328d8d255e Tweak the guidelines for when one should send patches to cfe-commits vs. cfe-dev
llvm-svn: 145000
2011-11-19 19:14:26 +00:00
Chandler Carruth 74f0df442b Stop claiming that Visual Studio 2005 is a viable basis for building
Clang. It isn't any more, and we're not going to twist the code around
to make it work.

llvm-svn: 144815
2011-11-16 19:29:07 +00:00
Matt Beaumont-Gay 4703a29e4a Remove duplicate listings for core.DivideZero
llvm-svn: 143969
2011-11-07 18:00:03 +00:00
David Blaikie 103a3a03a2 Colorize. (this is consistent with the coloring in diagnostics.html, but perhaps that's a bit out of date because it doesn't look like current clang behavior)
llvm-svn: 143913
2011-11-07 06:28:33 +00:00
Anna Zaks 82a5b7bd25 [analyzer] Add the Checker Developer Manual to the menu.
It's still under construction but has enough info to be useful.

llvm-svn: 143912
2011-11-07 05:40:51 +00:00
Anna Zaks 5259086b8e [analyzer] Add overview and checker registration to the checker developer manual.
llvm-svn: 143911
2011-11-07 05:36:29 +00:00
Benjamin Kramer 1c9e158120 Fix markup weirdness.
llvm-svn: 143803
2011-11-05 10:11:36 +00:00
Anna Zaks 2ad0b0f815 [analyzer] Add the list of available checkers to the website.
llvm-svn: 143788
2011-11-05 05:20:54 +00:00
Douglas Gregor 324dbd3b83 Don't encourage bug reports to the Clang mailing list. We have a bug
report link for that.

llvm-svn: 143581
2011-11-02 22:49:47 +00:00
Anna Zaks 75a3f48cac [analyzer] Start writing Checker Developer Manual.
So far added the skeleton + several more or less complete sections:
Getting Started
Idea for a Checker
AST Visitors
Useful Commands/Debugging Hints

llvm-svn: 143554
2011-11-02 17:49:20 +00:00
David Blaikie 503616199f Fixing some dead links. Patch by Jean-Daniel Dupas!
llvm-svn: 143539
2011-11-02 15:13:40 +00:00
Michael J. Spencer e73bd64d12 Add colors to the C++11 status page.
llvm-svn: 143535
2011-11-02 06:29:37 +00:00
Douglas Gregor 7ff1e7ed68 Deleted functions were in Clang 2.9, defaulted functions in
3.0. Fixses PR11252.

llvm-svn: 143216
2011-10-28 19:44:09 +00:00
Douglas Gregor 3d711633a3 Tweak the C++11 status prose a bit. We still need better user guidance on the standard library issue
llvm-svn: 142019
2011-10-14 23:35:48 +00:00
Douglas Gregor 1f64b59872 Switch the C++11 status table from a developer-centric list to a
user-centric list, with Clang version numbers, following GCC's lead
(and user requests).

llvm-svn: 142015
2011-10-14 23:21:49 +00:00
David Blaikie e35b3aae52 Updating the Clang website to refer to C++'11 instead of C++'0x
llvm-svn: 141949
2011-10-14 07:58:10 +00:00
Ted Kremenek 0368ae071a Update open source static analyzer build.
llvm-svn: 141943
2011-10-14 04:15:19 +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
Douglas Gregor 244f7463cb Document the incompatibility that stems from Clang properly implement
the rule that defines the implicit copy constructor/implicit copy
asssignment operator as deleted when a move constructor or move
assignment operator has been explicitly declared. This has hit a
number of people because Boost 1.47.0's shared_ptr fails to declare a
copy constructor.

llvm-svn: 140621
2011-09-27 18:58:27 +00:00
Craig Topper 93b3e848de Update C++0x status page to reflect support for raw string literals.
llvm-svn: 137299
2011-08-11 04:09:26 +00:00
Benjamin Kramer f7bb3e5bd0 Fix HTML.
llvm-svn: 137010
2011-08-06 03:04:45 +00:00
Chris Lattner 3f3b6f4c80 give an example of a 'lowered vtable reference'
llvm-svn: 136780
2011-08-03 15:54:40 +00:00
Douglas Gregor 9bcdc82642 Update C++0x status page to reflect support for unicode string and character literals, from Craig Topper
llvm-svn: 136216
2011-07-27 15:10:09 +00:00
Douglas Gregor d99d49c6cb Easier debugging with Visual Studio Visualizers, from Nikola Smiljanic!
llvm-svn: 136207
2011-07-27 05:22:46 +00:00
Douglas Gregor 918f98ab42 Update C++0x status for explicit override controls and explicit
conversion operators, from Jonathan Sauer.

llvm-svn: 135932
2011-07-25 18:53:48 +00:00
NAKAMURA Takumi b44cd82d90 www/get_started.html: Fix a phrase, "in the *build* directory* in the instructions of Visual Studio. Thanks to Andreas Bittel to point it out.
llvm-svn: 135907
2011-07-25 12:40:26 +00:00
Chris Lattner 640eddea29 add link to 2010 dev mtg
llvm-svn: 135892
2011-07-24 21:00:45 +00:00
Douglas Gregor c14b763865 Add a link-friendly name to the Clang extension acceptance criteria
llvm-svn: 135859
2011-07-23 19:22:17 +00:00
Douglas Gregor da2f675c5c Document the criteria for evaluating a proposed extension to Clang.
llvm-svn: 135858
2011-07-23 19:21:07 +00:00
Richard Smith 42a4996b5a Update cxx_status page on www: clang has had full support for in-class initializers since r132890.
llvm-svn: 135689
2011-07-21 18:02:57 +00:00
Douglas Gregor 17aa45d431 Clean up the C++ status page by eliminating the utterly unnecessary set of projects. C++98/03 is sooooo yesterday
llvm-svn: 135687
2011-07-21 17:46:15 +00:00
Douglas Gregor 80d6322c00 Update C++0x nullptr status, from Jonathan Sauer
llvm-svn: 135686
2011-07-21 17:41:00 +00:00
Bill Wendling 03400e17fe Remove extraneous period.
llvm-svn: 135619
2011-07-20 21:02:28 +00:00
Jay Foad 0b16695d93 Hyphenate "argument-dependent".
llvm-svn: 132989
2011-06-14 12:59:25 +00:00
Ted Kremenek ef644c56a2 Remove stale reference to libIndex.
llvm-svn: 132757
2011-06-08 19:52:31 +00:00
Richard Smith 998a591e32 Fix PR10053: Improve diagnostics and error recovery for code which some compilers incorrectly accept due to a lack of proper support for two-phase name lookup.
llvm-svn: 132672
2011-06-05 22:42:48 +00:00
Douglas Gregor 7e51117db2 Improve the readability of the "Expressive Diagnostics" page, from Dave Yost!
llvm-svn: 132432
2011-06-01 22:45:49 +00:00
Chris Lattner 4b799d4e0c make this a bit less confusing
llvm-svn: 132262
2011-05-28 17:53:17 +00:00
Ted Kremenek 848c3ab60a Update checker build to checker-257.
llvm-svn: 132060
2011-05-25 16:30:14 +00:00
Douglas Gregor c586166fe3 Eliminate old, useless tutorial page
llvm-svn: 131292
2011-05-13 14:43:48 +00:00
Chris Lattner b4ccc2d09e some updates.
llvm-svn: 131286
2011-05-13 05:29:16 +00:00
Chris Lattner 935304e12e this never happened.
llvm-svn: 131285
2011-05-13 05:22:41 +00:00
Chris Lattner 98b9029d88 remove some old redirect pages. We're into our 3rd year of redirecting, the world should have adjusted by now :)
llvm-svn: 131284
2011-05-13 05:21:33 +00:00
Richard Smith e3a5ff1508 Update www: we now mangle references to function parameters properly. Also, this is really more a decltype issue rather than a late-specified return type issue.
llvm-svn: 130958
2011-05-05 22:07:51 +00:00
Richard Smith 3f1b5d077b Implement support for C++0x alias templates.
llvm-svn: 130953
2011-05-05 21:57:07 +00:00
Jeffrey Yasskin 990a969892 Remove several more rvalue references from swap arguments in libstdc++4.4.
unique_ptr and shared_ptr changes by Daniel Mierswa!

llvm-svn: 130762
2011-05-03 17:28:13 +00:00
Alexis Hunt 61bc173784 Fully implement delegating constructors!
As far as I know, this implementation is complete but might be missing a
few optimizations. Exceptions and virtual bases are handled correctly.

Because I'm an optimist, the web page has appropriately been updated. If
I'm wrong, feel free to downgrade its support categories.

llvm-svn: 130642
2011-05-01 07:04:31 +00:00
Richard Smith 6c42433ceb Update www: clang now supports C++11 for-range and non-template type aliases.
llvm-svn: 129569
2011-04-15 14:38:27 +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
Richard Smith fdc33cbecd Name mangling of late-specified return types doesn't work if the return type references the argument types:
template<typename T> auto f(T a) -> decltype(a.foo());

Since this is the primary reason for the introduction of this feature, downgrade implementation status to "Some examples work".

llvm-svn: 129533
2011-04-14 19:57:19 +00:00
Ted Kremenek 7114954232 Update public analyzer build to checker-256.
llvm-svn: 129473
2011-04-13 21:48:34 +00:00
John Thompson 9bfba16a66 Added link to LLVM cmake page in Visual Studio section.
llvm-svn: 129013
2011-04-06 18:22:12 +00:00
Richard Smith 13f68cf53e clang has had full and tested support for C++0x trailing-return-type and auto type deduction since r126166. Update the website to reflect this, and add a __has_feature test.
trailing-return-type codegen is not tested yet (name mangling in particular).

llvm-svn: 128787
2011-04-03 14:12:46 +00:00
Jeffrey Yasskin cb40757195 Add a libstdc++-4.4 patch for C++0x to the website.
llvm-svn: 128498
2011-03-29 22:27:50 +00:00
Douglas Gregor 0a1650feae Clang supports __STDC_HOSTED__. Patch by Jonathan Sauer
llvm-svn: 128377
2011-03-27 09:49:38 +00:00
NAKAMURA Takumi 823f3eb142 www/get_started.html: Fix a few URLs.
llvm-svn: 128372
2011-03-27 02:04:21 +00:00
NAKAMURA Takumi 2d60add66c www/hacking.html: Add blurb of LLVM_LIT_TOOLS_DIR.
llvm-svn: 127863
2011-03-18 03:21:44 +00:00
NAKAMURA Takumi 6048f80b1a www/hacking.html: Cosmetic change, to detabify, eliminate whitespace, and add proper slashes to URL.
llvm-svn: 127862
2011-03-18 03:21:38 +00:00
Douglas Gregor 20cbd059d4 Mention an XML printer on the Open Projects page
llvm-svn: 127336
2011-03-09 16:27:48 +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
Ted Kremenek dcc45f6ec1 Update text for where to file analyzer bugs.
llvm-svn: 125983
2011-02-18 22:42:04 +00:00
Ted Kremenek ba6ead4bc0 Update static analyzer build to checker-255.
llvm-svn: 125432
2011-02-12 03:20:34 +00:00
John McCall 2bd04c3114 More tweaks to the compatibility page.
llvm-svn: 124792
2011-02-03 11:29:18 +00:00
John McCall 93adb039b5 More minor documentation tweaks.
llvm-svn: 124791
2011-02-03 11:05:04 +00:00
John McCall 37d30c93ca Rework the __block jump-checking section, including a justification of
why this bug can go uncaught.

llvm-svn: 124790
2011-02-03 10:56:31 +00:00
John McCall 55199a63df Rework and embellish the C99 inline compatibility section.
llvm-svn: 124789
2011-02-03 10:16:40 +00:00
Ted Kremenek 47537b617e Document that set-xcode-analyzer should typically be run using sudo.
llvm-svn: 124602
2011-01-31 20:45:38 +00:00
Ted Kremenek 44dc127f78 Adjust casing of attributes in examples.
llvm-svn: 124445
2011-01-27 22:00:02 +00:00
Ted Kremenek e801399372 Fix download link.
llvm-svn: 124405
2011-01-27 19:49:07 +00:00
Ted Kremenek 8688e078ae Add missing </a>
llvm-svn: 124403
2011-01-27 19:42:34 +00:00
Ted Kremenek cfc9dc6876 Update checker build and post release notes.
llvm-svn: 124402
2011-01-27 19:41:08 +00:00
Ted Kremenek afe348ea43 Wire up attributes 'ns_consumed' and 'cf_consumed' in the static analyzer's ObjC retain/release checker.
llvm-svn: 124386
2011-01-27 18:43:03 +00:00
Ted Kremenek 35389de110 Fix HTML highlighting and add missing line.
llvm-svn: 124362
2011-01-27 07:02:03 +00:00
Ted Kremenek 4272cbdff5 Fix a few typos in HTML documentation.
llvm-svn: 124361
2011-01-27 06:59:29 +00:00
Ted Kremenek 0e89838ced Hook up attribute ns_consumes_self in the ObjC retain/release checker in the static analyzer.
llvm-svn: 124360
2011-01-27 06:54:14 +00:00
Douglas Gregor 9636753d39 Update C++0x status web page
llvm-svn: 124326
2011-01-26 21:35:14 +00:00
Douglas Gregor 52552c8a32 Note the need for --param=build_config=whatever in the Hacking Clang document, from Yuri Gribov
llvm-svn: 124130
2011-01-24 18:04:58 +00:00
Douglas Gregor eecc6bc388 Variadic templates are fully implemented.
Turn on the __has_feature switch for variadic templates, document
their completion, and put the ExtWarn into the c++0x-extensions
warning group.

llvm-svn: 123854
2011-01-19 22:11:50 +00:00
Douglas Gregor cf082adeca Add back the late-specified return type paper
llvm-svn: 122317
2010-12-21 05:54:22 +00:00
Douglas Gregor 6b6e08228c Updates to the C++ status page for C++0x features, from Michael Price
llvm-svn: 122315
2010-12-21 05:43:31 +00:00
Ted Kremenek 1b0340a1dd Update checker build.
llvm-svn: 122051
2010-12-17 07:56:27 +00:00
Michael J. Spencer 7ed7afc8b7 Getting Started: Add VS2010 instructions and specify an out of source build.
llvm-svn: 122003
2010-12-16 22:01:14 +00:00
Chris Lattner bff5d86699 c/objc/c++'98 are basically done, but we want '0x support.
Add "clang indent" as a possible project, we really really 
need it. :)

llvm-svn: 121030
2010-12-06 19:46:27 +00:00
Ted Kremenek 2e3bceafd9 Update analyzer build.
llvm-svn: 120802
2010-12-03 07:52:43 +00:00
Ted Kremenek b360ae4ec5 Update checker build.
llvm-svn: 120487
2010-11-30 23:08:24 +00:00
Ted Kremenek 4490e1015f Update checker build.
llvm-svn: 119318
2010-11-16 01:56:23 +00:00
Chris Lattner 2536851543 typo2
llvm-svn: 119035
2010-11-14 07:30:46 +00:00
Chris Lattner 11a8d05bea fix typo
llvm-svn: 119034
2010-11-14 07:09:32 +00:00
Chris Lattner 3bb7aab0b0 add a note about inline asm compatibility.
llvm-svn: 118740
2010-11-10 23:51:50 +00:00
Douglas Gregor 4640a18cf4 Document a language-compatibility issue with function parameter names in function prototypes in C++
llvm-svn: 118712
2010-11-10 20:24:21 +00:00
Daniel Dunbar 4b496bc35a Add a compat note about how Clang doesn't zero-initialize __block local variables.
llvm-svn: 118641
2010-11-09 22:45:16 +00:00
Ted Kremenek 5fab27aa6c Replace "#if __clang__" by "#if __has_feature(attribute_analyzer_noreturn)" to be consistent with all other snippets on this page.
Patch by Jean-Daniel Dupas!

llvm-svn: 118603
2010-11-09 18:54:17 +00:00
Daniel Dunbar 6b83538ac8 Add link to LLVM releases page.
llvm-svn: 118095
2010-11-02 22:34:04 +00:00
Rafael Espindola 4f8857e6f4 Use objdir != srcdir in the getting started doc.
llvm-svn: 117723
2010-10-29 22:05:17 +00:00
Eric Christopher 55f21aae85 Add and describe a quick script to migrate gcc builtins that clang doesn't
know about to the default APIs for x86 vector operations.

llvm-svn: 117313
2010-10-25 21:17:59 +00:00
Fariborz Jahanian 2b427c7fb0 Update compatibility page for objective-c.
llvm-svn: 117168
2010-10-22 22:35:51 +00:00
Gabor Greif 6a46da277f validator
llvm-svn: 116668
2010-10-16 09:40:21 +00:00
Gabor Greif 4b50bd8a2e these items are done, afaik
llvm-svn: 116667
2010-10-16 09:29:38 +00:00
Daniel Dunbar b4ece9cf2f Add an empty robots.txt, mostly just to reduce errors in HTTP log.
llvm-svn: 116658
2010-10-16 04:10:37 +00:00
Daniel Dunbar cc5b831149 Add a favicon.ico, mostly just to reduce errors in HTTP log.
llvm-svn: 116657
2010-10-16 04:08:19 +00:00
Chris Lattner a45ebd2fd1 be less threatening.
llvm-svn: 116187
2010-10-11 05:20:49 +00:00
Douglas Gregor a881010621 Bugs should go to Bugzilla, not the mailing list
llvm-svn: 115972
2010-10-07 20:20:57 +00:00
Daniel Dunbar 7bb159b33c www: Grammar, etc.
llvm-svn: 115914
2010-10-07 15:00:19 +00:00
Chris Lattner 586c51e0b7 clang++ sorta works now
llvm-svn: 115903
2010-10-07 04:28:56 +00:00
Daniel Dunbar 25a3ada060 www: Add a "Clang Related Projects" page, to collect links to external projects
using Clang in one way or another. Additions welcome!

llvm-svn: 115508
2010-10-04 15:40:45 +00:00
Nick Lewycky 3fd2928a45 Correct this name so I stop giving out the wrong email address.
llvm-svn: 115209
2010-09-30 21:20:23 +00:00
Ted Kremenek 2e0c7cc8c3 Update docs to include proper location of clang binary.
llvm-svn: 115088
2010-09-29 21:41:56 +00:00