| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
function in CGClass.cpp
llvm-svn: 131075
|
| |
|
|
|
|
|
| |
complete destructors for abstract classes unless the destructor is virtual
and thus needs to be in the vtable.
llvm-svn: 131068
|
| |
|
|
| |
llvm-svn: 131066
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bit by allowing __weak and __strong to be added/dropped as part of
implicit conversions (qualification conversions in C++). A little
history: GCC lets one add/remove/change GC qualifiers just about
anywhere, implicitly. Clang did roughly the same before, but we
recently normalized the semantics of qualifiers across the board to
get a semantics that we could reason about (yay). Unfortunately, this
tightened the screws a bit too much for GC qualifiers, where it's
common to add/remove these qualifiers at will.
Overall, we're still in better shape than we were before: we don't
permit directly changing the GC qualifier (e.g., __weak -> __strong),
so type safety is improved. More importantly, we're internally
consistent in our handling of qualifiers, and the logic that allows
adding/removing GC qualifiers (but not adding/removing address
spaces!) only touches two obvious places.
Fixes <rdar://problem/9402499>.
llvm-svn: 131065
|
| |
|
|
|
|
|
| |
type, so long as it is known to have a constant initializer and the
class type is a POD class. Fixes <rdar://problem/9306265>.
llvm-svn: 131060
|
| |
|
|
| |
llvm-svn: 131057
|
| |
|
|
|
|
| |
everything inside property() for now while we wait for the BoostPro people to provide a complete patch.
llvm-svn: 131053
|
| |
|
|
|
|
| |
bad assumptions about the alignment of the double* argument.
llvm-svn: 131052
|
| |
|
|
|
|
|
|
|
|
|
| |
extension.
http://msdn.microsoft.com/en-us/library/hzc8ytsz(v=VS.100).aspx
Microsoft doc claims this is a C++/CLI feature but it is really always enabled.
This removes 2 error when parsing MFC code with clang.
llvm-svn: 131051
|
| |
|
|
| |
llvm-svn: 131050
|
| |
|
|
|
|
| |
errors for additional uses of this invalid typedef.
llvm-svn: 131043
|
| |
|
|
|
|
| |
DeclContext's lookup table when they aren't in any identifier namespace.
llvm-svn: 131037
|
| |
|
|
|
|
|
|
| |
any names that aren't in the appropriate identifier namespaces. Fixes
an embarrassing bug where we give a redefinition error due to an
Objective-C category (<rdar://problem/9388207>).
llvm-svn: 131036
|
| |
|
|
|
|
| |
non-bitfield following a bitfield if size of their types differ.
llvm-svn: 131032
|
| |
|
|
|
|
| |
a non-bitfield if size of their types differ.
llvm-svn: 131023
|
| |
|
|
|
|
|
|
|
|
|
| |
build a precompiled header. Use this information to eliminate the call
to SourceManager::getLocation() while loading a precompiled preamble,
since SourceManager::getLocation() itself causes unwanted
deserialization.
Fixed <rdar://problem/9399352>.
llvm-svn: 131021
|
| |
|
|
| |
llvm-svn: 131019
|
| |
|
|
| |
llvm-svn: 131018
|
| |
|
|
|
|
|
|
|
|
|
|
| |
function definition.
Allow to include or exclude code depending on if a symbol exists or not. Just like a #ifdef but for C/C++ symbols.
More doc: http://msdn.microsoft.com/en-us/library/x7wy9xh3(v=VS.100).aspx
Support at class and namespace scopes will be added later.
llvm-svn: 131014
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- New isDefined() function checks for deletedness
- isThisDeclarationADefinition checks for deletedness
- New doesThisDeclarationHaveABody() does what
isThisDeclarationADefinition() used to do
- The IsDeleted bit is not propagated across redeclarations
- isDeleted() now checks the canoncial declaration
- New isDeletedAsWritten() does what it says on the tin.
- isUserProvided() now correct (thanks Richard!)
This fixes the bug that we weren't catching
void foo() = delete;
void foo() {}
as being a redefinition.
llvm-svn: 131013
|
| |
|
|
|
|
| |
and a lot of downside (like PR9850, which is about clang's xmmintrin.h making an unexpected transformation on an expression involving _mm_add_epi32).
llvm-svn: 131000
|
| |
|
|
|
|
| |
a bit messy, but it is correct as long as the method in question doesn't use indirect gotos. A couple of possible alternative implementations are outlined in FIXME's in this patch. rdar://problem/8077308 .
llvm-svn: 130993
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
CXTranslationUnit_NestedMacroInstantiations, which indicates whether
we want to see "nested" macro instantiations (e.g., those that occur
inside other macro instantiations) within the detailed preprocessing
record. Many clients (e.g., those that only care about visible tokens)
don't care about this information, and in code that uses preprocessor
metaprogramming, this information can have a very high cost.
Addresses <rdar://problem/9389320>.
llvm-svn: 130990
|
| |
|
|
|
|
| |
This enables incremental codegen, where the initializer array can be removed from the module, such that only new initializers will be emitted and run.
llvm-svn: 130986
|
| |
|
|
|
|
|
|
| |
function. Extend the logic to check if the input was compiled.
Use -relax-all as default only if -O0 is used for compilation.
Fixes bug 9290.
llvm-svn: 130983
|
| |
|
|
|
|
| |
class constructor/destructor. Fixes PR7966.
llvm-svn: 130982
|
| |
|
|
|
|
| |
properly reflect its behavior.
llvm-svn: 130981
|
| |
|
|
|
|
|
|
| |
Explictly defaultedness is correctly reflected on the AST, but there are
no changes to how that affects the definition of functions or much else
really.
llvm-svn: 130974
|
| |
|
|
|
|
|
| |
direction and not introduce things in the wrong place three different
times.
llvm-svn: 130968
|
| |
|
|
|
|
| |
template-id in an alias declaration was meant to be a specialization. Use a generic, but more accurate, diagnostic.
llvm-svn: 130961
|
| |
|
|
|
|
| |
// rdar://9362887
llvm-svn: 130956
|
| |
|
|
| |
llvm-svn: 130953
|
| |
|
|
|
|
| |
packed attribute on the field. //rdar://9217290
llvm-svn: 130948
|
| |
|
|
|
|
| |
broke with the MMX rewrite a while back.
llvm-svn: 130945
|
| |
|
|
|
|
|
| |
blockScopeInfo's CapturesCXXThis field need get set as
well. // rdar://9362021. John M. please review.
llvm-svn: 130930
|
| |
|
|
| |
llvm-svn: 130929
|
| |
|
|
|
|
|
|
| |
sense). Fixes <rdar://problem/9366066> by eliminating an inconsistency
between C++ overloading (which handled scoped enumerations correctly)
and C binary operator type-checking (which didn't).
llvm-svn: 130924
|
| |
|
|
|
|
|
| |
also include methods with zero-argument selectors. Implements
<rdar://problem/9048332>.
llvm-svn: 130922
|
| |
|
|
|
|
| |
StoredDiagnostic.
llvm-svn: 130919
|
| |
|
|
|
|
| |
entire TranslationUnit. Patch by Lei Zhang.
llvm-svn: 130913
|
| |
|
|
|
|
| |
There's some unused stuff for now.
llvm-svn: 130912
|
| |
|
|
| |
llvm-svn: 130909
|
| |
|
|
| |
llvm-svn: 130906
|
| |
|
|
|
|
|
|
|
|
| |
the overloading of member and non-member functions results in arity
mismatches that don't fit well into our overload-printing scheme. This
only happens for invalid code (which breaks the arity invariants for
these cases), so just suppress the diagnostic rather than inventing
anything new. Fixes <rdar://problem/9222009>.
llvm-svn: 130902
|
| |
|
|
|
|
| |
foo.pic.gcno instead of foo.gcno.
llvm-svn: 130899
|
| |
|
|
| |
llvm-svn: 130898
|
| |
|
|
|
|
|
| |
that we've previously seen, both in declared methods and from previous
KVC completions, to eliminate duplicates. Fixes <rdar://problem/9162207>.
llvm-svn: 130890
|
| |
|
|
|
|
|
|
|
| |
Increase robustness of the delegating constructor cycle detection
mechanism. No more infinite loops on invalid or logic errors leading to
false results. Ensure that this is maintained correctly accross
serialization.
llvm-svn: 130887
|
| |
|
|
|
|
| |
crashes during PCH validation.
llvm-svn: 130886
|
| |
|
|
|
|
|
|
| |
information. Rather than looking at the declaration kind to figure out
what TypeLoc to build, look at the type; it makes so much more
sense. Fixes <rdar://problem/9086649>.
llvm-svn: 130882
|