| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 124376
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
invalid PresomedLoc, instead of just silencing it.
FileManager.cpp: Allow virtual files in nonexistent directories.
FileManager.cpp: Close FileDescriptor for virtual files that correspond to actual files.
FileManager.cpp: Enable virtual files to be created even for files that were flagged as NON_EXISTENT_FILE, e.g. by a prior (unsuccessful) addFile().
ASTReader.cpp: Read a PCH even if the original source files cannot be found.
Add a test for reading a PCH of a file that has been removed and diagnostics referencing that file.
llvm-svn: 124374
|
| |
|
|
|
|
|
|
|
| |
deallocation function has a two-argument form. Store the result of this
check in new[] and delete[] nodes.
Fixes rdar://problem/8913519
llvm-svn: 124373
|
| |
|
|
| |
llvm-svn: 124364
|
| |
|
|
| |
llvm-svn: 124363
|
| |
|
|
|
|
| |
static analyzer.
llvm-svn: 124360
|
| |
|
|
|
|
| |
C++ 'bool' types to false.
llvm-svn: 124356
|
| |
|
|
| |
llvm-svn: 124352
|
| |
|
|
|
|
| |
My thanks to chapuni for his help in investigating this.
llvm-svn: 124351
|
| |
|
|
| |
llvm-svn: 124349
|
| |
|
|
|
|
| |
blocks that reference captured variables.
llvm-svn: 124348
|
| |
|
|
| |
llvm-svn: 124347
|
| |
|
|
|
|
|
|
|
|
| |
argument but doesn't (because previous template parameters had default
arguments), clear out all of the default arguments so that we maintain
the invariant that a template parameter has a default argument only if
subsequence template parameters also have default arguments.
Fixes a crash-on-invalid <rdar://problem/8913649>.
llvm-svn: 124345
|
| |
|
|
|
|
| |
diagnostic about ref-qualifiers where they do not belong.
llvm-svn: 124344
|
| |
|
|
|
|
|
|
|
|
|
| |
derived-to-base cast that also casts away constness (one of the cases
for static_cast followed by const_cast) would be treated as a bit-cast
rather than a derived-to-base class, causing miscompiles and
heartburn.
Fixes <rdar://problem/8913298>.
llvm-svn: 124340
|
| |
|
|
|
|
|
| |
referenced in the block-literal initializer
of that variable. // rdar://8893785
llvm-svn: 124332
|
| |
|
|
|
|
| |
documentation.
llvm-svn: 124322
|
| |
|
|
|
|
|
|
| |
overload a function without a ref-qualifier (C++0x
[over.load]p2). This, apparently, completes the implementation of
rvalue references for *this.
llvm-svn: 124321
|
| |
|
|
| |
llvm-svn: 124319
|
| |
|
|
|
|
|
| |
distinguish them from rvalue references. Using the rvalue-references
warning was weird when the ref-qualifier was '&'.
llvm-svn: 124316
|
| |
|
|
|
|
| |
element type. Fixes rdar://problem/8913416.
llvm-svn: 124315
|
| |
|
|
|
|
|
|
|
| |
reference binding is for the implicit object parameter of a member
function with a ref-qualifier. My previous comment, that we didn't
need to track this explicitly, was wrong: we do in fact get
rvalue-references-prefer-rvalues overloading with ref-qualifiers.
llvm-svn: 124313
|
| |
|
|
|
|
|
| |
for the implicit object argument to a non-static member function with
a ref-qualifier (C++0x [over.match.funcs]p4).
llvm-svn: 124311
|
| |
|
|
| |
llvm-svn: 124310
|
| |
|
|
|
|
| |
dtor cleanup use it.
llvm-svn: 124309
|
| |
|
|
|
|
|
|
|
| |
the presence and form of a ref-qualifier. Note that we do *not* yet
implement the restriction in C++0x [over.load]p2 that requires either
all non-static functions with a given parameter-type-list to have a
ref-qualifier or none of them to have a ref-qualifier.
llvm-svn: 124297
|
| |
|
|
|
|
|
|
| |
using rules that I just made up this morning. This encoding has now
been proposed to the Itanium C++ ABI group for inclusion, but of
course it's still possible that the mangling will change.
llvm-svn: 124296
|
| |
|
|
| |
llvm-svn: 124295
|
| |
|
|
|
|
|
| |
the restrictions on .* and ->* for ref-qualified pointer-to-member
functions.
llvm-svn: 124294
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't publicize a C++0x feature through __has_feature if we aren't
in C++0x mode (even if the feature is available only with a
warning).
- "auto" is not implemented well enough for its __has_feature to be
turned on.
- Fix the test of C++0x __has_feature to actually test what we're
trying to test. Searching for the substring "foo" when our options
are "foo" and "no_foo" doesn't work :)
llvm-svn: 124291
|
| |
|
|
|
|
| |
rules), now that we've actually have a clean build for me to sully.
llvm-svn: 124290
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Add ref-qualifiers to the type system; they are part of the
canonical type. Print & profile ref-qualifiers
- Translate the ref-qualifier from the Declarator chunk for
functions to the function type.
- Diagnose mis-uses of ref-qualifiers w.r.t. static member
functions, free functions, constructors, destructors, etc.
- Add serialization and deserialization of ref-qualifiers.
llvm-svn: 124281
|
| |
|
|
|
|
|
|
|
| |
after a 'return' in a CFGBlock. This accidentally
was working before, but the false assumption that
'return' always appeared at the end of the block
was uncovered by a recent change.
llvm-svn: 124280
|
| |
|
|
|
|
|
| |
a warning for uses of an uninitialized variable
when the use is a void cast, e.g. (void) x.
llvm-svn: 124278
|
| |
|
|
|
|
|
|
| |
I'm separately committing this because it incidentally changes some
block orderings and minor IR issues, like using a phi instead of
an unnecessary alloca.
llvm-svn: 124277
|
| |
|
|
| |
llvm-svn: 124276
|
| |
|
|
|
|
| |
converting getBaseClassOffsetInBits() to CharUnits.
llvm-svn: 124274
|
| |
|
|
|
|
|
|
| |
'-analyzer-check-objc-self-init' which by default
is enabled by the driver for '--analyze'.
llvm-svn: 124266
|
| |
|
|
|
|
|
|
| |
about the block.
Clairvoyance by John!
llvm-svn: 124264
|
| |
|
|
| |
llvm-svn: 124263
|
| |
|
|
|
|
| |
in default ivar synthesis. Fixes // rdar://8913053.
llvm-svn: 124258
|
| |
|
|
|
|
| |
Jean-Daniel Dupas!
llvm-svn: 124249
|
| |
|
|
| |
llvm-svn: 124247
|
| |
|
|
| |
llvm-svn: 124244
|
| |
|
|
| |
llvm-svn: 124243
|
| |
|
|
|
|
|
|
| |
array type" when blocks are involved.
Addresses rdar://8876238.
llvm-svn: 124242
|
| |
|
|
|
|
|
|
|
|
| |
handling all CFGElement kinds. While writing
the test case, it turned out that return-noreturn.cpp
wasn't actually testing anything since it has the wrong -W
flag. That uncovered another regression with
the handling of destructors marked noreturn. WIP.
llvm-svn: 124238
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
for reference binding (C++ [over.rank.ics]p3b1sb4), so that we prefer
the binding of an lvalue reference to a function lvalue over the
binding of an rvalue reference. This change resolves the ambiguity
with std::forward and lvalue references to function types in a way
that seems consistent with the original rvalue references proposal.
My proposed wording for this change is shown in
isBetterReferenceBindingKind(); we'll try to get this change adopted
in the C++0x working paper as well.
llvm-svn: 124236
|
| |
|
|
| |
llvm-svn: 124235
|
| |
|
|
|
|
| |
about them yet. Fixes crash reported in PR 9049.
llvm-svn: 124228
|