diff options
author | Dehao Chen <dehao@google.com> | 2012-09-15 00:41:53 +0000 |
---|---|---|
committer | Dehao Chen <dehao@gcc.gnu.org> | 2012-09-15 00:41:53 +0000 |
commit | 820055a0ac3fcd19230eedacd223d5970d359023 (patch) | |
tree | 115ae76940c014469cce56102bf49986451e09d3 /libjava/testsuite/libjava.lang/sourcelocation.java | |
parent | 71452ccd312778e267d76951267d37957c421aa1 (diff) | |
download | gcc-820055a0ac3fcd19230eedacd223d5970d359023.zip gcc-820055a0ac3fcd19230eedacd223d5970d359023.tar.gz gcc-820055a0ac3fcd19230eedacd223d5970d359023.tar.bz2 |
tree-eh.c (goto_queue_node): New field.
gcc:
* tree-eh.c (goto_queue_node): New field.
(record_in_goto_queue): New parameter.
(record_in_goto_queue_label): New parameter.
(lower_try_finally_dup_block): New parameter.
(maybe_record_in_goto_queue): Update source location.
(lower_try_finally_copy): Likewise.
(honor_protect_cleanup_actions): Likewise.
* gimplify.c (gimplify_expr): Reset the location to unknown.
testsuite:
* g++.dg/debug/dwarf2/deallocator.C: New test.
libjava:
* testsuite/libjava.lang/sourcelocation.java: New cases.
* testsuite/libjava.lang/sourcelocation.out: New cases.
From-SVN: r191338
Diffstat (limited to 'libjava/testsuite/libjava.lang/sourcelocation.java')
-rw-r--r-- | libjava/testsuite/libjava.lang/sourcelocation.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/sourcelocation.java b/libjava/testsuite/libjava.lang/sourcelocation.java new file mode 100644 index 0000000..6cf1e40 --- /dev/null +++ b/libjava/testsuite/libjava.lang/sourcelocation.java @@ -0,0 +1,18 @@ +/* This test should test the source location attribution. + We print the line number of different parts of the program to make sure + that the source code attribution is correct. + To make this test pass, one need to have up-to-date addr2line installed + to parse the dwarf4 data format. +*/ +public class sourcelocation { + public static void main(String args[]) { + try { + System.out.println(new Exception().getStackTrace()[0].getLineNumber()); + throw new Exception(); + } catch (Exception e) { + System.out.println(new Exception().getStackTrace()[0].getLineNumber()); + } finally { + System.out.println(new Exception().getStackTrace()[0].getLineNumber()); + } + } +} |