This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/13249] Error when using COMMON


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-06-29 18:56 -------
Subject: Bug 13249

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	tobi@gcc.gnu.org	2004-06-29 18:56:47

Modified files:
	gcc/fortran    : decl.c dump-parse-tree.c gfortran.h match.c 
	                 match.h module.c parse.c symbol.c 
	                 trans-common.c trans-decl.c 

Log message:
	2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
	Andrew Vaught  <andyv@firstinter.net>
	
	PR fortran/13249
	PR fortran/15481
	* declc (gfc_match_save): Adapt to new common structures,
	don't allow saving USE-associated common.
	* dump-parse-tree (gfc_show_attr): (saved_)common are not
	symbol attributes any longer.
	(gfc_show_symbol): Don't show old-style commons any longer.
	(gfc_show_namespace): Adapt call to gfc_traverse_symtree to new
	interface.
	* gfortran.h (symbol_attribute): Remove common and saved_common
	attributes.
	(gfc_symbol): Remove common_head element.
	(gfc_common_head): New struct.
	(gfc_get_common_head): New macro.
	(gfc_symtree): Add field 'common' to union.
	(gfc_namespace): Add field 'common_root'; change type of field
	'blank_common' to blank_common.
	(gfc_add_data): New prototype.
	(gfc_traverse_symtree): Expect a symtree as first argument
	instead of namespace.
	* match.c (gfc_get_common): New function.
	(match_common_name): Change to take char * as argument, adapt,
	fix bug with empty name.
	(gfc_match_common): Adapt to new data structures. Disallow
	redeclaration of USE-associated COMMON-block. Fix bug with
	empty common.
	(var_element): Adapt to new common structures.
	* match.h (gfc_get_common): Declare.
	* module.c: Add 2004 to copyright years, add commons to module
	file layout description.
	(ab_attribute, attr_bits, mio_symbol_attributes): Remove code
	for removed attributes.
	(mio_symbol): Adapt to new way of storing common relations.
	(load_commons): New function.
	(read_module): Skip common list on first pass, load_commons at
	second.
	(write_commons): New function.
	(write_module): Call write_commons().
	* symbol.c (gfc_add_saved_comon, gfc_add_common): Remove
	functions related to removed attributes.
	(gfc_add_data): New function.
	(gfc_clear_attr): Don't set removed attributes.
	(gfc_copy_attr): Don't copy removed attributes.
	(traverse_symtree): Remove.
	(gfc_traverse_symtree): Don't traverse symbol
	tree of the passed namespace, but require a symtree to be passed
	instead. Unify with traverse_symtree.
	(gfc_traverse_ns): Call gfc_traverse_symtree according to new
	interface.
	(save_symbol): Remove setting of removed attribute.
	* trans-common.c (gfc_sym_mangled_common_id): Change to
	take 'char *' argument instead of 'gfc_symbol'.
	(build_common_decl, new_segment, translate_common): Adapt to new
	data structures, add new
	argument name.
	(create_common): Adapt to new data structures, add new
	argument name. Fix typo in intialization of derived types.
	(finish_equivalences): Add second argument in call to
	create_common.
	(named_common): take 'gfc_symtree' instead of 'gfc_symbol'.
	(gfc_trans_common): Adapt to new data structures.
	* trans-decl.c (gfc_create_module_variables): Also output
	symbols from commons.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/decl.c.diff?cvsroot=gcc&r1=1.11&r2=1.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/dump-parse-tree.c.diff?cvsroot=gcc&r1=1.5&r2=1.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/gfortran.h.diff?cvsroot=gcc&r1=1.14&r2=1.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/match.c.diff?cvsroot=gcc&r1=1.10&r2=1.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/match.h.diff?cvsroot=gcc&r1=1.4&r2=1.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/module.c.diff?cvsroot=gcc&r1=1.7&r2=1.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/parse.c.diff?cvsroot=gcc&r1=1.9&r2=1.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/symbol.c.diff?cvsroot=gcc&r1=1.6&r2=1.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-common.c.diff?cvsroot=gcc&r1=1.7&r2=1.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-decl.c.diff?cvsroot=gcc&r1=1.14&r2=1.15



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13249


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]