summaryrefslogtreecommitdiffstats
path: root/clang/www
Commit message (Collapse)AuthorAgeFilesLines
...
* Portable Python script across Python versionSerge Guelton2018-12-181-1/+1
| | | | | | | | | | | In Python3, dict.items, dict.keys, dict.values, zip, map and filter no longer return lists, they create generator instead. The portability patch consists in forcing an extra `list` call if the result is actually used as a list. `map` are replaced by list comprehension and `filter` by filtered list comprehension. Differential Revision: https://reviews.llvm.org/D55197 llvm-svn: 349501
* [constexpr][c++2a] Try-catch blocks in constexpr functionsBruno Cardoso Lopes2018-12-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | Implement support for try-catch blocks in constexpr functions, as proposed in http://wg21.link/P1002 and voted in San Diego for c++20. The idea is that we can still never throw inside constexpr, so the catch block is never entered. A try-catch block like this: try { f(); } catch (...) { } is then morally equivalent to just { f(); } Same idea should apply for function/constructor try blocks. rdar://problem/45530773 Differential Revision: https://reviews.llvm.org/D55097 llvm-svn: 348789
* [analyzer] INT50-CPP. Do not cast to an out-of-range enumeration checkerKristof Umann2018-11-241-0/+18
| | | | | | | | | | | | | | | This checker implements a solution to the "INT50-CPP. Do not cast to an out-of-range enumeration value" rule [1]. It lands in alpha for now, and a number of followup patches are planned in order to enable it by default. [1] https://www.securecoding.cert.org/confluence/display/cplusplus/INT50-CPP.+Do+not+cast+to+an+out-of-range+enumeration+value Patch by: Endre Fülöp and Alexander Zaitsev! Differential Revision: https://reviews.llvm.org/D33672 llvm-svn: 347513
* [c++20] Implement P0482R6: enable -fchar8_t by default in C++20 mode.Richard Smith2018-11-141-1/+7
| | | | | | | | | | | | | This unfortunately results in a substantial breaking change when switching to C++20, but it's not yet clear what / how much we should do about that. We may want to add a compatibility conversion from u8 string literals to const char*, similar to how C++98 provided a compatibility conversion from string literals to non-const char*, but that's not handled by this patch. The feature can be disabled in C++20 mode with -fno-char8_t. llvm-svn: 346892
* Implement P1094R2 (nested inline namespaces)Erich Keane2018-11-121-1/+1
| | | | | | | | As approved for the Working Paper in San Diego, support annotating inline namespaces with 'inline'. Change-Id: I51a654e11ffb475bf27cccb2458768151619e384 llvm-svn: 346677
* [cxx_status] Update for San Diego motions.Richard Smith2018-11-101-7/+51
| | | | llvm-svn: 346591
* Revert r345562: "PR23833, DR2140: an lvalue-to-rvalue conversion on a ↵Richard Smith2018-11-031-1/+1
| | | | | | | | | | | | glvalue of type" This exposes a (known) CodeGen bug: it can't cope with emitting lvalue expressions that denote non-odr-used but usable-in-constant-expression variables. See PR39528 for a testcase. Reverted for now until that issue can be fixed. llvm-svn: 346065
* [analyzer] Put llvm.Conventions back in alphaKristof Umann2018-11-021-0/+26
| | | | | | | | | | | | Interestingly, this many year old (when I last looked I remember 2010ish) checker was committed without any tests, so I thought I'd implement them, but I was shocked to see how I barely managed to get it working. The code is severely outdated, I'm not even sure it has ever been used, so I'd propose to move it back into alpha, and possibly even remove it. Differential Revision: https://reviews.llvm.org/D53856 llvm-svn: 345990
* PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of typeRichard Smith2018-10-301-1/+1
| | | | | | | | | nullptr_t does not access memory. We now reuse CK_NullToPointer to represent a conversion from a glvalue of type nullptr_t to a prvalue of nullptr_t where necessary. llvm-svn: 345562
* [C++17] Reject shadowing of capture by parameter in lambdaNicolas Lesser2018-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This change rejects the shadowing of a capture by a parameter in lambdas in C++17. ``` int main() { int a; auto f = [a](int a) { return a; }; } ``` results in: ``` main.cpp:3:20: error: a lambda parameter cannot shadow an explicitly captured entity auto f = [a](int a) { return a; }; ^ main.cpp:3:13: note: variable a is explicitly captured here auto f = [a](int a) { return a; }; ^ ``` Reviewers: rsmith Reviewed By: rsmith Subscribers: lebedev.ri, erik.pilkington, cfe-commits Differential Revision: https://reviews.llvm.org/D53595 llvm-svn: 345308
* Rebase defect report list.Nicolas Lesser2018-10-251-118/+172
| | | | llvm-svn: 345303
* update the clang doc about contributionsSylvestre Ledru2018-10-251-3/+4
| | | | llvm-svn: 345267
* [analyzer] [www] Drop references to GC mode, which was deprecated years agoGeorge Karpenkov2018-10-232-46/+10
| | | | | | Differential Revision: https://reviews.llvm.org/D53302 llvm-svn: 344991
* [analyzer][www] Update alpha_checks.htmlKristof Umann2018-10-212-112/+220
| | | | | | | | I added some missing doc. I have not developed any of these checkers, it might worth really inspecting whether I wrote something terribly incorrect. Differential Revision: https://reviews.llvm.org/D52969 llvm-svn: 344878
* [analyzer] [www] Minor improvements to the text in open_projectsGeorge Karpenkov2018-10-171-21/+18
| | | | llvm-svn: 344664
* [analyzer] [www] Updated a list of open projectsGeorge Karpenkov2018-10-171-128/+185
| | | | | | Differential Revision: https://reviews.llvm.org/D53024 llvm-svn: 344663
* [analyzer][www] Add more useful linksKristof Umann2018-10-091-14/+23
| | | | | | Differential Revision: https://reviews.llvm.org/D52993 llvm-svn: 344031
* Update Clang Windows getting started docsReid Kleckner2018-10-041-33/+66
| | | | | | | | | | | | | | | | | | Summary: - Update the example VS project generation to use VS2017. - Add docs for generating ninja build files, since they are popular. - Remove reference to "make update" which no longer exists. Mention the monorepo instead. - Try to explain gnuwin32/coreutils requirements better. - Use https:// links where possible Reviewers: zturner, STL_MSFT Subscribers: jfb, cfe-commits Differential Revision: https://reviews.llvm.org/D52843 llvm-svn: 343809
* [clang][www] Fix typo. NFCKristina Brooks2018-09-291-3/+3
| | | | | | | | | | | Fix a one letter typo in diagnostics.html. (Wanted to try it with arcanist). Patch by king6cong Differential Revision: https://reviews.llvm.org/D52511 llvm-svn: 343372
* [cxx2a] P0614R1: Support init-statements in range-based for loops.Richard Smith2018-09-281-1/+1
| | | | | | | We don't yet support this for the case where a range-based for loop is implicitly rewritten to an ObjC for..in statement. llvm-svn: 343350
* [cxx2a] P0641R2: (Some) type mismatches on defaulted functions onlyRichard Smith2018-09-281-1/+1
| | | | | | | | | | | | | | | | render the function deleted instead of rendering the program ill-formed. This change also adds an enabled-by-default warning for the case where an explicitly-defaulted special member function of a non-template class is implicitly deleted by the type checking rules. (This fires either due to this language change or due to pre-C++20 reasons for the member being implicitly deleted). I've tested this on a large codebase and found only bugs (where the program means something that's clearly different from what the programmer intended), so this is enabled by default, but we should revisit this if there are problems with this being enabled by default. llvm-svn: 343285
* [cxx2a] P0624R2: Lambdas with no capture-default areRichard Smith2018-09-271-1/+1
| | | | | | default-constructible and assignable. llvm-svn: 343279
* P1008R1 Classes with user-declared constructors are never aggregates inRichard Smith2018-09-261-1/+1
| | | | | | C++20. llvm-svn: 343131
* P0859R0: List-initialization is potentially-constant-evaluated andRichard Smith2018-09-261-1/+1
| | | | | | | | | | | | triggers instantiation of constexpr functions. We mostly implemented this since Clang 6, but missed the template instantiation case. We do not implement the '&cast-expression' special case. It appears to be a mistake / oversight. I've mailed CWG to see if we can remove it. llvm-svn: 343064
* P0969R0: allow structured binding of accessible members, not only public ↵Richard Smith2018-09-251-1/+1
| | | | | | members. llvm-svn: 343036
* [www] Change 'Clang 7' items from yellow to green now Clang 7 isRichard Smith2018-09-243-14/+11
| | | | | | released. llvm-svn: 342927
* [www] Update cxx_status to mark P0962R1 as done.Richard Smith2018-09-241-1/+1
| | | | llvm-svn: 342926
* use the current url for bugzillaSylvestre Ledru2018-09-223-3/+3
| | | | llvm-svn: 342802
* update the links to use httpsSylvestre Ledru2018-09-221-6/+6
| | | | llvm-svn: 342801
* redirecting to llvm.org/devmtgSylvestre Ledru2018-09-192-31/+4
| | | | llvm-svn: 342568
* [analyzer][UninitializedObjectChecker] New flag to ignore records based on ↵Kristof Umann2018-09-141-0/+7
| | | | | | | | | | | | | | | | | it's fields Based on a suggestion from @george.karpenkov. In some cases, structs are used as unions with a help of a tag/kind field. This patch adds a new string flag (a pattern), that is matched against the fields of a record, and should a match be found, the entire record is ignored. For more info refer to http://lists.llvm.org/pipermail/cfe-dev/2018-August/058906.html and to the responses to that, especially http://lists.llvm.org/pipermail/cfe-dev/2018-August/059215.html. Differential Revision: https://reviews.llvm.org/D51680 llvm-svn: 342220
* Use Chrome and Firefox as example of success for clangSylvestre Ledru2018-09-141-5/+5
| | | | llvm-svn: 342216
* remove 11 years old videos from the homepage. if you have a suggestion, ↵Sylvestre Ledru2018-09-141-10/+0
| | | | | | please drop me an email llvm-svn: 342214
* update the doc to compare with gcc 4.9 instead of 4.2Sylvestre Ledru2018-09-141-2/+5
| | | | llvm-svn: 342212
* gcc is now returning the same output on this example, removing this exampleSylvestre Ledru2018-09-141-6/+0
| | | | llvm-svn: 342211
* [cxx_status] Use the correct color for a feature in "SVN" statusRichard Smith2018-08-301-1/+1
| | | | llvm-svn: 341110
* [analyzer][UninitializedObjectChecker] Added documentation to the checker listKristof Umann2018-08-211-0/+112
| | | | | | Differential Revision: https://reviews.llvm.org/D50904 llvm-svn: 340266
* [Sema] P0961R1: Relaxing the structured bindings customization point finding ↵Erik Pilkington2018-08-091-1/+1
| | | | | | | | rules Differential revision: https://reviews.llvm.org/D50418 llvm-svn: 339375
* [www] Update cxx_status and cxx_dr_status now that Clang 7 has branched.Richard Smith2018-08-043-12/+15
| | | | llvm-svn: 338942
* [WWW] Fixing file permissions for the .html pages.Mike Edwards2018-07-2716-0/+0
| | | | llvm-svn: 338098
* [WWW] Removing my test file as the auto-deployment script has been fixed.Mike Edwards2018-07-261-6/+0
| | | | llvm-svn: 338087
* [WWW] Adding a test page to work out an auto-deployment issue.Mike Edwards2018-07-261-0/+6
| | | | llvm-svn: 338086
* [www] Add CodeCompass and CodeChecker to Clang Related Projects pageBruno Cardoso Lopes2018-07-201-0/+22
| | | | llvm-svn: 337555
* Restructure checking for, and warning on, lifetime extension.Richard Smith2018-07-171-2/+2
| | | | | | | | | | | | | This change implements C++ DR1696, which makes initialization of a reference member of a class from a temporary object ill-formed. The standard wording here is imprecise, but we interpret it as meaning that any time a mem-initializer would result in lifetime extension, the program is ill-formed. This reinstates r337226, reverted in r337255, with a fix for the InitializedEntity alignment problem that was breaking ARM buildbots. llvm-svn: 337329
* Temporarily revert r337226 "Restructure checking for, and warning on, ↵Florian Hahn2018-07-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | lifetime extension." This change breaks on ARM because pointers to clang::InitializedEntity are only 4 byte aligned and do not have 3 bits to store values. A possible solution would be to change the fields in clang::InitializedEntity to enforce a bigger alignment requirement. The error message is llvm/include/llvm/ADT/PointerIntPair.h:132:3: error: static_assert failed "PointerIntPair with integer size too large for pointer" static_assert(IntBits <= PtrTraits::NumLowBitsAvailable, include/llvm/ADT/PointerIntPair.h:73:13: note: in instantiation of template class 'llvm::PointerIntPairInfo<const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *> >' requested here Value = Info::updateInt(Info::updatePointer(0, PtrVal), llvm/include/llvm/ADT/PointerIntPair.h:51:5: note: in instantiation of member function 'llvm::PointerIntPair<const clang::InitializedEntity *, 3, (anonymous namespace)::LifetimeKind, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *>, llvm::PointerIntPairInfo<const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *> > >::setPointerAndInt' requested here setPointerAndInt(PtrVal, IntVal); ^ llvm/tools/clang/lib/Sema/SemaInit.cpp:6237:12: note: in instantiation of member function 'llvm::PointerIntPair<const clang::InitializedEntity *, 3, (anonymous namespace)::LifetimeKind, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *>, llvm::PointerIntPairInfo<const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *> > >::PointerIntPair' requested here return {Entity, LK_Extended}; Full log here: http://lab.llvm.org:8011/builders/clang-cmake-armv7-global-isel/builds/1330 http://lab.llvm.org:8011/builders/clang-cmake-armv7-full/builds/1394 llvm-svn: 337255
* Restructure checking for, and warning on, lifetime extension.Richard Smith2018-07-171-2/+2
| | | | | | | | | | This change implements C++ DR1696, which makes initialization of a reference member of a class from a temporary object ill-formed. The standard wording here is imprecise, but we interpret it as meaning that any time a mem-initializer would result in lifetime extension, the program is ill-formed. llvm-svn: 337226
* DR330: look through array types when forming the cv-decomposition of a type.Richard Smith2018-07-111-1/+1
| | | | | | | | | | This allows more qualification conversions, eg. conversion from 'int *(*)[]' -> 'const int *const (*)[]' is now permitted, along with all the consequences of that: more types are similar, more cases are permitted by const_cast, and conversely, fewer "casting away constness" cases are permitted by reinterpret_cast. llvm-svn: 336745
* [www] Update cxx_dr_status for recent DR fixes.Richard Smith2018-06-271-4/+4
| | | | llvm-svn: 335782
* P0096R5, P0941R2: Update to match latest feature test macro specification.Richard Smith2018-06-141-10/+15
| | | | llvm-svn: 334677
* [www] Update cxx_status page for Rapperswil motions.Richard Smith2018-06-141-4/+47
| | | | llvm-svn: 334674
OpenPOWER on IntegriCloud