Граф коммитов

594 Коммитов

Автор SHA1 Сообщение Дата
Ted Kremenek d5f1d1e990 Update checker build file (accidentally used old one).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73113 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-09 01:25:03 +00:00
Ted Kremenek ae2288c902 Fix link.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73112 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-09 01:24:15 +00:00
Ted Kremenek 591b907b3b Add skeleton files for new analyzer site.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73086 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08 21:21:24 +00:00
Ted Kremenek fa0378d772 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73001 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-06 17:44:12 +00:00
Daniel Dunbar e0b6ae7b80 Put "Language Extensions" and "C++ status" in the regular info section.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72879 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 18:39:08 +00:00
Daniel Dunbar c5f928ca2a Mention unsupported GCC duplicate-definition-with-inline extension.
Also, link users manual from the main web page.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72878 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 18:37:52 +00:00
Daniel Dunbar ce9f4966bc Another tweak to the clang Getting Started page.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72355 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-24 01:40:10 +00:00
Daniel Dunbar 05fc1c25d4 Minor updates to the clang Getting Started page.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72354 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-24 01:00:12 +00:00
Ted Kremenek f0fc7bf75f Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72084 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-19 00:48:25 +00:00
Ted Kremenek d79bf3976b Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71929 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-16 06:05:27 +00:00
Ted Kremenek 987edd2271 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71900 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15 21:56:27 +00:00
Ted Kremenek 2e24661a0f Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71874 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15 18:40:51 +00:00
Ted Kremenek 57315955d7 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71846 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15 05:59:34 +00:00
Ted Kremenek 57dc4a3bb7 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71716 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13 20:49:00 +00:00
Douglas Gregor 93dfdb1299 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).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71613 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13 00:25:59 +00:00
Douglas Gregor 4d9a16f36d 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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71608 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12 23:25:50 +00:00
Ted Kremenek 59e64cec90 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71605 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12 22:44:02 +00:00
Douglas Gregor 01cf112ad1 Align the N/A in the C++ status table, from Anders Johnsen
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71576 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12 18:36:58 +00:00
Douglas Gregor 0755402a12 Fill in more C++ status. We're now using the check mark to mean,
"complete, and we have tests for every paragraph".


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71564 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12 17:55:28 +00:00
Ted Kremenek 745812020e Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71523 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12 00:45:33 +00:00
Ted Kremenek 8c29e4e0c2 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71463 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11 19:02:11 +00:00
Ted Kremenek 8b2bc72651 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71435 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11 16:31:31 +00:00
Sebastian Redl 0393e285fd Update minor points in C++ status table.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71406 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10 20:06:11 +00:00
Sebastian Redl 6e8ed16ffe Implement C++0x nullptr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71405 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10 18:38:11 +00:00
Ted Kremenek 9f2e23e708 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71404 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10 17:41:29 +00:00
Ted Kremenek 11ddafb2e3 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71387 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10 05:54:23 +00:00
Ted Kremenek 6631686ddd Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71375 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10 02:22:16 +00:00
Ted Kremenek 11888a251b Roll back to checker build 0.195.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71348 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09 07:05:44 +00:00
Douglas Gregor 6d507a6d96 Big update to the C++ status table to reflect "recent"
development. Still much more to write!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71167 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-07 17:50:16 +00:00
Ted Kremenek e6863644c6 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71112 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-06 20:13:50 +00:00
Ted Kremenek d7a56d5bc5 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71046 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-06 00:14:14 +00:00
Ted Kremenek b9c7cbb2cc Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70961 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-05 03:56:29 +00:00
Ted Kremenek 8e5ebed362 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70858 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-04 14:24:29 +00:00
Daniel Dunbar b9876318cb Nightly test coverage reporting is back online.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70814 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03 23:46:18 +00:00
Ted Kremenek 4cef3c1efd Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70615 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-02 00:42:33 +00:00
Chris Lattner 356afa52f2 C/ObjC work well enough with clang for them not to be a gcc strength anymore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70528 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-01 01:42:13 +00:00
Chris Lattner 86a888854f add word
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70527 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-01 01:40:42 +00:00
Chris Lattner cb645ce073 C/ObjC work well enough to claim support for them now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70526 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-01 01:40:17 +00:00
Ted Kremenek 592073083c Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70489 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30 15:15:37 +00:00
Sebastian Redl 7dc813462d Have the parser communicate the exception specification to the action.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70389 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-29 17:30:04 +00:00
Ted Kremenek d8ca410832 Update analyzer build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70295 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-28 14:32:50 +00:00
Sebastian Redl 13e8854b18 Track down return statements in the handlers of a function-try-block of constructors. Meh ...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70256 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 21:33:24 +00:00
Sebastian Redl 972041f45b Improve validation of C++ exception handling: diagnose throwing incomplete types and jumps into protected try-catch scopes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70242 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 20:27:31 +00:00
Sebastian Redl f331fb40fd Fill in the C++ status table for exceptions
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70217 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 18:25:15 +00:00
Ted Kremenek 7eb83190c5 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70065 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-25 19:12:36 +00:00
Ted Kremenek f97364a022 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69940 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-23 23:42:21 +00:00
Ted Kremenek 1e27472262 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69776 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-22 05:13:56 +00:00
Sebastian Redl 78eb874222 Conditional operator C++ checking complete. What issues remain are in more general code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69555 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19 21:53:20 +00:00
Sebastian Redl 0b5e7fbb94 Add deleted functions and rvalue references to C++ status.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68903 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-12 17:41:24 +00:00
Ted Kremenek a634fae253 Update analyzer build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68860 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-11 04:57:08 +00:00
Ted Kremenek 871eb7c891 Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68782 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10 14:30:24 +00:00
Ted Kremenek 245d814ace Update analyzer build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68781 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10 14:29:25 +00:00
Ted Kremenek dab44daf8b Update analyzer build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68707 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-09 14:06:37 +00:00
Ted Kremenek c1279db9c3 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68516 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07 14:26:58 +00:00
Ted Kremenek 8c98039bb1 Fix grammar.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68331 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-02 18:20:13 +00:00
Ted Kremenek f4b1fd2028 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68302 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-02 06:33:06 +00:00
Douglas Gregor eff49c675c Add some examples of Fix-it hints to our documentation
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68210 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01 16:24:40 +00:00
Douglas Gregor 969c689d89 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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68207 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01 15:47:24 +00:00
Anders Carlsson 5705e53689 We fully support namespace aliases now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68116 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31 17:17:14 +00:00
Ted Kremenek 356ea7fb5d Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67976 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-29 00:43:39 +00:00
Ted Kremenek 9b16da332b Update "Getting Started" with more current information about 'clang-cc' and 'clang'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67850 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-27 16:32:57 +00:00
Douglas Gregor c6498f9625 Add another C++ open project
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67620 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24 16:16:53 +00:00
Anders Carlsson bc8a4f94a5 Remove a task that's completed now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67596 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24 01:25:56 +00:00
Anders Carlsson 1edac4d61d class.abstract is complete. Anything that doesn't work is a bug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24 01:24:06 +00:00
Ted Kremenek c63c885734 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67584 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24 00:35:59 +00:00
Ted Kremenek cd1dadd7cd Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67553 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-23 19:53:30 +00:00
Ted Kremenek 38a08d2749 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67498 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-23 02:00:36 +00:00
Douglas Gregor 33aa5199bb Link from the C++ status page to the open projects page
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67399 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20 20:39:57 +00:00
Douglas Gregor 252356597a Document some small- to mid-size open C++ projects
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67398 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20 20:37:36 +00:00
Chris Lattner 9ef369211d wording.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67337 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 22:03:42 +00:00
Chris Lattner cec8e77589 add link to new page
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67324 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 18:58:22 +00:00
Chris Lattner 7eee9f74b9 link to diags page.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67323 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 18:57:33 +00:00
Chris Lattner 202a7428f4 move most of the diags info out to its own file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67321 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 18:56:04 +00:00
Chris Lattner 76766017c1 split diagnostics examples out to its own file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67318 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 18:52:17 +00:00
Chris Lattner 4b79c50f53 add a note
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67290 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 07:06:44 +00:00
Chris Lattner 13cc23508f update our bragging about diagnostics. :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67289 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 06:52:51 +00:00
Ted Kremenek 6d898e8cf2 Update checker build
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67279 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 01:51:49 +00:00
Ted Kremenek 9499a2e57f Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67266 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 00:20:07 +00:00
Anders Carlsson c31a0cee75 We support static_assert.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67043 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16 17:28:26 +00:00
Ted Kremenek 27c0ccbf08 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66999 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14 00:46:46 +00:00
Ted Kremenek f61d231fef Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66926 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 18:48:36 +00:00
Douglas Gregor ef527386b9 Split get_involved into Get Involved and Open Projects pages
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66891 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 15:06:27 +00:00
Ted Kremenek 0d02c8f175 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66855 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 00:43:31 +00:00
Douglas Gregor 35adb754b6 Note some advances in our C++ support
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12 00:09:31 +00:00
Ted Kremenek e024c22226 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66643 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 06:11:39 +00:00
Chris Lattner ca8c49f9d2 update this, C headers don't need hacks anymore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66544 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 16:01:44 +00:00
Ted Kremenek c8ad3dcce2 Update analyzer build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66538 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 07:03:32 +00:00
Ted Kremenek e15b486ada Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66507 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 23:45:57 +00:00
Ted Kremenek b67db99d58 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66226 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 00:53:59 +00:00
Ted Kremenek 3f21f6c41c Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66152 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 07:55:15 +00:00
Daniel Dunbar 3d1c9462e3 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65980 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04 00:04:28 +00:00
Ted Kremenek ba1bc05785 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65916 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-03 01:44:57 +00:00
Ted Kremenek 134fc37000 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65676 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 02:04:49 +00:00
Ted Kremenek 6028ca1f28 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65625 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-27 07:16:04 +00:00
Gabor Greif 70f2a0485d fix (hopefully) some validation errors
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65455 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-25 15:22:45 +00:00
Gabor Greif 6cd81e82fc minor tweaks to readability
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65440 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-25 09:45:40 +00:00
Chris Lattner ddb85a7ae6 update
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65433 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-25 05:43:33 +00:00
Chris Lattner 12f708d896 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65432 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-25 05:39:01 +00:00
Chris Lattner d825883a1a clang seems "generally useful" for c and objc by now, though obviously bugs
still remain.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65431 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-25 05:35:47 +00:00
Ted Kremenek f4f5fa09b0 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65421 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-25 00:54:41 +00:00
Ted Kremenek b76fe917c2 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65350 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-23 23:37:29 +00:00
Ted Kremenek b9166420e0 Update to checker-0.162 (fixed header issue in tar.bz2 package).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65283 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22 08:50:06 +00:00
Ted Kremenek 0e24facb96 Reverted back to checker-0.161 because of a header issue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65281 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22 08:42:49 +00:00
Ted Kremenek 94b29c1ee9 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65280 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22 08:38:12 +00:00
Ted Kremenek 67b81e7792 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65227 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21 06:58:08 +00:00
Ted Kremenek 0527f0d0f3 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65054 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-19 19:08:21 +00:00
Ted Kremenek 73a1aa016b Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65033 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-19 07:22:21 +00:00
Ted Kremenek ed67b2c61c Fix comment: analyzer builds are universal binaries.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64950 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-18 21:24:14 +00:00
Ted Kremenek 09a9abc66b Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64879 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-18 03:09:29 +00:00
Ted Kremenek ed5a131179 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64753 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-17 07:47:57 +00:00
Cedric Venet 3d658640ab Add svn:eol-style=native to some files
Correct two files with inconsistent lines endings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64564 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-14 20:20:19 +00:00
Ted Kremenek 7e4966e92d Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64507 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-13 23:41:12 +00:00
Ted Kremenek 33b3d6b7c1 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64365 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-12 07:09:27 +00:00
Ted Kremenek d25c623a59 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64297 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-11 07:50:23 +00:00
Ted Kremenek c697fc3e2d Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64208 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-10 07:38:50 +00:00
Ted Kremenek fdfe09b526 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64190 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-10 00:53:39 +00:00
Chris Lattner ceca466513 spell out explicitly
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64129 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-09 08:47:44 +00:00
Chris Lattner dc3b86f6b4 add doc
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64128 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-09 08:47:17 +00:00
Chris Lattner 0a5166cb0a add another crazy idea :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64092 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 20:41:34 +00:00
Ted Kremenek 300e1d6b57 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64071 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 05:05:02 +00:00
Sebastian Redl 4a4251b9e7 Make const-initialized const integral variables I-C-Es in C++.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64015 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-07 13:06:23 +00:00
Sebastian Redl 3268825a8e Fill in C++ status table for section 7 (declarations).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64013 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-07 12:42:13 +00:00
Sebastian Redl 224605064a Implement dereferencing of pointers-to-member.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63983 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-07 00:15:38 +00:00
Ted Kremenek 4a3aed942b Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63897 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 23:19:12 +00:00
Ted Kremenek 13794eb888 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63869 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 15:48:51 +00:00
Sebastian Redl 33b399a8fd Implement taking address of member functions, including overloaded ones.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63779 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 21:23:32 +00:00
Ted Kremenek 90f76f256a Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63753 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 19:09:38 +00:00
Douglas Gregor 09413dca1b Argument Dependent Lookup is done (for now). Also, update the status
for a few other name-lookup sections.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63734 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 15:07:16 +00:00
Chris Lattner 37629a4142 codegen is much farther along than when this was first written.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63668 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 21:54:08 +00:00
Chris Lattner d5ab36e48c update a couple entries, add a new idea
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63665 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 21:51:37 +00:00
Ted Kremenek c83c29aec4 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63464 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-31 01:32:23 +00:00
Douglas Gregor 930d8b5ecc 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63431 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 22:09:00 +00:00
Sebastian Redl 21593acb93 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63215 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 18:33:18 +00:00
Douglas Gregor 6697312178 Complete semantic checking for typedef redeclarations in C++. The
rules are slightly different than in C, and now we handle both
dialects properly.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63211 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 17:15:10 +00:00
Ted Kremenek 65c9717234 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63200 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 15:05:42 +00:00
Sebastian Redl db64728e69 Add handling of member pointers to reinterpret_cast.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63150 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-27 23:18:31 +00:00
Ted Kremenek c6673033dc Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63140 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-27 22:24:33 +00:00
Sebastian Redl f20269b428 Add support for member pointers to const_cast.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63055 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-26 22:19:12 +00:00
Sebastian Redl 51abf6b3bf Update C++ status table with new member pointer conversion capabilities.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62977 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-26 00:11:25 +00:00
Ted Kremenek 00b3a85686 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62914 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-24 08:11:59 +00:00
Ted Kremenek 6849f737b7 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62818 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 00:11:54 +00:00
Ted Kremenek 86791a2864 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62655 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 01:41:30 +00:00
Eli Friedman 4f0c90ff1f Pixel font sizes are evil.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62586 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 17:56:18 +00:00
Ted Kremenek 6c9f8aaa67 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62409 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-17 06:41:35 +00:00
Ted Kremenek d4bd97dfdb Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62379 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 23:26:38 +00:00
Douglas Gregor 09f41cf63f 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62231 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 15:45:31 +00:00
Ted Kremenek 1601ce4376 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62137 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 01:41:37 +00:00
Douglas Gregor 88b4bf202a Add the proper restrictions on the left-hand argument of a built-in
assignment operator candidate (C++ [over.match.oper]p4).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62128 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 00:52:54 +00:00
Douglas Gregor 3f20a682ba Update C++ status and add a few more tests of overloading for member function calls
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62121 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 23:20:38 +00:00
Douglas Gregor 6b3945f4bc 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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61878 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07 19:46:03 +00:00
Ted Kremenek bdd686dc6a Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07 01:10:24 +00:00
Douglas Gregor f780abc21c Parser support for C++ using directives, from Piotr Rak
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61486 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-30 03:27:21 +00:00
Sebastian Redl 39e98008eb Fill in C++ status table for statements.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61457 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-28 17:18:13 +00:00
Sebastian Redl e6d5a4a583 Implement checks for bool in increment and decrement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61275 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20 09:35:34 +00:00
Ted Kremenek 848b34baf2 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61273 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-20 02:16:48 +00:00
Ted Kremenek 19bdedb4a4 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61233 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19 00:19:19 +00:00
Ted Kremenek e604628589 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61173 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17 23:55:41 +00:00
Ted Kremenek 2ab1657bb8 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61151 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17 21:02:35 +00:00
Douglas Gregor 69497c315f 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).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61059 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16 00:08:34 +00:00
Ted Kremenek 383ea9d07d Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61002 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-14 01:25:59 +00:00
Ted Kremenek 83df2d2301 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60864 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 00:20:13 +00:00
Ted Kremenek 4dc506cbbc Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60819 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 00:50:24 +00:00
Sebastian Redl 8b9ad38dab Fill in C++ status table for expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60763 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-09 14:40:01 +00:00
Sebastian Redl 377fa5d532 Fill in some parts of cxx_status.html
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60699 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-08 16:24:08 +00:00
Sebastian Redl 5eb1969ccc Parsing new and delete is now complete.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60425 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-02 17:22:40 +00:00
Sebastian Redl cee63fbf0e Handle new by passing the Declaration to the Action, not a processed type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60413 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-02 14:43:59 +00:00
Nuno Lopes ab4b2efea7 add note about running the test suite with valgrind
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60029 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-25 15:46:06 +00:00
Douglas Gregor 01f0fcd3ea Update C++ status
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59735 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-20 16:46:32 +00:00
Douglas Gregor 106c6eb3f1 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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59674 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 22:57:39 +00:00
Douglas Gregor f9eb905197 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? :)



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59663 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 21:05:33 +00:00
Douglas Gregor 337c6b9f5d 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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59643 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 17:17:41 +00:00
Douglas Gregor 7425373618 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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59638 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 15:42:04 +00:00
Ted Kremenek d064191a2d Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59591 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 05:46:43 +00:00
Daniel Dunbar 1f6572c67a Add some quick notes on the clang tests and running the LLVM test
suite with clang.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59536 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-18 17:56:21 +00:00
Ted Kremenek 5efd06853e Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59503 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-18 07:27:02 +00:00
Ted Kremenek d0b05a5d07 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59457 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-17 19:26:13 +00:00
Ted Kremenek 0501e22c07 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59353 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 04:57:19 +00:00
Sebastian Redl 669d5d74b8 Implement parsing and semantic checking of the 'mutable' keyword.
Thanks to Doug for the review. Actual effects of mutable to follow.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59331 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14 23:42:31 +00:00
Daniel Dunbar 2f064176f4 Fix some validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59272 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 23:01:34 +00:00
Daniel Dunbar 0d7c3f954b Start a "hacking" page with some simple notes on getting started
developing clang.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59270 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 22:49:41 +00:00
Ted Kremenek d6b8cca34d Revert to older checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59209 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 01:30:19 +00:00
Ted Kremenek 24a5815864 Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59206 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 01:23:50 +00:00
Ted Kremenek 1e5bb3c12a Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59195 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 23:26:57 +00:00
Sebastian Redl c42e118384 Implement C++ 'typeid' parsing and sema.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59042 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-11 11:37:55 +00:00
Douglas Gregor 904eed3f61 Basic support for taking the address of an overloaded function
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59000 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 20:40:00 +00:00
Sebastian Redl 9324e58a23 Update C++ status: class support improved due to nested name parsing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58932 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-09 11:32:32 +00:00
Sebastian Redl ab963c6221 Update C++ status to reflect parser capabilities for chapter 9 (classes). Slightly extend the class parser test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58909 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08 15:40:37 +00:00
Sebastian Redl ffb5b009f8 Update C++ status: dynamic_cast is sema-complete.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58907 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-08 14:43:13 +00:00
Cedric Venet d60b92760f Use css style instead of hard coded color in cxx_status. No visible change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58867 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07 22:24:44 +00:00
Ted Kremenek b737e86bad Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58864 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07 20:55:59 +00:00
Douglas Gregor ed1eedd5c4 Update C++ status
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58862 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07 20:16:04 +00:00
Douglas Gregor eaebc75ef6 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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58821 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-06 23:29:22 +00:00
Douglas Gregor 1cd1b1e987 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".



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58817 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-06 22:13:31 +00:00
Ted Kremenek ca35512082 Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58776 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-05 22:47:25 +00:00
Douglas Gregor 42a552f820 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").



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58767 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-05 20:51:48 +00:00
Douglas Gregor 7ad8390f79 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) { };
  };





git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58749 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-05 04:29:56 +00:00
Daniel Dunbar dac74157b1 Remove stray character.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58713 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 18:44:31 +00:00
Douglas Gregor 456f82da3f Fine-grained C++ status page
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58699 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 15:52:45 +00:00
Ted Kremenek 7cf95092bf Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58672 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 01:24:32 +00:00
Ted Kremenek 3c1847f82a Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58658 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 00:03:24 +00:00