[Lldb-commits] [lldb] r156872 - in /lldb/branches/apple/python-GIL: ./ include/lldb/Symbol/Type.h source/Commands/CommandObjectTarget.cpp source/Core/Address.cpp source/Symbol/Symbol.cpp source/Symbol/Type.cpp test/lang/objc/foundation/TestObjCMethods2.py test/lang/objc/objc-class-method/TestObjCClassMethod.py test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py
Filipe Cabecinhas
me at filcab.net
Tue May 15 15:42:42 PDT 2012
Author: filcab
Date: Tue May 15 17:42:42 2012
New Revision: 156872
URL: http://llvm.org/viewvc/llvm-project?rev=156872&view=rev
Log:
Merge changes from ToT trunk.
Modified:
lldb/branches/apple/python-GIL/ (props changed)
lldb/branches/apple/python-GIL/include/lldb/Symbol/Type.h
lldb/branches/apple/python-GIL/source/Commands/CommandObjectTarget.cpp
lldb/branches/apple/python-GIL/source/Core/Address.cpp
lldb/branches/apple/python-GIL/source/Symbol/Symbol.cpp
lldb/branches/apple/python-GIL/source/Symbol/Type.cpp
lldb/branches/apple/python-GIL/test/lang/objc/foundation/TestObjCMethods2.py
lldb/branches/apple/python-GIL/test/lang/objc/objc-class-method/TestObjCClassMethod.py
lldb/branches/apple/python-GIL/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py
Propchange: lldb/branches/apple/python-GIL/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue May 15 17:42:42 2012
@@ -1 +1 @@
-/lldb/trunk:156467-156797
+/lldb/trunk:156467-156855
Modified: lldb/branches/apple/python-GIL/include/lldb/Symbol/Type.h
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/apple/python-GIL/include/lldb/Symbol/Type.h?rev=156872&r1=156871&r2=156872&view=diff
==============================================================================
--- lldb/branches/apple/python-GIL/include/lldb/Symbol/Type.h (original)
+++ lldb/branches/apple/python-GIL/include/lldb/Symbol/Type.h Tue May 15 17:42:42 2012
@@ -138,6 +138,15 @@
return m_encoding_uid_type != eEncodingInvalid;
}
+ bool
+ IsTypedef ()
+ {
+ return m_encoding_uid_type == eEncodingIsTypedefUID;
+ }
+
+ lldb::TypeSP
+ GetTypedefType();
+
void
SetByteSize(uint32_t byte_size);
Modified: lldb/branches/apple/python-GIL/source/Commands/CommandObjectTarget.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/apple/python-GIL/source/Commands/CommandObjectTarget.cpp?rev=156872&r1=156871&r2=156872&view=diff
==============================================================================
--- lldb/branches/apple/python-GIL/source/Commands/CommandObjectTarget.cpp (original)
+++ lldb/branches/apple/python-GIL/source/Commands/CommandObjectTarget.cpp Tue May 15 17:42:42 2012
@@ -1361,6 +1361,29 @@
return false;
}
+static void
+DumpAddress (ExecutionContextScope *exe_scope, const Address &so_addr, bool verbose, Stream &strm)
+{
+ strm.IndentMore();
+ strm.Indent (" Address: ");
+ so_addr.Dump (&strm, exe_scope, Address::DumpStyleModuleWithFileAddress);
+ strm.PutCString (" (");
+ so_addr.Dump (&strm, exe_scope, Address::DumpStyleSectionNameOffset);
+ strm.PutCString (")\n");
+ strm.Indent (" Summary: ");
+ const uint32_t save_indent = strm.GetIndentLevel ();
+ strm.SetIndentLevel (save_indent + 13);
+ so_addr.Dump (&strm, exe_scope, Address::DumpStyleResolvedDescription);
+ strm.SetIndentLevel (save_indent);
+ // Print out detailed address information when verbose is enabled
+ if (verbose)
+ {
+ strm.EOL();
+ so_addr.Dump (&strm, exe_scope, Address::DumpStyleDetailedSymbolContext);
+ }
+ strm.IndentLess();
+}
+
static bool
LookupAddressInModule (CommandInterpreter &interpreter,
Stream &strm,
@@ -1390,24 +1413,25 @@
}
ExecutionContextScope *exe_scope = interpreter.GetExecutionContext().GetBestExecutionContextScope();
- strm.IndentMore();
- strm.Indent (" Address: ");
- so_addr.Dump (&strm, exe_scope, Address::DumpStyleModuleWithFileAddress);
- strm.PutCString (" (");
- so_addr.Dump (&strm, exe_scope, Address::DumpStyleSectionNameOffset);
- strm.PutCString (")\n");
- strm.Indent (" Summary: ");
- const uint32_t save_indent = strm.GetIndentLevel ();
- strm.SetIndentLevel (save_indent + 13);
- so_addr.Dump (&strm, exe_scope, Address::DumpStyleResolvedDescription);
- strm.SetIndentLevel (save_indent);
- // Print out detailed address information when verbose is enabled
- if (verbose)
- {
- strm.EOL();
- so_addr.Dump (&strm, exe_scope, Address::DumpStyleDetailedSymbolContext);
- }
- strm.IndentLess();
+ DumpAddress (exe_scope, so_addr, verbose, strm);
+// strm.IndentMore();
+// strm.Indent (" Address: ");
+// so_addr.Dump (&strm, exe_scope, Address::DumpStyleModuleWithFileAddress);
+// strm.PutCString (" (");
+// so_addr.Dump (&strm, exe_scope, Address::DumpStyleSectionNameOffset);
+// strm.PutCString (")\n");
+// strm.Indent (" Summary: ");
+// const uint32_t save_indent = strm.GetIndentLevel ();
+// strm.SetIndentLevel (save_indent + 13);
+// so_addr.Dump (&strm, exe_scope, Address::DumpStyleResolvedDescription);
+// strm.SetIndentLevel (save_indent);
+// // Print out detailed address information when verbose is enabled
+// if (verbose)
+// {
+// strm.EOL();
+// so_addr.Dump (&strm, exe_scope, Address::DumpStyleDetailedSymbolContext);
+// }
+// strm.IndentLess();
return true;
}
@@ -1415,7 +1439,7 @@
}
static uint32_t
-LookupSymbolInModule (CommandInterpreter &interpreter, Stream &strm, Module *module, const char *name, bool name_is_regex)
+LookupSymbolInModule (CommandInterpreter &interpreter, Stream &strm, Module *module, const char *name, bool name_is_regex, bool verbose)
{
if (module)
{
@@ -1452,12 +1476,17 @@
DumpFullpath (strm, &module->GetFileSpec(), 0);
strm.PutCString(":\n");
strm.IndentMore ();
- Symtab::DumpSymbolHeader (&strm);
+ //Symtab::DumpSymbolHeader (&strm);
for (i=0; i < num_matches; ++i)
{
Symbol *symbol = symtab->SymbolAtIndex(match_indexes[i]);
- strm.Indent ();
- symbol->Dump (&strm, interpreter.GetExecutionContext().GetTargetPtr(), i);
+ DumpAddress (interpreter.GetExecutionContext().GetBestExecutionContextScope(),
+ symbol->GetAddress(),
+ verbose,
+ strm);
+
+// strm.Indent ();
+// symbol->Dump (&strm, interpreter.GetExecutionContext().GetTargetPtr(), i);
}
strm.IndentLess ();
return num_matches;
@@ -1470,7 +1499,7 @@
static void
-DumpSymbolContextList (CommandInterpreter &interpreter, Stream &strm, SymbolContextList &sc_list, bool prepend_addr, bool verbose)
+DumpSymbolContextList (ExecutionContextScope *exe_scope, Stream &strm, SymbolContextList &sc_list, bool verbose)
{
strm.IndentMore ();
uint32_t i;
@@ -1481,21 +1510,6 @@
SymbolContext sc;
if (sc_list.GetContextAtIndex(i, sc))
{
- strm.Indent();
- ExecutionContextScope *exe_scope = interpreter.GetExecutionContext().GetBestExecutionContextScope ();
-
- if (prepend_addr)
- {
- if (sc.line_entry.range.GetBaseAddress().IsValid())
- {
- sc.line_entry.range.GetBaseAddress().Dump (&strm,
- exe_scope,
- Address::DumpStyleLoadAddress,
- Address::DumpStyleModuleWithFileAddress);
- strm.PutCString(" in ");
- }
- }
-
AddressRange range;
sc.GetAddressRange(eSymbolContextEverything,
@@ -1503,43 +1517,25 @@
true,
range);
- sc.DumpStopContext(&strm,
- exe_scope,
- range.GetBaseAddress(),
- true,
- true,
- false);
-
- strm.EOL();
- if (verbose)
- {
- if (sc.line_entry.range.GetBaseAddress().IsValid())
- {
- if (sc.line_entry.range.GetBaseAddress().Dump (&strm,
- exe_scope,
- Address::DumpStyleDetailedSymbolContext))
- strm.PutCString("\n\n");
- }
- else if (sc.function->GetAddressRange().GetBaseAddress().IsValid())
- {
- if (sc.function->GetAddressRange().GetBaseAddress().Dump (&strm,
- exe_scope,
- Address::DumpStyleDetailedSymbolContext))
- strm.PutCString("\n\n");
- }
- }
+ DumpAddress (exe_scope, range.GetBaseAddress(), verbose, strm);
}
}
strm.IndentLess ();
}
static uint32_t
-LookupFunctionInModule (CommandInterpreter &interpreter, Stream &strm, Module *module, const char *name, bool name_is_regex, bool include_inlines, bool verbose)
+LookupFunctionInModule (CommandInterpreter &interpreter,
+ Stream &strm,
+ Module *module,
+ const char *name,
+ bool name_is_regex,
+ bool include_inlines,
+ bool include_symbols,
+ bool verbose)
{
if (module && name && name[0])
{
SymbolContextList sc_list;
- const bool include_symbols = false;
const bool append = true;
uint32_t num_matches = 0;
if (name_is_regex)
@@ -1569,7 +1565,7 @@
strm.Printf("%u match%s found in ", num_matches, num_matches > 1 ? "es" : "");
DumpFullpath (strm, &module->GetFileSpec(), 0);
strm.PutCString(":\n");
- DumpSymbolContextList (interpreter, strm, sc_list, true, verbose);
+ DumpSymbolContextList (interpreter.GetExecutionContext().GetBestExecutionContextScope(), strm, sc_list, verbose);
}
return num_matches;
}
@@ -1577,7 +1573,7 @@
}
static uint32_t
-LookupTypeInModule (CommandInterpreter &interpreter,
+LookupTypeInModule (CommandInterpreter &interpreter,
Stream &strm,
Module *module,
const char *name_cstr,
@@ -1610,6 +1606,18 @@
// to types that haven't yet been parsed will get parsed.
type_sp->GetClangFullType ();
type_sp->GetDescription (&strm, eDescriptionLevelFull, true);
+ // Print all typedef chains
+ TypeSP typedef_type_sp (type_sp);
+ TypeSP typedefed_type_sp (typedef_type_sp->GetTypedefType());
+ while (typedefed_type_sp)
+ {
+ strm.EOL();
+ strm.Printf(" typedef '%s': ", typedef_type_sp->GetName().GetCString());
+ typedefed_type_sp->GetClangFullType ();
+ typedefed_type_sp->GetDescription (&strm, eDescriptionLevelFull, true);
+ typedef_type_sp = typedefed_type_sp;
+ typedefed_type_sp = typedef_type_sp->GetTypedefType();
+ }
}
strm.EOL();
}
@@ -1643,7 +1651,7 @@
strm << " in ";
DumpFullpath (strm, &module->GetFileSpec(), 0);
strm.PutCString(":\n");
- DumpSymbolContextList (interpreter, strm, sc_list, true, verbose);
+ DumpSymbolContextList (interpreter.GetExecutionContext().GetBestExecutionContextScope(), strm, sc_list, verbose);
return num_matches;
}
}
@@ -2837,13 +2845,43 @@
return result.Succeeded();
}
- if (use_global_module_list)
+ ModuleList module_list;
+ ModuleList *module_list_ptr = NULL;
+ const size_t argc = command.GetArgumentCount();
+ if (argc == 0)
{
- locker.Lock (Module::GetAllocationModuleCollectionMutex());
- num_modules = Module::GetNumberAllocatedModules();
+ if (use_global_module_list)
+ {
+ locker.Lock (Module::GetAllocationModuleCollectionMutex());
+ num_modules = Module::GetNumberAllocatedModules();
+ }
+ else
+ {
+ module_list_ptr = &target->GetImages();
+ num_modules = target->GetImages().GetSize();
+ }
}
else
- num_modules = target->GetImages().GetSize();
+ {
+ for (size_t i=0; i<argc; ++i)
+ {
+ // Dump specified images (by basename or fullpath)
+ const char *arg_cstr = command.GetArgumentAtIndex(i);
+ const size_t num_matches = FindModulesByName (target, arg_cstr, module_list, use_global_module_list);
+ if (num_matches == 0)
+ {
+ if (argc == 1)
+ {
+ result.AppendErrorWithFormat ("no modules found that match '%s'", arg_cstr);
+ result.SetStatus (eReturnStatusFailed);
+ return false;
+ }
+ }
+ }
+
+ num_modules = module_list.GetSize();
+ module_list_ptr = &module_list;
+ }
if (num_modules > 0)
{
@@ -2851,15 +2889,15 @@
{
ModuleSP module_sp;
Module *module;
- if (use_global_module_list)
+ if (module_list_ptr)
{
- module = Module::GetAllocatedModuleAtIndex(image_idx);
- module_sp = module->shared_from_this();
+ module_sp = module_list_ptr->GetModuleAtIndex(image_idx);
+ module = module_sp.get();
}
else
{
- module_sp = target->GetImages().GetModuleAtIndex(image_idx);
- module = module_sp.get();
+ module = Module::GetAllocatedModuleAtIndex(image_idx);
+ module_sp = module->shared_from_this();
}
int indent = strm.Printf("[%3u] ", image_idx);
@@ -2870,10 +2908,20 @@
}
else
{
- if (use_global_module_list)
- result.AppendError ("the global module list is empty");
+ if (argc)
+ {
+ if (use_global_module_list)
+ result.AppendError ("the global module list has no matching modules");
+ else
+ result.AppendError ("the target has no matching modules");
+ }
else
- result.AppendError ("the target has no associated executable images");
+ {
+ if (use_global_module_list)
+ result.AppendError ("the global module list is empty");
+ else
+ result.AppendError ("the target has no associated executable images");
+ }
result.SetStatus (eReturnStatusFailed);
return false;
}
@@ -3081,6 +3129,7 @@
eLookupTypeSymbol,
eLookupTypeFileLine, // Line is optional
eLookupTypeFunction,
+ eLookupTypeFunctionOrSymbol,
eLookupTypeType,
kNumLookupTypes
};
@@ -3145,11 +3194,16 @@
m_type = eLookupTypeFileLine;
break;
- case 'n':
+ case 'F':
m_str = option_arg;
m_type = eLookupTypeFunction;
break;
-
+
+ case 'n':
+ m_str = option_arg;
+ m_type = eLookupTypeFunctionOrSymbol;
+ break;
+
case 't':
m_str = option_arg;
m_type = eLookupTypeType;
@@ -3260,7 +3314,12 @@
case eLookupTypeSymbol:
if (!m_options.m_str.empty())
{
- if (LookupSymbolInModule (m_interpreter, result.GetOutputStream(), module, m_options.m_str.c_str(), m_options.m_use_regex))
+ if (LookupSymbolInModule (m_interpreter,
+ result.GetOutputStream(),
+ module,
+ m_options.m_str.c_str(),
+ m_options.m_use_regex,
+ m_options.m_verbose))
{
result.SetStatus(eReturnStatusSuccessFinishResult);
return true;
@@ -3285,7 +3344,8 @@
}
}
break;
-
+
+ case eLookupTypeFunctionOrSymbol:
case eLookupTypeFunction:
if (!m_options.m_str.empty())
{
@@ -3295,6 +3355,7 @@
m_options.m_str.c_str(),
m_options.m_use_regex,
m_options.m_include_inlines,
+ m_options.m_type == eLookupTypeFunctionOrSymbol, // include symbols
m_options.m_verbose))
{
result.SetStatus(eReturnStatusSuccessFinishResult);
@@ -3303,6 +3364,7 @@
}
break;
+
case eLookupTypeType:
if (!m_options.m_str.empty())
{
@@ -3416,18 +3478,19 @@
{
{ LLDB_OPT_SET_1, true, "address", 'a', required_argument, NULL, 0, eArgTypeAddress, "Lookup an address in one or more target modules."},
{ LLDB_OPT_SET_1, false, "offset", 'o', required_argument, NULL, 0, eArgTypeOffset, "When looking up an address subtract <offset> from any addresses before doing the lookup."},
- { LLDB_OPT_SET_2| LLDB_OPT_SET_4
- /* FIXME: re-enable this for types when the LookupTypeInModule actually uses the regex option: | LLDB_OPT_SET_5 */ ,
+ { LLDB_OPT_SET_2| LLDB_OPT_SET_4 | LLDB_OPT_SET_5
+ /* FIXME: re-enable this for types when the LookupTypeInModule actually uses the regex option: | LLDB_OPT_SET_6 */ ,
false, "regex", 'r', no_argument, NULL, 0, eArgTypeNone, "The <name> argument for name lookups are regular expressions."},
{ LLDB_OPT_SET_2, true, "symbol", 's', required_argument, NULL, 0, eArgTypeSymbol, "Lookup a symbol by name in the symbol tables in one or more target modules."},
{ LLDB_OPT_SET_3, true, "file", 'f', required_argument, NULL, 0, eArgTypeFilename, "Lookup a file by fullpath or basename in one or more target modules."},
{ LLDB_OPT_SET_3, false, "line", 'l', required_argument, NULL, 0, eArgTypeLineNum, "Lookup a line number in a file (must be used in conjunction with --file)."},
{ LLDB_OPT_SET_3|
LLDB_OPT_SET_4, false, "no-inlines", 'i', no_argument, NULL, 0, eArgTypeNone, "Ignore inline entries (must be used in conjunction with --file or --function)."},
- { LLDB_OPT_SET_4, true, "function", 'n', required_argument, NULL, 0, eArgTypeFunctionName, "Lookup a function by name in the debug symbols in one or more target modules."},
- { LLDB_OPT_SET_5, true, "type", 't', required_argument, NULL, 0, eArgTypeName, "Lookup a type by name in the debug symbols in one or more target modules."},
+ { LLDB_OPT_SET_4, true, "function", 'F', required_argument, NULL, 0, eArgTypeFunctionName, "Lookup a function by name in the debug symbols in one or more target modules."},
+ { LLDB_OPT_SET_5, true, "name", 'n', required_argument, NULL, 0, eArgTypeFunctionName, "Lookup a function or symbol by name in one or more target modules."},
+ { LLDB_OPT_SET_6, true, "type", 't', required_argument, NULL, 0, eArgTypeName, "Lookup a type by name in the debug symbols in one or more target modules."},
{ LLDB_OPT_SET_ALL, false, "verbose", 'v', no_argument, NULL, 0, eArgTypeNone, "Enable verbose lookup information."},
- { 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
+ { 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
};
Modified: lldb/branches/apple/python-GIL/source/Core/Address.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/apple/python-GIL/source/Core/Address.cpp?rev=156872&r1=156871&r2=156872&view=diff
==============================================================================
--- lldb/branches/apple/python-GIL/source/Core/Address.cpp (original)
+++ lldb/branches/apple/python-GIL/source/Core/Address.cpp Tue May 15 17:42:42 2012
@@ -707,7 +707,8 @@
Variable *var = variable_list.GetVariableAtIndex (var_idx).get();
if (var && var->LocationIsValidForAddress (*this))
{
- s->Printf (" Variable: id = {0x%8.8llx}, name = \"%s\", type= \"%s\", location =",
+ s->Indent();
+ s->Printf (" Variable: id = {0x%8.8llx}, name = \"%s\", type= \"%s\", location =",
var->GetID(),
var->GetName().GetCString(),
var->GetType()->GetName().GetCString());
Modified: lldb/branches/apple/python-GIL/source/Symbol/Symbol.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/apple/python-GIL/source/Symbol/Symbol.cpp?rev=156872&r1=156871&r2=156872&view=diff
==============================================================================
--- lldb/branches/apple/python-GIL/source/Symbol/Symbol.cpp (original)
+++ lldb/branches/apple/python-GIL/source/Symbol/Symbol.cpp Tue May 15 17:42:42 2012
@@ -179,7 +179,7 @@
void
Symbol::GetDescription (Stream *s, lldb::DescriptionLevel level, Target *target) const
{
- s->Printf("uid={%6u}", m_uid);
+ s->Printf("id = {0x%8.8x}", m_uid);
if (m_addr_range.GetBaseAddress().GetSection())
{
Modified: lldb/branches/apple/python-GIL/source/Symbol/Type.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/apple/python-GIL/source/Symbol/Type.cpp?rev=156872&r1=156871&r2=156872&view=diff
==============================================================================
--- lldb/branches/apple/python-GIL/source/Symbol/Type.cpp (original)
+++ lldb/branches/apple/python-GIL/source/Symbol/Type.cpp Tue May 15 17:42:42 2012
@@ -346,6 +346,21 @@
return false;
}
+lldb::TypeSP
+Type::GetTypedefType()
+{
+ lldb::TypeSP type_sp;
+ if (IsTypedef())
+ {
+ Type *typedef_type = m_symbol_file->ResolveTypeUID(m_encoding_uid);
+ if (typedef_type)
+ type_sp = typedef_type->shared_from_this();
+ }
+ return type_sp;
+}
+
+
+
lldb::Format
Type::GetFormat ()
{
Modified: lldb/branches/apple/python-GIL/test/lang/objc/foundation/TestObjCMethods2.py
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/apple/python-GIL/test/lang/objc/foundation/TestObjCMethods2.py?rev=156872&r1=156871&r2=156872&view=diff
==============================================================================
--- lldb/branches/apple/python-GIL/test/lang/objc/foundation/TestObjCMethods2.py (original)
+++ lldb/branches/apple/python-GIL/test/lang/objc/foundation/TestObjCMethods2.py Tue May 15 17:42:42 2012
@@ -60,12 +60,14 @@
self.buildDwarf()
self.MyString_dump()
+ @expectedFailurei386
@dsym_test
def test_NSError_po_with_dsym(self):
"""Test that po of the result of an unknown method doesn't require a cast."""
self.buildDsym()
self.NSError_po()
+ @expectedFailurei386
@dwarf_test
def test_NSError_po_with_dwarf(self):
"""Test that po of the result of an unknown method doesn't require a cast."""
Modified: lldb/branches/apple/python-GIL/test/lang/objc/objc-class-method/TestObjCClassMethod.py
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/apple/python-GIL/test/lang/objc/objc-class-method/TestObjCClassMethod.py?rev=156872&r1=156871&r2=156872&view=diff
==============================================================================
--- lldb/branches/apple/python-GIL/test/lang/objc/objc-class-method/TestObjCClassMethod.py (original)
+++ lldb/branches/apple/python-GIL/test/lang/objc/objc-class-method/TestObjCClassMethod.py Tue May 15 17:42:42 2012
@@ -13,12 +13,14 @@
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
@python_api_test
+ @expectedFailurei386
@dsym_test
def test_with_dsym_and_python_api(self):
"""Test calling functions in class methods."""
self.buildDsym()
self.objc_class_method()
+ @expectedFailurei386
@python_api_test
@dwarf_test
def test_with_dwarf_and_python_api(self):
Modified: lldb/branches/apple/python-GIL/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/apple/python-GIL/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py?rev=156872&r1=156871&r2=156872&view=diff
==============================================================================
--- lldb/branches/apple/python-GIL/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py (original)
+++ lldb/branches/apple/python-GIL/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py Tue May 15 17:42:42 2012
@@ -13,11 +13,13 @@
mydir = os.path.join("lang", "objc", "objc-new-syntax")
+ @expectedFailurei386
@dsym_test
def test_expr_with_dsym(self):
self.buildDsym()
self.expr()
+ @expectedFailurei386
@dwarf_test
def test_expr_with_dwarf(self):
self.buildDwarf()
More information about the lldb-commits
mailing list