From e08ae8c5be3472cc12a2cb80da60b25da26e4790 Mon Sep 17 00:00:00 2001 From: bothner Date: Tue, 1 Mar 2005 17:03:45 +0000 Subject: [PATCH] * jcf-reader.c (get_attribute): Handle SourceDebugExtension (JSR 45) if HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95748 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/java/ChangeLog | 6 ++++++ gcc/java/jcf-dump.c | 7 +++++++ gcc/java/jcf-reader.c | 7 +++++++ 3 files changed, 20 insertions(+) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index ce77d68cd264..7be7e7c45bd0 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2005-03-01 Per Bothner + + * 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 * java-tree.h (IDENTIFIER_HANDLECLASS_VALUE): Remove ancient macro. diff --git a/gcc/java/jcf-dump.c b/gcc/java/jcf-dump.c index 93d640f05bc8..297bfed378c9 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 9b3ad1617730..8353920d8dd0 100644 --- a/gcc/java/jcf-reader.c +++ b/gcc/java/jcf-reader.c @@ -227,6 +227,13 @@ get_attribute (JCF *jcf) HANDLE_DEPRECATED_ATTRIBUTE (); } else +#endif +#ifdef HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE + if (MATCH_ATTRIBUTE ("SourceDebugExtension")) /* JSR 45 */ + { + HANDLE_SOURCEDEBUGEXTENSION_ATTRIBUTE (attribute_length); + } + else #endif { #ifdef PROCESS_OTHER_ATTRIBUTE -- 2.47.3