| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters.
llvm-svn: 131413
|
| |
|
|
| |
llvm-svn: 131412
|
| |
|
|
| |
llvm-svn: 131411
|
| |
|
|
| |
llvm-svn: 131410
|
| |
|
|
|
|
| |
result_of doesn't deal with function pointers.
llvm-svn: 131409
|
| |
|
|
|
|
| |
defaulted
llvm-svn: 131408
|
| |
|
|
| |
llvm-svn: 131407
|
| |
|
|
|
|
|
|
|
|
| |
("T is 1 if the target symbol S has type STT_FUNC and the
symbol addresses a Thumb instruction ;it is 0 otherwise."
from "ELF for the ARM Architecture" 4.7.1.2)
Patch by Koan-Sin Tan!
llvm-svn: 131406
|
| |
|
|
| |
llvm-svn: 131405
|
| |
|
|
|
|
|
|
|
|
| |
Preserve the original triple in the NetBSD toolchain when using -m32 or
-m64 and the resulting effective target is different from the triple it
started with. This allows -m32 to use the same assembler/linking in
cross-compiling mode and avoids confusion about passing down target
specific flags in that case like --32.
llvm-svn: 131404
|
| |
|
|
| |
llvm-svn: 131403
|
| |
|
|
| |
llvm-svn: 131402
|
| |
|
|
|
|
| |
131365 caused PR9927.
llvm-svn: 131401
|
| |
|
|
|
|
|
| |
optimization. Make sure to require a vtable when trying to get the address
of a VTT, otherwise we would never end up emitting the VTT.
llvm-svn: 131400
|
| |
|
|
|
|
| |
corrupted when setjmp returns again.
llvm-svn: 131399
|
| |
|
|
|
|
|
| |
If we are asked to restore all register values, we need to fall back to
restoring each register one by one.
llvm-svn: 131398
|
| |
|
|
|
|
|
|
| |
packets in GDB remote.
Also fixed a compiler warning for an unhandled case for a switch.
llvm-svn: 131397
|
| |
|
|
| |
llvm-svn: 131396
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Correctly handle invalid 32-bit mmap fail return value in ProcessGDBRemote.
llvm-svn: 131394
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this fix we would often call SendPacketAndWaitForResponse() which
returns the number of bytes in the response. The UNSUPPORTED response in the
GDB remote protocol is zero bytes and we were checking for it inside an if
statement:
if (SendPacketAndWaitForResponse(...))
{
if (response.IsUnsupportedResponse())
{
// UNSUPPORTED...
// This will never happen...
}
}
We now handle is properly as:
if (SendPacketAndWaitForResponse(...))
{
}
else
{
// UNSUPPORTED...
}
llvm-svn: 131393
|
| |
|
|
|
|
|
|
|
| |
ABIMacOSX_arm plugin.
Modified darwin-debug to print out the exectuable, working directory and
arguments a bit differently.
llvm-svn: 131392
|
| |
|
|
|
|
| |
changes.
llvm-svn: 131391
|
| |
|
|
|
|
| |
build.
llvm-svn: 131390
|
| |
|
|
|
|
| |
definitions and names.
llvm-svn: 131387
|
| |
|
|
|
|
|
|
| |
placement allocation or deallocation functions. These functions cannot be
replaced by the user and are exempt from the normal requirements on
allocation functions (e.g. that they must return unaliased memory).
llvm-svn: 131386
|
| |
|
|
| |
llvm-svn: 131385
|
| |
|
|
| |
llvm-svn: 131384
|
| |
|
|
|
|
|
|
|
| |
nested-name-specifier, re-evaluate the nested-name-specifier as if we
were entering that context (which we did!), so that we'll resolve a
template-id to a particular class template partial
specialization. Fixes PR9913.
llvm-svn: 131383
|
| |
|
|
|
|
| |
information.
llvm-svn: 131382
|
| |
|
|
| |
llvm-svn: 131381
|
| |
|
|
| |
llvm-svn: 131380
|
| |
|
|
| |
llvm-svn: 131379
|
| |
|
|
|
|
|
| |
It can be larger, it can be smaller, it can be signed, whatever. Handle
all the crazy cases with grace and spirit.
llvm-svn: 131378
|
| |
|
|
| |
llvm-svn: 131377
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the appropriate registers for arm and x86_64. The register names for the
arguments that are the size of a pointer or less are all named "arg1", "arg2",
etc. This allows you to read these registers by name:
(lldb) register read arg1 arg2 arg3
...
You can also now specify you want to see alternate register names when executing
the read register command:
(lldb) register read --alternate
(lldb) register read -A
llvm-svn: 131376
|
| |
|
|
|
|
| |
hasAggregateLLVMType.
llvm-svn: 131375
|
| |
|
|
| |
llvm-svn: 131374
|
| |
|
|
|
|
|
| |
types. Also, cache a translation of 'void' in CGM and provide a ptrdiff_t
alias. No functionality change.
llvm-svn: 131373
|
| |
|
|
| |
llvm-svn: 131372
|
| |
|
|
|
|
| |
for lldb-core.
llvm-svn: 131371
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
thread plan. In order to get the return value, you can call:
void
ThreadPlanCallFunction::RequestReturnValue (lldb::ValueSP &return_value_sp);
This registers a shared pointer to a return value that will get filled in if
everything goes well. After the thread plan is run the return value will be
extracted for you.
Added an ifdef to be able to switch between the LLVM MCJIT and the standand JIT.
We currently have the standard JIT selected because we have some work to do to
get the MCJIT fuctioning properly.
Added the ability to call functions with 6 argument in the x86_64 ABI.
Added the ability for GDBRemoteCommunicationClient to detect if the allocate
and deallocate memory packets are supported and to not call allocate memory
("_M") or deallocate ("_m") if we find they aren't supported.
Modified the ProcessGDBRemote::DoAllocateMemory(...) and ProcessGDBRemote::DoDeallocateMemory(...)
to be able to deal with the allocate and deallocate memory packets not being
supported. If they are not supported, ProcessGDBRemote will switch to calling
"mmap" and "munmap" to allocate and deallocate memory instead using our
trivial function call support.
Modified the "void ProcessGDBRemote::DidLaunchOrAttach()" to correctly ignore
the qHostInfo triple information if any was specified in the target. Currently
if the target only specifies an architecture when creating the target:
(lldb) target create --arch i386 a.out
Then the vendor, os and environemnt will be adopted by the target.
If the target was created with any triple that specifies more than the arch:
(lldb) target create --arch i386-unknown-unknown a.out
Then the target will maintain its triple and not adopt any new values. This
can be used to help force bare board debugging where the dynamic loader for
static files will get used and users can then use "target modules load ..."
to set addressses for any files that are desired.
Added back some convenience functions to the lldb_private::RegisterContext class
for writing registers with unsigned values. Also made all RegisterContext
constructors explicit to make sure we know when an integer is being converted
to a RegisterValue.
llvm-svn: 131370
|
| |
|
|
|
|
| |
Also follow gcc in that arrays of elements with zero size are encoded as arrays with zero elements.
llvm-svn: 131369
|
| |
|
|
|
|
|
|
|
|
| |
that the destructor body is trivial and that all member variables also have either
trivial destructors or trivial destructor bodies, we don't need to initialize the
vtable pointers since no virtual member functions will be called on the destructor.
Fixes PR9181.
llvm-svn: 131368
|
| |
|
|
| |
llvm-svn: 131367
|
| |
|
|
|
|
|
|
|
| |
send if the receiver is null. Normally it's not worthwhile to check this,
but avoiding the null-initialization is nice, and this also avoids nasty
problems where the null-initialization is visible within the call because
we use an aliased result buffer. rdar://problem/9402992
llvm-svn: 131366
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Go through and expand the members of bases into the encoding string (and encode the VTable as well).
Unlike gcc which expands virtual bases as many times as they appear in the
hierarchy, clang will only expand them once at the end, to reflect the actual layout.
Note that there doesn't seem to be a way to indicate in the encoding that
packing/alignment of members is different that normal, in which case
the encoding will be out-of-sync with the real layout.
If the runtime switches to just consider the size of types without
taking into account alignment, we could easily make padding explicit in the
encoding (e.g. using arrays of chars). The encoding strings would be
longer then though.
Also encode a flexible array member as array of 0 size, like gcc, not as a pointer.
llvm-svn: 131365
|
| |
|
|
|
|
|
|
| |
There are APIs, e.g. [NSValue valueWithBytes:objCType:], which use the encoding to find out
the size of an object pointed to by a pointer. Make things safer by making it illegal to @encode
incomplete types.
llvm-svn: 131364
|
| |
|
|
| |
llvm-svn: 131363
|
| |
|
|
|
|
|
|
|
|
|
|
| |
template<class U>
struct X1 {
template<class T> void f(T*);
template<> void f(int*) { }
};
Won't be so simple. I need to think more about it.
llvm-svn: 131362
|