Commit Graph

12516 Commits

Author SHA1 Message Date
Enrico Granata c1c9896ff4 Teach the ObjC data formatters to use the correct language when printing strings
llvm-svn: 247727
2015-09-15 22:11:20 +00:00
Todd Fiala 68615ce606 Add JUnit/XUnit-formatted output to the lldb test run system
Also introduces the test event system into our test runner framework.
See the following for details:
http://reviews.llvm.org/D12831

llvm-svn: 247722
2015-09-15 21:38:04 +00:00
Jim Ingham 151c032c86 This patch makes Clang-independent base classes for all the expression types that lldb currently vends.
Before we had:

ClangFunction
ClangUtilityFunction
ClangUserExpression

and code all over in lldb that explicitly made Clang-based expressions. This patch adds an Expression 
base class, and three pure virtual implementations for the Expression kinds:

FunctionCaller
UtilityFunction
UserExpression

You can request one of these expression types from the Target using the Get<ExpressionType>ForLanguage. 
The Target will then consult all the registered TypeSystem plugins, and if the type system that matches 
the language can make an expression of that kind, it will do so and return it.

Because all of the real expression types need to communicate with their ExpressionParser in a uniform way, 
I also added a ExpressionTypeSystemHelper class that expressions generically can vend, and a ClangExpressionHelper 
that encapsulates the operations that the ClangExpressionParser needs to perform on the ClangExpression types. 
Then each of the Clang* expression kinds constructs the appropriate helper to do what it needs.

The patch also fixes a wart in the UtilityFunction that to use it you had to create a parallel FunctionCaller 
to actually call the function made by the UtilityFunction. Now the UtilityFunction can be asked to vend a 
FunctionCaller that will run its function. This cleaned up a lot of boiler plate code using UtilityFunctions.

Note, in this patch all the expression types explicitly depend on the LLVM JIT and IR, and all the common 
JIT running code is in the FunctionCaller etc base classes. At some point we could also abstract that dependency 
but I don't see us adding another back end in the near term, so I'll leave that exercise till it is actually necessary.

llvm-svn: 247720
2015-09-15 21:13:50 +00:00
Jim Ingham 0ca778eb2e Make the source-map help grammatical.
llvm-svn: 247709
2015-09-15 18:03:00 +00:00
Daniel Sanders 32764b5917 Fix build after llvm r247683 was reverted.
llvm-svn: 247703
2015-09-15 16:33:17 +00:00
Tamas Berghammer f304d5eb2b Skip TestGoASTContext on remote targets as it it not remote compatible
llvm-svn: 247690
2015-09-15 14:04:52 +00:00
Pavel Labath 360a543d04 Fix build after llvm r247683
llvm-svn: 247687
2015-09-15 13:49:10 +00:00
Bruce Mitchener 7dd8c12d84 [lldb-mi] Clean up CMICmdArgSet usage.
Summary:
CMICmdArgSet stores a vector of non-const pointers to the arguments
that it is validating. It owns them and is responsible for deleting
them.

We don't need to pass a const reference to the argument to
CMICmdArgSet::Add and then take the address and const_cast it
when we can just pass the argument pointer in directly.

This lets us remove some noise at every call site for CMICmdArgSet::Add
and then clean up a couple of bits inside CMICmdArgSet to remove
const_casts.

Reviewers: abidh, ki.stfu, domipheus

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D12878

llvm-svn: 247677
2015-09-15 12:00:08 +00:00
Bruce Mitchener 3be88564e9 [lldb-mi] Simplify CMICmnLLDBDebugSessionInfo::Shutdown.
Summary:
* SharedDataDestroy couldn't fail, so no need to return a status.
* No need for status, so can remove error message. The error message
  wasn't displayed or used anywhere anyway.

Reviewers: abidh, ki.stfu

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D12879

llvm-svn: 247673
2015-09-15 10:36:08 +00:00
Tamas Berghammer 41b1f73122 Add support for DW_OP_GNU_const_index to dwarf expression
DW_OP_GNU_const_index is a new opcode used when split dwarf is enabled

Differential revision: http://reviews.llvm.org/D12849

llvm-svn: 247672
2015-09-15 10:33:54 +00:00
Tamas Berghammer d536a6d9dc Fix several issues arount dwo symbol file handling
Differential revision: http://reviews.llvm.org/D12804

llvm-svn: 247671
2015-09-15 10:33:41 +00:00
Bhushan D. Attarde 1bcc7bac8f [LLDB][MIPS] Add support for DT_MIPS_RLD_MAP_REL
SUMMARY:
    This patch provides support for MIPS specific DT_MIPS_RLD_MAP_REL tag in LLDB.
    This tag allows debugging of MIPS position independent executables and provides access to shared library information.

    Reviewers: clayborg
    Subscribers: mohit.bhakkad, sagar, jaydeep, lldb-commits
    Differential Revision: http://reviews.llvm.org/D12794

llvm-svn: 247666
2015-09-15 05:45:29 +00:00
Todd Fiala d089060d87 Mark TestMultipleDebuggers as flakey on Darwin.
See if this gets us past a few machines that are failing it when
it is expected to pass.

llvm-svn: 247665
2015-09-15 05:31:27 +00:00
Todd Fiala 25bddd3b52 Fixed up TestConstVariables for Linux/FreeBSD, take 2.
Marked XFAIL for:
clang - all versions < 3.5.  I verified the first version it passes on Linux is 3.5.
clang - version 3.7 (verified this fails)
clang - TOT/3.8 (verified this currently fails)

Ideally we dig into why this started failing and (hopefully) get this passing again.

llvm-svn: 247664
2015-09-15 04:53:14 +00:00
Bruce Mitchener b0f54b8b31 Coding style fix.
llvm-svn: 247663
2015-09-15 04:50:56 +00:00
Bruce Mitchener 500737e694 Use uint64_t for GoArray size.
Summary:
This was int64_t, but all usages of it came from code that was passing
in unsigned values. The usages of the array size, except for one, were
also treating it as an unsigned value.  The usage that treated it as
signed was to try to figure out if it was a complete type or not, but
the callers creating the array didn't seem to be aware of using -1 as
an indicator for an incomplete array.

Reviewers: ribrdb, clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D12872

llvm-svn: 247662
2015-09-15 04:33:48 +00:00
Chaoren Lin cadbf3dcf8 Revert "Fixup XFAIL marking on TestConstVariables for clang version"
Summary:
Linux with ToT clang (3.8) fails.

This reverts commit r247633.

Reviewers: tfiala

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D12868

llvm-svn: 247648
2015-09-15 00:52:00 +00:00
Ryan Brown d03c2e0051 Fix error on windows:
c:\buildbot\lldb-windows-x86\lldb-windows-x86\llvm\tools\lldb\source\symbol\goastcontext.cpp(906) : warning C4715: 'lldb_private::GoASTContext::GetBitSize' : not all control paths return a value
c:\buildbot\lldb-windows-x86\lldb-windows-x86\llvm\tools\lldb\source\symbol\goastcontext.cpp(1175) : error C4716: 'lldb_private::GoASTContext::ConvertStringToFloatValue' : must return a value

llvm-svn: 247647
2015-09-15 00:50:43 +00:00
Greg Clayton 6c6eab162a Avoid a crash in the test suite where if we have a ObjC "id" type and we ask it for the PointeeType() we would get a CompilerType with a valid TypeSystem, but invalid opaque type, and ClangASTContext::IsClangType() previously would return true saying that it was a valid clang type and it would crash in removing qualifiers from a clang::QualType that was constructed with an NULL opaque type.
llvm-svn: 247641
2015-09-14 23:55:01 +00:00
Todd Fiala 6d4742d8a1 Marked TestEvents test as flakey on Linux.
It's passing all the time for me (50/50), and was passing what
looks like 9/10 times for the originator.

llvm-svn: 247639
2015-09-14 23:35:00 +00:00
Greg Clayton 4bc6f19e77 Darwin has a debug info format that stores module types in stand alone files and it uses some of the DWO attributes. Don't assert in SymbolFileDWARFDwo, just return null so everything works.
llvm-svn: 247638
2015-09-14 23:34:26 +00:00
Todd Fiala 8ef7a5b4b7 Fixup XFAIL marking on TestConstVariables for clang version
Linux/clang on clang 3.6+ is passing this test.  As OS X was
in a similar position, I'm guessing this was fixed by a recent
compiler.  Might work on 3.5/3.4, but it is definitely working
on clang 3.6.  I didn't break out FreeBSD since this appears to
be related to a compiler fix.

llvm-svn: 247633
2015-09-14 23:17:15 +00:00
Greg Clayton 73781e7557 Fix the Xcode project to compile Cocoa.cpp instead of Coca.cpp.
llvm-svn: 247631
2015-09-14 22:57:25 +00:00
Greg Clayton c892672ffd Remove include that isn't needed.
llvm-svn: 247630
2015-09-14 22:56:46 +00:00
Ryan Brown 57bee1edfc Add a TypeSystem for Go
Add GoASTContext and DWARFASTParserGo to support go.

Differential Revision: http://reviews.llvm.org/D12585

llvm-svn: 247629
2015-09-14 22:45:11 +00:00
Chaoren Lin 3e13005031 Fix CMake build.
- Typo: Coca.cpp -> Cocoa.cpp
- Missing include.

llvm-svn: 247628
2015-09-14 22:39:34 +00:00
Enrico Granata 170c395e70 Move Objective-C data formatters to the Objective-C language plugin where they belong
llvm-svn: 247627
2015-09-14 22:18:32 +00:00
Sean Callanan 85aabaf935 ClangExpressionDeclMap should only disable the Clang parser-specific state on
Clang persistent variables.

llvm-svn: 247615
2015-09-14 21:03:44 +00:00
Todd Fiala ff1fa40cdf Final unexpected success cleanup for OS X.
Top of tree is running with no unexpected successes with this
change, on latest available El Capitan and Xcode betas.

llvm-svn: 247608
2015-09-14 20:16:34 +00:00
Todd Fiala a22006183f Fixes lldb-server commandline test xpass for OS X and Linux; resolves llvm.org/pr20273
llvm-svn: 247605
2015-09-14 19:53:00 +00:00
Todd Fiala a85feabe3a Another round of macosx unexpected success corrections.
llvm-svn: 247602
2015-09-14 19:25:22 +00:00
Todd Fiala 7b6fbcf365 OS X unexpected success cleanup
TestPersistObjCPointeeType and TestObjCNewSyntax marked up to expect
success on clang >= 7.0.0.

TestMultipleDebuggers passed 25/25 times, taking off intermittent.
If this changes, I'll make sure it goes into a flaky/flakey category.

llvm-svn: 247601
2015-09-14 19:12:56 +00:00
Ed Maste a5f384487a Remove expectedFailureFreeBSD from now-passing test
ExprCommandCallUserDefinedFunction::test_with_dwarf

llvm.org/pr20274

llvm-svn: 247596
2015-09-14 18:50:23 +00:00
Ed Maste 6052b4cd02 Correct XFAIL OS list after r247576
In ConstVariableTestCase::test_with_dwarf_and_run_command - the test
fails with Clang (and presumably ICC) also on FreeBSD.

llvm-svn: 247594
2015-09-14 18:40:52 +00:00
Todd Fiala f9fe8b8d49 Fix up bad compiler spec on ConstVariableTestCase; fixup two more OS X unexpected successes.
llvm-svn: 247591
2015-09-14 18:34:36 +00:00
Jim Ingham a2fcee9cba Remove a debugging printf that got left in SymbolFileDWARFDebugMap.
llvm-svn: 247589
2015-09-14 18:28:28 +00:00
Stephane Sezer e0f603fad5 Use SI_KERNEL on platforms defining it
Summary:
Linux and FreeBSD occasionally send SI_KERNEL codes, nonexistent on other platforms.

Problem caught on NetBSD.

Reviewers: joerg, sas

Subscribers: sas, lldb-commits, emaste

Differential Revision: http://reviews.llvm.org/D12659

Change by Kamil Rytarowski <n54@gmx.com>

llvm-svn: 247579
2015-09-14 16:51:58 +00:00
Todd Fiala 5c37863daf Cleaned up a few unexpected successes on OS X
TestCallStdStringFunction
TestCallWithTimeout
TestConstVariables
TestClassTypes

llvm-svn: 247576
2015-09-14 16:25:34 +00:00
Pavel Labath 11282dcac6 Skip TestBatchMode for remote platforms
the test does not know how to run executables on the remote platform.

llvm-svn: 247574
2015-09-14 16:11:11 +00:00
Tamas Berghammer f8fd9b5263 Fix a possible SEGV in SymbolFileDWARF
The iterator pointing to an element of a dense map was used after
the element from was removed from the map what isn't guaranteed to be
valid at that time.

llvm-svn: 247571
2015-09-14 15:44:29 +00:00
Ed Maste 37366e5698 The pipe2(2) call is supported on NetBSD
Patch by Kamil Rytarowski.

Differential Revision:	http://reviews.llvm.org/D12746

llvm-svn: 247568
2015-09-14 15:12:49 +00:00
Todd Fiala e68a15e7bc Removed XFAIL marker from passing tests, rdars 18684124, 15367233
Related to these two test case classes:
test/driver/batch_mode/TestBatchMode.py
test/functionalities/inferior-assert/TestInferiorAssert.py

llvm-svn: 247567
2015-09-14 14:48:53 +00:00
Ed Maste 703c30904e Add expectedFlakeyFreeBSD to TestMultithreaded tests
One or more of these tests failed in 25 of 100 dotest.py runs.

llvm-svn: 247566
2015-09-14 14:42:22 +00:00
Ed Maste 32868feeee Enable StopHookForMultipleThreadsTestCase::test_stop_hook_multiple_threads_with_dwarf on FreeBSD
This test passes locally but was disabled due to pexpect issues on the
FreeBSD buildbot. That buildbot has been retired as it was overloaded,
and we will investigate again if this fails once a new buildbot is in
place. Noted by John Wolfe.

llvm.org/pr22784

This re-applies r247013.

llvm-svn: 247565
2015-09-14 14:41:58 +00:00
Ed Maste 906d7be922 Remove expectedFailureFreeBSD from passing test_inferior_asserting_disassemble
llvm.org/pr18533

llvm-svn: 247564
2015-09-14 14:40:22 +00:00
Ed Maste e1daedfbb4 Remove expectedFailureFreeBSD from passing test_with_dwarf_formatters_api
llvm.org/pr24282

llvm-svn: 247563
2015-09-14 14:31:46 +00:00
Ed Maste 149a352eb3 Remove expectedFailureFreeBSD from passing test_process_list
This test passes locally but was marked XFAIL due to failures on the
FreeBSD buildbot. That buildbot has been retired as it was overloaded,
and we will investigate again if this fails once a new buildbot is in
place.

llvm.org/pr23747

llvm-svn: 247562
2015-09-14 14:27:05 +00:00
Ed Maste 1b3f13d776 Move RegisterContextPOSIX.h to FreeBSD subdir
It is now used only by the FreeBSD in-process ptrace implementation.

llvm-svn: 247561
2015-09-14 14:20:56 +00:00
Ed Maste fee8ace132 Limit scope of RegisterContextPOSIX.h header
RegisterContextPOSIX.h is poorly named and contains only the declaration
of POSIXBreakpointProtocol, which is used for in-process live kernel
debugging. It is now relevant only to FreeBSD.

In source/Plugins/Process/Utility/RegisterContext*.h (after assorted
rework and refactoring) it only served the purpose of #including other
necessary headers as a side-effect. Remove it from them and just include
the required headers directly.

Differential Revision: http://reviews.llvm.org/D12830

llvm-svn: 247558
2015-09-14 13:16:59 +00:00
Pavel Labath 7cc26d1765 Remove XTIMEOUT from TestChangeProcessGroup on linux
llvm-svn: 247552
2015-09-14 12:31:47 +00:00