| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
tests fail.
llvm-svn: 188447
|
|
|
|
|
|
| |
a value-initialized bool!
llvm-svn: 170837
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also temporarily remove the assumption from IR gen that we can emit IR for every
constant we can fold, since it isn't currently true in C++11, to fix PR11676.
Original comment from r147271:
constexpr: perform zero-initialization prior to / instead of performing a
constructor call when appropriate. Thanks to Eli for spotting this.
llvm-svn: 147384
|
|
|
|
| |
llvm-svn: 147362
|
|
|
|
|
|
| |
constructor call when appropriate. Thanks to Eli for spotting this.
llvm-svn: 147271
|
|
|
|
|
|
| |
zero-initialization before running its constructor.
llvm-svn: 141933
|
|
|
|
|
|
| |
partial destruction.
llvm-svn: 135033
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Emit default-initialization of arrays that were partially initialized
with initializer lists with a loop, rather than emitting the default
initializer N times;
- support destroying VLAs of non-trivial type, although this is not
yet exposed to users; and
- support the partial destruction of arrays initialized with
initializer lists when an initializer throws an exception.
llvm-svn: 134784
|
|
|
|
|
|
|
| |
-C++ objects with user-declared constructor don't need zero'ing.
-We can zero-initialize arrays of C++ objects in "bulk" now, in which case don't zero-initialize each object again.
llvm-svn: 130453
|
|
|
|
|
|
|
|
|
|
| |
initializer make sure
that a non-trivial C++ constructor gets called.
Fixes rdar://9347552 & http://llvm.org/PR9801
llvm-svn: 130421
|
|
|
|
| |
llvm-svn: 129672
|
|
|
|
| |
llvm-svn: 124210
|
|
|
|
| |
llvm-svn: 123197
|
|
|
|
| |
llvm-svn: 122309
|
|
|
|
|
|
| |
structs with references in them correctly.
llvm-svn: 120722
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
trivial default constructors. We're weren't zero-initializing them,
which manifested as <rdar://problem/8320532> (a regression in the GCC
test suite) and is likely to have caused significant other breakage.
llvm-svn: 111650
|
|
|
|
|
|
|
|
|
| |
to avoid the awesome-but-wrong-in-this-case assertion in the canon EAC.
Fixes PR7834.
Also fix a subtle address-space bug in the memset path.
llvm-svn: 110511
|
|
|
|
|
|
|
|
|
|
|
| |
keep track of whether we need to zero-initialize storage prior to
calling its constructor. Previously, we were only tracking this when
implicitly constructing the object (a CXXConstructExpr).
Fixes Boost's value-initialization tests, which means that the
Boost.Config library now passes all of its tests.
llvm-svn: 102461
|
|
|
|
|
|
| |
field to memcpy, memmove, and memset.
llvm-svn: 100305
|
|
|
|
| |
llvm-svn: 100200
|
|
|
|
|
|
| |
field to memcpy, memmove, and memset.
llvm-svn: 100193
|
|
|
|
| |
llvm-svn: 99949
|
|
|
|
|
|
| |
memmove, and memset
llvm-svn: 99930
|
|
|
|
| |
llvm-svn: 91551
|
|
with a non-trivial default constructor, zero-initialize the storage
and then call the default constructor. Fixes PR5800.
llvm-svn: 91548
|