Ted Kremenek
ece8524474
Update checker build.
...
llvm-svn: 82518
2009-09-22 03:38:38 +00:00
Fariborz Jahanian
44dfbbb69f
Update for inherited conversion function support.
...
llvm-svn: 81865
2009-09-15 16:15:23 +00:00
Fariborz Jahanian
3df0459149
Status update related to code gen for type conversion
...
functions.
llvm-svn: 81373
2009-09-09 20:00:07 +00:00
Douglas Gregor
d94105a1c2
Don't generate any code for an explicit call to a trivial destructor.
...
Now that parsing, semantic analysis, and (I think) code generation of
pseudo-destructor expressions and explicit destructor calls works,
update the example-dynarray.cpp test to destroy the objects it
allocates and update the test to actually compile + link.
The code seems correct, but the Clang-compiled version dies with a
malloc error. Time to debug!
llvm-svn: 81025
2009-09-04 19:04:08 +00:00
Douglas Gregor
7a0f1105ce
Update C++ status, since a bunch of the comments were out-of-date
...
llvm-svn: 80954
2009-09-03 21:51:43 +00:00
Douglas Gregor
2b6ca46c6b
Improve template instantiation for member access expressions that
...
involve qualified names, e.g., x->Base::f. We now maintain enough
information in the AST to compare the results of the name lookup of
"Base" in the scope of the postfix-expression (determined at template
definition time) and in the type of the object expression.
llvm-svn: 80953
2009-09-03 21:38:09 +00:00
Ted Kremenek
e93b4b8fe1
Update checker build.
...
llvm-svn: 80834
2009-09-02 20:27:08 +00:00
Ted Kremenek
108f2f6aa7
Update checker build.
...
llvm-svn: 80321
2009-08-28 00:30:56 +00:00
Douglas Gregor
73cc2e550d
Tweak the list of open projects for C++
...
llvm-svn: 80179
2009-08-26 23:34:30 +00:00
Ted Kremenek
4b1dae3ba4
Update checker build.
...
llvm-svn: 80054
2009-08-25 23:46:25 +00:00
Ted Kremenek
7656f2b48b
Update checker build.
...
llvm-svn: 80034
2009-08-25 21:14:54 +00:00
Douglas Gregor
b00b10eb2e
Implement support for equality comparisons (!=, ==) of member
...
pointers, by extending the "composite pointer type" logic to include
member pointer types.
Introduce test cases for member pointer comparisons, including those
that involve the builtin operator candidates implemented earlier.
llvm-svn: 79925
2009-08-24 17:42:35 +00:00
Fariborz Jahanian
8ba39c04ae
Updated statuc page to reflect recent implementations
...
of section 12 [special member functions]
llvm-svn: 79704
2009-08-22 00:18:52 +00:00
Douglas Gregor
1d08135537
Update Clang C++ status to better reflect what is implemented.
...
llvm-svn: 79695
2009-08-21 23:27:46 +00:00
Douglas Gregor
05155d8d7b
Implement conversion function templates, along with the ability to use
...
template argument deduction from a conversion function (C++
[temp.deduct.conv]) with implicit conversions.
llvm-svn: 79693
2009-08-21 23:19:43 +00:00
Ted Kremenek
d5eaa05a7f
Center the dragon.
...
llvm-svn: 79580
2009-08-21 00:04:20 +00:00
Ted Kremenek
0370089637
Make the dragon a link...
...
llvm-svn: 79577
2009-08-20 23:49:30 +00:00
Ted Kremenek
7c6b2faea8
Include LLVM logo ... because dragons are cool.
...
llvm-svn: 79576
2009-08-20 23:48:37 +00:00
Ted Kremenek
a298c0ee3c
Update checker build.
...
llvm-svn: 79559
2009-08-20 18:55:46 +00:00
Chris Lattner
f6bad8690f
Improve the Getting Started and Hacking web pages, patch by
...
John Thompson!
llvm-svn: 79518
2009-08-20 06:17:11 +00:00
Ted Kremenek
bc16b4e211
Update/add links to developer meeting.
...
llvm-svn: 79005
2009-08-14 17:11:34 +00:00
Daniel Dunbar
0c4a959b28
s/ccc/clang/
...
llvm-svn: 78320
2009-08-06 16:47:53 +00:00
Anton Korobeynikov
3ebc08b5bd
Add link to LLVM's Getting Started page.
...
Patch by John Thompson!
llvm-svn: 78307
2009-08-06 13:00:08 +00:00
Eli Friedman
0519492cb6
Website updates for working with Visual Studio and making patches.
...
Patch by John Thompson!
llvm-svn: 77988
2009-08-03 19:42:28 +00:00
Douglas Gregor
8a02193931
Update C++ open projects list
...
llvm-svn: 77901
2009-08-02 18:26:21 +00:00
Douglas Gregor
cc17ac0cf2
We have fairly good support for namespaces, now. Namespace aliases are parsed correctly
...
llvm-svn: 77900
2009-08-02 18:22:38 +00:00
Chris Lattner
c8ed0c16fe
linkify IRC
...
llvm-svn: 77880
2009-08-02 05:38:25 +00:00
Chris Lattner
4758281d64
rearrange side bar, add link to IRC info.
...
llvm-svn: 77879
2009-08-02 05:36:37 +00:00
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
Ted Kremenek
15636b43b0
Update menu color.
...
llvm-svn: 73114
2009-06-09 01:26:30 +00:00
Ted Kremenek
642171d5f2
Update checker build file (accidentally used old one).
...
llvm-svn: 73113
2009-06-09 01:25:03 +00:00
Ted Kremenek
681d7ebc99
Fix link.
...
llvm-svn: 73112
2009-06-09 01:24:15 +00:00
Ted Kremenek
f9f689b3ab
Add skeleton files for new analyzer site.
...
llvm-svn: 73086
2009-06-08 21:21:24 +00:00
Ted Kremenek
800c20f11a
Update checker build.
...
llvm-svn: 73001
2009-06-06 17:44:12 +00:00
Daniel Dunbar
5773c600ad
Put "Language Extensions" and "C++ status" in the regular info section.
...
llvm-svn: 72879
2009-06-04 18:39:08 +00:00
Daniel Dunbar
15b86228cf
Mention unsupported GCC duplicate-definition-with-inline extension.
...
Also, link users manual from the main web page.
llvm-svn: 72878
2009-06-04 18:37:52 +00:00
Daniel Dunbar
91b418ea3c
Another tweak to the clang Getting Started page.
...
llvm-svn: 72355
2009-05-24 01:40:10 +00:00
Daniel Dunbar
b402d5c32d
Minor updates to the clang Getting Started page.
...
llvm-svn: 72354
2009-05-24 01:00:12 +00:00
Ted Kremenek
59328da69f
Update checker build.
...
llvm-svn: 72084
2009-05-19 00:48:25 +00:00
Ted Kremenek
f0d3237474
Update checker build.
...
llvm-svn: 71929
2009-05-16 06:05:27 +00:00
Ted Kremenek
926dffce01
Update checker build.
...
llvm-svn: 71900
2009-05-15 21:56:27 +00:00
Ted Kremenek
a3d4d7b4fa
Update checker build.
...
llvm-svn: 71874
2009-05-15 18:40:51 +00:00
Ted Kremenek
2aab87f393
Update checker build.
...
llvm-svn: 71846
2009-05-15 05:59:34 +00:00
Ted Kremenek
2b77677322
Update checker build.
...
llvm-svn: 71716
2009-05-13 20:49:00 +00:00
Douglas Gregor
a1f4997368
Semantic analysis for explicit instantiation of class templates. We
...
still aren't instantiating the definitions of class template members,
and core issues 275 and 259 will both affect the checking that we do
for explicit instantiations (but are not yet implemented).
llvm-svn: 71613
2009-05-13 00:25:59 +00:00
Douglas Gregor
1b57ff32a8
Implement parsing for explicit instantiations of class templates, e.g.,
...
template class X<int>;
This also cleans up the propagation of template information through
declaration parsing, which is used to improve some diagnostics.
llvm-svn: 71608
2009-05-12 23:25:50 +00:00
Ted Kremenek
14fbc56a09
Update checker build.
...
llvm-svn: 71605
2009-05-12 22:44:02 +00:00
Douglas Gregor
9e0d21a444
Align the N/A in the C++ status table, from Anders Johnsen
...
llvm-svn: 71576
2009-05-12 18:36:58 +00:00
Douglas Gregor
5a4d12afbf
Fill in more C++ status. We're now using the check mark to mean,
...
"complete, and we have tests for every paragraph".
llvm-svn: 71564
2009-05-12 17:55:28 +00:00
Ted Kremenek
df5a6b6070
Update checker build.
...
llvm-svn: 71523
2009-05-12 00:45:33 +00:00
Ted Kremenek
3a4360c728
Update checker build.
...
llvm-svn: 71463
2009-05-11 19:02:11 +00:00