Age | Commit message (Collapse) | Author | Files | Lines |
|
restrictions.
llvm-svn: 174601
|
|
name lookup has been performed in that context (this probably only happens in
C++).
1) Whenever we add names to a context, set a flag on it, and if we perform
lookup and discover that the context has had a lookup table built but has the
flag set, update all entries in the lookup table with additional names from
the external source.
2) When marking a DeclContext as having external visible decls, mark the
context in which lookup is performed, not the one we are adding. These won't
be the same if we're adding another copy of a pre-existing namespace.
llvm-svn: 174577
|
|
if it found any decls, rather than returning a list of found decls. This
removes a returning-ArrayRef-to-deleted-storage bug from
MultiplexExternalSemaSource (in code not exercised by any of the clang
binaries), reduces the work required in the found-no-decls case with PCH, and
importantly removes the need for DeclContext::lookup to be reentrant.
No functionality change intended!
llvm-svn: 174576
|
|
indicate the semantic DC if it's not the lexical DC. In passing, correct
the ascii-art child marker for a child of a FriendDecl.
llvm-svn: 174570
|
|
This is an improvement of r173630, that handles the following case:
struct VirualDestrClass
{
VirualDestrClass(int arg);
virtual ~VirualDestrClass();
};
struct ConstrWithCleanupsClass
{
ConstrWithCleanupsClass(const VirualDestrClass& cplx = VirualDestrClass(42));
};
ConstrWithCleanupsClass cwcNoArg;
That was printed as:
ConstrWithCleanupsClass cwcNoArg();
llvm-svn: 174296
|
|
llvm-svn: 174292
|
|
llvm-svn: 174287
|
|
llvm-svn: 174282
|
|
with nontrivial destructor.
llvm-svn: 174261
|
|
This change introduces a 'kind' attribute for the <Para> tag, that captures the
kind of the parent block command.
For example:
\todo Meow.
used to be just <Para>Meow.</Para>, but now it is
<Para kind="todo">Meow.</Para>
llvm-svn: 174216
|
|
http://llvm-reviews.chandlerc.com/D355
Patch by Philip Craig!
llvm-svn: 174171
|
|
\headerfile command and representing it in an xml
document. Patch reviewed by Dmitri Gribenko.
// rdar://12397511
llvm-svn: 174109
|
|
In cooperation with the LLVM patch, this should implement all scalar front-end
parts of the C and C++ ABIs for AArch64.
This patch excludes the NEON support also reviewed due to an outbreak of
batshit insanity in our legal department. That will be committed soon bringing
the changes to precisely what has been approved.
Further reviews would be gratefully received.
llvm-svn: 174055
|
|
llvm-svn: 174050
|
|
them the same if they are actually the same; having the same name isn't enough.
Similar to r174013, template template arguments were also mistakenly considered
the same when they had the same name but were in different namespaces.
In addition, when printing template template arguments, use the qualified name
if the regular name is the same.
llvm-svn: 174029
|
|
llvm-svn: 174025
|
|
Indents were given the color blue when outputting with color.
AST dumping now looks like this:
Node
|-Node
| `-Node
`-Node
`-Node
Compared to the previous:
(Node
(Node
(Node))
(Node
(Node)))
llvm-svn: 174022
|
|
same if they are actually the same; having the same name isn't
enough. Fixes <rdar://problem/12931988>.
llvm-svn: 174013
|
|
This reimplements r173850 with a better approach:
(1) use a TableGen-generated matcher instead of doing a linear search;
(2) avoid allocations for new strings by converting code points to string
iterals with TableGen.
llvm-svn: 173931
|
|
llvm-svn: 173927
|
|
This is required to use them in TableGen.
llvm-svn: 173924
|
|
an attribute for consistency with our other noreturn mechanisms.
llvm-svn: 173898
|
|
my last patch.
llvm-svn: 173856
|
|
references to their UTIF-8 encoding. Reviewed offline by Doug.
// rdar://12392215
llvm-svn: 173850
|
|
llvm-svn: 173802
|
|
decidedly non-reference, non-pointer type. Fixes <rdar://problem/13090123>.
llvm-svn: 173747
|
|
For fun, I added a comedy "actually obey the C++11 POD rules" option
which nobody is allowed to use.
llvm-svn: 173744
|
|
Patch by Will Wilson.
llvm-svn: 173630
|
|
does not have one of its own. // rdar://13067629
Original patch (r173586 and r173587) by Fariborz Jahanian, modified by me.
llvm-svn: 173626
|
|
typedef if"
It caused unexpected warnings with @tparam.
llvm-svn: 173614
|
|
llvm-svn: 173587
|
|
latter does not have one of its own. // rdar://13067629
llvm-svn: 173586
|
|
llvm-svn: 173581
|
|
llvm-svn: 173574
|
|
-f(no-)color-diagnostics. In addition, dumpColor() function calls are added
to force color printing. No structural changes to -ast-dump.
llvm-svn: 173548
|
|
This fixes PR15068.
llvm-svn: 173539
|
|
Title: [PR9027] volatile struct bug: member is not loaded at -O;
This is caused by last flag passed to @llvm.memcpy being false,
not honoring that aggregate has at least one 'volatile' data member
(even though aggregate itself has not been qualified as 'volatile'.
As a result, optimization optimizes away the memcpy altogether.
Patch review by John MaCall (I still need to fix up a test though).
llvm-svn: 173535
|
|
llvm-svn: 173521
|
|
latter does not have one of its own. // rdar://13067629
llvm-svn: 173516
|
|
never key functions. We did not implement that rule for the
iOS ABI, which was driven by what was implemented in gcc-4.2.
However, implement it now for other ARM-based platforms.
llvm-svn: 173515
|
|
llvm-svn: 173514
|
|
for template instantiations, and use it to simplify the implementation of
FunctionDecl::isInlined().
This incidentally changes the result of isInlined on a declared-but-not-defined
non-inline member function from true to false. This is sort of a bug fix, but
currently isInlined is only called on function definitions, so it has no visible
effects.
llvm-svn: 173397
|
|
llvm-svn: 173378
|
|
commented on and approved by Richard Smith.
llvm-svn: 173377
|
|
llvm-svn: 173274
|
|
llvm-svn: 173272
|
|
operations (as opposed to storage only half/fp16).
Also add some semantic checks for OpenCL half types.
llvm-svn: 173254
|
|
type with an implicit initializer expression.
Patch from Will Wilson <will@indefiant.com>!
llvm-svn: 173170
|
|
This change also makes the serialisation store the required semantics,
fixing an issue where PPC128 was always assumed when re-reading a
128-bit value.
llvm-svn: 173139
|
|
llvm-svn: 173035
|