From 491906d3e005efb7c4a73cad8e58d7761fe44b35 Mon Sep 17 00:00:00 2001 From: apbianco Date: Mon, 3 May 1999 16:45:18 +0000 Subject: Fri Apr 30 17:54:40 1999 Alexandre Petit-Bianco * check-init.c (check_init): Exclude a case of error when doing xrefs. * class.c (layout_class_method): Don't generate the error message twice when compiling from source. * lang-options.h: Added `-Wredundant-modifers' and `-Wunusupported-jdk11' flags and help text. * lang.c (lang_decode_option): Added support for `-Wunsupported-jdk11' and `-Wredundant-modifiers'. flag_static_local_jdk11 and flag_redundant set accordingly. * lex.c (java_lex): Call BUILD_OPERATOR on CCB_TK. * parse.h (EXPR_WFL_ADD_COL): New macro. (DECL_END_SOURCE_LINE): Likewise. (DECL_INHERITED_SOURCE_LINE): Likewise. * parse.y (static_ref_err): New function, prototyped. (CCB_TK): Now tagged . (class_body:): Remember the location of the closing '}' of a class definition when doing xrefs. (block:): Likewise. (block_end:): Likewise. (create_class): Remember the location of the inherited class identifier when doing xrefs. (register_fields): Added test on first operand of `init' before testing it TREE_CODE. (method_header): Store the location of the class identifier in the class decl when doing xrefs. (finish_method_declaration): Don't combine first/last method line when doing xref. (java_check_regular_methods): Warning check on not overriding methods with default access on other packages move before check on static methods. Initialization of `aflags' also moved up. (resolve_expression_name): Call static_ref_err to report the error. (static_ref_err): New function, implemented. (resolve_field_access): Returned simplified static field access when doing xrefs. (resolve_qualified_expression_name): Check for illegal use of static fields in a non static context. Call static_ref_err to report error in various places. (java_complete_tree): To not fold initialized static fields when doing xrefs. (java_complete_lhs): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26758 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/java/parse.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gcc/java/parse.h') diff --git a/gcc/java/parse.h b/gcc/java/parse.h index 08a96b4fbdc..eca526a411e 100644 --- a/gcc/java/parse.h +++ b/gcc/java/parse.h @@ -483,6 +483,9 @@ typedef struct _jdeplist { (LINE) = (V) >> 12; \ (COL) = (V) & 0xfff; \ } +/* Add X to the column number information */ +#define EXPR_WFL_ADD_COL(V, X) \ + (V) = (((V) & 0xfffff000) | ((((V) & 0xfff) + (X)) & 0xfff)) /* Build a WFL for expression nodes */ #define BUILD_EXPR_WFL(NODE, WFL) \ @@ -586,6 +589,10 @@ typedef struct _jdeplist { /* Macro to access the osb (opening square bracket) count */ #define CURRENT_OSB(C) (C)->osb_number [(C)->osb_depth] + +/* Macro for the xreferencer */ +#define DECL_END_SOURCE_LINE(DECL) DECL_FRAME_SIZE (DECL) +#define DECL_INHERITED_SOURCE_LINE(DECL) DECL_FIELD_SIZE (DECL) /* Parser context data structure. */ struct parser_ctxt { -- cgit v1.2.3