| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 97643
|
|
|
|
| |
llvm-svn: 97641
|
|
|
|
|
|
|
|
| |
that are hidden by other derived base subobjects reached along a
lookup path that does *not* pass through the hiding subobject (C++
[class.member.lookup]p6). Fixes PR6462.
llvm-svn: 97640
|
|
|
|
|
|
|
| |
__builtin_frob_return_address. The implementations for both are
still trivial in the default case.
llvm-svn: 97638
|
|
|
|
|
|
|
|
| |
for the base destructor, because aliases to declarations aren't legal.
Fixes PR 6471.
llvm-svn: 97637
|
|
|
|
|
|
|
| |
level. No functionality change, and it obeys access control this
time.
llvm-svn: 97634
|
|
|
|
| |
llvm-svn: 97625
|
|
|
|
|
|
|
| |
If an initializer in a DeclStmt references the declared variable, that
extends the liveness of that variable.
llvm-svn: 97624
|
|
|
|
| |
llvm-svn: 97621
|
|
|
|
|
|
|
|
| |
(even if it is defined). This fixes the issue of this function
returning '0' when SVN_VERSION is defined to be "".
Fixes: <rdar://problem/7663667>
llvm-svn: 97620
|
|
|
|
| |
llvm-svn: 97619
|
|
|
|
|
|
| |
static function. No functionality change.
llvm-svn: 97618
|
|
|
|
| |
llvm-svn: 97615
|
|
|
|
|
|
| |
intermittent Windows failure
llvm-svn: 97613
|
|
|
|
|
|
| |
come back to bite us at some point.
llvm-svn: 97607
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarations after the member has been explicitly specialized. We already
did this after explicit instantiation definitions; not doing it for
declarations meant that subsequent definitions would see a previous
member declaration with specialization kind "explicit instantiation decl",
which would then happily get overridden.
Fixes PR 6458.
llvm-svn: 97605
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After discussion with Zhongxing, don't force the initializer of DeclStmts to be
block-level expressions.
This led to some interesting fallout:
[UninitializedValues]
Always visit the initializer of DeclStmts (do not assume they are block-level expressions).
[BasicStore]
With initializers of DeclStmts no longer block-level expressions, this causes self-referencing initializers (e.g. 'int x = x') to no longer cause the initialized variable to be live before the DeclStmt. While this is correct, it caused BasicStore::RemoveDeadBindings() to prune off the values of these variables from the initial store (where they are set to uninitialized). The fix is to back-port some (and only some) of the lazy-binding logic from RegionStore to
BasicStore. Now the default values of local variables are determined lazily as opposed
to explicitly initialized.
llvm-svn: 97591
|
|
|
|
| |
llvm-svn: 97590
|
|
|
|
|
|
|
|
| |
we need to synthesize has been marked as used by Sema.
Change Sema to avoid these asserts.
llvm-svn: 97589
|
|
|
|
|
|
| |
GCC. Fixes PR6301.
llvm-svn: 97579
|
|
|
|
| |
llvm-svn: 97575
|
|
|
|
|
|
| |
careful about value-dependent enumerators. Fixes PR5786.
llvm-svn: 97570
|
|
|
|
| |
llvm-svn: 97569
|
|
|
|
|
|
|
| |
used to do this, but it got lost when we switched functional-style
cast syntax over to using the new initialization code. Fixes PR6457.
llvm-svn: 97568
|
|
|
|
|
|
|
|
| |
use scan-build with Wine, for example.
Ted, I hope this is OK.
llvm-svn: 97566
|
|
|
|
|
|
|
| |
We may query their liveness because they are added to store when passing
argument values.
llvm-svn: 97562
|
|
|
|
|
|
| |
base/member initializers.
llvm-svn: 97560
|
|
|
|
| |
llvm-svn: 97551
|
|
|
|
|
|
|
|
|
|
|
| |
implemented a (codegen) target hook for __builtin_extend_pointer.
I'm also making it return a uint64_t instead of an unsigned word; this
comports with typical usage (i.e. the one use I know of).
I don't know if any of the existing targets requires this hook to be
set (other than x86 and x86_64, which I know do not).
llvm-svn: 97547
|
|
|
|
|
|
| |
construction vtable work.
llvm-svn: 97546
|
|
|
|
|
|
| |
Patch by Oleksandr Tymoshenko!
llvm-svn: 97544
|
|
|
|
|
|
|
| |
does, document the results and then implement __builtin_extend_pointer for
platforms where it's a no-op.
llvm-svn: 97540
|
|
|
|
| |
llvm-svn: 97535
|
|
|
|
|
|
|
|
|
|
|
| |
for the purposes of parsing default arguments. In effect, we would
re-introduce the parameter with a default argument N times (where N is
the number of parameters preceding the parameter with a default
argument). This showed up when a defaulted parameter of a member
function of a local class shadowed a parameter of the enclosing
function. Fixes PR6383.
llvm-svn: 97534
|
|
|
|
|
|
| |
Satisfies radar 7703202.
llvm-svn: 97532
|
|
|
|
| |
llvm-svn: 97528
|
|
|
|
|
|
|
|
| |
*not* entering the context of the nested-name-specifier. This was
causing us to look into an uninstantiated template that we shouldn't
look into. Fixes PR6376.
llvm-svn: 97524
|
|
|
|
|
|
|
|
|
|
|
| |
category. Use this in a few places to eliminate unnecessary TST cases and
do some future-proofing. Provide terrible manglings for typeof. Mangle
decltype with some hope of accuracy.
Our manglings for some of the cases covered in the testcase are different
from gcc's, which I've raised as an issue with the ABI list.
llvm-svn: 97523
|
|
|
|
|
|
| |
Radar 7696893.
llvm-svn: 97520
|
|
|
|
| |
llvm-svn: 97519
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
which has the label map, switch statement stack, etc. Previously, we
had a single set of maps in Sema (for the function) along with a stack
of block scopes. However, this lead to funky behavior with nested
functions, e.g., in the member functions of local classes.
The explicit-stack approach is far cleaner, and we retain a 1-element
cache so that we're not malloc/free'ing every time we enter a
function. Fixes PR6382.
Also, tweaked the unused-variable warning suppression logic to look at
errors within a given Scope rather than within a given function. The
prior code wasn't looking at the right number-of-errors count when
dealing with blocks, since the block's count would be deallocated
before we got to ActOnPopScope. This approach works with nested
blocks/functions, and gives tighter error recovery.
llvm-svn: 97518
|
|
|
|
|
|
|
| |
re-declare them. This fixes PR6317. Also add the beginnings of an interesting
test case for p1 of [class.friend] which also covers PR6317.
llvm-svn: 97499
|
|
|
|
|
|
| |
in it.
llvm-svn: 97498
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a fixme and PR6451.
Only perform jump checking if the containing function has no errors,
and add the infrastructure needed to do this.
On the testcase in the PR, we produce:
t.cc:6:3: error: illegal goto into protected scope
goto later;
^
t.cc:7:5: note: jump bypasses variable initialization
X x;
^
llvm-svn: 97497
|
|
|
|
|
|
| |
with "address taken of label in protected scope, jump to it would have unknown effect on scope"
llvm-svn: 97495
|
|
|
|
| |
llvm-svn: 97494
|
|
|
|
|
|
| |
Fixes <rdar://problem/7700339>.
llvm-svn: 97482
|
|
|
|
| |
llvm-svn: 97479
|
|
|
|
|
|
| |
redeclarations. Fixes PR6449
llvm-svn: 97478
|
|
|
|
|
|
|
| |
enumeration constants get placed into the local instantiation hash
table. Fixes PR6375.
llvm-svn: 97471
|