| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 149440
|
|
|
|
|
|
| |
it doesn't feel like general solution.
llvm-svn: 149404
|
|
|
|
| |
llvm-svn: 149394
|
|
|
|
|
|
| |
<rdar://problem/10759934>. Apparently this is a common idiom in Linux (among other places).
llvm-svn: 149359
|
|
|
|
| |
llvm-svn: 149358
|
|
|
|
|
|
| |
As discussed at http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20120130/052200.html
llvm-svn: 149325
|
|
|
|
|
|
| |
expressions in C++11.
llvm-svn: 149286
|
|
|
|
|
|
|
|
|
| |
expansion.
This is to prevent diagnostic when using NSLocalizedString or CFCopyLocalizedString
macros which are usually used in place of NS and CF strings literals.
llvm-svn: 149268
|
|
|
|
| |
llvm-svn: 149253
|
|
|
|
|
|
|
| |
- Remove the printf0 special handling as we treat it as printf anyway.
- Perform basic checks (non-literal, empty) for all formats and not only printf/scanf.
llvm-svn: 149236
|
|
|
|
|
|
|
|
|
|
|
|
| |
@import <complete with module names here>
or
@import std.<complete with submodule names here>
Addresses <rdar://problem/10710117>.
llvm-svn: 149199
|
|
|
|
|
|
|
|
| |
like Darwin that don't support it. We should also complain about
invalid -fvisibility=protected, but that information doesn't seem
to exist at the most appropriate time, so I've left a FIXME behind.
llvm-svn: 149186
|
|
|
|
| |
llvm-svn: 149127
|
|
|
|
| |
llvm-svn: 149125
|
|
|
|
| |
llvm-svn: 149124
|
|
|
|
|
|
|
| |
function definition can produce a constant expression. This also provides the
last few checks for [dcl.constexpr]p3 and [dcl.constexpr]p4.
llvm-svn: 149108
|
|
|
|
|
|
|
|
| |
it might be reasonable in some cases, but it clearly doesn't make sense in some cases, like the included testcase.
<rdar://problem/10238797>, part 2.
llvm-svn: 149095
|
|
|
|
|
|
| |
make the printed warning a bit more accurate. The new behavior matches gcc's -Wconversion. <rdar://problem/10238797>.
llvm-svn: 149089
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarator just because we were able to build an invalid decl
for it. The invalid-type diagnostics, in particular, are still useful
to know, and may indicate something about why the decl is invalid.
Also, recover from an illegal pointer/reference-to-unqualified-retainable
type using __strong instead of __autoreleasing; in general, a random
object is much more likely to be __strong, so this avoids unnecessary
cascading errors in the most common case.
llvm-svn: 149074
|
|
|
|
|
|
|
| |
canonical type directly and adding a fast path for the common case
that the type is directly a RecordType.
llvm-svn: 149039
|
|
|
|
|
|
| |
expressions and block literals. As it turns out, almost all the logic can be shared.
llvm-svn: 149031
|
|
|
|
|
|
| |
lvalue-to-rvalue conversion.
llvm-svn: 149003
|
|
|
|
|
|
| |
current method returns. PR11744, part 2.
llvm-svn: 148995
|
|
|
|
| |
llvm-svn: 148989
|
|
|
|
|
|
|
| |
This suppresses typo correction for auto-generated call expressions such
as to 'begin' or 'end' within a C++0x for-range statement.
llvm-svn: 148979
|
|
|
|
|
|
|
|
| |
Pass a typo correction callback object from ParseCastExpr to
Sema::ActOnIdExpression to be a bit more selective about what kinds of
corrections will be allowed for unknown identifiers.
llvm-svn: 148973
|
|
|
|
|
|
|
|
|
| |
The new callback, in addition to limiting which keywords to include in
the pool of typo correction candidates, also filters out non-keyword
candidates that don't refer to (template) functions that accept the
number of arguments that are present for the call being recovered.
llvm-svn: 148962
|
|
|
|
|
|
|
| |
get a function parameter pack (but don't due to weird substitutions),
complain. Fixes the last bit of PR11848.
llvm-svn: 148960
|
|
|
|
| |
llvm-svn: 148948
|
|
|
|
| |
llvm-svn: 148921
|
|
|
|
| |
llvm-svn: 148920
|
|
|
|
|
|
| |
patch by Dmitri Gribenko.
llvm-svn: 148915
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
iff its substitution contains an unexpanded parameter pack. This has the effect
that we now reject declarations such as this (which we used to crash when
expanding):
template<typename T> using Int = int;
template<typename ...Ts> void f(Int<Ts> ...ints);
The standard is inconsistent on how this case should be treated.
llvm-svn: 148905
|
|
|
|
|
|
| |
PR11833.
llvm-svn: 148893
|
|
|
|
|
|
|
|
|
| |
additional data from the external Sema source. This properly copes
with modules that are imported after we have already searched in the
global method pool for a given selector. For PCH, it's a slight
pessimization to be fixed soon.
llvm-svn: 148891
|
|
|
|
| |
llvm-svn: 148890
|
|
|
|
|
|
|
| |
return pre-built lists. Instead, it feeds the methods it deserializes
to Sema so that Sema can unique them, which keeps the chains shorter.
llvm-svn: 148889
|
|
|
|
|
|
|
| |
teach it to always add the new method at the *end* of the list rather
than as the second element in the list.
llvm-svn: 148886
|
|
|
|
|
|
| |
lvalue-to-rvalue conversion.
llvm-svn: 148874
|
|
|
|
|
|
| |
Builtins.
llvm-svn: 148873
|
|
|
|
|
|
|
|
| |
for forward references of classes and protocols, this breaks libclang API usage.
rdar://10747438.
llvm-svn: 148861
|
|
|
|
|
|
|
| |
allocator to construct an object which declares more alignment than the default
allocator actually provides. Fixes PR9527!
llvm-svn: 148857
|
|
|
|
| |
llvm-svn: 148850
|
|
|
|
|
|
| |
an objc object in any abi mode.
llvm-svn: 148847
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
will allow to disable
address safety analysis (such as e.g. AddressSanitizer or SAFECode) for a specific function.
When building with AddressSanitizer, add AddressSafety function attribute to every generated function
except for those that have __attribute__((no_address_safety_analysis)).
With this patch we will be able to
1. disable AddressSanitizer for a particular function
2. disable AddressSanitizer-hostile optimizations (such as some cases of load widening) when AddressSanitizer is on.
llvm-svn: 148842
|
|
|
|
|
|
|
|
|
|
| |
pointer to incomplete type from an ExtWarn to an error. We put the
ExtWarn in place as part of a workaround for Boost (PR6527), but it
(1) doesn't actually match a GCC extension and (2) has been fixed for
two years in Boost, and (3) causes us to emit code that fails badly at
run time, so it's a bad idea to keep it. Fixes PR11803.
llvm-svn: 148838
|
|
|
|
|
|
| |
// rdar://10731065
llvm-svn: 148823
|
|
|
|
|
|
|
|
| |
when it actually has changed (and not, e.g., when we've simply attached a
deserialized macro definition). Good for ~1.5% reduction in module
file size, mostly in the identifier table.
llvm-svn: 148808
|
|
|
|
|
|
|
|
|
|
| |
This is the last piece of N3031 (decltype in weird places) - supporting
the use of decltype in a class ctor's member-initializer-list to
specify the base classes to initialize.
Reviewed by Richard Smith.
llvm-svn: 148789
|
|
|
|
|
|
| |
r148774, r148775, r148776, r148777
llvm-svn: 148780
|