| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
when POSIXLY_COMPLIANT is set.
- Patch by Dave Vasilevsky!
llvm-svn: 131084
|
| |
|
|
|
|
| |
rdar://problem/9391966
llvm-svn: 131080
|
| |
|
|
| |
llvm-svn: 131077
|
| |
|
|
|
|
| |
Necessary to parse MFC code.
llvm-svn: 131076
|
| |
|
|
|
|
| |
function in CGClass.cpp
llvm-svn: 131075
|
| |
|
|
| |
llvm-svn: 131074
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 131017
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 130994
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
this is really more a decltype issue rather than a late-specified return type issue.
llvm-svn: 130958
|
| |
|
|
|
|
| |
// rdar://9362887
llvm-svn: 130956
|
| |
|
|
| |
llvm-svn: 130953
|
| |
|
|
|
|
| |
packed attribute on the field. //rdar://9217290
llvm-svn: 130948
|
| |
|
|
|
|
|
| |
libclang to emit information about resource usage after parsing, code
completion, etc.
llvm-svn: 130946
|
| |
|
|
|
|
| |
broke with the MMX rewrite a while back.
llvm-svn: 130945
|
| |
|
|
| |
llvm-svn: 130941
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
allowing it to be surgically mapped to an error.
llvm-svn: 130916
|