| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
When Clang/LLVM is built with the CLANG_DEFAULT_STD_CXX CMake macro that sets
the default standard to something other than C++14, there are a number of lit
tests that fail as they rely on the C++14 default.
This patch just adds the language standard option explicitly to such test cases.
Differential revision: https://reviews.llvm.org/D57581
llvm-svn: 353163
|
|
|
|
|
|
|
| |
This reverts commit https://reviews.llvm.org/rL344150 which causes
MachineOutliner related failures on the ppc64le multistage buildbot.
llvm-svn: 344526
|
|
|
|
|
|
|
|
|
| |
This is currently a clang extension and a resolution
of the defect report in the C++ Standard.
Differential Revision: https://reviews.llvm.org/D46441
llvm-svn: 344150
|
|
|
|
|
|
| |
This is C++14 with conforming GNU extensions.
llvm-svn: 320250
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CodeGen-level implementation. Instead of adding an attribute to clang's
FunctionDecl, add the IR attribute directly. This means a module built with
this flag is now compatible with code built without it and vice versa.
This change also results in the 'noalias' attribute no longer being added to
calls to operator new in the IR; it's now only added to the declaration. It
also fixes a bug where we failed to add the attribute to the 'nothrow' versions
(because we didn't implicitly declare them, there was no good time to inject a
fake attribute).
llvm-svn: 265728
|
|
|
|
| |
llvm-svn: 244991
|
|
|
|
| |
llvm-svn: 244925
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emit warning when operand to `delete` is allocated with `new[]` or
operand to `delete[]` is allocated with `new`.
rev 2 update:
`getNewExprFromInitListOrExpr` should return `dyn_cast_or_null`
instead of `dyn_cast`, since `E` might be null.
Reviewers: rtrieu, jordan_rose, rsmith
Subscribers: majnemer, cfe-commits
Differential Revision: http://reviews.llvm.org/D4661
llvm-svn: 237608
|
|
|
|
|
|
|
|
|
| |
This reverts commit 742dc9b6c9686ab52860b7da39c3a126d8a97fbc.
This is generating multiple segfaults in our internal builds.
Test case coming up shortly.
llvm-svn: 237391
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emit warning when operand to `delete` is allocated with `new[]` or
operand to `delete[]` is allocated with `new`.
Reviewers: rtrieu, jordan_rose, rsmith
Subscribers: majnemer, cfe-commits
Differential Revision: http://reviews.llvm.org/D4661
llvm-svn: 237368
|
|
|
|
| |
llvm-svn: 230795
|
|
|
|
| |
llvm-svn: 230783
|
|
|
|
| |
llvm-svn: 229269
|
|
|
|
|
|
|
| |
they're given a null pointer as an argument, so we do not need to emit null
checks on their results.
llvm-svn: 229213
|
|
|
|
|
|
| |
template before the builtin operator new/delete.
llvm-svn: 210230
|
|
|
|
|
|
|
| |
to the normal non-placement ::operator new and ::operator delete, but allow
optimizations like new-expressions and delete-expressions do.
llvm-svn: 210137
|
|
|
|
| |
llvm-svn: 201477
|
|
|
|
|
|
| |
tests fail.
llvm-svn: 188447
|
|
|
|
|
|
|
|
|
| |
optimize, to follow the permissions granted in N3664. Under those rules, only
calls generated by new-expressions and delete-expressions are permitted to be
optimized, and direct calls to ::operator new and ::operator delete must be
treated as normal calls.
llvm-svn: 186799
|
|
|
|
|
|
| |
array new with a non-trivial constructor. Pointed out in PR13380.
llvm-svn: 162643
|
|
|
|
| |
llvm-svn: 150738
|
|
|
|
| |
llvm-svn: 146291
|
|
|
|
|
|
| |
partial destruction.
llvm-svn: 135033
|
|
|
|
|
|
|
|
| |
for the '(' and ')' around the initializer unless we actually have an
initializer. Fixes PR10197, an issue where we were value-initializing
rather than default-initializing.
llvm-svn: 133913
|
|
|
|
|
|
|
|
|
| |
operators; their semantics are guaranteed by the language.
If someone wants to argue that freestanding compiles shouldn't recognize
this, I might be convinceable.
llvm-svn: 131395
|
|
|
|
|
|
| |
two regressions in Boost.Config.
llvm-svn: 112908
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implement ARM array cookies. Also fix a few unfortunate bugs:
- throwing dtors in deletes prevented the allocation from being deleted
- adding the cookie to the new[] size was not being considered for
overflow (and, more seriously, was screwing up the earlier checks)
- deleting an array via a pointer to array of class type was not
causing any destructors to be run and was passing the unadjusted
pointer to the deallocator
- lots of address-space problems, in case anyone wants to support
free store in a variant address space :)
llvm-svn: 112814
|
|
|
|
|
|
| |
multiple dimensions.
llvm-svn: 112188
|
|
|
|
|
|
| |
called for arrays with more than 1 dimension.
llvm-svn: 112107
|
|
|
|
|
|
| |
when -fassume-sane-operator-new. Patch by Tom Jablin!
llvm-svn: 111363
|
|
|
|
|
|
|
|
|
| |
initializer of (). Make sure to use a simple memset() when we can, or
fall back to generating a loop when a simple memset will not
suffice. Fixes <rdar://problem/8212208>, a regression due to my work
in r107857.
llvm-svn: 108977
|
|
|
|
|
|
| |
doing an overflow check.
llvm-svn: 108943
|
|
|
|
| |
llvm-svn: 108936
|
|
|
|
| |
llvm-svn: 102912
|
|
|
|
| |
llvm-svn: 102891
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
default, and adds the malloc attribute to the global function new() and to the overloaded new operators.
feel free to chage the name to this lengthy argument
llvm-svn: 91543
|
|
|
|
| |
llvm-svn: 91519
|
|
|
|
|
|
|
|
|
| |
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).
llvm-svn: 91446
|
|
|
|
| |
llvm-svn: 89791
|
|
|
|
|
|
|
| |
Add support for variadic collection functions. More to do
here.
llvm-svn: 89781
|
|
|
|
| |
llvm-svn: 89613
|
|
|
|
| |
llvm-svn: 86911
|
|
|
|
| |
llvm-svn: 82642
|
|
|
|
| |
llvm-svn: 82628
|
|
|
|
| |
llvm-svn: 72679
|