Commit Graph

758 Commits

Author SHA1 Message Date
John Thompson a8cb86bfd4 Update clang web pages with respect to Windows
llvm-svn: 86200
2009-11-06 00:06:29 +00:00
Ted Kremenek 8b64a734b8 Update checker build.
llvm-svn: 86126
2009-11-05 08:07:41 +00:00
Daniel Dunbar 865418a462 Add link to FatELF project.
llvm-svn: 85888
2009-11-03 08:18:34 +00:00
Benjamin Kramer 53ba5f21ff Doug says this is medium done.
llvm-svn: 85592
2009-10-30 14:54:38 +00:00
Benjamin Kramer c1dea5dded cxx_status: fix some missing/wrong cells.
llvm-svn: 85591
2009-10-30 14:41:58 +00:00
Ted Kremenek a4bb75e486 Update checker build.
llvm-svn: 85511
2009-10-29 16:18:45 +00:00
Fariborz Jahanian 370606afee Restored note on pointer to members with a pointer
to issue involved.

llvm-svn: 85409
2009-10-28 18:06:53 +00:00
Fariborz Jahanian 7e4e44f5fa Removed a Note related to pointer to member functions which
does not seem to exist any longer.

llvm-svn: 85405
2009-10-28 17:25:01 +00:00
Douglas Gregor 19f3d70149 Test
explicit-instantiation-declaration-after-explicit-instantiation-definition
errors. This wraps up explicit template instantiation for now.

llvm-svn: 85347
2009-10-27 23:55:05 +00:00
Ted Kremenek 7fd48d8549 Update checker build.
llvm-svn: 84750
2009-10-21 08:00:24 +00:00
Fariborz Jahanian 9559ced10b Updated, we support == and != builtins for member pointers.
llvm-svn: 84679
2009-10-20 21:10:15 +00:00
Fariborz Jahanian 00c6d13dce Changes to reflect more pointer-to-member support.
llvm-svn: 84670
2009-10-20 20:31:50 +00:00
Daniel Dunbar b0e1c2bab5 Grammaro.
llvm-svn: 84388
2009-10-18 02:09:02 +00:00
Daniel Dunbar a1944d704e Describe/link some of the universal driver related work.
llvm-svn: 84369
2009-10-17 22:08:19 +00:00
Daniel Dunbar d512efa6d2 Add a "Universal Driver" open project, and web page.
llvm-svn: 84366
2009-10-17 21:50:11 +00:00
Daniel Dunbar bf4ca909e0 Add an open project. :)
llvm-svn: 84359
2009-10-17 20:43:50 +00:00
Daniel Dunbar 1623c28f36 Fix sentence-o.
llvm-svn: 84305
2009-10-17 03:28:37 +00:00
Douglas Gregor e266cc218a Our C++ support is far enough along now that we shouldn't be recommending the use of Elsa
llvm-svn: 84149
2009-10-14 21:54:48 +00:00
Douglas Gregor 054060c4ec Give ourselves an A- on ASTs for explicit specializations, since they
aren't rich enough to reproduce the source accurately.

llvm-svn: 84012
2009-10-13 19:41:44 +00:00
Douglas Gregor 62e10f0bdc Diagnose attempts to add default function arguments to a
specialization. This completes C++ [temp.expl.spec]!

llvm-svn: 83980
2009-10-13 17:02:54 +00:00
Douglas Gregor e3afaeb7e4 Minor CSS fix
llvm-svn: 83924
2009-10-12 23:15:14 +00:00
Douglas Gregor 0347f40eba Minor margin fix
llvm-svn: 83918
2009-10-12 22:52:00 +00:00
Sebastian Redl 8046049942 This ought to complete exception spec support. Man, am I glad.
llvm-svn: 83767
2009-10-11 09:14:57 +00:00
Douglas Gregor 1245e6ff69 Tests for C++ [expr], from James Porter!
llvm-svn: 83588
2009-10-08 22:38:14 +00:00
Ted Kremenek 9ece95150e Updated checker build.
llvm-svn: 83408
2009-10-06 20:19:01 +00:00
Benjamin Kramer d8e06611eb Fix typo.
llvm-svn: 83246
2009-10-02 12:19:16 +00:00
Chris Lattner b355495660 fix line #'s
llvm-svn: 83162
2009-09-30 20:20:06 +00:00
Chris Lattner 859f1b5b86 add some more popular examples, color code warning: and error: like the command line.
llvm-svn: 83161
2009-09-30 20:19:10 +00:00
Douglas Gregor 49663d2a23 Update C++ status page
llvm-svn: 83157
2009-09-30 18:32:57 +00:00
Ted Kremenek 73583083f7 Update checker build.
llvm-svn: 83074
2009-09-29 17:08:03 +00:00
Fariborz Jahanian 774cf79987 Patch for AST representation for the implicit conversion to a function
reference/pointer. And a test case for code gen.

llvm-svn: 83000
2009-09-28 18:35:46 +00:00
Cedric Venet 67f09df0db CMake generate VS2008 project and CLang and LLVM compile without problem on VS2008. Remove obsolete remark
llvm-svn: 82895
2009-09-27 10:34:36 +00:00
Ted Kremenek cdd3be5cc6 Update checker build.
llvm-svn: 82854
2009-09-26 07:39:39 +00:00
Chris Lattner 880d2d5788 pcc supports some c99
llvm-svn: 82774
2009-09-25 16:45:10 +00:00
Ted Kremenek 1947a7a338 Update checker build.
llvm-svn: 82749
2009-09-25 05:03:45 +00:00
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
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