diff options
| author | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-11-15 14:12:42 +0000 | 
|---|---|---|
| committer | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-11-15 14:12:42 +0000 | 
| commit | d1016559e583631b7aa96cfeb23573da8d03a7c1 (patch) | |
| tree | 60f9d02b1b9c05fbbb80d07ea00e1cbb99a19cd1 /gcc/java/jcf-parse.c | |
| parent | 7f0c41050fb30616668626bbefcbda7b1e679c7e (diff) | |
| download | ppe42-gcc-d1016559e583631b7aa96cfeb23573da8d03a7c1.tar.gz ppe42-gcc-d1016559e583631b7aa96cfeb23573da8d03a7c1.zip | |
8
	* jcf-parse.c (HANDLE_EXCEPTIONS_ATTRIBUTE):  New macro.
	* jcf-io.c (find_class):  Simpler/cleaner structure fixes a bug.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23659 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/jcf-parse.c')
| -rw-r--r-- | gcc/java/jcf-parse.c | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index dd411b376f6..9e277dad36b 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -155,6 +155,18 @@ set_source_filename (jcf, index)    DECL_LINENUMBERS_OFFSET (current_method) = JCF_TELL (jcf) - 2; \    JCF_SKIP (jcf, n * 4); } +#define HANDLE_EXCEPTIONS_ATTRIBUTE(COUNT) \ +{ \ +  int n = COUNT; \ +  tree list = DECL_FUNCTION_THROWS (current_method); \ +  while (--n >= 0) \ +    { \ +      tree thrown_class = get_class_constant (jcf, JCF_readu2 (jcf)); \ +      list = tree_cons (NULL_TREE, thrown_class, list); \ +    } \ +  DECL_FUNCTION_THROWS (current_method) = nreverse (list); \ +} +  #include "jcf-reader.c"  static int yydebug; | 

