summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authordehao <dehao@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-15 00:41:53 +0000
committerdehao <dehao@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-15 00:41:53 +0000
commitd7ebacec19caa5f6c70ccd938f8af4043d2273cf (patch)
tree115ae76940c014469cce56102bf49986451e09d3 /libjava
parentd6c6870041088c79684af6432fd295e75b42267f (diff)
downloadgcc-d7ebacec19caa5f6c70ccd938f8af4043d2273cf.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191338 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/testsuite/libjava.lang/sourcelocation.jarbin0 -> 946 bytes
-rw-r--r--libjava/testsuite/libjava.lang/sourcelocation.java18
-rw-r--r--libjava/testsuite/libjava.lang/sourcelocation.out3
4 files changed, 26 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 25d6829d60b..69b13d7222c 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2012-09-14 Dehao Chen <dehao@google.com>
+
+ * testsuite/libjava.lang/sourcelocation.java: New cases.
+ * testsuite/libjava.lang/sourcelocation.out: New cases.
+
2012-09-14 David Edelsohn <dje.gcc@gmail.com>
* configure: Regenerated.
diff --git a/libjava/testsuite/libjava.lang/sourcelocation.jar b/libjava/testsuite/libjava.lang/sourcelocation.jar
new file mode 100644
index 00000000000..90f38f4b8bb
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/sourcelocation.jar
Binary files differ
diff --git a/libjava/testsuite/libjava.lang/sourcelocation.java b/libjava/testsuite/libjava.lang/sourcelocation.java
new file mode 100644
index 00000000000..6cf1e40ef4a
--- /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());
+ }
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/sourcelocation.out b/libjava/testsuite/libjava.lang/sourcelocation.out
new file mode 100644
index 00000000000..781c91b5c39
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/sourcelocation.out
@@ -0,0 +1,3 @@
+10
+13
+15