- Nov 15, 2011
-
-
Sean Callanan authored
of problems with Objective-C object completion. To go along with the LLVM/Clang-side fixes, we have a variety of Objective-C improvements. Fixes include: - It is now possible to run expressions when stopped in an Objective-C class method and have "self" act just like "self" would act in the class method itself (i.e., [self classMethod] works without casting the return type if debug info is present). To accomplish this, the expression masquerades as a class method added by a category. - Objective-C objects can now provide methods and properties and methods to Clang on demand (i.e., the ASTImporter sets hasExternalVisibleDecls on Objective-C interface objects). - Objective-C built-in types, which had long been a bone of contention (should we be using "id"? "id*"?), are now fetched correctly using accessor functions on ClangASTContext. We inhibit searches for them in the debug information. There are also a variety of logging fixes, and I made two changes to the test suite: - Enabled a test case for Objective-C properties in the current translation unit. - Added a test case for calling Objective-C class methods when stopped in a class method. llvm-svn: 144607
-
- Nov 14, 2011
-
-
Greg Clayton authored
llvm-svn: 144581
-
Jim Ingham authored
Confirm should accept both "Y" and "y" in case somebody confuses the "default answer" indicator for a directive to enter a capital letter. llvm-svn: 144562
-
Sean Callanan authored
a single argument. We assumed that the : was omitted from the selector name, but actually Clang adds the : in the one-argument case. llvm-svn: 144544
-
- Nov 13, 2011
-
-
rdar://problem/10126482Greg Clayton authored
Fixed an issues with the SBType and SBTypeMember classes: - Fixed SBType to be able to dump itself from python - Fixed SBType::GetNumberOfFields() to return the correct value for objective C interfaces - Fixed SBTypeMember to be able to dump itself from python - Fixed the SBTypeMember ability to get a field offset in bytes (the value being returned was wrong) - Added the SBTypeMember ability to get a field offset in bits Cleaned up a lot of the Stream usage in the SB API files. llvm-svn: 144493
-
rdar://problem/10103980Greg Clayton authored
A long time ago we started to centralized the STDOUT in lldb_private::Process but we missed a few things still in ProcessGDBRemote. llvm-svn: 144491
-
rdar://problem/10338439Greg Clayton authored
This is the actual fix for the above radar where global variables that weren't initialized were not being shown correctly when leaving the DWARF in the .o files. Global variables that aren't intialized have symbols in the .o files that specify they are undefined and external to the .o file, yet document the size of the variable. This allows the compiler to emit a single copy, but makes it harder for our DWARF in .o files with the executable having a debug map because the symbol for the global in the .o file doesn't exist in a section that we can assign a fixed up linked address to, and also the DWARF contains an invalid address in the "DW_OP_addr" location (always zero). This means that the DWARF is incorrect and actually maps all such global varaibles to the first file address in the .o file which is usually the first function. So we can fix this in either of two ways: make a new fake section in the .o file so that we have a file address in the .o file that we can relink, or fix the the variable as it is created in the .o file DWARF parser and actually give it the file address from the executable. Each variable contains a SymbolContextScope, or a single pointer that helps us to recreate where the variables came from (which module, file, function, etc). This context helps us to resolve any file addresses that might be in the location description of the variable by pointing us to which file the file address comes from, so we can just replace the SymbolContextScope and also fix up the location, which we would have had to do for the other case as well, and update the file address. Now globals display correctly. The above changes made it possible to determine if a variable is a global or static variable when parsing DWARF. The DWARF emits a DW_TAG_variable tag for each variable (local, global, or static), yet DWARF provides no way for us to classify these variables into these categories. We can now detect when a variable has a simple address expressions as its location and this will help us classify these correctly. While making the above changes I also noticed that we had two symbol types: eSymbolTypeExtern and eSymbolTypeUndefined which mean essentially the same thing: the symbol is not defined in the current object file. Symbol objects also have a bit that specifies if a symbol is externally visible, so I got rid of the eSymbolTypeExtern symbol type and moved all code locations that used it to use the eSymbolTypeUndefined type. llvm-svn: 144489
-
- Nov 12, 2011
-
-
Greg Clayton authored
the --tty option. So you can now get shell expansion and file redirection: (lldb) process launch --tty --shell -- *.jpg < in.txt > out.txt Again, the "--tty" is mandatory for now until we hook this up to other functions. The shell is also currently hard coded to "/bin/bash" and not the "SHELL" variable. "/bin/tcsh" was causing problems which I need to dig into. llvm-svn: 144443
-
Jim Ingham authored
llvm-svn: 144440
-
- Nov 11, 2011
-
-
Sean Callanan authored
interfaces. This allows us to pull in Objective-C method types on demand, which is also now implemented. Also added a minor fix to prevent multiple-definition errors for "Class" and "id". llvm-svn: 144405
-
Greg Clayton authored
invalid information. This will help us perfect the tables that are emitted by clang. llvm-svn: 144359
-
Jason Molenda authored
the argument description in the command name could cause a command alias to crash, e.g. command alias zzz target stop-hook delete 1 because the "name" is used to re-fetch the exact CommandObject when adding the final arg. <rdar://problem/10423753> llvm-svn: 144330
-
- Nov 10, 2011
-
-
Jason Molenda authored
It's "command", "commands" is not recognized. llvm-svn: 144327
-
rdar://problem/9334299Greg Clayton authored
Added the ability to get a type without qualifiers (const, volatile, restrict, etc). llvm-svn: 144302
-
Greg Clayton authored
string to avoid possible later crashes. Modified the locations that do set the crash description to NULL out the string when they are done doing their tasks. llvm-svn: 144297
-
Greg Clayton authored
things out correctly again. llvm-svn: 144261
-
rdar://problem/10338439Greg Clayton authored
Fixed an issue where if you had an initialized global variable, we would not link it up correctly in the debug info if the .o file had the symbols as UNDF + EXT (undefined external). We now properly link the globals. llvm-svn: 144259
-
Greg Clayton authored
llvm-svn: 144257
-
Greg Clayton authored
modules first in the target, then fall back to the global shared module cache, then fall back to the global module list. llvm-svn: 144256
-
Jim Ingham authored
Using the wrong type for the break id's (user_id_t is an unsigned int, but internal breakpoints can be negative, and anyway it is a good idea to use break_id_t for breakpoints, no?) llvm-svn: 144254
-
rdar://problem/10374840Greg Clayton authored
Fixed an issue with the gdb format stuff for any aliases that expand to contain a "--". llvm-svn: 144240
-
- Nov 09, 2011
-
-
Sean Callanan authored
lookups for Objective-C methods by selector. Right now all it does is print log information. Also improved the logging for imported TagDecls to indicate whether or not the definition for the imported TagDecl is complete. llvm-svn: 144203
-
Greg Clayton authored
llvm-svn: 144200
-
Jim Ingham authored
llvm-svn: 144199
-
- Nov 08, 2011
-
-
Jason Molenda authored
doesn't handle bitfields in eFormatChar's correctly, only eFormatUnsigned. Fix DataExtractor::Dump to dump the bitfield eFormatChars correctly. llvm-svn: 144069
-
Jim Ingham authored
Do a better job of detecting when a breakpoint command has set the target running again (except you have to ignore cases where the breakpoint runs expressions, those don't count as really "running again"). llvm-svn: 144064
-
Greg Clayton authored
be in the target. All of the environment, args, stdin/out/err files, etc have all been moved. Also re-enabled the ability to launch a process in a separate terminal on MacOSX. llvm-svn: 144061
-
Sean Callanan authored
which will in the future allow expressions to be compiled as C, C++, and Objective-C instead of the current default Objective-C++. This feature requires some additional support from Clang -- specifically, it requires reference types in the parser regardless of language -- so it is not yet exposed to the user. llvm-svn: 144042
-
Sean Callanan authored
imported variables. llvm-svn: 144041
-
- Nov 07, 2011
-
-
Enrico Granata authored
a) adds a new --synchronicity (-s) setting for "command script add" that allows the user to decide if scripted commands should run synchronously or asynchronously (which can make a difference in how events are handled) b) clears up several error messages c) adds a new --allow-reload (-r) setting for "command script import" that allows the user to reload a module even if it has already been imported before d) allows filename completion for "command script import" (much like what happens for "target create") e) prevents "command script add" from replacing built-in commands with scripted commands f) changes AddUserCommand() to take an std::string instead of a const char* (for performance reasons) plus, it fixes an issue in "type summary add" command handling which caused several test suite errors llvm-svn: 144035
-
- Nov 05, 2011
-
-
Peter Collingbourne authored
llvm-svn: 143774
-
Greg Clayton authored
Joel Dillon that fixed 64 debugging for Linux. I also added a patch to fix up the ProcessLinux::DoLaunch() to be up to date. I wasn't able to verify it compiles, but it should b really close. llvm-svn: 143772
-
Sean Callanan authored
crashes. llvm-svn: 143756
-
- Nov 04, 2011
-
-
Sean Callanan authored
C++ vtables, fixing a record layout problem in the expression parser. Also fixed various problems with the generation and unpacking of llvm.zip given our new better handling of multiple architectures in the LLVM build. (And added a log message that will hopefully catch record layout problems in the future.) llvm-svn: 143741
-
Benjamin Kramer authored
llvm-svn: 143703
-
Greg Clayton authored
llvm-svn: 143679
-
Greg Clayton authored
- If you download and build the sources in the Xcode project, x86_64 builds by default using the "llvm.zip" checkpointed LLVM. - If you delete the "lldb/llvm.zip" and the "lldb/llvm" folder, and build the Xcode project will download the right LLVM sources and build them from scratch - If you have a "lldb/llvm" folder already that contains a "lldb/llvm/lib" directory, we will use the sources you have placed in the LLDB directory. Python can now be disabled for platforms that don't support it. Changed the way the libllvmclang.a files get used. They now all get built into arch specific directories and never get merged into universal binaries as this was causing issues where you would have to go and delete the file if you wanted to build an extra architecture slice. llvm-svn: 143678
-
Sean Callanan authored
target is stopped in a C++ or Objective-C method but the "self" pointer's valid range actually doesn't cover the current location. Before, that was confusing Clang to the point where it crashed; now, we sanity-check and fall back to pretending we're in a C function if "self" or "this" isn't available. llvm-svn: 143676
-
- Nov 03, 2011
-
-
Sean Callanan authored
have the correct value in the IRInterpreter. llvm-svn: 143663
-
Greg Clayton authored
on internal only (public API hasn't changed) to simplify the paramter list to the launch calls down into just one argument. Also all of the argument, envronment and stdio things are now handled in a much more centralized fashion. llvm-svn: 143656
-