- Jan 30, 2012
-
-
Douglas Gregor authored
llvm-svn: 149254
-
Benjamin Kramer authored
llvm-svn: 149253
-
Howard Hinnant authored
Add a descriptive name for a constant. Also I'm at least temporarily waging war on throw specs, both old and new style. Except where we have already publicly exposed the throw spec, I'm getting rid of them. They may come back later. But they seem somewhat prone to cyclic dependencies here. The throw spec implies compiler generated code that this library has to jump to during stack unwinding. I'd like to minimize the possiblity that the code used to properly make that jump is itself creating such jumps. llvm-svn: 149251
-
Howard Hinnant authored
llvm-svn: 149250
-
Howard Hinnant authored
Put throw() clauses back on these functions in cxxabi.h. This header must be C++03 compatible and these throw specs are consistent with the current cxxabi.h that Apple ships. llvm-svn: 149249
-
Benjamin Kramer authored
llvm-svn: 149248
-
Alexey Samsonov authored
llvm-svn: 149247
-
Alexander Potapenko authored
llvm-svn: 149245
-
Chandler Carruth authored
'-target'. The original flag was part of a flag group that marked it as driver-only. The new flag didn't ever get equivalent treatment. This caused the '-target' flag to get passed down to any raw GCC invocation. Marking it as a driver option fixes this and PR11875. llvm-svn: 149244
-
Alexander Potapenko authored
Fix compilation of ASan tests on OS X Lion (see http://code.google.com/p/address-sanitizer/issues/detail?id=32) The redzones emitted by AddressSanitizer for CFString instances confuse the linker and are of little use, so we shouldn't add them. llvm-svn: 149243
-
Anton Korobeynikov authored
llvm-svn: 149242
-
Anton Korobeynikov authored
llvm-svn: 149241
-
Tobias Grosser authored
llvm-svn: 149240
-
Tobias Grosser authored
llvm-svn: 149239
-
Greg Clayton authored
contain shared pointers to the lldb_private::Target and lldb_private::Process objects respectively as we won't want the target or process just going away. Also cleaned up the lldb::SBModule to remove dangerous pointer accessors. For any code the public API files, we should always be grabbing shared pointers to any objects for the current class, and any other classes prior to running code with them. llvm-svn: 149238
-
Craig Topper authored
llvm-svn: 149237
-
Jean-Daniel Dupas authored
- Remove the printf0 special handling as we treat it as printf anyway. - Perform basic checks (non-literal, empty) for all formats and not only printf/scanf. llvm-svn: 149236
-
Craig Topper authored
Remove custom handling for cmpsd/cmpss/cmppd/cmpps builtins. The builtins are now in IntrinsicsX86.td. llvm-svn: 149235
-
Craig Topper authored
Add GCCBuiltin declarations for cmpsd/cmpss/cmppd/cmpps to allow custom code to be removed from clang. llvm-svn: 149234
-
Craig Topper authored
Cleanup 3dnow builtin handling. Most of them were already handled by LLVM connecting intrinsics and builtins in IntrinsicsX86.td. llvm-svn: 149233
-
Craig Topper authored
Fix pattern for memory form of PSHUFD for use with FP vectors to remove bitcast to an integer vector that normal code wouldn't have. Also remove bitcasts from code that turns splat vector loads into a shuffle as it was making the broken pattern necessary. llvm-svn: 149232
-
Greg Clayton authored
frames might go away (the object itself, not the actual logical frame) when we are single stepping due to the way we currently sometimes end up flushing frames when stepping in/out/over. They later will come back to life represented by another object yet they have the same StackID. Now when you get a lldb::SBFrame object, it will track the frame it is initialized with until the thread goes away or the StackID no longer exists in the stack for the thread it was created on. It uses a weak_ptr to both the frame and thread and also stores the StackID. These three items allow us to determine when the stack frame object has gone away (the weak_ptr will be NULL) and allows us to find the correct frame again. In our test suite we had such cases where we were just getting lucky when something like this happened: 1 - stop at breakpoint 2 - get first frame in thread where we stopped 3 - run an expression that causes the program to JIT and run code 4 - run more expressions on the frame from step 2 which was very very luckily still around inside a shared pointer, yet, not part of the current thread (a new stack frame object had appeared with the same stack ID and depth). We now avoid all such issues and properly keep up to date, or we start returning errors when the frame doesn't exist and always responds with invalid answers. Also fixed the UserSettingsController (not going to rewrite this just yet) so that it doesn't crash on shutdown. Using weak_ptr's came in real handy to track when the master controller has already gone away and this allowed me to pull out the previous NotifyOwnerIsShuttingDown() patch as it is no longer needed. llvm-svn: 149231
-
Chris Lattner authored
llvm-svn: 149230
-
Talin authored
llvm-svn: 149229
-
Anna Zaks authored
llvm-svn: 149228
-
Douglas Gregor authored
each of the targets. Use this for module requirements, so that we can pin the availability of certain modules to certain target features, e.g., provide a module for xmmintrin.h only when SSE support is available. Use these feature names to provide a nearly-complete module map for Clang's built-in headers. Only mm_alloc.h and unwind.h are missing, and those two are fairly specialized at the moment. Finishes <rdar://problem/10710060>. llvm-svn: 149227
-
Chris Lattner authored
to be formed whenever ConstantVector::get is used. llvm-svn: 149226
-
Chris Lattner authored
recently. This also conveniently gets clang ready for a change about to land in mainline. llvm-svn: 149225
-
Douglas Gregor authored
target-specific module requirements. llvm-svn: 149224
-
Chris Lattner authored
like normal integers. llvm-svn: 149223
-
Chris Lattner authored
llvm-svn: 149222
-
Chris Lattner authored
when the result type has a different # elements than the input vectors. llvm-svn: 149221
-
NAKAMURA Takumi authored
llvm-svn: 149220
-
NAKAMURA Takumi authored
llvm-svn: 149219
-
Greg Clayton authored
all RTTI types, and since we don't use RTTI anymore since clang and llvm don't we don't really need this header file. All shared pointer definitions have been moved into "lldb-forward.h". Defined std::tr1::weak_ptr definitions for all of the types that inherit from enable_shared_from_this() in "lldb-forward.h" in preparation for thread hardening our public API. The first in the thread hardening check-ins. First we start with SBThread. We have issues in our lldb::SB API right now where if you have one object that is being used by two threads we have a race condition. Consider the following code: 1 int 2 SBThread::SomeFunction() 3 { 4 int result = -1; 5 if (m_opaque_sp) 6 { 7 result = m_opaque_sp->DoSomething(); 8 } 9 return result; 10 } And now this happens: Thread 1 enters any SBThread function and checks its m_opaque_sp and is about to execute the code on line 7 but hasn't yet Thread 2 gets to run and class sb_thread.Clear() which calls m_opaque_sp.clear() and clears the contents of the shared pointer member Thread 1 now crashes when it resumes. The solution is to use std::tr1::weak_ptr. Now the SBThread class contains a lldb::ThreadWP (weak pointer to our lldb_private::Thread class) and this function would look like: 1 int 2 SBThread::SomeFunction() 3 { 4 int result = -1; 5 ThreadSP thread_sp(m_opaque_wp.lock()); 6 if (thread_sp) 7 { 8 result = m_opaque_sp->DoSomething(); 9 } 10 return result; 11 } Now we have a solid thread safe API where we get a local copy of our thread shared pointer from our weak_ptr and then we are guaranteed it can't go away during our function. So lldb::SBThread has been thread hardened, more checkins to follow shortly. llvm-svn: 149218
-
Chris Lattner authored
llvm-svn: 149217
-
Craig Topper authored
Move some XOP patterns into instruction definition. Replae VPCMOV intrinsic patterns with custom lowering to a target specific nodes. llvm-svn: 149216
-
Chris Lattner authored
should be feature complete now. Lets see if it works. llvm-svn: 149215
-
Douglas Gregor authored
llvm-svn: 149214
-
Douglas Gregor authored
llvm-svn: 149213
-