aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2005-03-01 09:03:45 -0800
committerPer Bothner <bothner@gcc.gnu.org>2005-03-01 09:03:45 -0800
commit837491bcc84cbf36b19c2be07768ac7e6918a0e9 (patch)
treec588f4c9526284348cbb180c1c6da969a4609ac3 /gcc/java
parent027b7c36fb7019602b59ecec252afa15b721ced0 (diff)
downloadgcc-837491bcc84cbf36b19c2be07768ac7e6918a0e9.zip
gcc-837491bcc84cbf36b19c2be07768ac7e6918a0e9.tar.gz
gcc-837491bcc84cbf36b19c2be07768ac7e6918a0e9.tar.bz2
jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45) if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE...
* jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45) if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined. From-SVN: r95748
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/jcf-dump.c7
-rw-r--r--gcc/java/jcf-reader.c7
3 files changed, 20 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index ce77d68..7be7e7c 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,5 +1,11 @@
2005-03-01 Per Bothner <per@bothner.com>
+ * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45)
+ if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined.
+ * jcf-dump.c (HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE): Print contents.
+
+2005-03-01 Per Bothner <per@bothner.com>
+
* java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro.
2005-02-23 Thomas Fitzsimmons <fitzsim@redhat.com>
diff --git a/gcc/java/jcf-dump.c b/gcc/java/jcf-dump.c
index 93d640f..297bfed 100644
--- a/gcc/java/jcf-dump.c
+++ b/gcc/java/jcf-dump.c
@@ -342,6 +342,13 @@ utf8_equal_string (JCF *jcf, int index, const char * value)
fputc ('\n', out); \
}
+#define HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE(LENGTH) \
+{ int i, n = (LENGTH), c = 0; \
+ COMMON_HANDLE_ATTRIBUTE(jcf, attribute_name, attribute_length); \
+ fputc ('\n', out); \
+ for (i = 0; i < n; i++) { c = JCF_readu(jcf); fputc(c, out); } \
+ if (c != '\r' && c != '\n') fputc('\n', out); }
+
#define PROCESS_OTHER_ATTRIBUTE(JCF, INDEX, LENGTH) \
{ COMMON_HANDLE_ATTRIBUTE(JCF, INDEX, LENGTH); \
fputc ('\n', out); JCF_SKIP (JCF, LENGTH); }
diff --git a/gcc/java/jcf-reader.c b/gcc/java/jcf-reader.c
index 9b3ad16..8353920 100644
--- a/gcc/java/jcf-reader.c
+++ b/gcc/java/jcf-reader.c
@@ -228,6 +228,13 @@ get_attribute (JCF *jcf)
}
else
#endif
+#ifdef HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE
+ if (MATCH_ATTRIBUTE ("SourceDebugExtension")) /* JSR 45 */
+ {
+ HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE (attribute_length);
+ }
+ else
+#endif
{
#ifdef PROCESS_OTHER_ATTRIBUTE
PROCESS_OTHER_ATTRIBUTE(jcf, attribute_name, attribute_length);