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
Ted Kremenek
f16992866a
Update checker build.
...
llvm-svn: 71435
2009-05-11 16:31:31 +00:00
Sebastian Redl
9257b234a5
Update minor points in C++ status table.
...
llvm-svn: 71406
2009-05-10 20:06:11 +00:00
Sebastian Redl
576fd424df
Implement C++0x nullptr.
...
llvm-svn: 71405
2009-05-10 18:38:11 +00:00
Ted Kremenek
9a627e60cd
Update checker build.
...
llvm-svn: 71404
2009-05-10 17:41:29 +00:00
Ted Kremenek
9dc1bed4a6
Update checker build.
...
llvm-svn: 71387
2009-05-10 05:54:23 +00:00
Ted Kremenek
1e0d6a5957
Update checker build.
...
llvm-svn: 71375
2009-05-10 02:22:16 +00:00
Ted Kremenek
6631d7c4be
Roll back to checker build 0.195.
...
llvm-svn: 71348
2009-05-09 07:05:44 +00:00
Douglas Gregor
1bbffbceae
Big update to the C++ status table to reflect "recent"
...
development. Still much more to write!
llvm-svn: 71167
2009-05-07 17:50:16 +00:00
Ted Kremenek
83ffab06ef
Update checker build.
...
llvm-svn: 71112
2009-05-06 20:13:50 +00:00
Ted Kremenek
82f7cfa156
Update checker build.
...
llvm-svn: 71046
2009-05-06 00:14:14 +00:00
Ted Kremenek
09356a83c4
Update checker build.
...
llvm-svn: 70961
2009-05-05 03:56:29 +00:00
Ted Kremenek
66f8fe18ef
Update checker build.
...
llvm-svn: 70858
2009-05-04 14:24:29 +00:00
Daniel Dunbar
032dc63cd4
Nightly test coverage reporting is back online.
...
llvm-svn: 70814
2009-05-03 23:46:18 +00:00
Ted Kremenek
f520136939
Update checker build.
...
llvm-svn: 70615
2009-05-02 00:42:33 +00:00
Chris Lattner
2ab6983e41
C/ObjC work well enough with clang for them not to be a gcc strength anymore.
...
llvm-svn: 70528
2009-05-01 01:42:13 +00:00
Chris Lattner
0936387c46
add word
...
llvm-svn: 70527
2009-05-01 01:40:42 +00:00
Chris Lattner
0cfae87d80
C/ObjC work well enough to claim support for them now.
...
llvm-svn: 70526
2009-05-01 01:40:17 +00:00
Ted Kremenek
10e21109d7
Update checker build.
...
llvm-svn: 70489
2009-04-30 15:15:37 +00:00
Sebastian Redl
2b9cacbffa
Have the parser communicate the exception specification to the action.
...
llvm-svn: 70389
2009-04-29 17:30:04 +00:00
Ted Kremenek
ed70968484
Update analyzer build.
...
llvm-svn: 70295
2009-04-28 14:32:50 +00:00
Sebastian Redl
4c018663b2
Track down return statements in the handlers of a function-try-block of constructors. Meh ...
...
llvm-svn: 70256
2009-04-27 21:33:24 +00:00
Sebastian Redl
4de47b445b
Improve validation of C++ exception handling: diagnose throwing incomplete types and jumps into protected try-catch scopes.
...
llvm-svn: 70242
2009-04-27 20:27:31 +00:00
Sebastian Redl
21b349d5ea
Fill in the C++ status table for exceptions
...
llvm-svn: 70217
2009-04-27 18:25:15 +00:00
Ted Kremenek
b62db80c83
Updated checker build.
...
llvm-svn: 70065
2009-04-25 19:12:36 +00:00
Ted Kremenek
9099126795
Update checker build.
...
llvm-svn: 69940
2009-04-23 23:42:21 +00:00
Ted Kremenek
9dae596dc1
Update checker build.
...
llvm-svn: 69776
2009-04-22 05:13:56 +00:00
Sebastian Redl
8ce189f9ce
Conditional operator C++ checking complete. What issues remain are in more general code.
...
llvm-svn: 69555
2009-04-19 21:53:20 +00:00
Sebastian Redl
d1309a3c4d
Add deleted functions and rvalue references to C++ status.
...
llvm-svn: 68903
2009-04-12 17:41:24 +00:00
Ted Kremenek
be4fe9e239
Update analyzer build.
...
llvm-svn: 68860
2009-04-11 04:57:08 +00:00
Ted Kremenek
7318290ab9
Fix typo.
...
llvm-svn: 68782
2009-04-10 14:30:24 +00:00
Ted Kremenek
cda32a1e0c
Update analyzer build.
...
llvm-svn: 68781
2009-04-10 14:29:25 +00:00
Ted Kremenek
8cdc351ed3
Update analyzer build.
...
llvm-svn: 68707
2009-04-09 14:06:37 +00:00
Ted Kremenek
c4631b2809
Update checker build.
...
llvm-svn: 68516
2009-04-07 14:26:58 +00:00
Ted Kremenek
b594fa1289
Fix grammar.
...
llvm-svn: 68331
2009-04-02 18:20:13 +00:00
Ted Kremenek
01cccbfb03
Update checker build.
...
llvm-svn: 68302
2009-04-02 06:33:06 +00:00
Douglas Gregor
60f3c95926
Add some examples of Fix-it hints to our documentation
...
llvm-svn: 68210
2009-04-01 16:24:40 +00:00
Douglas Gregor
2e0757f319
Give Type::getDesugaredType a "for-display" mode that can apply more
...
heuristics to determine when it's useful to desugar a type for display
to the user. Introduce two C++-specific heuristics:
- For a qualified type (like "foo::bar"), only produce a new
desugred type if desugaring the qualified type ("bar", in this
case) produces something interesting. For example, if "foo::bar"
refers to a class named "bar", don't desugar. However, if
"foo::bar" refers to a typedef of something else, desugar to that
something else. This gives some useful desugaring such as
"foo::bar (aka 'int')".
- Don't desugar class template specialization types like
"basic_string<char>" down to their underlying "class
basic_string<char, char_traits<char>, allocator<char>>, etc.";
it's better just to leave such types alone.
Update diagnostics.html with some discussion and examples of type
preservation in C++, showing qualified names and class template
specialization types.
llvm-svn: 68207
2009-04-01 15:47:24 +00:00
Anders Carlsson
452e1c8a6a
We fully support namespace aliases now.
...
llvm-svn: 68116
2009-03-31 17:17:14 +00:00
Ted Kremenek
42361b3eb5
Update checker build.
...
llvm-svn: 67976
2009-03-29 00:43:39 +00:00
Ted Kremenek
b3e8f6531d
Update "Getting Started" with more current information about 'clang-cc' and 'clang'.
...
llvm-svn: 67850
2009-03-27 16:32:57 +00:00
Douglas Gregor
0caea8cca7
Add another C++ open project
...
llvm-svn: 67620
2009-03-24 16:16:53 +00:00
Anders Carlsson
b0ab31b7f6
Remove a task that's completed now.
...
llvm-svn: 67596
2009-03-24 01:25:56 +00:00
Anders Carlsson
b6da73f2e0
class.abstract is complete. Anything that doesn't work is a bug.
...
llvm-svn: 67595
2009-03-24 01:24:06 +00:00
Ted Kremenek
74250d1d68
Update checker build.
...
llvm-svn: 67584
2009-03-24 00:35:59 +00:00
Ted Kremenek
673a4eef07
Update checker build.
...
llvm-svn: 67553
2009-03-23 19:53:30 +00:00
Ted Kremenek
43e2deee22
Update checker build.
...
llvm-svn: 67498
2009-03-23 02:00:36 +00:00
Douglas Gregor
2460c0c37c
Link from the C++ status page to the open projects page
...
llvm-svn: 67399
2009-03-20 20:39:57 +00:00
Douglas Gregor
7262d1c003
Document some small- to mid-size open C++ projects
...
llvm-svn: 67398
2009-03-20 20:37:36 +00:00
Chris Lattner
308fdf6ee9
wording.
...
llvm-svn: 67337
2009-03-19 22:03:42 +00:00
Chris Lattner
8fda6749aa
add link to new page
...
llvm-svn: 67324
2009-03-19 18:58:22 +00:00
Chris Lattner
3d26bc8fdf
link to diags page.
...
llvm-svn: 67323
2009-03-19 18:57:33 +00:00
Chris Lattner
2302ee59e1
move most of the diags info out to its own file.
...
llvm-svn: 67321
2009-03-19 18:56:04 +00:00
Chris Lattner
136d84dbeb
split diagnostics examples out to its own file.
...
llvm-svn: 67318
2009-03-19 18:52:17 +00:00
Chris Lattner
480bb91b18
add a note
...
llvm-svn: 67290
2009-03-19 07:06:44 +00:00
Chris Lattner
2b7dbf4d0a
update our bragging about diagnostics. :)
...
llvm-svn: 67289
2009-03-19 06:52:51 +00:00
Ted Kremenek
bb93b788b7
Update checker build
...
llvm-svn: 67279
2009-03-19 01:51:49 +00:00
Ted Kremenek
b7e6aea63e
Update checker build.
...
llvm-svn: 67266
2009-03-19 00:20:07 +00:00
Anders Carlsson
bd1a1d2fa6
We support static_assert.
...
llvm-svn: 67043
2009-03-16 17:28:26 +00:00
Ted Kremenek
fcf7348f80
Update checker build.
...
llvm-svn: 66999
2009-03-14 00:46:46 +00:00
Ted Kremenek
80caa92255
Update checker build.
...
llvm-svn: 66926
2009-03-13 18:48:36 +00:00
Douglas Gregor
201217324a
Split get_involved into Get Involved and Open Projects pages
...
llvm-svn: 66891
2009-03-13 15:06:27 +00:00
Ted Kremenek
4d4d2277a9
Update checker build.
...
llvm-svn: 66855
2009-03-13 00:43:31 +00:00
Douglas Gregor
83e9e91479
Note some advances in our C++ support
...
llvm-svn: 66742
2009-03-12 00:09:31 +00:00
Ted Kremenek
4bb994a319
Update checker build.
...
llvm-svn: 66643
2009-03-11 06:11:39 +00:00
Chris Lattner
5013d3a893
update this, C headers don't need hacks anymore.
...
llvm-svn: 66544
2009-03-10 16:01:44 +00:00
Ted Kremenek
07393e0546
Update analyzer build.
...
llvm-svn: 66538
2009-03-10 07:03:32 +00:00
Ted Kremenek
623d2a3ce4
Update checker build.
...
llvm-svn: 66507
2009-03-09 23:45:57 +00:00
Ted Kremenek
62d9de7cae
Update checker build.
...
llvm-svn: 66226
2009-03-06 00:53:59 +00:00
Ted Kremenek
1d09f6a221
Update checker build.
...
llvm-svn: 66152
2009-03-05 07:55:15 +00:00
Daniel Dunbar
817b7692fb
Add new performance numbers; no discussion yet. Obvious two
...
conclusions are our PCH generation is way faster than gcc, and the
Python based driver kills compile times.
llvm-svn: 65980
2009-03-04 00:04:28 +00:00
Ted Kremenek
d62491a808
Update checker build.
...
llvm-svn: 65916
2009-03-03 01:44:57 +00:00
Ted Kremenek
8a56e5c29b
Update checker build.
...
llvm-svn: 65676
2009-02-28 02:04:49 +00:00
Ted Kremenek
918ae24edd
Update checker build.
...
llvm-svn: 65625
2009-02-27 07:16:04 +00:00
Gabor Greif
dd4ddf13a6
fix (hopefully) some validation errors
...
llvm-svn: 65455
2009-02-25 15:22:45 +00:00
Gabor Greif
267e01cb28
minor tweaks to readability
...
llvm-svn: 65440
2009-02-25 09:45:40 +00:00
Chris Lattner
d79eb11e22
update
...
llvm-svn: 65433
2009-02-25 05:43:33 +00:00
Chris Lattner
014d2ad55f
Headers are basically done, debug info is just about done (and
...
will improve a lot this week hopefully), and a libgcc replacement
is ready once I wrangle lawyers.
llvm-svn: 65432
2009-02-25 05:39:01 +00:00
Chris Lattner
a004a1846b
clang seems "generally useful" for c and objc by now, though obviously bugs
...
still remain.
llvm-svn: 65431
2009-02-25 05:35:47 +00:00
Ted Kremenek
7a164114f6
Update checker build.
...
llvm-svn: 65421
2009-02-25 00:54:41 +00:00
Ted Kremenek
80049e0b6f
Updated checker build.
...
llvm-svn: 65350
2009-02-23 23:37:29 +00:00
Ted Kremenek
cd25abed46
Update to checker-0.162 (fixed header issue in tar.bz2 package).
...
llvm-svn: 65283
2009-02-22 08:50:06 +00:00
Ted Kremenek
589aa282dd
Reverted back to checker-0.161 because of a header issue.
...
llvm-svn: 65281
2009-02-22 08:42:49 +00:00
Ted Kremenek
1f19573c84
Updated checker build.
...
llvm-svn: 65280
2009-02-22 08:38:12 +00:00
Ted Kremenek
bc7d915c4c
Update checker build.
...
llvm-svn: 65227
2009-02-21 06:58:08 +00:00
Ted Kremenek
193cbdcbe3
Update checker build.
...
llvm-svn: 65054
2009-02-19 19:08:21 +00:00
Ted Kremenek
1d1d39757a
Update checker build.
...
llvm-svn: 65033
2009-02-19 07:22:21 +00:00
Ted Kremenek
aa61951171
Fix comment: analyzer builds are universal binaries.
...
llvm-svn: 64950
2009-02-18 21:24:14 +00:00
Ted Kremenek
a16c98b97d
Update checker build.
...
llvm-svn: 64879
2009-02-18 03:09:29 +00:00
Ted Kremenek
386e590239
Update checker build.
...
llvm-svn: 64753
2009-02-17 07:47:57 +00:00
Cedric Venet
08438133da
Add svn:eol-style=native to some files
...
Correct two files with inconsistent lines endings.
llvm-svn: 64564
2009-02-14 20:20:19 +00:00
Ted Kremenek
10251c91a8
Update checker build.
...
llvm-svn: 64507
2009-02-13 23:41:12 +00:00
Ted Kremenek
0ae9df8377
Update checker build.
...
llvm-svn: 64365
2009-02-12 07:09:27 +00:00
Ted Kremenek
345749aff4
Update checker build.
...
llvm-svn: 64297
2009-02-11 07:50:23 +00:00
Ted Kremenek
f83882987e
Updated checker build.
...
llvm-svn: 64208
2009-02-10 07:38:50 +00:00
Ted Kremenek
a446e95891
Update checker build.
...
llvm-svn: 64190
2009-02-10 00:53:39 +00:00
Chris Lattner
10c16ca0b9
spell out explicitly
...
llvm-svn: 64129
2009-02-09 08:47:44 +00:00
Chris Lattner
f5e9242dd4
add doc
...
llvm-svn: 64128
2009-02-09 08:47:17 +00:00
Chris Lattner
cd2b504d5f
add another crazy idea :)
...
llvm-svn: 64092
2009-02-08 20:41:34 +00:00
Ted Kremenek
beb1ce6504
Updated checker build.
...
llvm-svn: 64071
2009-02-08 05:05:02 +00:00
Sebastian Redl
f3b5e27fee
Make const-initialized const integral variables I-C-Es in C++.
...
llvm-svn: 64015
2009-02-07 13:06:23 +00:00
Sebastian Redl
779dd9382d
Fill in C++ status table for section 7 (declarations).
...
llvm-svn: 64013
2009-02-07 12:42:13 +00:00
Sebastian Redl
112a976616
Implement dereferencing of pointers-to-member.
...
llvm-svn: 63983
2009-02-07 00:15:38 +00:00
Ted Kremenek
686a09d7b8
Updated checker build.
...
llvm-svn: 63897
2009-02-05 23:19:12 +00:00
Ted Kremenek
cc41c07227
Update checker build.
...
llvm-svn: 63869
2009-02-05 15:48:51 +00:00
Sebastian Redl
18f8ff62a3
Implement taking address of member functions, including overloaded ones.
...
llvm-svn: 63779
2009-02-04 21:23:32 +00:00
Ted Kremenek
77de9885f8
Update checker build.
...
llvm-svn: 63753
2009-02-04 19:09:38 +00:00
Douglas Gregor
7bad6d1d32
Argument Dependent Lookup is done (for now). Also, update the status
...
for a few other name-lookup sections.
llvm-svn: 63734
2009-02-04 15:07:16 +00:00
Chris Lattner
a4e0d1d177
codegen is much farther along than when this was first written.
...
llvm-svn: 63668
2009-02-03 21:54:08 +00:00
Chris Lattner
ab5d0ca71a
update a couple entries, add a new idea
...
llvm-svn: 63665
2009-02-03 21:51:37 +00:00
Ted Kremenek
a377abfe26
Update checker build.
...
llvm-svn: 63464
2009-01-31 01:32:23 +00:00
Douglas Gregor
d14247a9e5
Implement and test aggregate initialization in C++. Major changes:
...
- Support initialization of reference members; complain if any
reference members are left uninitialized.
- Use C++ copy-initialization for initializing each element (falls
back to constraint checking in C)
- Make sure we diagnose when one tries to provide an initializer
list for a non-aggregate.
- Don't complain about empty initializers in C++ (they are permitted)
- Unrelated but necessary: don't bother trying to convert the
decl-specifier-seq to a type when we're dealing with a C++
constructor, destructor, or conversion operator; it results in
spurious warnings.
llvm-svn: 63431
2009-01-30 22:09:00 +00:00
Sebastian Redl
ed8f200318
Implement pointer to member handling in static_cast.
...
Fix a stupid mistake in UnwrapSimilarPointers that made any two member pointers compatible as long as the pointee was the same.
Make a few style corrections as suggested by Chris.
llvm-svn: 63215
2009-01-28 18:33:18 +00:00
Douglas Gregor
fb03466388
Complete semantic checking for typedef redeclarations in C++. The
...
rules are slightly different than in C, and now we handle both
dialects properly.
llvm-svn: 63211
2009-01-28 17:15:10 +00:00
Ted Kremenek
cdca288cf8
Updated checker build.
...
llvm-svn: 63200
2009-01-28 15:05:42 +00:00
Sebastian Redl
a5a77a6dc6
Add handling of member pointers to reinterpret_cast.
...
llvm-svn: 63150
2009-01-27 23:18:31 +00:00
Ted Kremenek
3efd355b9d
Updated checker build.
...
llvm-svn: 63140
2009-01-27 22:24:33 +00:00
Sebastian Redl
b44ab5f25d
Add support for member pointers to const_cast.
...
llvm-svn: 63055
2009-01-26 22:19:12 +00:00
Sebastian Redl
cf8e1fa58e
Update C++ status table with new member pointer conversion capabilities.
...
llvm-svn: 62977
2009-01-26 00:11:25 +00:00
Ted Kremenek
b239341ec4
Updated checker build.
...
llvm-svn: 62914
2009-01-24 08:11:59 +00:00
Ted Kremenek
94e826df0b
Updated checker build.
...
llvm-svn: 62818
2009-01-23 00:11:54 +00:00
Ted Kremenek
b46aead702
Updated checker build.
...
llvm-svn: 62655
2009-01-21 01:41:30 +00:00
Eli Friedman
75a495b495
Pixel font sizes are evil.
...
llvm-svn: 62586
2009-01-20 17:56:18 +00:00
Ted Kremenek
1da5987cb9
Update checker build.
...
llvm-svn: 62409
2009-01-17 06:41:35 +00:00
Ted Kremenek
f5359ea9d0
Updated checker build.
...
llvm-svn: 62379
2009-01-16 23:26:38 +00:00
Douglas Gregor
5fb5397238
Introduce support for C++0x explicit conversion operators (N2437)
...
Small cleanup in the handling of user-defined conversions.
Also, implement an optimization when constructing a call. We avoid
recomputing implicit conversion sequences and instead use those
conversion sequences that we computed as part of overload resolution.
llvm-svn: 62231
2009-01-14 15:45:31 +00:00
Ted Kremenek
f9d3f0711a
Updated checker build.
...
llvm-svn: 62137
2009-01-13 01:41:37 +00:00
Douglas Gregor
c5e61070f6
Add the proper restrictions on the left-hand argument of a built-in
...
assignment operator candidate (C++ [over.match.oper]p4).
llvm-svn: 62128
2009-01-13 00:52:54 +00:00
Douglas Gregor
ae5e28578c
Update C++ status and add a few more tests of overloading for member function calls
...
llvm-svn: 62121
2009-01-12 23:20:38 +00:00
Douglas Gregor
f4d332797b
Finished semantic analysis of anonymous unions in C++.
...
Duplicate-member checking within classes is still a little messy, and
anonymous unions are still completely broken in C. We'll need to unify
the handling of fields in C and C++ to make this code applicable in
both languages.
llvm-svn: 61878
2009-01-07 19:46:03 +00:00
Ted Kremenek
4cfd63b5a4
Update checker build.
...
llvm-svn: 61843
2009-01-07 01:10:24 +00:00
Douglas Gregor
d7c4d984d0
Parser support for C++ using directives, from Piotr Rak
...
llvm-svn: 61486
2008-12-30 03:27:21 +00:00
Sebastian Redl
58097c79c2
Fill in C++ status table for statements.
...
llvm-svn: 61457
2008-12-28 17:18:13 +00:00
Sebastian Redl
e10c2c32af
Implement checks for bool in increment and decrement.
...
llvm-svn: 61275
2008-12-20 09:35:34 +00:00
Ted Kremenek
ab66b87f7f
Updated checker build.
...
llvm-svn: 61273
2008-12-20 02:16:48 +00:00
Ted Kremenek
dde7df9de2
Updated checker build.
...
llvm-svn: 61233
2008-12-19 00:19:19 +00:00
Ted Kremenek
a1fd586dca
Updated checker build.
...
llvm-svn: 61173
2008-12-17 23:55:41 +00:00
Ted Kremenek
be3864ae6f
Updated checker build.
...
llvm-svn: 61151
2008-12-17 21:02:35 +00:00
Douglas Gregor
dd12c786a0
Added a test for default arguments added to out-of-line member
...
functions. They work except that name lookup within the default
arguments needs to be deferred until the class definition is complete
(see FIXME in the test).
llvm-svn: 61059
2008-12-16 00:08:34 +00:00
Ted Kremenek
d2f9cd1cbd
Updated checker build.
...
llvm-svn: 61002
2008-12-14 01:25:59 +00:00
Ted Kremenek
0bc1320d95
Updated checker build.
...
llvm-svn: 60864
2008-12-11 00:20:13 +00:00
Ted Kremenek
a30391c31f
Updated checker build.
...
llvm-svn: 60819
2008-12-10 00:50:24 +00:00
Sebastian Redl
e0c2affc5e
Fill in C++ status table for expressions.
...
llvm-svn: 60763
2008-12-09 14:40:01 +00:00
Sebastian Redl
82639aff7b
Fill in some parts of cxx_status.html
...
llvm-svn: 60699
2008-12-08 16:24:08 +00:00
Sebastian Redl
5c6ebcc198
Parsing new and delete is now complete.
...
llvm-svn: 60425
2008-12-02 17:22:40 +00:00
Sebastian Redl
351bb78a10
Handle new by passing the Declaration to the Action, not a processed type.
...
llvm-svn: 60413
2008-12-02 14:43:59 +00:00
Nuno Lopes
6cdcbd1f95
add note about running the test suite with valgrind
...
llvm-svn: 60029
2008-11-25 15:46:06 +00:00
Douglas Gregor
8e3e16ed2e
Update C++ status
...
llvm-svn: 59735
2008-11-20 16:46:32 +00:00
Douglas Gregor
ab7897ac44
Implement the rest of C++ [over.call.object], which permits the object
...
being called to be converted to a reference-to-function,
pointer-to-function, or reference-to-pointer-to-function. This is done
through "surrogate" candidate functions that model the conversions
from the object to the function (reference/pointer) and the
conversions in the arguments.
llvm-svn: 59674
2008-11-19 22:57:39 +00:00
Douglas Gregor
91cea0ad1e
Support for calling overloaded function call operators (operator())
...
with function call syntax, e.g.,
Functor f;
f(x, y);
This is the easy part of handling calls to objects of class type
(C++ [over.call.object]). The hard part (coping with conversions from
f to function pointer or reference types) will come later. Nobody uses
that stuff anyway, right? :)
llvm-svn: 59663
2008-11-19 21:05:33 +00:00
Douglas Gregor
40412acc02
Support overloading of the subscript operator[], including support for
...
built-in operator candidates. Test overloading of '&' and ','.
In C++, a comma expression is an lvalue if its right-hand
subexpression is an lvalue. Update Expr::isLvalue accordingly.
llvm-svn: 59643
2008-11-19 17:17:41 +00:00
Douglas Gregor
d08452f60a
Added operator overloading for unary operators, post-increment, and
...
post-decrement, including support for generating all of the built-in
operator candidates for these operators.
C++ and C have different rules for the arguments to the builtin unary
'+' and '-'. Implemented both variants in Sema::ActOnUnaryOp.
In C++, pre-increment and pre-decrement return lvalues. Update
Expr::isLvalue accordingly.
llvm-svn: 59638
2008-11-19 15:42:04 +00:00
Ted Kremenek
29704928b7
Updated checker build.
...
llvm-svn: 59591
2008-11-19 05:46:43 +00:00
Daniel Dunbar
bf45c9a4e4
Add some quick notes on the clang tests and running the LLVM test
...
suite with clang.
llvm-svn: 59536
2008-11-18 17:56:21 +00:00
Ted Kremenek
ee4fa9cfbb
Updated checker build.
...
llvm-svn: 59503
2008-11-18 07:27:02 +00:00
Ted Kremenek
f9f58f085d
Updated checker build.
...
llvm-svn: 59457
2008-11-17 19:26:13 +00:00
Ted Kremenek
9f748e23e3
Updated checker build.
...
llvm-svn: 59353
2008-11-15 04:57:19 +00:00
Sebastian Redl
ccdfabab35
Implement parsing and semantic checking of the 'mutable' keyword.
...
Thanks to Doug for the review. Actual effects of mutable to follow.
llvm-svn: 59331
2008-11-14 23:42:31 +00:00
Daniel Dunbar
62efa23518
Fix some validation errors.
...
llvm-svn: 59272
2008-11-13 23:01:34 +00:00
Daniel Dunbar
ed40bc19c9
Start a "hacking" page with some simple notes on getting started
...
developing clang.
llvm-svn: 59270
2008-11-13 22:49:41 +00:00
Ted Kremenek
83844100fb
Revert to older checker build.
...
llvm-svn: 59209
2008-11-13 01:30:19 +00:00
Ted Kremenek
d0e32791d5
Update checker build.
...
llvm-svn: 59206
2008-11-13 01:23:50 +00:00
Ted Kremenek
e9c16a6a79
Updated checker build.
...
llvm-svn: 59195
2008-11-12 23:26:57 +00:00
Sebastian Redl
c470476420
Implement C++ 'typeid' parsing and sema.
...
llvm-svn: 59042
2008-11-11 11:37:55 +00:00
Douglas Gregor
cd695e500d
Basic support for taking the address of an overloaded function
...
llvm-svn: 59000
2008-11-10 20:40:00 +00:00
Sebastian Redl
e0b2b1bf8c
Update C++ status: class support improved due to nested name parsing.
...
llvm-svn: 58932
2008-11-09 11:32:32 +00:00
Sebastian Redl
f4485de48a
Update C++ status to reflect parser capabilities for chapter 9 (classes). Slightly extend the class parser test.
...
llvm-svn: 58909
2008-11-08 15:40:37 +00:00
Sebastian Redl
2e133e47aa
Update C++ status: dynamic_cast is sema-complete.
...
llvm-svn: 58907
2008-11-08 14:43:13 +00:00
Cedric Venet
571c662350
Use css style instead of hard coded color in cxx_status. No visible change.
...
llvm-svn: 58867
2008-11-07 22:24:44 +00:00
Ted Kremenek
47a6235491
Updated checker build.
...
llvm-svn: 58864
2008-11-07 20:55:59 +00:00
Douglas Gregor
60e64cfc43
Update C++ status
...
llvm-svn: 58862
2008-11-07 20:16:04 +00:00
Douglas Gregor
7d5fc7e28b
Initial, rudimentary implementation of operator overloading for binary
...
operators. For example, one can now write "x + y" where x or y is a
class or enumeration type, and Clang will perform overload resolution
for "+" based on the overloaded operators it finds.
The other kinds of overloadable operators in C++ will follow this same
approach.
Three major issues remain:
1) We don't find member operators
2) Since we don't have user-defined conversion operators, we can't
call any of the built-in overloaded operators in C++ [over.built].
3) Once we've done the semantic checks, we drop the overloaded
operator on the floor; it doesn't get into the AST at all.
llvm-svn: 58821
2008-11-06 23:29:22 +00:00
Douglas Gregor
11d0c4c098
Parsing, ASTs, and semantic analysis for the declaration of overloaded
...
operators in C++. Overloaded operators can be called directly via
their operator-function-ids, e.g., "operator+(foo, bar)", but we don't
yet implement the semantics of operator overloading to handle, e.g.,
"foo + bar".
llvm-svn: 58817
2008-11-06 22:13:31 +00:00
Ted Kremenek
efc44cbf1f
Updated checker build.
...
llvm-svn: 58776
2008-11-05 22:47:25 +00:00
Douglas Gregor
831c93f6c0
Parsing, representation, and preliminary semantic analysis of destructors.
...
Implicit declaration of destructors (when necessary).
Extended Declarator to store information about parsed constructors
and destructors; this will be extended to deal with declarators that
name overloaded operators (e.g., "operator +") and user-defined
conversion operators (e.g., "operator int").
llvm-svn: 58767
2008-11-05 20:51:48 +00:00
Douglas Gregor
e8381c00eb
Initial implementation of parsing, semantic analysis, and AST-building
...
for constructor initializations, e.g.,
class A { };
class B : public A {
int m;
public:
B() : A(), m(17) { };
};
llvm-svn: 58749
2008-11-05 04:29:56 +00:00
Daniel Dunbar
40346506f1
Remove stray character.
...
llvm-svn: 58713
2008-11-04 18:44:31 +00:00
Douglas Gregor
242ee9dfae
Fine-grained C++ status page
...
llvm-svn: 58699
2008-11-04 15:52:45 +00:00
Ted Kremenek
307b2c4078
Updated checker build.
...
llvm-svn: 58672
2008-11-04 01:24:32 +00:00
Ted Kremenek
a3199323fe
Updated checker build.
...
llvm-svn: 58658
2008-11-04 00:03:24 +00:00
Daniel Dunbar
925dc26d51
Clarify performance experiments description based on feedback from
...
Eric C, thanks!
llvm-svn: 58634
2008-11-03 20:03:58 +00:00
Chris Lattner
ce149def9d
minor tweaks.
...
llvm-svn: 58545
2008-11-01 01:46:51 +00:00
Daniel Dunbar
05f13bcc2c
Grammar tweaks.
...
llvm-svn: 58544
2008-11-01 01:24:31 +00:00
Daniel Dunbar
13569f8dd6
Add recent timing results to web page.
...
llvm-svn: 58542
2008-11-01 01:14:36 +00:00
Ted Kremenek
883af75f01
Updated checker build.
...
llvm-svn: 58473
2008-10-30 23:41:37 +00:00
Daniel Dunbar
def9076430
Fix specification references link.
...
llvm-svn: 58412
2008-10-30 00:53:12 +00:00
Ted Kremenek
f521e4a90b
Update checker build.
...
llvm-svn: 58369
2008-10-29 06:19:03 +00:00
Ted Kremenek
02f9fd4a6c
Update checker build.
...
llvm-svn: 58289
2008-10-27 22:42:11 +00:00