summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Brought thread variadic constructor up to current spec, which allows ↵Howard Hinnant2011-05-163-6/+56
| | | | | | move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters. llvm-svn: 131413
* Renamed the test cases more properly to test_lldb_iter_module/breakpoint/farme.Johnny Chen2011-05-161-9/+9
| | | | llvm-svn: 131412
* Add a FIXME reminder to remove ForceARMElfPIC switch.Jason W Kim2011-05-161-0/+4
| | | | llvm-svn: 131411
* Supply missing std::qualifier to call.Howard Hinnant2011-05-161-2/+2
| | | | llvm-svn: 131410
* Spit 5th bullet __invoke into function pointers and everything else because ↵Howard Hinnant2011-05-161-0/+8
| | | | | | result_of doesn't deal with function pointers. llvm-svn: 131409
* Supply missing move ctor in __bind_r, though this one will eventually be ↵Howard Hinnant2011-05-161-0/+4
| | | | | | defaulted llvm-svn: 131408
* Redesign of result_of to handle reference-qualified member functionsHoward Hinnant2011-05-162-52/+328
| | | | llvm-svn: 131407
* sets bit 0 of the function address of thumb function in .symtabRafael Espindola2011-05-168-12/+59
| | | | | | | | | | ("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
* Extra refactoring noticed by Eli Friedman.Rafael Espindola2011-05-161-9/+8
| | | | llvm-svn: 131405
* Make the triple an explicit argument of FindTargetProgramPath.Joerg Sonnenberger2011-05-165-21/+43
| | | | | | | | | | 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
* Add test for PR9927.Rafael Espindola2011-05-161-0/+18
| | | | llvm-svn: 131403
* Remove redundant template partial specilization.Zhongxing Xu2011-05-161-8/+1
| | | | llvm-svn: 131402
* Revert 131377, 131369 and 131365.Rafael Espindola2011-05-164-244/+24
| | | | | | 131365 caused PR9927. llvm-svn: 131401
* Fix another regression from the "skip vtable pointer initialization"Anders Carlsson2011-05-166-8/+25
| | | | | | | 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
* Don't do tail calls in a function that call setjmp. The stack might beRafael Espindola2011-05-165-37/+59
| | | | | | corrupted when setjmp returns again. llvm-svn: 131399
* Add support for the 'G' packet not being implemented or returning an error.Greg Clayton2011-05-162-7/+44
| | | | | | | If we are asked to restore all register values, we need to fall back to restoring each register one by one. llvm-svn: 131398
* Fixed an issue where large memory writes might not get chunked up into smallerGreg Clayton2011-05-163-1/+10
| | | | | | | | packets in GDB remote. Also fixed a compiler warning for an unhandled case for a switch. llvm-svn: 131397
* Stop leaving a.out files around.John McCall2011-05-161-2/+2
| | | | llvm-svn: 131396
* Don't actually emit calls to the reserved global placement new and deleteJohn McCall2011-05-162-31/+67
| | | | | | | | | 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
* Dump JIT memory requirements when "log enable lldb expr" logging is enabled.Greg Clayton2011-05-152-3/+14
| | | | | | Correctly handle invalid 32-bit mmap fail return value in ProcessGDBRemote. llvm-svn: 131394
* Properly handle when commands are not unsupported in the GDB remote clients.Greg Clayton2011-05-151-55/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added the ability to get a 32 or 64 bit simple return value from the Greg Clayton2011-05-152-83/+82
| | | | | | | | | ABIMacOSX_arm plugin. Modified darwin-debug to print out the exectuable, working directory and arguments a bit differently. llvm-svn: 131392
* Updated to use the latest LLVM/Clang, to pick up JITSean Callanan2011-05-154-7/+14
| | | | | | changes. llvm-svn: 131391
* main() exists in hosted, not freestanding implementations. Fixes theAlexis Hunt2011-05-151-1/+1
| | | | | | build. llvm-svn: 131390
* Fixed the default ARM registers to have the generic argumentGreg Clayton2011-05-151-5/+5
| | | | | | definitions and names. llvm-svn: 131387
* Add a method for checking whether a function is one of the reserved globalJohn McCall2011-05-152-6/+45
| | | | | | | | 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
* Re-enable the fix for PR9181 now that all the edge cases are handled.Anders Carlsson2011-05-153-21/+152
| | | | llvm-svn: 131385
* Fix copy-pasto.Charles Davis2011-05-151-1/+1
| | | | llvm-svn: 131384
* When checking a set of template parameter lists against aDouglas Gregor2011-05-153-3/+18
| | | | | | | | | 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
* Add stub methods to MCStreamer for emitting Win64 exception-handlingCharles Davis2011-05-152-0/+44
| | | | | | information. llvm-svn: 131382
* Get rid of extern "C" from the Win64 EH header.Charles Davis2011-05-151-4/+0
| | | | llvm-svn: 131381
* Add a header containing definitions used to implement Win64 exception handling.Charles Davis2011-05-151-0/+100
| | | | llvm-svn: 131380
* Declare this function here so that it doesn't get C++ mangling.Nick Lewycky2011-05-151-0/+2
| | | | llvm-svn: 131379
* The array-size operand to a new-expression is not necessarily a size_t.John McCall2011-05-153-144/+213
| | | | | | | 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
* Fix MSVC build.Argyrios Kyrtzidis2011-05-151-1/+1
| | | | llvm-svn: 131377
* Added generic register numbers for simple ABI argument registers and definedGreg Clayton2011-05-1511-32/+108
| | | | | | | | | | | | | | | | | 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
* Make CGF.getContext() inlinable, because it's trivial, and optimizeJohn McCall2011-05-152-8/+36
| | | | | | hasAggregateLLVMType. llvm-svn: 131375
* More killing of std::vector.John McCall2011-05-152-40/+41
| | | | llvm-svn: 131374
* Use arrays and SmallVectors instead of std::vectors when building functionJohn McCall2011-05-155-193/+148
| | | | | | | types. Also, cache a translation of 'void' in CGM and provide a ptrdiff_t alias. No functionality change. llvm-svn: 131373
* Disable the optimization until the bug noticed by Sean Hunt has been fixed.Anders Carlsson2011-05-153-1/+6
| | | | llvm-svn: 131372
* Modified the lldb.xcodeproj to not have the headers in a copy files phaseGreg Clayton2011-05-151-60/+0
| | | | | | for lldb-core. llvm-svn: 131371
* Added the ability to get the return value from a ThreadPlanCallFunctionGreg Clayton2011-05-1515-83/+269
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix generation of obj-c @encoding for members with zero size.Argyrios Kyrtzidis2011-05-152-25/+43
| | | | | | Also follow gcc in that arrays of elements with zero size are encoded as arrays with zero elements. llvm-svn: 131369
* When emitting the destructor for a class with a vtable, if we can determineAnders Carlsson2011-05-146-14/+160
| | | | | | | | | | 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
* Let clang-check actually use the Directory entry in the json file.Nico Weber2011-05-142-1/+7
| | | | llvm-svn: 131367
* Only perform the null-initialization of an aggregate result of a messageJohn McCall2011-05-142-24/+70
| | | | | | | | | 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
* Create proper Objective-C @encoding for C++ classes; fixes rdar://9357400.Argyrios Kyrtzidis2011-05-144-21/+223
| | | | | | | | | | | | | | | | | | 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
* Emit an error when trying to @encode an incomplete type.Argyrios Kyrtzidis2011-05-144-2/+20
| | | | | | | | 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
* Disable test harder.Benjamin Kramer2011-05-141-1/+2
| | | | llvm-svn: 131363
* Revert 131347. It asserts if the specialization in within a class template:Francois Pichet2011-05-144-23/+6
| | | | | | | | | | | | 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
OpenPOWER on IntegriCloud