Sebastian Redl
9f831dbbcd
Implement C++ semantics for C-style and functional-style casts. This regresses Clang extension conversions, like vectors, but allows conversions via constructors and conversion operators.
...
Add custom conversions to static_cast.
llvm-svn: 77076
2009-07-25 15:41:38 +00:00
Douglas Gregor
c04e2d9bd6
We now do complete semantic checking for unions
...
llvm-svn: 76918
2009-07-24 00:05:42 +00:00
Douglas Gregor
020e4a9bbb
Update C++ status to reflect progress on out-of-line definitions of class template members
...
llvm-svn: 76917
2009-07-23 23:58:15 +00:00
Ted Kremenek
7c701e7d86
Update cf_returns_retained/ns_returns_retained examples to use __has_feature.
...
llvm-svn: 76130
2009-07-17 00:25:49 +00:00
Chris Lattner
53ea7db5e3
linkify
...
llvm-svn: 75225
2009-07-10 05:07:59 +00:00
Argyrios Kyrtzidis
bff082aec9
Add documentation for the Index library to clang's web page.
...
llvm-svn: 75222
2009-07-10 03:41:36 +00:00
Ted Kremenek
7127801201
Update checker build.
...
llvm-svn: 75147
2009-07-09 17:20:25 +00:00
Douglas Gregor
b257e4fff8
Implement the simple form of overload resolution used when taking the
...
address of an overloaded function (which may involve both functions
and function templates).
llvm-svn: 75069
2009-07-08 23:33:52 +00:00
Douglas Gregor
ed3c80eb75
Update the C++ status table to better reflect our support for function overloading
...
llvm-svn: 74997
2009-07-08 10:03:09 +00:00
Douglas Gregor
197e5f7bb7
Improve argument-dependent lookup to find associated classes and
...
namespaces based on the template arguments of a class template
specialization type.
llvm-svn: 74993
2009-07-08 07:51:57 +00:00
Douglas Gregor
9fc6097145
Template argument deduction from a call has improved a bit
...
llvm-svn: 74966
2009-07-07 23:12:18 +00:00
Ted Kremenek
b1281025f1
Update checker build.
...
llvm-svn: 74849
2009-07-06 19:57:59 +00:00
Ted Kremenek
c17bab0b13
Update checker build.
...
llvm-svn: 74757
2009-07-03 03:26:09 +00:00
Douglas Gregor
0799d916e1
Add a Last Updated field to the C++ status page
...
llvm-svn: 74387
2009-06-27 19:33:58 +00:00
Douglas Gregor
1e880602ad
Make a note of improvements to function templates
...
llvm-svn: 74360
2009-06-27 00:08:54 +00:00
Daniel Dunbar
e5ebf02e0e
Fix bar title in graphs.
...
llvm-svn: 74302
2009-06-26 18:29:52 +00:00
Daniel Dunbar
3ecc92147d
Update performance numbers (missed a link)
...
llvm-svn: 74297
2009-06-26 18:15:47 +00:00
Daniel Dunbar
5b165e4930
Update performance numbers.
...
llvm-svn: 74296
2009-06-26 18:14:41 +00:00
Chris Lattner
6dde0bfef7
oink is dead.
...
llvm-svn: 74263
2009-06-26 04:10:17 +00:00
Anders Carlsson
b7fe2d672a
We now support decltype (as far as I know :)
...
llvm-svn: 74127
2009-06-24 22:10:19 +00:00
Ted Kremenek
6ea5dda489
Fix typo.
...
llvm-svn: 74107
2009-06-24 19:20:24 +00:00
Ted Kremenek
d2ece0703c
Reference the correct image...
...
llvm-svn: 74106
2009-06-24 19:19:18 +00:00
Ted Kremenek
ffd586aa64
Add scan-build screenshot for attribute 'nonnull' example.
...
llvm-svn: 74104
2009-06-24 19:17:54 +00:00
Ted Kremenek
6e7d59f0c6
Fix broken HTML tag.
...
llvm-svn: 74103
2009-06-24 19:12:56 +00:00
Ted Kremenek
b49fe2aff7
Remove reference to using 'clang' directly to analyze projects.
...
llvm-svn: 74102
2009-06-24 19:12:07 +00:00
Ted Kremenek
9f345e1cad
Tighten screenshot.
...
llvm-svn: 74100
2009-06-24 19:08:56 +00:00
Ted Kremenek
550e701cf5
Replace 'clang --analyze' example for attribute cf_returns_retained with screenshots.
...
llvm-svn: 74098
2009-06-24 19:04:37 +00:00
Ted Kremenek
645c54ef11
Replace 'clang --analyze' example (in text) with screenshot from scan-build.
...
llvm-svn: 74095
2009-06-24 18:50:14 +00:00
Anders Carlsson
b50f45f9b2
Nested classes are now complete.
...
llvm-svn: 74052
2009-06-24 02:03:09 +00:00
Anders Carlsson
58b19d5310
class.nested.type is done.
...
llvm-svn: 74034
2009-06-24 00:32:04 +00:00
Ted Kremenek
50d131dea1
Update checker build.
...
llvm-svn: 73518
2009-06-16 17:45:57 +00:00
Douglas Gregor
baafda8394
Tweak the C++ open projects page
...
llvm-svn: 73409
2009-06-15 19:53:21 +00:00
Ted Kremenek
a1cc273ab3
Revert r73341.
...
llvm-svn: 73393
2009-06-15 17:23:35 +00:00
Douglas Gregor
ac1798a859
Note that we've implemented the right angle brackets extension in C++0x
...
llvm-svn: 73389
2009-06-15 16:50:45 +00:00
Zhongxing Xu
a2937bc3cb
'not magic' => 'is not magic'
...
llvm-svn: 73386
2009-06-15 13:22:32 +00:00
Nuno Lopes
52c17e7201
fix the menu's links
...
llvm-svn: 73341
2009-06-14 09:40:09 +00:00
Douglas Gregor
33834516f3
Update LLVM.
...
Implement support for C++ Substitution Failure Is Not An Error
(SFINAE), which says that errors that occur during template argument
deduction do *not* produce diagnostics and do not necessarily make a
program ill-formed. Instead, template argument deduction silently
fails. This is currently implemented for template argument deduction
during matching of class template partial specializations, although
the mechanism will also apply to template argument deduction for
function templates. The scheme is simple:
- If we are in a template argument deduction context, any diagnostic
that is considered a SFINAE error (or warning) will be
suppressed. The error will be propagated up the call stack via the
normal means.
- By default, all warnings and errors are SFINAE errors. Add the
NoSFINAE class to a diagnostic in the .td file to make it a hard
error (e.g., for access-control violations).
Note that, to make this fully work, every place in Sema that emits an
error *and then immediately recovers* will need to check
Sema::isSFINAEContext() to determine whether it must immediately
return an error rather than recovering.
llvm-svn: 73332
2009-06-14 07:33:30 +00:00
Douglas Gregor
170bc42547
It looks like we've finished off matching of class template partial specializations; add comments and update the C++ status page
...
llvm-svn: 73263
2009-06-12 22:31:52 +00:00
Douglas Gregor
30b0197169
Finish implementing checking of class template partial specializations
...
llvm-svn: 73260
2009-06-12 22:21:45 +00:00
Douglas Gregor
09a3023e65
Diagnose C++ [temp.class.spec]p9b3, where a class template partial
...
specialization's arguments are identical to the implicit template
arguments of the primary template. Typically, this is meant to be a
declaration/definition of the primary template, so we give that
advice.
llvm-svn: 73259
2009-06-12 22:08:06 +00:00
Douglas Gregor
dc41eb18e9
Update the C++ status to reflect improvements in template argument deduction and the handling of class template partial specializations
...
llvm-svn: 73242
2009-06-12 19:15:38 +00:00
Douglas Gregor
873495ad98
Point to the clang driver, not the ccc driver
...
llvm-svn: 73192
2009-06-11 14:59:18 +00:00
Douglas Gregor
f0ca0a684d
Add pseudo-destructors to the Open Projects list
...
llvm-svn: 73191
2009-06-11 14:55:39 +00:00
Douglas Gregor
3afbdbd8b4
Prune some projects that have already been started
...
llvm-svn: 73190
2009-06-11 14:53:37 +00:00
Ted Kremenek
e6d3ae9d99
Add redirects to new static analysis web site.
...
llvm-svn: 73120
2009-06-09 02:17:37 +00:00
Ted Kremenek
0da03ed2ae
Update static analyzer link to new website.
...
llvm-svn: 73119
2009-06-09 01:37:34 +00:00
Ted Kremenek
0a7a2c45a4
Comment out preliminary text due to wishful thinking of getting more documentation done by this point.
...
llvm-svn: 73118
2009-06-09 01:32:41 +00:00
Ted Kremenek
f588f6b8ca
Last menu color tweaking (for now).
...
llvm-svn: 73117
2009-06-09 01:31:18 +00:00
Ted Kremenek
cd698b2cc9
More color tweaking.
...
llvm-svn: 73116
2009-06-09 01:28:57 +00:00
Ted Kremenek
66a34398d0
Update menu colors.
...
llvm-svn: 73115
2009-06-09 01:28:04 +00:00