| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
The problem was that we were asserting the we never added an empty class
to the same offset twice. This is not true for unions, where two members, empty
or not, can have the some offset.
llvm-svn: 122633
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
inconsistent with the type that the builtin *should* have, forget
about the builtin altogether: we don't want subsequence analyses,
CodeGen, etc., to think that we have a proper builtin function.
C is protected from errors here because it allows one to use a
library builtin without having a declaration, and detects inconsistent
(re-)declarations of builtins during declaration merging. C++ was
unprotected, and therefore would crash.
Fixes PR8839.
llvm-svn: 122351
|
|
|
|
| |
llvm-svn: 122309
|
|
|
|
| |
llvm-svn: 122230
|
|
|
|
|
|
|
|
| |
test run.
I have no idea how to fix it.
llvm-svn: 122227
|
|
|
|
| |
llvm-svn: 122137
|
|
|
|
|
|
|
| |
don't provide their own explicit visibility attributes should get them
from the template. Fixes rdar://problem/8778497.
llvm-svn: 122136
|
|
|
|
|
|
| |
way to do this, but it fixes rdar://problem/8778973
llvm-svn: 122033
|
|
|
|
|
|
|
|
| |
within the class. Teach IR gen to look for function definitions in record
lexical contexts when deciding whether to emit a function whose address
was taken. Fixes PR8789.
llvm-svn: 121833
|
|
|
|
|
|
|
|
|
|
|
| |
visibility. Fixes PR8713.
I've disabled a test which was testing that you can #pragma pop visibility
to get out of a namespace's visibility attribute. We should probably just
diagnose that as an error unless it's instrumental to someone's system
headers.
llvm-svn: 121459
|
|
|
|
| |
llvm-svn: 121436
|
|
|
|
|
|
| |
This test intends to catch invalid use of ".byte 256" in output. Now, the assert in MC will be triggered in such cases.
llvm-svn: 121403
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"inline", we weren't giving the definition weak linkage because the
"inline" bit wasn't propagated. This was a longstanding FIXME that,
somehow, hadn't triggered a bug in the wild. Fix this problem by
tracking whether any declaration was marked "inline", and clean up the
semantics of GNU's "extern inline" semantics calculation based on this
change.
Fixes <rdar://problem/8740363>.
llvm-svn: 121373
|
|
|
|
|
|
| |
instantiation.
llvm-svn: 121363
|
|
|
|
| |
llvm-svn: 121324
|
|
|
|
|
|
| |
testsuite searches for.
llvm-svn: 121137
|
|
|
|
|
|
|
|
|
|
| |
the LHS, or else the pointer might be invalid. This is kindof dumb, but
go ahead and make sure we're doing that for l-value scalar assignment,
which fixes a miscompile of obj-c++.dg/block-seq.mm.
Leave a FIXME for how to solve this problem for agg __blocks.
llvm-svn: 120992
|
|
|
|
|
|
|
|
|
| |
Fix a bug in the emission of complex compound assignment l-values.
Introduce a method to emit an expression whose value isn't relevant.
Make that method evaluate its operand as an l-value if it is one.
Fixes our volatile compliance in C++.
llvm-svn: 120931
|
|
|
|
| |
llvm-svn: 120925
|
|
|
|
|
|
| |
structs with references in them correctly.
llvm-svn: 120722
|
|
|
|
| |
llvm-svn: 120717
|
|
|
|
| |
llvm-svn: 120555
|
|
|
|
|
|
| |
object. Fixes PR8683.
llvm-svn: 120247
|
|
|
|
|
|
| |
branches. Fixes PR8623.
llvm-svn: 119408
|
|
|
|
|
|
|
| |
case based on CodeGen/volatile-1.c which tests the current C++
semantics, and note the many, many places we fall short of them.
llvm-svn: 119402
|
|
|
|
| |
llvm-svn: 119304
|
|
|
|
|
|
| |
llvm/utils/FileCheck in r119023, due to DOSish crlf issue.
llvm-svn: 119024
|
|
|
|
|
|
|
|
| |
copy helper function and dtor of copied cxx objects
in dispose helper functions. __block variables
TBD next.
llvm-svn: 119011
|
|
|
|
|
|
|
|
| |
mangler. Now member functions and pointers thereof have their calling
convention mangled as __thiscall if they have the default CC (even though,
they technically still have the __cdecl CC).
llvm-svn: 118598
|
|
|
|
|
|
|
|
|
|
|
|
| |
there's no return adjustment from the overridden to the overrider doesn't
mean there isn't a return adjustment from the overrider to the final
overrider. This matters if we're emitting a virtual this-adjustment thunk
because the overrider virtually inherits from the class providing the
nearest overridden method. Do the appropriate return adjustment in this case.
Fixes PR7611.
llvm-svn: 118466
|
|
|
|
|
|
| |
On the certain system, bogus SORT.EXE is picked up. Its sort-order is incompatible to POSIX.
llvm-svn: 118391
|
|
|
|
|
|
|
|
|
| |
data members by delaying the emission of the initializer until after
linkage and visibility have been set on the global. Also, don't
emit a guard unless the variable actually ends up with vague linkage,
and don't use thread-safe statics in any case.
llvm-svn: 118336
|
|
|
|
|
|
| |
found. This should fix the errors seen on the bot.
llvm-svn: 118246
|
|
|
|
| |
llvm-svn: 118238
|
|
|
|
| |
llvm-svn: 118236
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
e.g. for:
template <int i> class A {
class B *g;
};
'class B' has the template as lexical context but semantically it is
introduced in namespace scope.
Fixes rdar://8611125 & http://llvm.org/PR8505
llvm-svn: 118235
|
|
|
|
|
|
|
| |
expression is a dependent expression.
// rdar: // 8620524 and PR7851
llvm-svn: 118066
|
|
|
|
|
|
| |
visibility of their function.
llvm-svn: 118065
|
|
|
|
|
|
| |
// rdar: //8620510 and PR7666
llvm-svn: 118019
|
|
|
|
|
|
| |
Previously the temporaries would get destroyed before the asm call.
llvm-svn: 118001
|
|
|
|
|
|
|
| |
with their own explicit visibility attributes. Basically we only want to
apply a single visibility attribute from any particular ancestry.
llvm-svn: 117998
|
|
|
|
|
|
|
|
| |
isInlined() just gives meaningless results for non-definitions.
Fixes rdar://problem/8614470
llvm-svn: 117887
|
|
|
|
|
|
| |
virtual bases are involved. Fixes PR5974.
llvm-svn: 117868
|
|
|
|
|
|
| |
Fixes PR8507.
llvm-svn: 117850
|
|
|
|
|
|
|
|
|
|
| |
independently of whether they're definitions, then teach IR generation to
ignore non-explicit visibility when emitting declarations. Use this to
make sure that RTTI, vtables, and VTTs get the right visibility.
More of rdar://problem/8613093
llvm-svn: 117781
|
|
|
|
|
|
|
|
| |
whether it's a declaration or not, then ignores that information for
declarations unless it was explicitly given. It's not totally clear
how that should be mapped into a sane system, but make an effort.
llvm-svn: 117780
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for namespace-scope variable declarations.
Apply visibility in IR gen to variables that are merely declared
and never defined. We were previously emitting these with default
visibility unless they were declared with private_extern.
Ignore global visibility settings when computing visibility for
a declaration's context, and key several conditions on whether a
visibility attribute exists anywhere in the hierarchy as opposed
to whether it exists at the current level.
llvm-svn: 117729
|
|
|
|
| |
llvm-svn: 117711
|
|
|
|
|
|
| |
declared", it breaks things.
llvm-svn: 117653
|
|
|
|
|
|
| |
anyone has ever intentionally done this outside of a compiler test case.
llvm-svn: 117645
|