| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 245473
|
|
|
|
| |
llvm-svn: 243999
|
|
|
|
| |
llvm-svn: 237417
|
|
|
|
|
|
|
| |
Use them in WinEHPrepare so that we can spot any toolchain bugs that
come up.
llvm-svn: 236244
|
|
|
|
|
|
| |
Delegating constructors seem to work fine with all supported compilers.
llvm-svn: 231473
|
|
|
|
|
|
| |
required version, we can move that to the list of acceptable C++11 features.
llvm-svn: 231313
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 230510
|
|
|
|
|
|
| |
allowed now.
llvm-svn: 229369
|
|
|
|
|
|
|
|
| |
guarded by it.
We no longer support compilers without variadic template support.
llvm-svn: 229324
|
|
|
|
| |
llvm-svn: 229323
|
|
|
|
| |
llvm-svn: 226750
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
coding standard suggesting using it instead of the (unavailable) std::function.
llvm-svn: 208067
|
|
|
|
| |
llvm-svn: 208034
|
|
|
|
|
|
| |
which GCC detects and Clang does not!
llvm-svn: 208033
|
|
|
|
| |
llvm-svn: 206481
|
|
|
|
| |
llvm-svn: 206480
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
: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
|
|
|
|
|
|
| |
Using const is orthogonal to guidelines on using auto& and auto*.
llvm-svn: 203257
|
|
|
|
| |
llvm-svn: 203254
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D2923
llvm-svn: 202750
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 202538
|
|
|
|
| |
llvm-svn: 202537
|
|
|
|
| |
llvm-svn: 202532
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
| |
This patch tries to avoid unrelated changes other than fixing a few
hyphen-related ambiguities and contractions in nearby lines.
llvm-svn: 196471
|
|
|
|
|
|
| |
This is under active discussion.
llvm-svn: 189730
|
|
|
|
|
|
|
| |
implementation files. While doc generation systems don't need this,
humans do benefit from it. Not everyone reads all code through doxygen.
llvm-svn: 189704
|
|
|
|
| |
llvm-svn: 187902
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
definition
Current practice is not to use 'inline' in:
class Foo {
public:
inline void bar() {
// ...
}
};
llvm-svn: 174317
|
|
|
|
| |
llvm-svn: 173103
|
|
|
|
|
|
|
|
|
| |
Before we learned about :doc:, we used :ref: and put a dummy link at the
top of each page. Don't do that anymore.
This fixes PR14891 as a special case.
llvm-svn: 172162
|
|
|
|
|
|
|
| |
trivially achievable with an editor. I'll likely check in a silly python
script to help with this too.
llvm-svn: 169107
|
|
|
|
|
|
| |
Some variables in code examples were not LikeThis.
llvm-svn: 168275
|
|
|
|
| |
llvm-svn: 168271
|