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