diff options
author | Per Bothner <per@bothner.com> | 2005-03-01 09:03:45 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2005-03-01 09:03:45 -0800 |
commit | 837491bcc84cbf36b19c2be07768ac7e6918a0e9 (patch) | |
tree | c588f4c9526284348cbb180c1c6da969a4609ac3 /gcc | |
parent | 027b7c36fb7019602b59ecec252afa15b721ced0 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/jcf-dump.c | 7 | ||||
-rw-r--r-- | gcc/java/jcf-reader.c | 7 |
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); |