Commit Graph

85 Commits

Author SHA1 Message Date
Don Hinton
3a58f6716c [debuginfo-tests] Support moving debuginfo-tests to llvm/projects
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
2017-12-12 16:54:20 +00:00
Adrian Prantl
a0de3a8d0a Revert "Temporarily pin tests to DWARF v2 until a more recent version of LLDB"
This reverts commit 319790.

We worked around the bug in LLVM instead.

llvm-svn: 320076
2017-12-07 19:40:31 +00:00
Adrian Prantl
6e9ea3f55a Temporarily pin tests to DWARF v2 until a more recent version of LLDB
is available on green dragon.

llvm-svn: 319790
2017-12-05 16:58:09 +00:00
Zachary Turner
79708b54f2 Re-revert "Refactor debuginfo-tests."
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
2017-11-21 01:20:28 +00:00
Zachary Turner
8b6ef88e7e Resubmit "Refactor debuginfo-tests" again.
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
2017-11-20 21:41:36 +00:00
Zachary Turner
b5c237ec3d Re-revert "Refactor debuginfo-tests"
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
2017-11-17 00:41:18 +00:00
Zachary Turner
5e420717a1 Resubmit "Refactor debuginfo-tests"
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
2017-11-16 18:26:20 +00:00
Zachary Turner
faf04a09f6 Revert "Update test_debuginfo.pl script to point to new tree location."
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
2017-11-13 23:33:29 +00:00
Zachary Turner
0f2ce11df7 [debuginfo-tests] Make debuginfo-tests work in a standard configuration.
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
2017-11-10 20:57:57 +00:00
Mike Edwards
4a34338204 Revert r313600 due to bot failures on Green Dragon.
http://green.lab.llvm.org/green/job/clang-stage1-configure-RA_check/35585/

llvm-svn: 313634
2017-09-19 14:51:37 +00:00
Hans Wennborg
bae0d20015 Drop -O1 case from nrvo-string.cpp
It relied on r313400 which was reverted in r313589.

llvm-svn: 313600
2017-09-18 23:54:43 +00:00
Reid Kleckner
496ecab2ba [debuginfo-tests] Add string NRVO test for PR34513
It should pass in -O0 and -O1 after r313400 and r313399.

llvm-svn: 313401
2017-09-15 21:59:39 +00:00
Paul Robinson
aa117bf551 Restrict debuginfo-tests to native configurations.
llvm-svn: 312803
2017-09-08 17:10:48 +00:00
Reid Kleckner
a6fc06babc Fix debuginfo-tests with GDB on Linux
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
2017-08-31 18:16:55 +00:00
Adrian Prantl
efd2b8f824 Add a test for PR33166.
This tests optimized code where a variable is allocated on the
stack for some part of the function.

llvm-svn: 303903
2017-05-25 19:33:16 +00:00
Adrian Prantl
18c18deb77 Add additional CHECKs to safestack.c.
llvm-svn: 300469
2017-04-17 17:57:05 +00:00
Adrian Prantl
7b2bf89ebe Revert "Revert "Add a test for debug info with the safestack sanitizer enabled.""
This reapplies commit r299730 with an additional REQUIRES line.

llvm-svn: 300468
2017-04-17 17:57:03 +00:00
Adrian Prantl
c26059f831 Revert "Revert "Add a test for __block variables + asan.""
This reapplies commit r300228.

llvm-svn: 300467
2017-04-17 17:57:01 +00:00
Adrian Prantl
67caa192df Revert "Revert "Add an end-to-end testcase for address sanitizer.""
This reapplies r299731 and adds an appropriate REQUIRES line.

llvm-svn: 300466
2017-04-17 17:56:59 +00:00
Ahmed Bougacha
27d260baec Revert "Add a test for debug info with the safestack sanitizer enabled."
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
2017-04-17 16:59:29 +00:00
Ahmed Bougacha
0f36aacc46 Revert "Add an end-to-end testcase for address sanitizer."
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
2017-04-17 16:59:27 +00:00
Ahmed Bougacha
559d04d4c3 Revert "Add a test for __block variables + asan."
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
2017-04-17 16:59:25 +00:00
Adrian Prantl
4ae261bcf7 Add a test for __block variables + asan.
llvm-svn: 300228
2017-04-13 18:06:59 +00:00
Adrian Prantl
5dcbbbc1c6 Add an end-to-end testcase for address sanitizer.
llvm-svn: 299731
2017-04-06 23:36:44 +00:00
Adrian Prantl
37b72b428a Add a test for debug info with the safestack sanitizer enabled.
llvm-svn: 299730
2017-04-06 23:30:51 +00:00
Adrian Prantl
469e119a6f Add DEBUGGER and CHECKs back to dbg-arg.c
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
2017-04-06 17:59:50 +00:00
Adrian Prantl
7e8f2ae649 Add a testcase for variable-length arrays.
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
2017-04-06 17:40:31 +00:00
Filipe Cabecinhas
090a237f29 New round of fixes for "Always compile debuginfo-tests for the host triple"
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
2014-10-18 23:47:59 +00:00
Filipe Cabecinhas
63f2c2cb65 Always compile debuginfo-tests for the host triple
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
2014-10-16 23:43:34 +00:00
Adrian Prantl
17a0011082 cleanup comments and remove an obsolete workaround
llvm-svn: 219623
2014-10-13 18:04:10 +00:00
Adrian Prantl
971ad5925c Address review comments from Justin Bogner.
- raise without arguments is preserving the backtrace
- move the call to terminate lldb to the exit handler

llvm-svn: 219618
2014-10-13 16:34:31 +00:00
Adrian Prantl
32cac2e062 Properly shutdown lldb by invoking SBDebugger_Terminate()
rdar://problem/18577039

llvm-svn: 219451
2014-10-09 22:16:46 +00:00
Adrian Prantl
8bcc993e27 relax testcase for LLDB output format compatibility.
llvm-svn: 204280
2014-03-19 23:06:18 +00:00
Adrian Prantl
5876656c5e Revert "xfail a test on darwin because some of the public buildbots are 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
2014-03-11 23:49:31 +00:00
Adrian Prantl
de93b01a16 xfail a test on darwin because some of the public buildbots are stuck on
older versions of LLDB.

llvm-svn: 203504
2014-03-10 22:30:45 +00:00
Adrian Prantl
cece9ccaf1 Revert "Experimentally enable --verify-debug-info on some testcases and see if"
Some of the buildbots need to be upgraded to a more recen version of
dwarfdump first.

Reverting for now.

llvm-svn: 203338
2014-03-08 02:46:36 +00:00
Adrian Prantl
f3c43d14d9 Experimentally enable --verify-debug-info on some testcases and see if
the buildbots can take it.

llvm-svn: 203327
2014-03-08 01:23:49 +00:00
Adrian Prantl
8b466d5474 Add back the original version of the test, too. (as XFAILed on Darwin)
llvm-svn: 203326
2014-03-08 01:21:37 +00:00
Adrian Prantl
32347758b3 Work around a bug in LLDB (it finds the wrong "C", rdar://problem/14933867)
and enable this test on Darwin.

llvm-svn: 203324
2014-03-08 01:03:55 +00:00
Adrian Prantl
eace60b161 Relax testcase: Newer versions of LLDB don't necessarily print the "{".
llvm-svn: 202415
2014-02-27 17:51:50 +00:00
Adrian Prantl
11f0d2ce92 Relax testcase: Newer versions of LLDB don't necessarily print the "{" either.
llvm-svn: 202319
2014-02-27 00:02:40 +00:00
Adrian Prantl
75c4779943 Add a fallback path for buildbots temporarily stuck on really old
versions of LLDB.

llvm-svn: 201828
2014-02-21 00:17:02 +00:00
Adrian Prantl
5cd2f3ee95 Relax testcases. LLDB starts counting at $0.
llvm-svn: 201806
2014-02-20 19:51:07 +00:00
Adrian Prantl
d913c86b93 don't use CHECK-NEXT because it may be on the same line.
llvm-svn: 190969
2013-09-18 23:01:54 +00:00
Adrian Prantl
7f6f3bb86b Massage those regexps to work with both lldb and gdb.
llvm-svn: 190967
2013-09-18 22:56:35 +00:00
Adrian Prantl
ee30f63cc1 Auto-detect the architecture of the executable instead of using the arch of
the kernel.

llvm-svn: 190256
2013-09-07 20:04:29 +00:00
Adrian Prantl
002c2a8ece Set the architecture when creating a target.
llvm-svn: 190252
2013-09-07 17:14:37 +00:00
Adrian Prantl
5ef1c861dd Use a more backwards-compatible method for evaluating expressions and add
more explanatory error messages.

llvm-svn: 190215
2013-09-06 22:33:52 +00:00
Adrian Prantl
888e023e0d Add an lldb wrapper script that implements gdb-compatible commands on top
of lldb. This will be the new default method for executing the tests in
this repository on Darwin.
There is also a related patch for llvm/utils/test_debuginfo.pl coming.

I also relaxed some of the checks to work with both gdb's and lldb's
output.

llvm-svn: 190185
2013-09-06 18:10:44 +00:00
Adrian Prantl
f88c554b10 fix typos
llvm-svn: 190184
2013-09-06 18:10:42 +00:00