| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 129486
|
| |
|
|
|
|
|
| |
built clang binary that is used by the test. Build systems that use
symlinks for build outputs will fail these assertions otherwise.
llvm-svn: 129482
|
| |
|
|
|
|
| |
// rdar://9091893
llvm-svn: 129481
|
| |
|
|
|
|
| |
defined in a macro. // rdar://9091893
llvm-svn: 129465
|
| |
|
|
|
|
| |
generated by a regular 'load' now.
llvm-svn: 129464
|
| |
|
|
|
|
|
|
|
|
|
| |
evaluated and unevaluated contexts. Add some testing of sizeof and
typeid.
Both of the typeid tests added here were triggering warnings previously.
Now the one false positive is suppressed without suppressing the warning
on actually buggy code.
llvm-svn: 129431
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the type of one of the base classes then downgrade the missing typename error to a warning. Up to now this is the only case I found where MSVC doesn't require "typename" at class scope. Really strange!
This fixes 1 error when parsing the MSVC 2008 header files.
Example:
template<class T> class A {
public:
typedef int TYPE;
};
template<class T> class B : public A<T> {
public:
A<T>::TYPE a; // no typename required because A<T> is a base class.
};
llvm-svn: 129425
|
| |
|
|
|
|
|
| |
objective-c instead of crashing in IRgen.
// rdar://9154582.
llvm-svn: 129412
|
| |
|
|
|
|
|
|
|
|
| |
there is no reason to align them higher.
- This roughly matches llvm-gcc's r126913.
- It is an open question whether or not we should do this for cstring's in
general (code size vs optimization potential), for now we just match llvm-gcc
until someone wants to run some experiments.
llvm-svn: 129410
|
| |
|
|
|
|
|
|
|
| |
because the result is ignored. The particular example here is with
property l-values, but there could be all sorts of lovely casts that this
isn't safe for. Sink the check into the one case that seems to actually
be capable of honoring this.
llvm-svn: 129397
|
| |
|
|
|
|
| |
declared in protocols.
llvm-svn: 129395
|
| |
|
|
|
|
| |
0-index of a symbolic region. In many cases that isn't really the base offset.
llvm-svn: 129366
|
| |
|
|
|
|
| |
inputs are not NULL and are real C strings, then does the comparison and binds the proper return value. Unit tests included.
llvm-svn: 129364
|
| |
|
|
|
|
|
| |
the initialized's protocol and yet clang warns.
objective-c issue, // rdar://9267196
llvm-svn: 129363
|
| |
|
|
|
|
|
|
|
| |
a crash when deserializing the AST for this:
typedef char (&R);
extern R &r;
llvm-svn: 129358
|
| |
|
|
|
|
| |
'new' expression.
llvm-svn: 129349
|
| |
|
|
|
|
| |
'++' pointer arithmetic.
llvm-svn: 129348
|
| |
|
|
|
|
|
|
| |
RTTI is disabled. Similarly, don't suggest throw or try as code
completion results when C++ exceptions are disabled. Fixes
<rdar://problem/9193560>.
llvm-svn: 129346
|
| |
|
|
|
|
|
|
| |
weak linkage. Also, fix a problem where global weak variables
with non-trivial initializers were getting guard variables, or at
least were checking for them and then crashing.
llvm-svn: 129342
|
| |
|
|
| |
llvm-svn: 129341
|
| |
|
|
|
|
| |
Objective-C pointer type. Fixes <rdar://problem/9142559>.
llvm-svn: 129339
|
| |
|
|
| |
llvm-svn: 129337
|
| |
|
|
| |
llvm-svn: 129336
|
| |
|
|
| |
llvm-svn: 129335
|
| |
|
|
| |
llvm-svn: 129333
|
| |
|
|
|
|
|
|
|
| |
for __unknown_anytype resolution to destructively modify the AST. So that's
what it does now, which significantly simplifies some of the implementation.
Normal member calls work pretty cleanly now, and I added support for
propagating unknown-ness through &.
llvm-svn: 129331
|
| |
|
|
| |
llvm-svn: 129329
|
| |
|
|
|
|
| |
in C++ method calls.
llvm-svn: 129308
|
| |
|
|
|
|
|
| |
rewriting of blocks which have objective-c
stuff which need be rewritten as well. // rdar://9254348
llvm-svn: 129300
|
| |
|
|
|
|
| |
calling the __cxa_bad_typeid function. Fixes PR7400.
llvm-svn: 129273
|
| |
|
|
| |
llvm-svn: 129269
|
| |
|
|
|
|
|
| |
CodeGenFunction::EmitDynamicCast always return null or throw a bad_cast
exception.
llvm-svn: 129264
|
| |
|
|
| |
llvm-svn: 129260
|
| |
|
|
|
|
| |
match on huge chunks of LLVM output.
llvm-svn: 129258
|
| |
|
|
|
|
| |
and move a vector-splat check to follow l-value conversion.
llvm-svn: 129254
|
| |
|
|
|
|
| |
devirtualized. Fixes the second half of PR9660.
llvm-svn: 129253
|
| |
|
|
|
|
| |
one half of PR9660.
llvm-svn: 129252
|
| |
|
|
|
|
|
|
|
|
|
|
| |
rewriting the literal when the value is integral. It is not uncommon to
see code written as:
const int kBigNumber = 42e5;
Without any real awareness that this is no longer an ICE. The note helps
automate and ease the process of fixing code that violates the warning.
llvm-svn: 129243
|
| |
|
|
|
|
|
| |
While I'm here, FileCheck-ize the ext-vector test, so we actually check
what it is generating.
llvm-svn: 129241
|
| |
|
|
|
|
|
|
| |
of template class. The new value is ignored.
This fixes 1 error when parsing MSVC 2010 header files with clang.
llvm-svn: 129240
|
| |
|
|
|
|
| |
for them. The only major missing feature is references.
llvm-svn: 129234
|
| |
|
|
|
|
| |
check is triggered appropriately. Reported on cfe-dev.
llvm-svn: 129231
|
| |
|
|
|
|
| |
Validates inputs are not NULL, checks for overlapping strings, concatenates the strings checking for buffer overflow, sets the length of the destination string to the sum of the s1 length and the s2 length, binds the return value to the s1 value.
llvm-svn: 129215
|
| |
|
|
|
|
| |
pageexec@freemail.hu, tweaks by me.
llvm-svn: 129206
|
| |
|
|
|
|
|
| |
warnings, and make its text appropriate for constant bool expressions
other than 'false'. This should finish off PR9612.
llvm-svn: 129205
|
| |
|
|
|
|
|
| |
type rather than just the literal 'false'. This begins fixing PR9612,
but the message is now wrong. WIP, the cleanup of the messaging is next.
llvm-svn: 129204
|
| |
|
|
|
|
| |
Patch by Dave Zarzycki!
llvm-svn: 129189
|
| |
|
|
|
|
| |
a block. First part of // rdar://9254348
llvm-svn: 129171
|
| |
|
|
|
|
|
|
|
| |
inlining support isn't complete, and needs
to be reworked to model CallEnter/CallExit (just like all other calls). For now, treat constructors mostly
like other function calls, making the analysis of C++ code just a little more useful.
llvm-svn: 129166
|
| |
|
|
|
|
|
| |
implement lhs's protocols. // rdar://9091389.
llvm-svn: 129142
|