| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
of class in objc2's nonfragile abi.
llvm-svn: 62935
|
| |
|
|
|
|
| |
Add serialization support for ReferenceType.
llvm-svn: 62934
|
| |
|
|
|
|
|
| |
alignment must always be a constant. Just let the constant folder
do it.
llvm-svn: 62933
|
| |
|
|
| |
llvm-svn: 62932
|
| |
|
|
| |
llvm-svn: 62930
|
| |
|
|
|
|
| |
implemented class in objc2's nonfrigile abi.
llvm-svn: 62929
|
| |
|
|
|
|
| |
different than those for sizeof. Reject alignof(bitfield) like gcc does.
llvm-svn: 62928
|
| |
|
|
| |
llvm-svn: 62927
|
| |
|
|
| |
llvm-svn: 62926
|
| |
|
|
|
|
|
| |
mismatched semantics).
- Enforce this in APValue.
llvm-svn: 62924
|
| |
|
|
| |
llvm-svn: 62923
|
| |
|
|
| |
llvm-svn: 62922
|
| |
|
|
|
|
|
| |
- No functionality change, moved behind -use-x86_64-abi option until
it becomes non-experimental.
llvm-svn: 62915
|
| |
|
|
|
|
| |
ArrayRegion is a typedef and not (directly) a pointer.
llvm-svn: 62909
|
| |
|
|
|
|
| |
diagnostics the code paths for diagnostics involving paths or single locations are now unified. This patch also constifies many arguments/methods that are touched by this logic, leading to a nice overall code cleanup.
llvm-svn: 62903
|
| |
|
|
|
|
| |
meta-data generation.
llvm-svn: 62894
|
| |
|
|
| |
llvm-svn: 62885
|
| |
|
|
| |
llvm-svn: 62884
|
| |
|
|
|
|
| |
Make sure that we know a call is invalid if we dropped arguments.
llvm-svn: 62882
|
| |
|
|
|
|
| |
PR clang/3378
llvm-svn: 62876
|
| |
|
|
|
|
|
|
| |
used by Diagnostics to determine if a diagnostic sent to a given DiagnosticClient should be included in the count of diagnostics. The default implementation of this method returns 'true'.
Implemented DiagCollector::IncludeInDiagnosticCounts() to return 'false' so that the batching of diagnostics for use with BugReporter doesn't mess up the count of real diagnostics.
llvm-svn: 62873
|
| |
|
|
|
|
| |
contains no error reports.
llvm-svn: 62871
|
| |
|
|
|
|
| |
rdar://problem/6520707
llvm-svn: 62859
|
| |
|
|
|
|
| |
values, to really really fix PR clang/3377
llvm-svn: 62858
|
| |
|
|
|
|
| |
- <rdar://problem/6518844> Clang-generated bitcode crashes LLVM while compiling function pointer addition expression
llvm-svn: 62857
|
| |
|
|
|
|
|
|
|
|
| |
Refactor how the preprocessor changes a token from being an tok::identifier to a
keyword (e.g. tok::kw_for). Instead of doing this in HandleIdentifier, hoist this
common case out into the caller, so that every keyword doesn't have to go through
HandleIdentifier. This drops time in HandleIdentifier from 1.25ms to .62ms, and
speeds up clang -Eonly with PTH by about 1%.
llvm-svn: 62855
|
| |
|
|
| |
llvm-svn: 62853
|
| |
|
|
| |
llvm-svn: 62852
|
| |
|
|
|
|
| |
Fixes PR clang/3377
llvm-svn: 62851
|
| |
|
|
|
|
|
|
|
| |
special action, inside function prototype scope. This avoids confusion
when we try to inject these parameters into the scope of the function
body before the function itself has been added to the surrounding
scope. Fixes <rdar://problem/6097326>.
llvm-svn: 62849
|
| |
|
|
| |
llvm-svn: 62847
|
| |
|
|
| |
llvm-svn: 62846
|
| |
|
|
|
|
| |
region. Otherwise we would get an extra level of pointer type.
llvm-svn: 62844
|
| |
|
|
| |
llvm-svn: 62830
|
| |
|
|
|
|
| |
extension. Addresses clang PR/3371.
llvm-svn: 62823
|
| |
|
|
| |
llvm-svn: 62819
|
| |
|
|
|
|
| |
AnonTypedRegions. It wasn't really doing the right thing and was crashing on rdar-6442306-1.m. This fix causes all path-sensitive test cases to pass with RegionStore.
llvm-svn: 62816
|
| |
|
|
|
|
|
|
| |
load is always aligned.
I verified that the bswap doesn't occur in the assembly code on x86.
llvm-svn: 62815
|
| |
|
|
|
|
| |
references. This causes tests 'ObjCProperties.m' and 'refcnt_naming.m' to now pass with RegionStore.
llvm-svn: 62814
|
| |
|
|
|
|
|
|
|
|
|
| |
initializers, so that we are within the appropriate subobject after
we've processed a multi-designator designation. We're matching GCC and
EDG's behavior on all examples I've found thus far.
*Huge* thanks to Eli Friedman for pointing out my fundamental
misunderstanding of "current object" in the C99 spec.
llvm-svn: 62812
|
| |
|
|
|
|
| |
for the new meta-data.
llvm-svn: 62806
|
| |
|
|
|
|
|
|
| |
is not an ElementRegion (also do some cleanups of its core logic).
This gets array-struct.c to work with RegionStore.
llvm-svn: 62781
|
| |
|
|
|
|
| |
descriptive.
llvm-svn: 62775
|
| |
|
|
|
|
| |
fsyntax-only with PTH by 3%.
llvm-svn: 62774
|
| |
|
|
|
|
| |
SymbolRegionRvalues because these represent the symbolic values for parameters/globals upon entry to the function. These values are always ;live' because they represent constraints on the context of how the function was called. This will be useful for both summary generation but is also necessary to get RegionStore's lazy-binding of locations to symbols to work in practice with RemoveDeadBindings.
llvm-svn: 62771
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
their associated APIs. We no longer need separate SymbolData objects
for fields, variables, etc. Instead, we now associated symbols with
the "rvalue" of a MemRegion (i.e., the value stored at that region).
Now we only have two kinds of SymbolData objects: SymbolRegionRValue
and SymbolConjured.
This cleanup also makes the distinction between a SymbolicRegion and a
symbolic value that is a location much clearer. A SymbolicRegion
represents a chunk of symbolic memory, while a symbolic location is
just a "pointer" with different possible values. Without any specific
knowledge, a symbolic location resolves (i.e., via a dereference) to a
SymbolicRegion. In the future, when we do better alias reasoning, a
symbolic location can become an alias for another location, thus
merging the constraints on the referred SymbolicRegion with the other
region.
llvm-svn: 62769
|
| |
|
|
|
|
|
|
|
|
| |
Uncomment the define in Ownership.h to disable the smart pointers.
Disabled, the smart pointers no longer contain a pointer
to the action, and no longer have special destruction or
copying semantics. They are, compiler willing, raw
pointers or ActionResult equivalents.
llvm-svn: 62767
|
| |
|
|
| |
llvm-svn: 62766
|
| |
|
|
| |
llvm-svn: 62744
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
designated initializers. This implementation should cover all of the
constraints in C99 6.7.8, including long, complex designations and
computing the size of incomplete array types initialized with a
designated initializer. Please see the new test-case and holler if you
find cases where this doesn't work.
There are still some wrinkles with GNU's anonymous structs and
anonymous unions (it isn't clear how these should work; we'll just
follow GCC's lead) and with designated initializers for the members of a
union. I'll tackle those very soon.
CodeGen is still nonexistent, and there's some leftover code in the
parser's representation of designators that I'll also need to clean up.
llvm-svn: 62737
|