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