- Jan 19, 2013
-
-
Jakub Staszak authored
sufficient. llvm-svn: 172916
-
Jordan Rose authored
Before: Calling implicit default constructor for 'Foo' (where Foo is constructed) Entered call from 'test' (at "=default" or 'Foo' declaration) Calling default constructor for 'Bar' (at "=default" or 'Foo' declaration) After: Calling implicit default constructor for 'Foo' (where Foo is constructed) Calling default constructor for 'Bar' (at "=default" or 'Foo' declaration) This only affects the plist diagnostics; this note is never shown in the other diagnostics. llvm-svn: 172915
-
David Blaikie authored
Adding the pseudo first parameter to a member function pointer's function type and mark it as artificial. Combined with a fix to GDB ( http://sourceware.org/bugzilla/show_bug.cgi?id=14998 ) this fixes gdb.cp/member-ptr.exp with Clang. llvm-svn: 172911
-
Benjamin Kramer authored
llvm-svn: 172910
-
Chris Lattner authored
llvm-svn: 172909
-
Chris Lattner authored
llvm-svn: 172908
-
Chris Lattner authored
llvm-svn: 172907
-
Chris Lattner authored
llvm-svn: 172906
-
Chris Lattner authored
llvm-svn: 172905
-
Chris Lattner authored
has past the point of making sense. Lets tidy things up: first step, moving a ton of big functions out of line. llvm-svn: 172904
-
Tobias Grosser authored
Contributed-by:
Richard Membarth <richard.membarth@informatik.uni-erlangen.de> llvm-svn: 172903
-
Benjamin Kramer authored
This separates the check for "too few elements to run the vector loop" from the "memory overlap" check, giving a lot nicer code and allowing to skip the memory checks when we're not going to execute the vector code anyways. We still leave the decision of whether to emit the memory checks as branches or setccs, but it seems to be doing a good job. If ugly code pops up we may want to emit them as separate blocks too. Small speedup on MultiSource/Benchmarks/MallocBench/espresso. Most of this is legwork to allow multiple bypass blocks while updating PHIs, dominators and loop info. llvm-svn: 172902
-
Tobias Grosser authored
Most of the CompletionChunks represent braces, colons or other one character spellings. There is no need to call libclang, to figure out how to write a colon. Instead we use an internal cache to retrieve the correct spelling. As function calls from python are very expensive and this is a performance critical part of auto completion this patch makes formatting of auto completion results a lot faster. Formatting time changes from 0.57 to 0.45 seconds llvm-svn: 172901
-
Tobias Grosser authored
This is a very performance critical point for auto completion. The manual implementation gives a large speedup. As it does not complicate the code a lot, I figured it is worth the change. If anybody understands why the CachedProperty is here so much slower, I am very interested in working on an improvement of CachedProperty. Formatting time changes from 0.72 to 0.57 seconds. llvm-svn: 172900
-
Tobias Grosser authored
We can directly the number of the kind instead of going through the completionChunkKindMap. Formatting time changes from 0.84 to 0.72 seconds. llvm-svn: 172899
-
Chandler Carruth authored
the keyword. If anyone cares deeply about the final optimizations with GCC, we might want to add a version test to the LLVM definition, but I'm perfectly happy with this just only firing under Clang and modern MSVC builds. llvm-svn: 172898
-
Chandler Carruth authored
well as c++0x and c++11. This can be especially useful when building with GCC in C++11 mode. llvm-svn: 172897
-
Chandler Carruth authored
assignment operator. There is an issue where classes with deleted copy constructors and user defined move constructors end up with an implicitly deleted copy constructor that is selected instead of the implicit move constructor. This is a bit of a hack, but it allows me to build LLD in a bootstrap with libstdc++ which is my primary goal. llvm-svn: 172896
-
Chandler Carruth authored
llvm-svn: 172895
-
Nadav Rotem authored
llvm-svn: 172894
-
Craig Topper authored
Use MVT instead of EVT when computing shuffle immediates since they can only be for legal types. Keeps compiler from generating unneeded checks and handling for extended types. llvm-svn: 172893
-
Chandler Carruth authored
Manually fix the order of UnwrappedLineParser.cpp as that one didn't have its associated header as the first header. This also uncovered a subtle inclusion order dependency as CLog.h didn't include LLVM.h to pick up using declarations it relied upon. llvm-svn: 172892
-
Chandler Carruth authored
includes. llvm-svn: 172891
-
Chandler Carruth authored
with other auxilliary test inputs and simplify the identification of inputs to tests. llvm-svn: 172890
-
Ted Kremenek authored
llvm-svn: 172888
-
rdar://problem/12350715Jason Molenda authored
Modify UnwindLLDB::SearchForSavedLocationForRegister so if the register save locations for a register mid-stack is in another register (or in the same register, indicating the reg wasn't modified in this frame), don't return that as a found location. Keep iterating down the array of frames until a concrete location/value for the register is found, or until we get to frame 0 where the reg value can be used as-is. If lldb was trying to backtrace a program that blew out its stack via recursion and the unwind instructions had some kind of this-reg-is-saved-in-that-reg instruction, lldb would revert to doing a recursive search for a concrete value and blow out its own stack. llvm-svn: 172887
-
Richard Smith authored
llvm-svn: 172886
-
Argyrios Kyrtzidis authored
llvm-svn: 172884
-
Anna Zaks authored
Suppress the warning by just not emitting the report. The sink node would get generated, which is fine since we did reach a bad state. Motivation Due to the way code is structured in some of these macros, we do not reason correctly about it and report false positives. Specifically, the following loop reports a use-after-free. Because of the way the code is structured inside of the macro, the analyzer assumes that the list can have cycles, so you end up with use-after-free in the loop, that is safely deleting elements of the list. (The user does not have a way to teach the analyzer about shape of data structures.) SLIST_FOREACH_SAFE(item, &ctx->example_list, example_le, tmpitem) { if (item->index == 3) { // if you remove each time, no complaints assert((&ctx->example_list)->slh_first == item); SLIST_REMOVE(&ctx->example_list, item, example_s, example_le); free(item); } } llvm-svn: 172883
-
Jack Carter authored
but I cannot reproduce the problem and have scrubed my sources and even tested with llvm-lit -v --vg. Formatting fixes. Mostly long lines and blank spaces at end of lines. Contributer: Jack Carter llvm-svn: 172882
-
NAKAMURA Takumi authored
llvm-svn: 172881
-
Sean Callanan authored
in an Objective-C class method. Before, errors of the form error: cannot find interface declaration for '$__lldb_objc_class' would appear when running any expression when the current frame is a block that captures 'self' from an Objective-C class method. <rdar://problem/12905561> llvm-svn: 172880
-
NAKAMURA Takumi authored
It broke, at least, linux, msvc and mingw bots. llvm-svn: 172879
-
Ted Kremenek authored
The warning is still under -Wuninitialized (although technically this is defined behavior), but under a subgroup -Wstatic-self-init. This addresses PR 10265. llvm-svn: 172878
-
Renato Golin authored
llvm-svn: 172877
-
rdar://problem/13011717Greg Clayton authored
Fixed a compilation error that occurs when "lldb.macosx.heap" is imported and "ptr_refs" is used. llvm-svn: 172876
-
Ted Kremenek authored
-Wuninitialized: warn about uninitialized values resulting from ?: that evaluate to lvalues (in C++). llvm-svn: 172875
-
Jakob Stoklund Olesen authored
llvm-svn: 172874
-
rdar://problem/13010007Greg Clayton authored
Added the ability for OS plug-ins to lazily populate the thread this. The python OS plug-in classes can now implement the following method: class OperatingSystemPlugin: def create_thread(self, tid, context): # Return a dictionary for a new thread to create it on demand This will add a new thread to the thread list if it doesn't already exist. The example code in lldb/examples/python/operating_system.py has been updated to show how this call us used. Cleaned up the code in PythonDataObjects.cpp/h: - renamed all classes that started with PythonData* to be Python*. - renamed PythonArray to PythonList. Cleaned up the code to use inheritance where - Centralized the code that does ref counting in the PythonObject class to a single function. - Made the "bool PythonObject::Reset(PyObject *)" function be virtual so each subclass can correctly check to ensure a PyObject is of the right type before adopting the object. - Cleaned up all APIs and added new constructors for the Python* classes to they can all construct form: - PyObject * - const PythonObject & - const lldb::ScriptInterpreterObjectSP & Cleaned up code in ScriptInterpreterPython: - Made calling python functions safer by templatizing the production of value formats. Python specifies the value formats based on built in C types (long, long long, etc), and code often uses typedefs for uint32_t, uint64_t, etc when passing arguments down to python. We will now always produce correct value formats as the templatized code will "do the right thing" all the time. - Fixed issues with the ScriptInterpreterPython::Locker where entering the session and leaving the session had a bunch of issues that could cause the "lldb" module globals lldb.debugger, lldb.target, lldb.process, lldb.thread, and lldb.frame to not be initialized. llvm-svn: 172873
-
Andrew Kaylor authored
llvm-svn: 172872
-