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