Nick Lewycky
9b46eb8112
Add 'nonnull' parameter or return attribute when producing an llvm pointer type in a function type where the C++ type is a reference. Update the tests.
...
llvm-svn: 209723
2014-05-28 09:56:42 +00:00
Stephen Lin
4362261b00
CHECK-LABEL-ify some code gen tests to improve diagnostic experience when tests fail.
...
llvm-svn: 188447
2013-08-15 06:47:53 +00:00
John McCall
13a39c6f54
When devirtualizing the conversion to a virtual base subobject,
...
don't explode if the offset we get is zero. This can happen if
you have an empty virtual base class.
While I'm at it, remove an unnecessary block from the IR-generation
of the null-check, mark the eventual GEP as inbounds, and generally
prettify.
llvm-svn: 161100
2012-08-01 05:04:58 +00:00
Richard Smith
9ca5c42582
Update all tests other than Driver/std.cpp to use -std=c++11 rather than
...
-std=c++0x. Patch by Ahmed Charles!
llvm-svn: 141900
2011-10-13 22:29:44 +00:00
Eli Friedman
ed47406871
Move test, so it actually tests what it is supposed to (given that we don't have an AST verifier).
...
llvm-svn: 140620
2011-09-27 18:55:06 +00:00
John McCall
154a2fd3cb
Be sure to emit lvalue-to-rvalue casts for loads from x-values.
...
Doing this happens to disrupt the pattern that ARC was looking for
for move optimizations, so we need to fix that simultaneously.
llvm-svn: 138789
2011-08-30 00:57:29 +00:00
Douglas Gregor
3fb22baddb
Allow elision of invocations of move constructors from temporary objects.
...
llvm-svn: 124455
2011-01-27 23:24:55 +00:00
Douglas Gregor
21d3fca917
When producing IR for a lvalue-to-rvalue cast *as an lvalue*, only
...
non-class prvalues actually require the realization of a
temporary. For everything else, we already have an lvalue (or class
prvalue) in the subexpression.
Note: we're missing some move elision in this case. I'll tackle that next.
llvm-svn: 124453
2011-01-27 23:22:05 +00:00
Douglas Gregor
ba278e2e7d
When performing a glvalue-to-xvalue static_cast that involves a
...
derived-to-base conversion, set the cast kind and base path
appropriately.
llvm-svn: 124189
2011-01-25 16:13:26 +00:00