summaryrefslogtreecommitdiffstats
path: root/debuginfo-tests
Commit message (Collapse)AuthorAgeFilesLines
* [DWARF] Change a test to ensure the creation of a __debug_ranges section.Wolfgang Pieb2018-07-311-0/+3
| | | | | Reviewer: aprantl llvm-svn: 338424
* [debuginfo-tests] tweak new test to be compatible with wider range of compilers.Tim Northover2018-07-311-2/+2
| | | | | | | | emplace_back was added in C++11, and its usage isn't critical to what's being tested so using push_back instead will allow this test to work with more compilers. llvm-svn: 338371
* [DebugInfo] LowerDbgDeclare: Add derefs when handling CallInst usersVedant Kumar2018-07-261-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LowerDbgDeclare inserts a dbg.value before each use of an address described by a dbg.declare. When inserting a dbg.value before a CallInst use, however, it fails to append DW_OP_deref to the DIExpression. The DW_OP_deref is needed to reflect the fact that a dbg.value describes a source variable directly (as opposed to a dbg.declare, which relies on pointer indirection). This patch adds in the DW_OP_deref where needed. This results in the correct values being shown during a debug session for a program compiled with ASan and optimizations (see https://reviews.llvm.org/D49520). Note that ConvertDebugDeclareToDebugValue is already correct -- no changes there were needed. One complication is that SelectionDAG is unable to distinguish between direct and indirect frame-index (FRAMEIX) SDDbgValues. This patch also fixes this long-standing issue in order to not regress integration tests relying on the incorrect assumption that all frame-index SDDbgValues are indirect. This is a necessary fix: the newly-added DW_OP_derefs cannot be lowered properly otherwise. Basically the fix prevents a direct SDDbgValue with DIExpression(DW_OP_deref) from being dereferenced twice by a debugger. There were a handful of tests relying on this incorrect "FRAMEIX => indirect" assumption which actually had incorrect DW_AT_locations: these are all fixed up in this patch. Testing: - check-llvm, and an end-to-end test using lldb to debug an optimized program. - Existing unit tests for DIExpression::appendToStack fully cover the new DIExpression::append utility. - check-debuginfo (the debug info integration tests) Differential Revision: https://reviews.llvm.org/D49454 llvm-svn: 338069
* Revert "[CMake] Sort dependency list and add safestack to it"Vedant Kumar2018-07-181-2/+1
| | | | | | | | | This reverts commit r337412. An Apple-internal bot cannot find the safestack dependency, and fails to configure with this change. llvm-svn: 337421
* [CMake] Sort dependency list and add safestack to itVedant Kumar2018-07-181-1/+2
| | | | | | The 'safestack.c' test requires safestack as a dependency. llvm-svn: 337412
* [debuginfo-tests] Always use the system python to invoke llgdb.py.Ahmed Bougacha2018-06-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | /usr/bin/env is recommended as a cross-platform way to find python. But: - we're only using lldb on darwin, where we know python (or at least, the xcrun-style shortcut) is in /usr/bin/ - the python interpreter in LLDB comes from /S/L/F: $ otool -L Contents/SharedFrameworks/LLDB.framework/LLDB | grep Python /System/Library/Frameworks/Python.framework/Versions/2.7/Python so when we use the lldb python module, it calls into the swig/python support in the lldb framework, and if there's a mismatch between the interpreter and the linked python, weird things occur. In theory, I believe this should be done by: - looking for the LLDB framework (llgdb.py does some of that) - finding the binary inside the framework - looking for the Python it was linked against (otool -L) - finding the interpreter executable inside the Python.framework But in practice, that's only different if we use a custom LLDB framework/pythonpath when running these tests, and AFAIK nobody does that right now, so the code would be dead anyway. Don't pretend we can use any arbitrary python: just use the system one. Differential Revision: https://reviews.llvm.org/D47967 llvm-svn: 334369
* [Darwin] Specify DWARF 2/4 when running apple accelerator tests.Davide Italiano2018-02-262-1/+6
| | | | | | | | | | These sections will be retired. Also, explicitly list llvm-objdump as a dependency. This should've been done in the previous commit, but I failed to squash the two changes together. Thanks to Adrian for pointing the first problem out in a comment. llvm-svn: 326121
* [Darwin] Add a test to make sure clang emits __apple accelerator tables.Davide Italiano2018-02-231-0/+17
| | | | llvm-svn: 325928
* [debuginfo-tests] Support moving debuginfo-tests to llvm/projectsDon Hinton2017-12-125-0/+197
| | | | | | | | | | | | | | | | | | | | Summary: Add cmake and lit files needed to run these tests as an external project. Also, copy test_debuginfo.pl from llvm/utils since it's only used here. The copy in llvm/utils must be maintained as long as bots continue to include debuginfo-tests in clang/test. This patch depends on clang patch https://reviews.llvm.org/D41055. Reviewers: zturner, aprantl Reviewed By: aprantl Subscribers: mgorny, llvm-commits, JDevlieghere Differential Revision: https://reviews.llvm.org/D40971 llvm-svn: 320495
* Revert "Temporarily pin tests to DWARF v2 until a more recent version of LLDB"Adrian Prantl2017-12-075-6/+6
| | | | | | | | This reverts commit 319790. We worked around the bug in LLVM instead. llvm-svn: 320076
* Temporarily pin tests to DWARF v2 until a more recent version of LLDBAdrian Prantl2017-12-055-6/+6
| | | | | | is available on green dragon. llvm-svn: 319790
* Re-revert "Refactor debuginfo-tests."Zachary Turner2017-11-2122-146/+16
| | | | | | | | | | This is still breaking greendragon. At this point I give up until someone can fix the greendragon bots, and I will probably abandon this effort in favor of using a private github repository. llvm-svn: 318722
* Resubmit "Refactor debuginfo-tests" again.Zachary Turner2017-11-2022-16/+146
| | | | | | | | | | | | This was reverted due to the tests being run twice on some build bots. Each run had a slightly different configuration due to the way in which it was being invoked. This fixes the problem (albeit in a somewhat hacky way). Hopefully in the future we can get rid of the workflow of running debuginfo-tests as part of clang, and then this hack can go away. llvm-svn: 318697
* Re-revert "Refactor debuginfo-tests"Zachary Turner2017-11-1722-136/+16
| | | | | | | | | | | | | | | | | | | | | | This is still broken because it causes certain tests to be run twice with slightly different configurations, which is wrong in some cases. You can observe this by running: ninja -nv check-all | grep debuginfo-tests And seeing that it passes clang/test and clang/test/debuginfo-tests to lit, which causes it to run debuginfo-tests twice. The fix is going to involve either: a) figuring out that we're running in this "deprecated" configuration, and then deleting the clang/test/debuginfo-tests path, which should cause it to behave identically to before, or: b) make lit smart enough that it doesn't descend into a sub-suite if that sub-suite already has a lit.cfg file. llvm-svn: 318486
* Resubmit "Refactor debuginfo-tests"Zachary Turner2017-11-1622-16/+136
| | | | | | | | | | This was reverted due to some failures on specific darwin buildbots, the issue being that the new lit configuration was not setting the SDKROOT environment variable. We've tested a fix locally and confirmed that it works, so this patch resubmits everything with the fix applied. llvm-svn: 318435
* Revert "Update test_debuginfo.pl script to point to new tree location."Zachary Turner2017-11-1322-134/+16
| | | | | | | | This reverts the aforementioned patch and 2 subsequent follow-ups, as some buildbots are still failing 2 tests because of it. Investigation is ongoing into the cause of the failures. llvm-svn: 318112
* [debuginfo-tests] Make debuginfo-tests work in a standard configuration.Zachary Turner2017-11-1022-16/+134
| | | | | | | | | | | | | | | | | | | Previously, debuginfo-tests was expected to be checked out into clang/test and then the tests would automatically run as part of check-clang. This is not a standard workflow for handling external projects, and it brings with it some serious drawbacks such as the inability to depend on things other than clang, which we will need going forward. The goal of this patch is to migrate towards a more standard workflow. To ease the transition for build bot maintainers, this patch tries not to break the existing workflow, but instead simply deprecate it to give maintainers a chance to update the build infrastructure. Differential Revision: https://reviews.llvm.org/D39605 llvm-svn: 317925
* Revert r313600 due to bot failures on Green Dragon.Mike Edwards2017-09-191-0/+2
| | | | | | http://green.lab.llvm.org/green/job/clang-stage1-configure-RA_check/35585/ llvm-svn: 313634
* Drop -O1 case from nrvo-string.cppHans Wennborg2017-09-181-2/+0
| | | | | | It relied on r313400 which was reverted in r313589. llvm-svn: 313600
* [debuginfo-tests] Add string NRVO test for PR34513Reid Kleckner2017-09-151-0/+27
| | | | | | It should pass in -O0 and -O1 after r313400 and r313399. llvm-svn: 313401
* Restrict debuginfo-tests to native configurations.Paul Robinson2017-09-081-0/+3
| | | | llvm-svn: 312803
* Fix debuginfo-tests with GDB on LinuxReid Kleckner2017-08-315-32/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Split asan.c into asan.c and asan-blocks.c, which will be darwin-specific. I suspect we could make it pass on Linux by adding cmake to build BlocksRuntime from compiler-rt, but I'm not shaving that yak yet. asan.c and safestack.c: GDB and LLDB appear to print aggregates differently today. Print individual elements instead of the entire aggregate. dbg-arg.c: GDB doesn't appear to print leading zeros when printing pointers. stack-var.c: Add the optnone attribute so that LLVM won't optimize away this no-op function call. This should be a cross-platform failure observable on Mac, so this is surprising. Reviewers: aprantl, dblaikie Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37344 llvm-svn: 312265
* Add a test for PR33166.Adrian Prantl2017-05-251-0/+18
| | | | | | | This tests optimized code where a variable is allocated on the stack for some part of the function. llvm-svn: 303903
* Add additional CHECKs to safestack.c.Adrian Prantl2017-04-171-10/+20
| | | | llvm-svn: 300469
* Revert "Revert "Add a test for debug info with the safestack sanitizer ↵Adrian Prantl2017-04-171-0/+25
| | | | | | | | enabled."" This reapplies commit r299730 with an additional REQUIRES line. llvm-svn: 300468
* Revert "Revert "Add a test for __block variables + asan.""Adrian Prantl2017-04-172-9/+27
| | | | | | This reapplies commit r300228. llvm-svn: 300467
* Revert "Revert "Add an end-to-end testcase for address sanitizer.""Adrian Prantl2017-04-171-0/+26
| | | | | | This reapplies r299731 and adds an appropriate REQUIRES line. llvm-svn: 300466
* Revert "Add a test for debug info with the safestack sanitizer enabled."Ahmed Bougacha2017-04-171-21/+0
| | | | | | | | | This reverts commit r299730. It's causing failures on a bot because of missing compiler-rt: http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan_check llvm-svn: 300460
* Revert "Add an end-to-end testcase for address sanitizer."Ahmed Bougacha2017-04-171-23/+0
| | | | | | | | | This reverts commit r299731. It's causing failures on a bot because of missing compiler-rt: http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan_check llvm-svn: 300459
* Revert "Add a test for __block variables + asan."Ahmed Bougacha2017-04-172-28/+7
| | | | | | | | | This reverts commit r300228. It's causing failures on a bot because of missing compiler-rt: http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan_check llvm-svn: 300458
* Add a test for __block variables + asan.Adrian Prantl2017-04-132-7/+28
| | | | llvm-svn: 300228
* Add an end-to-end testcase for address sanitizer.Adrian Prantl2017-04-061-0/+23
| | | | llvm-svn: 299731
* Add a test for debug info with the safestack sanitizer enabled.Adrian Prantl2017-04-061-0/+21
| | | | llvm-svn: 299730
* Add DEBUGGER and CHECKs back to dbg-arg.cAdrian Prantl2017-04-061-1/+6
| | | | | | | | | | When this testcase was migrated from IR to source the DEBUGGER commands were not migrated together with the rest of the testcase. It was also compiling without debug info. Make the testcase slightly less useless by adding them back in :-) llvm-svn: 299673
* Add a testcase for variable-length arrays.Adrian Prantl2017-04-061-0/+24
| | | | | | | | VLAs are special-cased in the frontend. This testcase ensures that the contract between clang and llvm won't be accidentally broken by future refactorings. llvm-svn: 299668
* New round of fixes for "Always compile debuginfo-tests for the host triple"Filipe Cabecinhas2014-10-1811-20/+20
| | | | | | | | clang tests were breaking, at least when compiling clang only, from an installed llvm. Make the lit.cfg script deal with the case when we don't have a host_triple available. llvm-svn: 220152
* Always compile debuginfo-tests for the host tripleFilipe Cabecinhas2014-10-1611-20/+20
| | | | | | | | | | Since these tests expect a working debugger, always compile them for the host triple, assuming a working debugger is present. This enables us to compile and run them, even when clang is, by default, a cross-compiler (but can still target the host). llvm-svn: 219992
* cleanup comments and remove an obsolete workaroundAdrian Prantl2014-10-131-4/+2
| | | | llvm-svn: 219623
* Address review comments from Justin Bogner.Adrian Prantl2014-10-131-3/+3
| | | | | | | - raise without arguments is preserving the backtrace - move the call to terminate lldb to the exit handler llvm-svn: 219618
* Properly shutdown lldb by invoking SBDebugger_Terminate()Adrian Prantl2014-10-091-1/+3
| | | | | | rdar://problem/18577039 llvm-svn: 219451
* relax testcase for LLDB output format compatibility.Adrian Prantl2014-03-191-1/+1
| | | | llvm-svn: 204280
* Revert "xfail a test on darwin because some of the public buildbots are ↵Adrian Prantl2014-03-111-4/+0
| | | | | | | | stuck on" This reverts commit 203504. We decided that it is better to disable this test on a per-buildbot basis in zorg rather than everywhere on Darwin. llvm-svn: 203627
* xfail a test on darwin because some of the public buildbots are stuck onAdrian Prantl2014-03-101-0/+4
| | | | | | older versions of LLDB. llvm-svn: 203504
* Revert "Experimentally enable --verify-debug-info on some testcases and see if"Adrian Prantl2014-03-082-2/+2
| | | | | | | | | Some of the buildbots need to be upgraded to a more recen version of dwarfdump first. Reverting for now. llvm-svn: 203338
* Experimentally enable --verify-debug-info on some testcases and see ifAdrian Prantl2014-03-082-2/+2
| | | | | | the buildbots can take it. llvm-svn: 203327
* Add back the original version of the test, too. (as XFAILed on Darwin)Adrian Prantl2014-03-081-0/+39
| | | | llvm-svn: 203326
* Work around a bug in LLDB (it finds the wrong "C", rdar://problem/14933867)Adrian Prantl2014-03-081-12/+11
| | | | | | and enable this test on Darwin. llvm-svn: 203324
* Relax testcase: Newer versions of LLDB don't necessarily print the "{".Adrian Prantl2014-02-271-1/+1
| | | | llvm-svn: 202415
* Relax testcase: Newer versions of LLDB don't necessarily print the "{" either.Adrian Prantl2014-02-271-1/+1
| | | | llvm-svn: 202319
* Add a fallback path for buildbots temporarily stuck on really oldAdrian Prantl2014-02-211-4/+12
| | | | | | versions of LLDB. llvm-svn: 201828
OpenPOWER on IntegriCloud