| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
make sure to mark the destructor. This normally isn't required,
because the destructor should have been marked as part of the
declaration of the local, but it's necessary when the variable
is a parameter because it's the call sites that are responsible
for those destructors.
llvm-svn: 130372
|
| |
|
|
| |
llvm-svn: 130371
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
defines to real types.
Otherwise statements like:
__int64 var = __int64(0);
would be expanded to:
long long var = long long(0);
and fail to compile.
llvm-svn: 130369
|
| |
|
|
|
|
| |
may provide a deviant definition of memset).
llvm-svn: 130368
|
| |
|
|
|
|
|
|
| |
Patch authored by Sohail Somani.
Provide parsing and AST support for Windows structured exception handling.
llvm-svn: 130366
|
| |
|
|
|
|
|
| |
non-CVR qualifiers. We can now properly match address-space--qualified
references during template argument deduction.
llvm-svn: 130365
|
| |
|
|
|
|
|
|
|
|
| |
Patch authored by John Wiegley.
These are array type traits used for parsing code that employs certain
features of the Embarcadero C++ compiler: __array_rank(T) and
__array_extent(T, Dim).
llvm-svn: 130351
|
| |
|
|
|
|
|
| |
deduction. The good news is that address spaces are a lot less broken
in this regard than I'd expected.
llvm-svn: 130346
|
| |
|
|
|
|
|
|
|
|
| |
Patch authored by John Wiegley.
These type traits are used for parsing code that employs certain features of
the Embarcadero C++ compiler. Several of these constructs are also desired by
libc++, according to its project pages (such as __is_standard_layout).
llvm-svn: 130342
|
| |
|
|
| |
llvm-svn: 130336
|
| |
|
|
|
|
|
|
| |
actually fix the warning. PR8781.
I'm not sure what the preferred way to write a test for whether a fixit is emitted.
llvm-svn: 130335
|
| |
|
|
|
|
|
|
| |
silence this warning. ;]
Fixed that obvious bug and added a bit more testing as well.
llvm-svn: 130318
|
| |
|
|
| |
llvm-svn: 130312
|
| |
|
|
|
|
| |
// rdar://8823265 related.
llvm-svn: 130311
|
| |
|
|
|
|
| |
pack expansion. Fixes PR9452.
llvm-svn: 130310
|
| |
|
|
| |
llvm-svn: 130307
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch simplifies writing of standalone Clang tools. As an
example, we add clang-check, a tool that runs a syntax only frontend
action over a .cc file. When you integrate this into your favorite
editor, you get much faster feedback on your compilation errors, thus
reducing your feedback cycle especially when writing new code.
The tool depends on integration of an outstanding patch to CMake to
work which allows you to always have a current compile command
database in your cmake output directory when you set
CMAKE_EXPORT_COMPILE_COMMANDS.
llvm-svn: 130306
|
| |
|
|
|
|
|
|
| |
a size of 0 is equivalent to free(). The memory region should be marked as free and not used again.
Unit tests f2_realloc_0(), f6_realloc(), and f7_realloc() contributed by Marshall Clow <mclow.lists@gmail.com>. Thanks!
llvm-svn: 130303
|
| |
|
|
|
|
|
|
|
|
| |
a destination pointer that points to a non-POD type. This can flag such
horrible bugs as overwriting vptrs when a previously POD structure is
suddenly given a virtual method, or creating objects that crash on
practically any use by zero-ing out a member when its changed from
a const char* to a std::string, etc.
llvm-svn: 130299
|
| |
|
|
|
|
| |
fully defined. Somehow this escaped notice for a very long time.
llvm-svn: 130298
|
| |
|
|
|
|
|
| |
ClassifyName() builds a primary expression, generate one of these
annotation tokens rather than jumping into the parser.
llvm-svn: 130297
|
| |
|
|
|
|
| |
been running into it.
llvm-svn: 130296
|
| |
|
|
| |
llvm-svn: 130295
|
| |
|
|
|
|
|
| |
creating a type-annotation token rather than jumping into the
declaration parsing.
llvm-svn: 130293
|
| |
|
|
|
|
|
|
| |
direct lookup to values bound to expressions, without
resulting to lazy logic. This is critical for the OSAtomicChecker that does a simulated load on any arbitrary expression.
llvm-svn: 130292
|
| |
|
|
|
|
|
|
| |
source location
in NullStmt.
llvm-svn: 130289
|
| |
|
|
|
|
|
|
|
| |
in the classification of template names and using declarations. We now
properly typo-correct the leading identifiers in statements to types,
templates, values, etc. As an added bonus, this reduces the number of
lookups required for disambiguation.
llvm-svn: 130288
|
| |
|
|
|
|
| |
with internal linkage don't have to be i64, i8 works just fine!
llvm-svn: 130286
|
| |
|
|
|
|
|
|
| |
looking at the context and the correction and using a custom
diagnostic. Also, enable some Fix-It tests that were somewhat lamely
disabled.
llvm-svn: 130283
|
| |
|
|
|
|
|
|
| |
instance methods to have bound-member type.
Fixing that broke __unknown_anytype, which I've in turn fixed.
llvm-svn: 130266
|
| |
|
|
|
|
|
|
|
|
|
| |
determine which is a better conversion to "void*", be sure to perform
the comparison using the safe-for-id
ASTContext::canAssignObjCInterfaces() rather than the asserts-with-id
ASTContext::canAssignObjCInterfaces().
Fixes <rdar://problem/9327203>.
llvm-svn: 130259
|
| |
|
|
|
|
| |
non-bitfield members are ignore. // rdar://8823265 wip
llvm-svn: 130257
|
| |
|
|
|
|
|
|
|
|
|
| |
the qualifiers (e.g., GC qualifiers) on the type we're converting
from, rather than just blindly adopting the qualifiers of the type
we're converting to or dropping qualifiers altogether.
As an added bonus, properly diagnose GC qualifier mismatches to
eliminate a crash in the overload resolution failure diagnostics.
llvm-svn: 130255
|
| |
|
|
|
|
|
|
|
| |
includes get resolved, especially when they are found relatively to
another include file. We also try to get it working for framework
includes, but that part of the code is untested, as I don't have a code
base that uses it.
llvm-svn: 130246
|
| |
|
|
| |
llvm-svn: 130244
|
| |
|
|
|
|
|
| |
The size of the array may not be aligned according to alignment of its elements if an alignment attribute is
specified in a typedef. Fixes rdar://8665729 & http://llvm.org/PR5637.
llvm-svn: 130242
|
| |
|
|
|
|
|
|
|
|
|
| |
bound
member function, i.e. something of the form 'x.f' where 'f' is a non-static
member function. Diagnose this in the general case. Some of the new diagnostics
are probably worse than the old ones, but we now get this right much more
universally, and there's certainly room for improvement in the diagnostics.
llvm-svn: 130239
|
| |
|
|
| |
llvm-svn: 130233
|
| |
|
|
|
|
| |
(and ignore it for now) - wip.
llvm-svn: 130224
|
| |
|
|
|
|
| |
Addresses rdar://9269271.
llvm-svn: 130207
|
| |
|
|
| |
llvm-svn: 130179
|
| |
|
|
| |
llvm-svn: 130177
|
| |
|
|
| |
llvm-svn: 130176
|
| |
|
|
| |
llvm-svn: 130175
|
| |
|
|
|
|
|
| |
side-effect to generate their ir. Not just for
__builtin_expect. // rdar://9330105
llvm-svn: 130172
|
| |
|
|
|
|
|
|
| |
to silence the warning and
any other suggestion after that. Related to rdar://9300260.
llvm-svn: 130169
|
| |
|
|
|
|
| |
when -disable-free is passed. This accidentally was commited in r128011.
llvm-svn: 130168
|
| |
|
|
|
|
| |
integers (e.g., 'x', 'o').
llvm-svn: 130164
|
| |
|
|
|
|
| |
constant-folded. // rdar://9330105
llvm-svn: 130163
|
| |
|
|
|
|
| |
Fixes rdar//9334563.
llvm-svn: 130162
|