| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 70566
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't layer TypedViewRegions on top of any region except
SymbolicRegions and AllocaRegions. This follows from my offline
discussion within Zhongxing about how TypedViewRegions really only
represent memory getting re-appropriated for a new purpose.
Fallout from this change:
- Move test case from xfail_rdar_6440393.m to misc-ps-64.m
(it now passes).
- test/Analysis/fields.c now fails for region store (crash).
Marking XFAIL.
- test/Analysis/rdar-6441136-region.c now fails (only runs with region store).
Marking XFAIL.
Diagnosis: The analyzer now correctly identifies an early out-of-bounds memory
access then the one flagged:
rdar-6541136-region.c:17:3: warning: Load or store into an out-of-bound memory position.
*p = 1;
^~
Changing the line:
char *p = (void*) &wonky[1];
to
char *p = (void*) &wonky[0];
(which should delay the buffer overrun) causes region store to crash, probably
because it expects a TypedViewRegion.
- test/Analysis/casts.c (region store) now fails (crash).
Marking XFAIL.
llvm-svn: 70565
|
| |
|
|
|
|
| |
pointer.
llvm-svn: 70564
|
| |
|
|
| |
llvm-svn: 70563
|
| |
|
|
|
|
| |
base is a pointer.
llvm-svn: 70562
|
| |
|
|
| |
llvm-svn: 70547
|
| |
|
|
|
|
|
|
| |
location context. This allows us to postpone the decision of whether
or not a context should add a control-flow piece to the diagnostics
when inspecting its subexpressions.
llvm-svn: 70545
|
| |
|
|
| |
llvm-svn: 70544
|
| |
|
|
| |
llvm-svn: 70542
|
| |
|
|
|
|
| |
and other pointer-like types.
llvm-svn: 70531
|
| |
|
|
|
|
| |
Radar 6838889
llvm-svn: 70525
|
| |
|
|
| |
llvm-svn: 70523
|
| |
|
|
|
|
| |
<rdar://problem/6841210>.
llvm-svn: 70519
|
| |
|
|
| |
llvm-svn: 70518
|
| |
|
|
|
|
| |
completely.
llvm-svn: 70516
|
| |
|
|
| |
llvm-svn: 70514
|
| |
|
|
|
|
| |
'objc_ownership_release' to the effects on receivers.
llvm-svn: 70507
|
| |
|
|
| |
llvm-svn: 70506
|
| |
|
|
|
|
|
| |
applied to ObjCMethodDecls, not just parameters. This allows one to specific
side-effects on the receiver of a message expression. No checker support yet.
llvm-svn: 70505
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
appear between the return type and the selector. This is a separate code path
from regular attribute processing, as we only want to (a) accept only a specific
set of attributes in this place and (b) want to distinguish to clients the
context in which an attribute was added to an ObjCMethodDecl.
Currently, the attribute 'objc_ownership_returns' is the only attribute that
uses this new feature. Shortly I will add a warning for 'objc_ownership_returns'
to be placed at the end of a method declaration.
llvm-svn: 70504
|
| |
|
|
|
|
| |
the return type and selector. Haven't hooked this up to Sema yet.
llvm-svn: 70501
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
"aligned" attribute. Previously, we were skipping over these
attributes when we jumped directly to the canonical type. Now,
ASTContext::getTypeInfo walks through typedefs and other
"non-canonical" types manually, looking for "aligned" attributes on
typedefs.
As part of this change, I moved the GNU-specific logic (such as
determining the alignment of void or of a function pointer) out of the
expression evaluator and into ASTContext::getTypeInfo.
llvm-svn: 70497
|
| |
|
|
|
|
| |
to match gcc's closely.
llvm-svn: 70493
|
| |
|
|
|
|
| |
constant initializers.
llvm-svn: 70483
|
| |
|
|
| |
llvm-svn: 70481
|
| |
|
|
|
|
| |
have support for __divti3 and friends.
llvm-svn: 70480
|
| |
|
|
| |
llvm-svn: 70475
|
| |
|
|
|
|
| |
matching ObjCMethodDecl exists in the @interface.
llvm-svn: 70474
|
| |
|
|
|
|
| |
ObjCInterfaceDecl, not before.
llvm-svn: 70473
|
| |
|
|
|
|
|
| |
not supported on 32-bit targets, so we can define it to be 128-bit
aligned there too :)
llvm-svn: 70465
|
| |
|
|
|
|
|
|
| |
compatible with VC++ and GCC. The codegen/mangling angle hasn't
been fully ironed out yet. Note that we accept int128_t even in
32-bit mode, unlike gcc.
llvm-svn: 70464
|
| |
|
|
| |
llvm-svn: 70452
|
| |
|
|
|
|
| |
in an @synthesize diective, as it breaks few projects.
llvm-svn: 70441
|
| |
|
|
|
|
| |
mean that it's a constructor. Fixes rdar://problem/6815988.
llvm-svn: 70436
|
| |
|
|
| |
llvm-svn: 70432
|
| |
|
|
|
|
|
| |
an owned object, consult its summary instead of inspecting the selector. This
picks up annotations, and is just more general.
llvm-svn: 70429
|
| |
|
|
| |
llvm-svn: 70424
|
| |
|
|
|
|
| |
It seems to effect code gen. Add a FIXME instead.
llvm-svn: 70423
|
| |
|
|
| |
llvm-svn: 70420
|
| |
|
|
|
|
|
| |
based on a patch from Anders Johnsen. CodeGen support is incomplete,
in that we do not properly coerce to the first field's type.
llvm-svn: 70419
|
| |
|
|
| |
llvm-svn: 70418
|
| |
|
|
| |
llvm-svn: 70417
|
| |
|
|
|
|
|
|
|
| |
- Add an (optional) short description for BugReports for clients that want
to distinguish between long and short descriptions for bugs
- Make the bug report for VLA less obscene for Plist diagnostics by using
the short description
llvm-svn: 70415
|
| |
|
|
|
|
| |
and found in super class triggers a diagnostics.
llvm-svn: 70414
|
| |
|
|
|
|
|
|
| |
type and argument types are missing, and let return type deduction
happen before we give errors for returning from a noreturn block.
Radar 6441502
llvm-svn: 70413
|
| |
|
|
| |
llvm-svn: 70412
|
| |
|
|
|
|
|
| |
referenced in a category implementation meta-data
(Next objc 32bit abi).
llvm-svn: 70407
|
| |
|
|
| |
llvm-svn: 70406
|
| |
|
|
| |
llvm-svn: 70404
|
| |
|
|
| |
llvm-svn: 70403
|