gcc gcc/ChangeLog gcc/Makefile.in gcc/c-common ...

zlaski@gcc.gnu.org zlaski@gcc.gnu.org
Thu Mar 4 20:10:00 GMT 2004


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	objc-improvements-branch
Changes by:	zlaski@gcc.gnu.org	2004-03-04 20:10:39

Modified files:
	gcc            : ChangeLog Makefile.in c-common.h c-decl.c 
	                 c-lex.c c-parse.in c-typeck.c gengtype.c 
	                 stub-objc.c 
	gcc/cp         : ChangeLog Make-lang.in decl.c lex.c parser.c 
	                 typeck.c 
	gcc/objc       : ChangeLog Make-lang.in objc-act.c objc-act.h 
	gcc/objcp      : ChangeLog Make-lang.in objcp-decl.c 
	gcc/testsuite  : ChangeLog 
	libobjc        : ChangeLog 
	libobjc/objc   : objc-api.h 
Added files:
	gcc/testsuite/lib: obj-c++-dg.exp obj-c++.exp 
	gcc/testsuite/obj-c++.dg: basic.mm dg.exp 

Log message:
	[gcc/ChangeLog]
	2004-03-04  Ziemowit Laski  <zlaski@apple.com>
	
	* Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
	* c-common.h (lookup_interface): Remove prototype.
	(is_class_name): Rename to objc_is_class_name.
	(lookup_objc_ivar): Rename to objc_lookup_ivar.
	(get_current_scope): Rename to objc_get_current_scope.
	(objc_is_reserved_word, objc_lookup_ivar, objc_declare_alias,
	objc_declare_class, objc_declare_protocols, objc_method_ellipsis,
	objc_is_public, objc_build_message_expr, objc_finish_message_expr,
	objc_build_selector_expr, objc_build_protocol_expr,
	objc_build_encode_expr, objc_build_string_object,
	objc_get_static_reference, objc_get_object_reference,
	objc_get_class_reference, objc_get_class_ivars,
	objc_start_class_interface, objc_start_category_interface,
	objc_start_protocol, objc_continue_interface,
	objc_finish_interface, objc_start_class_implementation,
	objc_start_category_implementation, objc_continue_implementation,
	objc_finish_implementation, objc_set_visibility,
	objc_set_method_type, objc_build_method_signature,
	objc_add_method_declaration, objc_start_method_definition,
	objc_continue_method_definition, objc_finish_method_definition,
	objc_add_instance_variable, objc_clear_super_receiver,
	objc_build_keyword_decl, objc_build_throw_stmt,
	objc_build_try_prologue, objc_build_try_epilogue,
	objc_build_catch_stmt, objc_build_catch_epilogue,
	objc_build_finally_prologue, objc_build_synchronized_prologue,
	objc_build_synchronized_epilogue,
	objc_build_try_catch_finally_stmt): New prototypes.
	* c-decl.c (get_current_scope): Rename to objc_get_current_scope.
	* c-lex.c (c_lex_with_flags): Call objc_is_reserved_word()
	instead of using macros.
	* c-parse.in: Include c-common.h instead of objc-act.h.
	(methodtype): Specify %type; remove (explicit) semantic actions.
	(objc_inherit_code, objc_public_flag): Remove.
	(primary): Call objc_is_public() instead of is_public(),
	objc_build_message_expr() instead of build_message_expr(),
	objc_build_selector_expr() instead of build_selector_expr(),
	objc_build_protocol_expr() instead of build_protocol_expr(),
	objc_build_encode_expr() instead of build_encode_expr(),
	objc_build_string_object() instead of build_objc_string_object().
	(typespec_nonreserved_nonattr): Call objc_get_static_reference()
	instead of get_static_reference(), objc_get_object_reference()
	instead of get_object_reference().
	(component_decl_list2): Call objc_get_class_ivars() instead of
	get_class_ivars_from_name().
	(objcdef): Move semantic action to objc_finish_implementation(),
	and call it.
	(classdef): Move semantic actions to objc_start_class_interface(),
	objc_continue_interface(), objc_finish_interface(),
	objc_start_class_implementation(), objc_continue_implementation(),
	objc_start_category_interface() and objc_start_category_implementation()
	and call them.
	(protocoldef): Move semantic actions to objc_start_protocol() and
	objc_finish_interface() and call them.
	(visibility_spec): Move semantic actions to objc_set_visibility() and
	call it.
	(ivar_declarator): Call objc_add_instance_variable() instead of
	add_instance_variable().
	(methoddef): Move semantic actions to objc_set_method_type() and
	objc_start_method_definition(), objc_continue_method_definition()
	and objc_finish_method_definition() and call them.
	(methodproto): Move semantic actions to objc_set_method_type() and
	objc_add_method_declaration() and call them.
	(methoddecl): Call objc_build_method_signature() instead of
	build_method_decl().
	(optparmlist): Call objc_method_ellipsis().
	(keyworddecl): Call objc_build_keyword_decl() instead of
	build_keyword_decl().
	(receiver): Call objc_get_class_reference() instead of
	get_class_reference().
	(yylexname): Call objc_is_class_name() instead of is_class_name().
	* c-typeck.c (build_external_ref): Call objc_lookup_ivar() instead of
	lookup_objc_ivar().
	* gengtype.c (get_file_basename): Actually check lang subdirectory
	name instead of merely its length.
	* stub-objc.c (lookup_interface): Remove stub.
	(is_class_name): Rename to objc_is_class_name.
	(lookup_objc_ivar): Rename to objc_lookup_ivar.
	(objc_is_reserved_word, objc_declare_alias, objc_declare_class,
	objc_declare_protocols, objc_start_protocol, objc_method_ellipsis,
	objc_start_class_interface, objc_start_category_interface,
	objc_continue_interface, objc_finish_interface,
	objc_add_instance_variable, objc_set_visibility,
	objc_set_method_type, objc_start_class_implementation,
	objc_start_category_implementation, objc_continue_implementation,
	objc_finish_implementation, objc_add_method_declaration,
	objc_start_method_definition, objc_continue_method_definition,
	objc_finish_method_definition, objc_build_keyword_decl,
	objc_build_method_signature, objc_build_encode_expr, objc_build_protocol_expr,
	objc_build_selector_expr, objc_build_message_expr,
	objc_build_string_object, objc_get_class_reference, objc_get_object_reference,
	objc_get_static_reference): New stubs.
	
	[gcc/cp/ChangeLog]
	2004-03-04  Ziemowit Laski  <zlaski@apple.com>
	
	* Make-lang.in (cp/parser.o): Depend on c-common.h.
	* decl.c (get_current_scope): Rename to objc_get_current_scope().
	* lex.c (D_OBJC): New token table mask.
	(reswords): Add Objective-C++ reserved words.
	(init_reswords): Use D_OBJC in mask.
	* parser.c: Include c-common.h.
	(cp_lexer_get_preprocessor_token): Detect presence of
	Objective-C++ reserved words.
	(cp_parser_objc_message_receiver, cp_parser_objc_message_args,
	cp_parser_objc_message_expression, cp_parser_objc_literal_expression,
	cp_parser_objc_encode_expression, cp_parser_objc_protocol_expression,
	cp_parser_objc_selector_expression, cp_parser_objc_expression,
	cp_parser_objc_visiblity_spec, cp_parser_objc_method_type,
	cp_parser_objc_typename, cp_parser_objc_selector_p,
	cp_parser_objc_selector, cp_parser_objc_method_keyword_params,
	cp_parser_objc_method_tail_params_opt, cp_parser_method_signature,
	cp_parser_objc_method_prototype_list, cp_parser_method_definition_list,
	cp_parser_objc_class_ivars, cp_parser_objc_identifier_list,
	cp_parser_objc_alias_declaration, cp_parser_objc_class_declaration,
	cp_parser_objc_protocol_declaration, cp_parser_objc_superclass_or_category,
	cp_parser_objc_class_interface, cp_parser_objc_class_implementation,
	cp_parser_objc_end_implementation, cp_parser_objc_declaration):
	New nonterminals/functions.
	(cp_parser_primary_expression): Call cp_parser_objc_expression().
	(cp_parser_declaration): Call cp_parser_objc_declaration().
	(cp_parser_parameter_declaration_list): Allow parameter list to
	be terminated by ';' and '{', in addition to '....' and ')'.
	* typeck.c (comptypes): Call objc_comptypes().
	
	[gcc/objc/ChangeLog]
	2004-03-04  Ziemowit Laski  <zlaski@apple.com>
	
	* Make-lang.in (objc/objc-parse.o): Depend on $(C_COMMON_H)
	instead of objc/objc-act.h.
	* objc-act.c (lookup_interface, start_class, continue_class,
	finish_class, start_method_def, start_protocol, build_method_decl,
	objc_add_method, add_instance_variable, build_ivar_reference,
	is_ivar, is_private, get_super_receiver,
	objc_build_finally_epilogue): Make into static functions.
	(objc_inherit_code, objc_public_flag): New variables.
	(objc_start_class_interface, objc_start_category_interface,
	objc_start_protocol, objc_continue_interface, objc_finish_interface,
	objc_start_class_implementation, objc_start_category_implementation,
	objc_continue_implementation, objc_finish_implementation,
	objc_set_visibility, objc_set_method_type, objc_method_ellipsis,
	objc_build_method_signature, objc_add_method_declaration,
	objc_start_method_definition, objc_add_instance_variable,
	objc_is_reserved_word): New functions.
	(objc_check_decl): Call objc_is_class_name() instead of
	is_class_name().
	(get_static_reference): Rename to objc_get_static_reference().
	(get_object_reference): Rename to objc_get_object_reference().
	(build_objc_string_object): Rename to objc_build_string_object();
	set DECL_THIS_STATIC in Objective-C++ mode.
	(forward_declare_categories, build_class_reference_decl):
	Set DECL_THIS_STATIC in Objective-C++ mode.
	(get_class_reference): Rename to objc_get_class_reference;
	call objc_is_class_name() instead of is_class_name();
	set DECL_THIS_STATIC in Objective-C++ mode.
	(objc_declare_alias): Call objc_is_class_name() instead of
	is_class_name().
	(is_class_name): Rename to objc_is_class_name().
	(get_class_ivars_from_name): Rename to objc_get_class_ivars.
	(objc_build_try_prologue): Call objc_get_current_scope()
	instead of get_current_scope().
	(objc_build_catch_stmt): Call objc_get_class_reference()
	instead of get_class_reference().
	(build_super_template): Name field 'super_class' instead
	of 'class' in Objective-C++ mode.
	(build_keyword_decl): Rename to objc_build_keyword_decl.
	(build_method_decl): Tweak ObjC++ additional argument handling.
	(build_message_expr): Rename to objc_build_message_expr;
	tweak ObjC++ message argument handling; call
	objc_finish_message_expr() instead of finish_message_expr().
	(finish_message_expr): Rename to objc_finish_message_expr.
	(build_protocol_expr): Rename to objc_build_protocol_expr.
	(build_selector_expr): Rename to objc_build_selector_expr.
	(build_encode_expr): Rename to objc_build_encode_expr.
	(is_public): Rename to objc_is_public.
	(start_class): Call objc_is_class_name() instead of
	is_class_name().
	(finish_protocol, objc_expand_function_end): Remove.
	(start_method_def): Tweak ObjC++ additional argument
	handling.
	(continue_method_def): Rename to objc_continue_method_definition();
	do not call poplevel() in ObjC++ mode.
	(get_super_receiver): Call objc_get_current_scope() instead of
	get_current_scope(); reference 'super_class' field (instead of
	'class') in ObjC++; call objc_get_class_reference() instead of
	get_class_reference().
	(finish_method_def): Rename to objc_finish_method_definition and
	add a function decl parameter; move method encoding call from
	objc_expand_function_end.
	(lookup_objc_ivar): Rename to objc_lookup_ivar.
	* objc-act.h (finish_file, start_class, continue_class, finish_class,
	start_method_def, continue_method_def, finish_method_def,
	start_protocol, finish_protocol, objc_build_throw_stmt,
	objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
	objc_build_synchronized_epilogue, objc_build_try_prologue,
	objc_build_try_epilogue, objc_build_catch_stmt, objc_build_catch_epilogue,
	objc_build_finally_prologue, objc_build_finally_epilogue,
	is_ivar, is_private, is_public, add_instance_variable, objc_add_method,
	get_super_receiver, objc_clear_super_receiver, get_class_ivars_from_name,
	get_class_reference, get_static_reference, get_object_reference,
	build_message_expr, finish_message_expr, build_selector_expr,
	build_ivar_reference, build_keyword_decl, build_method_decl,
	build_protocol_expr, build_objc_string_object, objc_declare_alias,
	objc_declare_class, objc_declare_protocols, objc_comptypes,
	objc_check_decl, build_encode_expr): Remove prototypes.
	(imp_count, cat_count): Make GGC-aware.
	(objc_inherit_code, objc_public_flag): New, moved from c-parse.in.
	
	[gcc/objcp/ChangeLog]
	2004-03-04  Ziemowit Laski  <zlaski@apple.com>
	
	* Make-lang.in (lang_checks): Rename 'check-objc++' to
	'check-obj-c++'.
	* objcp-decl.c (objcp_start_struct): Mimic what the C++ front-end
	does when starting a struct declaration.
	(objcp_finish_struct): Mimic what the C++ front-end does when
	finish a struct declaration.
	(objcp_xref_tag): Remove redundant test.
	(objcp_lookup_identifier): Call objc_lookup_ivar() instead
	of lookup_objc_ivar().
	
	[gcc/testsuite/ChangeLog]
	2004-03-04  Ziemowit Laski  <zlaski@apple.com>
	
	* lib/obj-c++-dg.exp: New file.
	* lib/obj-c++.exp: New file.
	* obj-c++.dg/basic.mm: New test case.
	* obj-c++.dg/dg.exp: New file.
	
	[libobjc/ChangeLog]
	2004-02-06  Ziemowit Laski  <zlaski@apple.com>
	
	* objc/objc-api.h (objc_super): The 'class' field shall
	be named 'super_class' #ifdef __cplusplus.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=2.424.2.11&r2=2.424.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1110.2.9&r2=1.1110.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.h.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.189.2.9&r2=1.189.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-decl.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.403.2.11&r2=1.403.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-lex.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.208.2.6&r2=1.208.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-parse.in.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.170.2.8&r2=1.170.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-typeck.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.242.2.7&r2=1.242.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gengtype.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.37.2.6&r2=1.37.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/stub-objc.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.3503.2.9&r2=1.3503.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/Make-lang.in.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.157.2.5&r2=1.157.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1084.2.9&r2=1.1084.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/lex.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.309.2.5&r2=1.309.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.77.2.8&r2=1.77.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.477.2.7&r2=1.477.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/ChangeLog.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/Make-lang.in.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.58.4.5&r2=1.58.4.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/objc-act.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.179.2.18&r2=1.179.2.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/objc-act.h.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.16.4.5&r2=1.16.4.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objcp/ChangeLog.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objcp/Make-lang.in.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objcp/objcp-decl.c.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.1.2.1&r2=1.1.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.2857.2.9&r2=1.2857.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/lib/obj-c++-dg.exp.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/lib/obj-c++.exp.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/obj-c++.dg/basic.mm.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/obj-c++.dg/dg.exp.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/ChangeLog.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.96.4.4&r2=1.96.4.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libobjc/objc/objc-api.h.diff?cvsroot=gcc&only_with_tag=objc-improvements-branch&r1=1.7&r2=1.7.4.1



More information about the Gcc-cvs mailing list