summaryrefslogtreecommitdiffstats
path: root/llvm/docs/CodingStandards.rst
Commit message (Collapse)AuthorAgeFilesLines
* Fix some remaining documentation references to MSVC 2013Reid Kleckner2016-12-151-3/+2
| | | | | | | | MSVC 2015 has been the minimum supported version of VS since October. Differential Revision: https://reviews.llvm.org/D25710 llvm-svn: 289854
* Update docs to reflect new minimum MSVC version requirementReid Kleckner2016-10-191-5/+1
| | | | | | | | | | Mailing list discussion about this: http://lists.llvm.org/pipermail/llvm-dev/2016-September/104631.html Code changes to simplify the ifdefs will come next, and can be reverted without affecting the policy if someone needs it. llvm-svn: 284660
* [docs] Increase minimum supported GCC version for building LLVM to 4.8Teresa Johnson2016-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | Summary: The RFC proposal sent to increase the minimum required GCC version to 4.8 received a lot of support. See the following thread: http://lists.llvm.org/pipermail/llvm-dev/2016-October/105955.html, This patch implements that by updating the docs. I believe the references to libstdc++ 4.7 issues can be removed as well, please let me know if that is not the case or if they should be updated a different way. Reviewers: rengolin Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25683 llvm-svn: 284497
* [docs] Reduce the number of places 'minimum requirements' is mentioned to oneRenato Golin2016-10-171-1/+2
| | | | llvm-svn: 284380
* [docs] Fix naming style in the exampleAlexander Kornienko2016-09-271-1/+1
| | | | llvm-svn: 282490
* Make the coding standards a bit more clear that we prefer the fancy newChandler Carruth2016-09-011-4/+5
| | | | | | | | | | | auto-brief format for doxygen comments. Most notable is switching to that in the example doxygen comment. I've also tweaked the wording but am happy to tweak it further if others have suggestions here. Mostly doing this to capture something I and others have been writing consistently and repeatedly in code reviews. llvm-svn: 280419
* Update coding standards for include style.Zachary Turner2016-08-231-1/+11
| | | | | | | Reviewed By: lattner Differential Revision: https://reviews.llvm.org/D23591 llvm-svn: 279560
* Clarify the statement on using #if 0 ... #endif in CodingStandards.Andrey Bokhanko2016-08-171-2/+4
| | | | | | | | | The statement on using #if 0 ... #endif is not very clear (for people like me :-)). This patch clarifies it a bit to avoid confusion. Differential Revision: https://reviews.llvm.org/D23404 llvm-svn: 278932
* Disable Visual C++ 2013 Debug mode assert on null pointer in some STL ↵Yaron Keren2015-08-211-2/+0
| | | | | | | | | | | | | | | algorithms, such as std::equal on the third argument. This reverts previous workarounds. Predefining _DEBUG_POINTER_IMPL disables Visual C++ 2013 headers from defining it to a function performing the null pointer check. In practice, it's not that bad since any function actually using the nullptr will seg fault. The other iterator sanity checks remain enabled in the headers. Reviewed by Aaron Ballmanþ and Duncan P. N. Exon Smith. llvm-svn: 245711
* [docs] Fix minor typo in CodingStandards.rstVedant Kumar2015-08-191-1/+1
| | | | llvm-svn: 245473
* Rename all references to old mailing lists to new lists.llvm.org address.Tanya Lattner2015-08-051-1/+1
| | | | llvm-svn: 243999
* Doxygen: Enable autobrief feature and update coding standards.Matthias Braun2015-05-151-14/+15
| | | | llvm-svn: 237417
* Add a note about permitting default member initializersReid Kleckner2015-04-301-1/+7
| | | | | | | Use them in WinEHPrepare so that we can spot any toolchain bugs that come up. llvm-svn: 236244
* CodingStyle: Allow delegating ctorsBenjamin Kramer2015-03-061-0/+2
| | | | | | Delegating constructors seem to work fine with all supported compilers. llvm-svn: 231473
* Initializer lists are supported in MSVC 2013. Since that's our minimum ↵Aaron Ballman2015-03-041-3/+2
| | | | | | required version, we can move that to the list of acceptable C++11 features. llvm-svn: 231313
* Delete LLVM_DELETED_FUNCTION from coding standardsReid Kleckner2015-02-271-28/+0
| | | | | | | | | It didn't seem worth leaving behind a guideline to use '= delete' to make a class uncopyable. That's a well known C++ design pattern. Reported on the mailing list and in PR22724. llvm-svn: 230776
* fix a typoChris Lattner2015-02-251-1/+1
| | | | llvm-svn: 230510
* Document that defaulted & deleted methods and explicit conversions are ↵Benjamin Kramer2015-02-161-0/+7
| | | | | | allowed now. llvm-svn: 229369
* Remove LLVM_HAS_VARIADIC_TEMPLATES and all the faux variadic workarounds ↵Benjamin Kramer2015-02-151-0/+2
| | | | | | | | guarded by it. We no longer support compilers without variadic template support. llvm-svn: 229324
* Update the docs to require at least MSVC 2013.Benjamin Kramer2015-02-151-1/+1
| | | | llvm-svn: 229323
* Explicitly describe '///' versus '//' comment delimiters.Paul Robinson2015-01-221-2/+4
| | | | llvm-svn: 226750
* Introduce Go coding standards for LLVM.Peter Collingbourne2014-10-141-0/+19
| | | | | | | | | Rather than define our own standards, we adopt a set of best practices that are already in use by the Go community. Differential Revision: http://reviews.llvm.org/D5761 llvm-svn: 219646
* CodingStandards: Document std::equal misbehaviourDuncan P. N. Exon Smith2014-08-191-0/+2
| | | | | | | I should have included this as part of r215986, which worked around this corner by changing ArrayRef::equals() not to use std::equal. Alas. llvm-svn: 215988
* Remove the recommendation against using std::functionReid Kleckner2014-07-021-4/+1
| | | | | | | | Clang-cl supports MSVC-style RTTI now, and we can even compile typeid(...) with /GR-. Just don't instantiate std::function with a polymorphic type, or bad things will happen. llvm-svn: 212148
* Update programmers manual to cover llvm::function_ref, and add a note to theRichard Smith2014-05-061-0/+2
| | | | | | coding standard suggesting using it instead of the (unavailable) std::function. llvm-svn: 208067
* Revert accidentally-committed files.Richard Smith2014-05-061-2/+0
| | | | llvm-svn: 208034
* Re-commit r208025, reverted in r208030, with a fix for a conformance issueRichard Smith2014-05-061-0/+2
| | | | | | which GCC detects and Clang does not! llvm-svn: 208033
* C++11: Compatibility with (C++03 => MSVC)Duncan P. N. Exon Smith2014-04-171-3/+3
| | | | llvm-svn: 206481
* C++11: Document some limitations imposed by MSVCDuncan P. N. Exon Smith2014-04-171-0/+6
| | | | llvm-svn: 206480
* [docs] Fix up some links to the preferred style.Sean Silva2014-04-081-5/+2
| | | | | | | | | | | | | :doc:`...` and :ref:`...` links help Sphinx keep track the dependencies between documents and ensure that they are not pointing to nowhere. Raw HTML links work just fine and are easier for people less familiar with reST/Sphinx. They are easy to change over to the :doc:/:ref: style after the fact so this is not a problem. This commit doesn't fix all of them. llvm-svn: 205792
* C++11: Remove const from in auto guidelinesDuncan P. N. Exon Smith2014-03-071-7/+5
| | | | | | Using const is orthogonal to guidelines on using auto& and auto*. llvm-svn: 203257
* C++11: Copy pointers with const auto *Duncan P. N. Exon Smith2014-03-071-1/+5
| | | | llvm-svn: 203254
* Avoid std::function until PR19030 is fixedReid Kleckner2014-03-031-0/+4
| | | | | | | | | We'd like to keep the clang-cl self-host working until we implement MSVC-compatible RTTI. Differential Revision: http://llvm-reviews.chandlerc.com/D2930 llvm-svn: 202758
* Document that std::initializer_list is not always available.Peter Collingbourne2014-03-031-0/+3
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D2923 llvm-svn: 202750
* C++11: Beware unnecessary copies with autoDuncan P. N. Exon Smith2014-03-031-0/+21
| | | | | | | | It's easy to copy unintentionally when using 'auto', particularly inside range-based for loops. Best practise is to use 'const&' unless there's a good reason not to. llvm-svn: 202729
* Clarify struct usage guidelinesDuncan P. N. Exon Smith2014-03-031-5/+31
| | | | | | | | The current coding standards restrict the use of struct to PODs, but no one has been following them. This patch updates the standards to clarify when structs are dangerous and describe common practice in LLVM. llvm-svn: 202728
* [C++11] Suggest placing callable arguments as the last argument toChandler Carruth2014-03-021-0/+4
| | | | | | | | facilitate the nice formatting of lambdas passed there. Suggested by Chris during review of my lambda additions, and something I strongly agree with. llvm-svn: 202622
* [C++11] Update the coding standards to provide some important guidanceChandler Carruth2014-03-021-4/+126
| | | | | | | | | | about a few constructs in C++11 that are worth starting off in a consistent manner within the codebase. This will be matched with a change to clang-format's LLVM style which will switch the options to support C++11 and use these conventions. llvm-svn: 202620
* [docs] Fix some Sphinx warnings.Sean Silva2014-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The docs now build cleanly. Yay! The following warnings were fixed: /home/sean/pg/llvm/llvm/docs/HowToReleaseLLVM.rst:364: WARNING: Enumerated list ends without a blank line; unexpected unindent. /home/sean/pg/llvm/llvm/docs/InAlloca.rst:: WARNING: document isn't included in any toctree /home/sean/pg/llvm/llvm/docs/CodingStandards.rst:85: WARNING: Title underline too short. Supported C++11 Language and Library Features ------------------------------------------- /home/sean/pg/llvm/llvm/docs/CodingStandards.rst:85: WARNING: Title underline too short. Supported C++11 Language and Library Features ------------------------------------------- /home/sean/pg/llvm/llvm/docs/GettingStarted.rst:185: WARNING: Explicit markup ends without a blank line; unexpected unindent. /home/sean/pg/llvm/llvm/docs/GettingStarted.rst:565: WARNING: Explicit markup ends without a blank line; unexpected unindent. /home/sean/pg/llvm/llvm/docs/GettingStarted.rst:567: WARNING: Block quote ends without a blank line; unexpected unindent. llvm-svn: 202603
* [docs] Update the docs to remove my hedging about C++98 vs. C++11. =]Chandler Carruth2014-03-011-17/+16
| | | | | | | The switch has been thrown. While I'm still watching for any failures or problems with this, the documentation can go ahead and move forward. llvm-svn: 202566
* [docs] Clarify that there isn't much to be done other than watch buildChandler Carruth2014-02-281-0/+5
| | | | | | | | | | | | bots when using the standard library facilities. The missing pieces here aren't always in useful discreet chunks. Fortunately, the missing pieces are few and far between, and we can emulate most of them in our headers as needed. Based on feedback from Lang and Dave. llvm-svn: 202548
* Add more whitespace to fix more bullets.Richard Smith2014-02-281-0/+2
| | | | llvm-svn: 202538
* Add whitespace to try to fix bulleted list.Richard Smith2014-02-281-0/+1
| | | | llvm-svn: 202537
* Fix some links to C++11 feature papers in the Coding StandardsBen Langmuir2014-02-281-16/+16
| | | | llvm-svn: 202532
* [docs] Add a section to the coding standards about languages and such.Chandler Carruth2014-02-281-0/+115
| | | | | | | | | | | | | | | | A lot of this is writing down common knowledge and things often communicated on mailing lists and in discussions. It could live in the Programmer's Manual alternatively, but that felt slightly less well-fitting. It also includes (and was motivated by) the section on the relevant language standards for LLVM and the specific features that will be enabled with the switch to C++11. With this, all of the documentation for the C++11 switch is, I think, in place. I plan to flip the switch RSN. =] llvm-svn: 202497
* [docs] A slight tweak to the intro for the golden rule in the codingChandler Carruth2014-02-281-3/+3
| | | | | | | | | | | | | | | | standards. It claims the document intentionally doesn't give fixed standards for brace placement or spacing, and then the document goes on to do precisely that in several places. Instead, try to highlight that even these rules are simply *guidance* which may be trumped by some other circumstance or the local conventions of code. I'm not trying to change the thrust of this part of the document, and if folks think this does so, I'm happy to re-wordsmith it. I just don't want it to be so self-contradicting. llvm-svn: 202495
* Revert my commit in r199620 that added sections about namespaces to theChandler Carruth2014-01-201-97/+18
| | | | | | | | | | | | | | | | | | coding standards, and instead fix the existing section. Thanks to Daniel Jasper for pointing out we already had a section devoted to this topic. Instead of adding sections, just hack on this section some. Also fix the example in the anonymous namespace section below it to agree with the new advice. As a re-cap, this switches the LLVM preferred style to never indent namespaces. Having two approaches just led to endless (and utterly pointless) debates about what was "small enough". This wasn't helping anyone. The no-indent rule is easy to understand and doesn't really make anything harder to read. Moreover, with tools like clang-format it is considerably nicer to have simple consistent rules. llvm-svn: 199637
* Add some wording to the coding standards to say how to indent namespacesChandler Carruth2014-01-201-1/+45
| | | | | | | | | | | (and to mention namespace ending comments). This is based on a quick discussion on the developer mailing list where there was essentially no objections to a simple and consistent rule. This should avoid future debates about whether or not a namespace is "big enough" to indent. It also matches clang-format's current behavior with LLVM source code which hasn't really seen any opposition in code reviews that I spot checked. llvm-svn: 199620
* Correct word hyphenationsAlp Toker2013-12-051-1/+1
| | | | | | | This patch tries to avoid unrelated changes other than fixing a few hyphen-related ambiguities and contractions in nearby lines. llvm-svn: 196471
* Revert r189704, which removed the guidance about not duplicating doc comments.Chris Lattner2013-09-011-0/+7
| | | | | | This is under active discussion. llvm-svn: 189730
OpenPOWER on IntegriCloud