| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
argument in a for-each statement (e.g., "for (id x in <blah>)"), which
restricts the expression completions provided to Objective-C types (or
class types in C++).
llvm-svn: 111843
|
| |
|
|
|
|
|
| |
to handle the case where the struct is only forward-declared. In
this case, a temporary MDNode is not needed and not desired.
llvm-svn: 111842
|
| |
|
|
|
|
| |
way to see what will break! :)
llvm-svn: 111840
|
| |
|
|
|
|
| |
the arch specific gcc lib path.
llvm-svn: 111839
|
| |
|
|
|
|
| |
non-obvious.
llvm-svn: 111838
|
| |
|
|
|
|
|
|
|
|
|
|
| |
IdempotentOperationChecker uses it.
- Psuedo -> Pseudo (doh...)
- C++ reference support
- Added pseudoconstant test case for __block vars
- Separated out static local checking from pseudoconstant analysis and generalized to non-local checking
- Added missing test cases for storage false positives
llvm-svn: 111832
|
| |
|
|
| |
llvm-svn: 111830
|
| |
|
|
|
|
| |
objc-nonfragile-abi2 (radar 7824380).
llvm-svn: 111823
|
| |
|
|
|
|
|
|
|
| |
declarator. Here, we can only see a few things (e.g., cvr-qualifiers,
nested name specifiers) and we do not want to provide other non-macro
completions. Previously, we would end up in recovery mode and would
provide a large number of non-relevant completions.
llvm-svn: 111818
|
| |
|
|
|
|
|
| |
the ternary operator without a left-hand side in C++ (PR7726), from
Jean-Daniel Dupas!
llvm-svn: 111809
|
| |
|
|
|
|
|
| |
removes the copy. Patch from Eelis van der Weegen, tweaked/updated by
me.
llvm-svn: 111807
|
| |
|
|
|
|
| |
methods.
llvm-svn: 111804
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
constructors. We perform semantic checking when creating the definition, and
this isn't needed in certain contexts (value initialization) but is in others
(default initialization). This fixes PR7948.
We add explicit code to the default initialization path to ensure the
definition is both present and valid.
Doug, please review. I think this follows your latest suggestion, and it ended
up remarkably cleaner than I anticipated. Also let me know if similar logic
should be followed for destructors and copy-constructors.
llvm-svn: 111802
|
| |
|
|
|
|
| |
through the parser.
llvm-svn: 111800
|
| |
|
|
|
|
|
|
| |
contain a ObjCObjectPointerType since r111699.
Don't assume that they are only PointerTypes or we will crash.
llvm-svn: 111798
|
| |
|
|
| |
llvm-svn: 111797
|
| |
|
|
| |
llvm-svn: 111796
|
| |
|
|
| |
llvm-svn: 111795
|
| |
|
|
|
|
|
|
|
|
|
| |
That revision started classifying truly empty structs like "Y" and "X"
as being NoClass/NoClass and turning them into 'ignore'. The call code
turns around and allocates space for the ignored argument with
GetUndefRValue. The bug is that GetUndefRValue would return the address
as undef, instead of returning an object with a defined address but
undefined contents.
llvm-svn: 111794
|
| |
|
|
| |
llvm-svn: 111790
|
| |
|
|
|
|
|
|
|
|
|
| |
class; they should just be completely opaque throughout IR gen now,
although I haven't really audited that.
Fix a bug apparently inherited from gcc-4.2 where we failed to null-check
member data pointers when performing derived-to-base or base-to-derived
conversions on them.
llvm-svn: 111789
|
| |
|
|
|
|
| |
operator new[].
llvm-svn: 111788
|
| |
|
|
|
|
|
|
|
| |
Make CGT defer to the ABI on all member pointer types.
This requires giving CGT a handle to the ABI.
It's way easier to make that work if we avoid lazily creating the ABI.
Make it so.
llvm-svn: 111786
|
| |
|
|
|
|
| |
far, this just #include's immintrin.h for compatibility.
llvm-svn: 111785
|
| |
|
|
| |
llvm-svn: 111783
|
| |
|
|
| |
llvm-svn: 111782
|
| |
|
|
|
|
| |
instantiating CXXConstructExpr expressions.
llvm-svn: 111780
|
| |
|
|
|
|
|
|
|
|
|
|
| |
implicitly-defined default constructor, zero-initialize the memory
before calling the default constructor. Previously, we would only
zero-initialize in the case of a trivial default constructor.
Also, simplify the hideous logic that determines when we have a
trivial default constructor and, therefore, don't need to emit any
call at all.
llvm-svn: 111779
|
| |
|
|
| |
llvm-svn: 111777
|
| |
|
|
|
|
|
|
|
|
| |
pointers. I find the resulting code to be substantially cleaner, and it
makes it very easy to use the same APIs for data member pointers (which I have
conscientiously avoided here), and it avoids a plethora of potential
inefficiencies due to excessive memory copying, but we'll have to see if it
actually works.
llvm-svn: 111776
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the ABI code. Implement correct semantics for these on ARM.
I believe this completes the implementation of member function pointers
on ARM.
I think I'm going to switch member function pointers over to be
non-aggregates while I have all this in mind.
llvm-svn: 111774
|
| |
|
|
|
|
| |
are handled.
llvm-svn: 111773
|
| |
|
|
|
|
|
|
| |
duplication between the constant and non-constant paths in all of this.
Implement ARM ABI semantics for member pointer constants and conversion.
llvm-svn: 111772
|
| |
|
|
| |
llvm-svn: 111771
|
| |
|
|
|
|
| |
Pretty much everything having to do with member pointers is ABI-specific.
llvm-svn: 111770
|
| |
|
|
| |
llvm-svn: 111768
|
| |
|
|
| |
llvm-svn: 111766
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 111752
|
| |
|
|
|
|
|
| |
it deserves its own enumerator. Obviously the implementations should
closely follow the Itanium ABI except in cases of divergence.
llvm-svn: 111749
|
| |
|
|
| |
llvm-svn: 111748
|
| |
|
|
|
|
|
| |
Build qualified version of ObjC pointers (not pointers) when
doing overload resolution.
llvm-svn: 111740
|
| |
|
|
| |
llvm-svn: 111737
|
| |
|
|
| |
llvm-svn: 111736
|
| |
|
|
| |
llvm-svn: 111735
|
| |
|
|
|
|
|
|
| |
with the same binding key. The only trick here is that sometimes the Symbolic
region is stored in with an LocAsInteger wrapper. We unwrap that in
SVal::getAsLocSymbol().
llvm-svn: 111734
|
| |
|
|
| |
llvm-svn: 111733
|
| |
|
|
|
|
| |
region and its base region as the same binding key.
llvm-svn: 111732
|
| |
|
|
| |
llvm-svn: 111731
|
| |
|
|
|
|
|
| |
relavant any more, because we set its default value to a symbol, and the type of
default symbolic value is irrelavant.
llvm-svn: 111730
|
| |
|
|
| |
llvm-svn: 111729
|