* Re: [PATCH] Kill clear_binding_stack langhook
@ 2008-03-11 13:24 FX Coudert
0 siblings, 0 replies; 4+ messages in thread
From: FX Coudert @ 2008-03-11 13:24 UTC (permalink / raw)
To: gcc patches, Paolo Bonzini; +Cc: Fortran List
[Please CC patch touching Fortran to the Fortran list.]
> 2008-03-11 Paolo Bonzini <bonzini@gnu.org>
>
> * f95-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
> (gfc_be_parse_file): Call gfc_clear_binding_stack from here.
This part is OK. Can you please, while you're at it, rename
gfc_clear_binding_stack() into clear_binding_stack()? (We try to only
keep gfc_ prefixes for non-static functions.)
Thanks,
FX
--
François-Xavier Coudert
http://www.homepages.ucl.ac.uk/~uccafco/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Kill clear_binding_stack langhook
2008-03-11 10:27 Paolo Bonzini
2008-03-11 14:46 ` Tom Tromey
@ 2008-03-11 16:04 ` Richard Guenther
1 sibling, 0 replies; 4+ messages in thread
From: Richard Guenther @ 2008-03-11 16:04 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: gcc-patches
On Tue, Mar 11, 2008 at 11:26 AM, Paolo Bonzini <bonzini@gnu.org> wrote:
> This hook is called in only one place, and just after *another*
> langhook. So the two can effectively be merged.
>
> For Java, in addition, the langhook is useless after the source-level
> parser was removed. Therefore I changed it to an assertion.
>
> Bootstrapped/regtested i686-pc-linux-gnu, ok for mainline?
The middle-end parts are ok.
Thanks,
Richard.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Kill clear_binding_stack langhook
2008-03-11 10:27 Paolo Bonzini
@ 2008-03-11 14:46 ` Tom Tromey
2008-03-11 16:04 ` Richard Guenther
1 sibling, 0 replies; 4+ messages in thread
From: Tom Tromey @ 2008-03-11 14:46 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: gcc-patches
>>>>> "Paolo" == Paolo Bonzini <bonzini@gnu.org> writes:
Paolo> For Java, in addition, the langhook is useless after the source-level
Paolo> parser was removed. Therefore I changed it to an assertion.
The java parts are ok. Thanks.
Tom
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] Kill clear_binding_stack langhook
@ 2008-03-11 10:27 Paolo Bonzini
2008-03-11 14:46 ` Tom Tromey
2008-03-11 16:04 ` Richard Guenther
0 siblings, 2 replies; 4+ messages in thread
From: Paolo Bonzini @ 2008-03-11 10:27 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 314 bytes --]
This hook is called in only one place, and just after *another*
langhook. So the two can effectively be merged.
For Java, in addition, the langhook is useless after the source-level
parser was removed. Therefore I changed it to an assertion.
Bootstrapped/regtested i686-pc-linux-gnu, ok for mainline?
Paolo
[-- Attachment #2: kill-clear-binding-stack.patch --]
[-- Type: text/plain, Size: 5636 bytes --]
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
* langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
* langhooks.h (struct lang_hooks): Delete clear_binding_stack member.
* toplev.c (compile_file): Don't call it.
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
* jcf-parse.c (java_parse_file): Assert binding levels are
left in order.
* lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, java_clear_binding_stack):
Delete.
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
* f95-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
(gfc_be_parse_file): Call gfc_clear_binding_stack from here.
Index: java/jcf-parse.c
===================================================================
--- java/jcf-parse.c (revision 133001)
+++ java/jcf-parse.c (working copy)
@@ -1702,6 +1702,7 @@ java_emit_static_constructor (void)
cgraph_build_static_cdtor ('I', body, DEFAULT_INIT_PRIORITY);
}
+
void
java_parse_file (int set_yydebug ATTRIBUTE_UNUSED)
{
@@ -1952,6 +1953,7 @@ java_parse_file (int set_yydebug ATTRIBU
finish:
/* Arrange for any necessary initialization to happen. */
java_emit_static_constructor ();
+ gcc_assert (global_bindings_p ());
/* Only finalize the compilation unit after we've told cgraph which
functions have their addresses stored. */
Index: java/lang.c
===================================================================
--- java/lang.c (revision 133001)
+++ java/lang.c (working copy)
@@ -62,7 +62,6 @@ static bool java_dump_tree (void *, tree
static void dump_compound_expr (dump_info_p, tree);
static bool java_decl_ok_for_sibcall (const_tree);
static tree java_get_callee_fndecl (const_tree);
-static void java_clear_binding_stack (void);
static enum classify_record java_classify_record (tree type);
@@ -197,9 +196,6 @@ struct language_function GTY(())
#undef LANG_HOOKS_GET_CALLEE_FNDECL
#define LANG_HOOKS_GET_CALLEE_FNDECL java_get_callee_fndecl
-#undef LANG_HOOKS_CLEAR_BINDING_STACK
-#define LANG_HOOKS_CLEAR_BINDING_STACK java_clear_binding_stack
-
#undef LANG_HOOKS_SET_DECL_ASSEMBLER_NAME
#define LANG_HOOKS_SET_DECL_ASSEMBLER_NAME java_mangle_decl
@@ -949,14 +945,6 @@ java_get_callee_fndecl (const_tree call_
}
-/* Clear the binding stack. */
-static void
-java_clear_binding_stack (void)
-{
- while (!global_bindings_p ())
- poplevel (0, 0, 0);
-}
-
static enum classify_record
java_classify_record (tree type)
{
Index: toplev.c
===================================================================
--- toplev.c (revision 133001)
+++ toplev.c (working copy)
@@ -958,10 +958,6 @@ compile_file (void)
rest_of_compilation for each function). */
lang_hooks.parse_file (set_yydebug);
- /* In case there were missing block closers,
- get us back to the global binding level. */
- lang_hooks.clear_binding_stack ();
-
/* Compilation is now finished except for writing
what's left of the symbol table output. */
timevar_pop (TV_PARSE);
Index: fortran/f95-lang.c
===================================================================
--- fortran/f95-lang.c (revision 133001)
+++ fortran/f95-lang.c (working copy)
@@ -111,7 +111,6 @@ static alias_set_type gfc_get_alias_set
#undef LANG_HOOKS_MARK_ADDRESSABLE
#undef LANG_HOOKS_TYPE_FOR_MODE
#undef LANG_HOOKS_TYPE_FOR_SIZE
-#undef LANG_HOOKS_CLEAR_BINDING_STACK
#undef LANG_HOOKS_GET_ALIAS_SET
#undef LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE
#undef LANG_HOOKS_OMP_PREDETERMINED_SHARING
@@ -134,7 +133,6 @@ static alias_set_type gfc_get_alias_set
#define LANG_HOOKS_MARK_ADDRESSABLE gfc_mark_addressable
#define LANG_HOOKS_TYPE_FOR_MODE gfc_type_for_mode
#define LANG_HOOKS_TYPE_FOR_SIZE gfc_type_for_size
-#define LANG_HOOKS_CLEAR_BINDING_STACK gfc_clear_binding_stack
#define LANG_HOOKS_GET_ALIAS_SET gfc_get_alias_set
#define LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE gfc_omp_privatize_by_reference
#define LANG_HOOKS_OMP_PREDETERMINED_SHARING gfc_omp_predetermined_sharing
@@ -268,6 +266,8 @@ gfc_be_parse_file (int set_yydebug ATTRI
gfc_get_errors (&warnings, &errors);
errorcount += errors;
warningcount += warnings;
+
+ gfc_clear_binding_stack ();
}
Index: langhooks.h
===================================================================
--- langhooks.h (revision 133001)
+++ langhooks.h (working copy)
@@ -294,9 +294,6 @@ struct lang_hooks
parsers to dump debugging information during parsing. */
void (*parse_file) (int);
- /* Called immediately after parsing to clear the binding stack. */
- void (*clear_binding_stack) (void);
-
/* Called to obtain the alias set to be used for an expression or type.
Returns -1 if the language does nothing special for it. */
alias_set_type (*get_alias_set) (tree);
Index: langhooks-def.h
===================================================================
--- langhooks-def.h (revision 133001)
+++ langhooks-def.h (working copy)
@@ -85,7 +85,6 @@ extern void lhd_omp_firstprivatize_type_
#define LANG_HOOKS_INIT hook_bool_void_false
#define LANG_HOOKS_FINISH lhd_do_nothing
#define LANG_HOOKS_PARSE_FILE lhd_do_nothing_i
-#define LANG_HOOKS_CLEAR_BINDING_STACK lhd_do_nothing
#define LANG_HOOKS_INIT_OPTIONS hook_uint_uint_constcharptrptr_0
#define LANG_HOOKS_INITIALIZE_DIAGNOSTICS lhd_initialize_diagnostics
#define LANG_HOOKS_HANDLE_OPTION hook_int_size_t_constcharptr_int_0
@@ -250,7 +249,6 @@ extern tree lhd_make_node (enum tree_cod
LANG_HOOKS_INIT, \
LANG_HOOKS_FINISH, \
LANG_HOOKS_PARSE_FILE, \
- LANG_HOOKS_CLEAR_BINDING_STACK, \
LANG_HOOKS_GET_ALIAS_SET, \
LANG_HOOKS_EXPAND_EXPR, \
LANG_HOOKS_EXPAND_DECL, \
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-03-11 16:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-11 13:24 [PATCH] Kill clear_binding_stack langhook FX Coudert
-- strict thread matches above, loose matches on Subject: below --
2008-03-11 10:27 Paolo Bonzini
2008-03-11 14:46 ` Tom Tromey
2008-03-11 16:04 ` Richard Guenther
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).