- Oct 15, 2010
-
-
Devang Patel authored
Use root non-virtual primary base class, not just immediate primary base class, for AT_containing_type. This is tested by virtfunc.exp in gdb testsuite. llvm-svn: 116535
-
Jim Grosbach authored
and let the ARMExpandPseudoInsts pass fix them up into the real (MOVs) instruction form. llvm-svn: 116534
-
Dan Gohman authored
llvm-svn: 116533
-
Greg Clayton authored
debug information and you evaluated an expression, a crash would occur as a result of an unchecked pointer. Added the ability to get the expression path for a ValueObject. For a rectangle point child "x" the expression path would be something like: "rect.top_left.x". This will allow GUI and command lines to get ahold of the expression path for a value object without having to explicitly know about the hierarchy. This means the ValueObject base class now has a "ValueObject *m_parent;" member. All ValueObject subclasses now correctly track their lineage and are able to provide value expression paths as well. Added a new "--flat" option to the "frame variable" to allow for flat variable output. An example of the current and new outputs: (lldb) frame variable argc = 1 argv = 0x00007fff5fbffe80 pt = { x = 2 y = 3 } rect = { bottom_left = { x = 1 y = 2 } top_right = { x = 3 y = 4 } } (lldb) frame variable --flat argc = 1 argv = 0x00007fff5fbffe80 pt.x = 2 pt.y = 3 rect.bottom_left.x = 1 rect.bottom_left.y = 2 rect.top_right.x = 3 rect.top_right.y = 4 As you can see when there is a lot of hierarchy it can help flatten things out. Also if you want to use a member in an expression, you can copy the text from the "--flat" output and not have to piece it together manually. This can help when you want to use parts of the STL in expressions: (lldb) frame variable --flat argc = 1 argv = 0x00007fff5fbffea8 hello_world._M_dataplus._M_p = 0x0000000000000000 (lldb) expr hello_world._M_dataplus._M_p[0] == '\0' llvm-svn: 116532
-
Dan Gohman authored
to CodeGenOption flags. llvm-svn: 116530
-
John McCall authored
llvm-svn: 116529
-
Douglas Gregor authored
identifiers to determine good typo-correction candidates. Once we've identified those candidates, we perform name lookup on each of them and the consider the results. This optimization makes typo correction > 2x faster on a benchmark example using a single typo (NSstring) in a tiny file that includes Cocoa.h from a precompiled header, since we are deserializing far less information now during typo correction. There is a semantic change here, which is interesting. The presence of a similarly-named entity that is not visible can now affect typo correction. This is both good (you won't get weird corrections if the thing you wanted isn't in scope) and bad (you won't get good corrections if there is a similarly-named-but-completely-unrelated thing). Time will tell whether it was a good choice or not. llvm-svn: 116528
-
Douglas Gregor authored
llvm-svn: 116527
-
- Oct 14, 2010
-
-
John McCall authored
llvm-svn: 116524
-
Andrew Trick authored
llvm-svn: 116522
-
rdar://8552377Argyrios Kyrtzidis authored
It's more stress-free without access checking though.. llvm-svn: 116521
-
Caroline Tice authored
if no update commands are specified it just lists the current values, and show that it always shows the new values for a signal after it has been updated. Also updated the help text to match the new functionality. llvm-svn: 116520
-
Fariborz Jahanian authored
llvm-svn: 116519
-
Daniel Dunbar authored
validating the variables set on the make command line. llvm-svn: 116517
-
Oscar Fuentes authored
llvm-svn: 116516
-
Howard Hinnant authored
llvm-svn: 116515
-
Francois Pichet authored
The failing was due to this: 1. preamble.c contains CR+LF new lines 2. write() is called with a buffer containing the original (CR+LF) to output the result on the console. 3. In text mode(the default), write() convert LF to CR+LF even if LF is preceded by CR, hence we have CR+CR+LF which filecheck interprets as 2 lines. llvm-svn: 116513
-
Jim Grosbach authored
pseudonym. llvm-svn: 116512
-
Douglas Gregor authored
solely based on the names it sees, rather than actual declarations it gets. In essence, we determine the set of names that are "close enough" to the typo'd name. Then, we perform name lookup for each of those names, filtering out those that aren't actually visible, and typo-correct from the remaining results. Overall, there isn't much of a change in the behavior of typo correction here. The only test-suite change comes from the fact that we make good on our promise to require that the user type 3 characters for each 1 character corrected. The real intent behind this change is to set the stage for an optimization to typo correction (so that we don't need to deserialize all declarations in a translation unit) and future work in finding missing qualification ("'vector' isn't in scope; did you mean 'std::vector'?). Plus, the code is cleaner this way. llvm-svn: 116511
-
Francois Pichet authored
Always use binary mode for output stream. This is important to prevent unwanted end of line conversion on Windows. Should not affect Unix where O_BINARY is not defined. This fix /clang/test/lexer/preamble.c XFAIL on WIN32. llvm-svn: 116509
-
Argyrios Kyrtzidis authored
Store in PCH the key function of C++ class to avoid deserializing the complete declaration context in order to compute it. Progress for rdar://7260160. llvm-svn: 116508
-
Argyrios Kyrtzidis authored
instead of deserializing the complete declaration context of the record. Iterating over the fields of a record is very common (e.g to determine the layout), unfortunately we needlessly deserialize every declaration that the declaration context of the record contains; this can be bad for large C++ classes that contain a lot of methods. Fix this by allow deserialization of just the fields when we want to iterate over them. Progress for rdar://7260160. llvm-svn: 116507
-
Argyrios Kyrtzidis authored
llvm-svn: 116506
-
Argyrios Kyrtzidis authored
and emits an error if a declaration with this name is deserialized from PCH. This is for testing, to make sure that we don't deserialize stuff needlessly. llvm-svn: 116505
-
Argyrios Kyrtzidis authored
Don't add the injected class name to the redeclarations chain; the chain should contain actual redeclarations, not implicits. As a bonus, now we don't deserialize it unless we need it. llvm-svn: 116504
-
Argyrios Kyrtzidis authored
Introduce command line option -dump-deserialized-decls which is used to print the PCH decls that got deserialized, for testing purposes. llvm-svn: 116503
-
Howard Hinnant authored
llvm-svn: 116501
-
Howard Hinnant authored
llvm-svn: 116500
-
Jim Grosbach authored
llvm-svn: 116498
-
Jakob Stoklund Olesen authored
Before we would also split around a loop if any peripheral block had multiple uses. This could cause repeated splitting when splitting a different live range would insert uses into the periphery. Now -spiller=inline passes the nightly test suite again. llvm-svn: 116494
-
David Chisnall authored
llvm-svn: 116493
-
Owen Anderson authored
Try again at implementing thread-safe lazy pass initialization, without depending on static local initialization being threadsafe AND ensuring that initialization is complete by the time the initializeFooPass method returns. llvm-svn: 116492
-
Owen Anderson authored
llvm-svn: 116491
-
Johnny Chen authored
llvm-svn: 116490
-
Owen Anderson authored
Apparently MSVC doesn't support thread-safe static local initialization. Roll our own solution instead. llvm-svn: 116489
-
Jim Grosbach authored
llvm-svn: 116488
-
Howard Hinnant authored
llvm-svn: 116487
-
Johnny Chen authored
llvm-svn: 116486
-
Johnny Chen authored
Inside the lldb module, there's no need (and as a matter of fact, incorrect) to specify the 'lldb' module name. Comment out the call to lldb.SBDebugger.Initialize() within the test driver itself, since it is already done when we import the lldb.py module. llvm-svn: 116485
-
Rafael Espindola authored
llvm-svn: 116484
-