- 24 Sep, 1999 6 commits
-
-
* cp-tree.h (CPTI_CLEANUP_TYPE): New macro. (cleanup_type): Likewise. (search_tree): Change prototype. * decl.c (local_variable_p): Adjust for new interface to search_tree. (check_default_argument): Likewise. * error.c (dump_expr): Handle INIT_EXPR. * except.c (expand_throw): Don't make cleanup_type a local static. * expr.c (cplus_expand_expr): Don't handle NEW_EXPR. * init.c (build_new): Call build_new_1 directly, rather than building a NEW_EXPR. (build_new_1): Tidy. Don't build a VEC_INIT_EXPR except when processing file-scope initializers. * lex.c (init_parse): Add an opname_tab entry for INIT_EXPR. * tree.c: Include splay-tree.h (no_linkage_helper): Adjust for new interface to search_tree. (search_tree): Pass around pointers to tree nodes, rather than the nodes themselves. Handle VEC_INIT_EXPR. (no_linkage_check): Adjust for new interface to search_tree. (mapcar): Handle VEC_INIT_EXPR. (target_remap): New variable. (bot_manip): Use it. (bot_replace): New function. (break_out_target_exprs): Use it to remap all variables used in a default argument expression. * typeck.c (build_modify_expr): Don't crash when outside a function and presented with an INIT_EXPR assignment * Makefile.in (tree.o): Depend on splay-tree.h. From-SVN: r29659
Mark Mitchell committed -
From-SVN: r29653
Bernd Schmidt committed -
* decl.c (pushdecl): Don't make local declarations of extern variables give the variable a DECL_CONTEXT for the function. (make_rtl_for_nonlocal_decl): Don't fuss with obstacks. Simplify. Don't accidentally make RTL for local declarations. (emit_local_var): Handle declarations with asm-specifiers here. From-SVN: r29650
Mark Mitchell committed -
* ir.texi: Improve documentation for TARGET_EXPRs. Discuss STMT_IS_FULL_EXPR_P. From-SVN: r29647
Mark Mitchell committed -
* cp-tree.h (language_function): Add cannot_inline. * decl.c (start_function): Restore current_function_cannot_inline from the saved value. (save_function_data): Save current_function_cannot_inline. * decl2.c (start_objects): Change prototype. Build the function in function-at-a-time mode. (finish_objects): Likewise. (generate_ctor_or_dtor_function): Adjust accordingly. From-SVN: r29646
Mark Mitchell committed -
* cp-tree.h (DECL_ANON_UNION_ELEMS): New macro. * decl2.c (finish_anon_union): Set DECL_ANON_UNION_ELEMS. Don't call expand_anon_union_decl here * semantics.c (exapnd_stmt): Call it here, instead. * typeck.c (mark_addressable): Addressed variables are implicitly used. From-SVN: r29645
Mark Mitchell committed
-
- 23 Sep, 1999 5 commits
-
-
* cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK): New macro. (RECORD_OR_UNION_TYPE_CHECK, LANG_IDENTIFIER_CAST): Likewise. (DEFARG_NODE_CHECK): Remove; replace with DEFAULT_ARG_CHECK. * cp-tree.h: Add tree checking macros to various tree access macros. * ptree.c (print_lang_decl): Test for function or variable before accessing template info. From-SVN: r29642
Martin v. Löwis committed -
* lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node. * lang-specs.h: If -fshort-wchar, override __WCHAR_TYPE__. * decl2.c (lang_f_options): Add -fshort-wchar. * cp-tree.h: Declare flag_short_wchar. * decl.c (init_decl_processing): If -fshort-wchar, use 'short unsigned int' for wchar_t. From-SVN: r29639
Jason Merrill committed -
From-SVN: r29617
Martin v. Löwis committed -
From-SVN: r29610
Mark Mitchell committed -
* decl.c (pushdecl): Do create a binding for extern "C" functions, but not for their DECL_ASSEMBLER_NAMEs. (lookup_name_current_level): Fix formatting. (xref_tag): Likewise. * decl2.c (start_objects): Mark static constructors and destructors as used. From-SVN: r29609
Mark Mitchell committed
-
- 22 Sep, 1999 2 commits
-
-
* decl.c (define_case_label): Don't crash if we're not in a switch. * decl2.c (lang_decode_option): Don't bother explicitly ignoring flags. * lang-options.h: Restore -fthis-is-variable. Remove help strings for unsupported flags. * decl2.c (lang_decode_option): Accept and ignore -finit-priority. Accept and warn about -fthis-is-variable. From-SVN: r29594
Jason Merrill committed -
* decl2.c (lang_decode_option): Accept and ignore -finit-priority. Accept and warn about -fthis-is-variable. From-SVN: r29571
Jason Merrill committed
-
- 21 Sep, 1999 8 commits
-
-
* dump.c (dequeue_and_dump): Handle START_CATCH_STMT, CLEANUP_STMT, and SCOPE_STMT. From-SVN: r29564
Mark Mitchell committed -
* decl2.c (lang_decode_option): Adjust, in the wake of recent changes to option processing. From-SVN: r29562
Mark Mitchell committed -
typeck.c (get_member_function_from_ptrfunc): Allow extraction of function pointer from pmfs with no object given. * typeck.c (get_member_function_from_ptrfunc): Allow extraction of function pointer from pmfs with no object given. (convert_for_assignment): Do not return error when converting pmfs. From-SVN: r29559
Martin v. Löwis committed -
* lex.c (internal_filename): New variable. (INTERNAL_FILENAME): New macro. (init_parse): Allocate internal_filename and mark as root. Use it instead of a string constant. From-SVN: r29553
Alex Samuel committed -
* cp-tree.h (get_dynamic_cast_base_type): Prototype new function * search.c (dynamic_cast_base_recurse): New function. (get_dynamic_cast_base_type): New function for dynamic cast. * rtti.c (build_dynamic_cast_1): Determine source and target class relationship. Call __dynamic_cast_2. * tinfo.h (__user_type_info::upcast): New catch dispatcher. (__user_type_info::dyncast): New dynamic cast dispatcher. (__user_type_info::sub_kind): New nested enumeration. (__user_type_info::contained_p): sub_kind predicate. (__user_type_info::contained_public_p): Likewise. (__user_type_info::contained_nonpublic_p): Likewise. (__user_type_info::contained_nonvirtual_p: Likewise. (__user_type_info::upcast_result): New nested struct. (__user_type_info::dyncast_result): New nested struct. (*::do_upcast): New catch function. (*::do_dyncast): New dynamic cast function. (__user_type_info::find_public_subobj): New dynamic cast helper dispatcher. (*::do_find_public_subobj): New dynamic cast helper function. * tinfo.cc (__user_type_info::upcast): Define catch dispatcher. (__user_type_info::dyncast): Define dynamic cast dispatcher. (*::do_upcast): Define catch function. (*::do_dyncast): Define dynamic cast function. (*::do_find_public_subobj): Define dynamic cast helper function. * tinfo2.cc (__throw_type_match_rtti_2): Use upcast. (__dynamic_cast): Backwards compatibility wrapper. Use dyncast. (__dynamic_cast_2): New dynamic cast runtime. From-SVN: r29544
Nathan Sidwell committed -
From-SVN: r29539
Mark Mitchell committed -
* cp-tree.h (finish_stmt_expr): Change prototype. * expr.c (cplus_expand_expr): Adjust call accordingly. * init.c (finish_init_stmts): Likewise. * parse.y (primary): Likewise. * pt.c (tsubst_copy): Likewise. * semantics.c (finish_stmt_expr): Don't take two parameters. Don't remove generated BLOCKs from the block-tree. From-SVN: r29537
Mark Mitchell committed -
* cp-tree.h (finish_stmt_expr): Change prototype. * expr.c (cplus_expand_expr): Adjust call accordingly. * init.c (finish_init_stmts): Likewise. * parse.y (primary): Likewise. * pt.c (tsubst_copy): Likewise. * semantics.c (finish_stmt_expr): Don't take two parameters. Don't remove generated BLOCKs from the block-tree. From-SVN: r29536
Alexandre Oliva committed
-
- 20 Sep, 1999 5 commits
-
-
* cp-tree.h (finish_stmt_expr): Change prototype. * expr.c (cplus_expand_expr): Adjust call accordingly. * init.c (finish_init_stmts): Likewise. * parse.y (primary): Likewise. * pt.c (tsubst_copy): Likewise. * semantics.c (finish_stmt_expr): Don't take two parameters. Don't remove generated BLOCKs from the block-tree. From-SVN: r29533
Mark Mitchell committed -
* NEWS: Note that fact. * class.c (build_vbase_path): Don't check flag_this_is_variable. * cp-tree.h (EXPR_STMT_ASSIGNS_THIS): Remove. (language_function): Remove assigns_this, just_assigned_this, and x_base_init_expr. Add x_vcalls_possible_p. Add vtbls_set_up_p. (base_init_expr): Remove. (current_vcalls_possible_p): New macro. (vtbls_set_up_p): Likewise. (emit_base_init): Change prototype. * decl.c (finish_destructor_body): New function, split out from finish_function. (current_function_assigns_this): Remove. (current_function_just_assigned_this): Likewise. (start_function): Don't set them. (finish_function): Don't check them. Don't emit base-initialization code here. Generate code for destructors when doing semantic analysis. (finish_stmt): Don't check current_function_just_assigned_this. * decl2.c (lang_f_options): Remove this-is-variable. (lang_decode_option): Likewise. (grokclassfn): Don't check flag_this_is_variable. * init.c (emit_base_init): Return the expression generated. (construct_virtual_bases): Don't push/pop obstacks. Fix typo. (build_new_1): Don't check flag_this_is_variable. (get_temp_regvar): Don't set DECL_REGISTER. (build_vec_init): Don't call use_variable. * lang-options.h: Remove "-fthis-is-variable" and "-fno-this-is-variable". * pt.c (tsubst_expr): Don't check EXPR_STMT_ASSIGNS_THIS. * search.c (expand_upcast_fixups): Use finish_expr_stmt, not expand_expr_stmt. * semantics.c (finish_expr_stmt_real): Rename to ... (finish_expr_stmt): This. Remove assigned_this parameter. (begin_if_stmt): Call do_pushlevel before starting the statement. (begin_compound_stmt): Don't declare __FUNCTION__ in scope-less blocks. (setup_vtbl_ptr): Emit initialization code for bases and members at semantic-analysis time. Emit code to initialize vtables in destructors here. (expand_stmt): Use finish_expr_stmt, not finish_expr_stmt_real. Don't handle CTOR_INITIALIZER any more. * typeck.c (build_modify_expr): Don't check for assignments to this. (c_expand_return): Don't suggest assigning to `this'. * Makefile.in (decl.o): Depend on RTL_H. (decl2.o): Likewise. (class.o): Likewise. (call.o): Likewise. (method.o): Likewise. (search.o): Likewise. (tree.o): Likewise. (pt.o): Likewise. * decl.c (duplicate_decls): When a builtin function is redeclared as static, make sure it is mangled correctly. * ir.texi (CTOR_INITIALIZER): Remove mention. Fix typo. Add detail about the statement-tree. From-SVN: r29531
Mark Mitchell committed -
From-SVN: r29524
Nathan Sidwell committed -
unrecognised options. From-SVN: r29522
Nick Clifton committed -
From-SVN: r29515
Bernd Schmidt committed
-
- 19 Sep, 1999 2 commits
-
-
From-SVN: r29508
Mark Mitchell committed -
* gxxint.texi: G++ now implements namespaces. * decl.c (pop_label): Don't warn about unused labels more than once. * semantics.c (finish_goto_stmt): Always marked used labels as used. From-SVN: r29505
Mark Mitchell committed
-
- 18 Sep, 1999 3 commits
-
-
* decl.c (layout_var_decl): Change prototype. Call layout_decl even when the declaration is external. (cp_finish_decl): Adjust call to layout_var_decl. * pt.c (tsubst_expr): Make sure to initialize stmt before using it. From-SVN: r29504
Mark Mitchell committed -
* typeck.c (get_member_function_from_ptrfunc): Always consider virtuality inside member pointer. From-SVN: r29494
Martin v. Löwis committed -
* cp-tree.h (doing_semantic_analysis_p): New macro. (SF_DEFAULT): Define to zero, not SF_EXPAND. (start_handler_parms): Change prototype. (expand_start_catch_block): Likewise. (expand_end_catch_block): Likewise. (expand_start_eh_spec): Likewise. (expand_end_eh_spec): Declare. (finish_handler_parms): Change prototype. (begin_catch_block): Declare. (finish_handler): Change prototype. (do_pushlevel): Declare. (do_poplevel): Likewise. * decl.c (pushlevel): Don't create binding levels when not doing semantic analysis. (poplevel): Don't pop them. (pushdecl): Assert that we are never called when not doing semantic analysis. (pushdecl_top_level): Use push_to_top_level. (make_label_decl): Don't fiddle with obstacks. Make RTL For the label when expanding. (cp_finish_decl): Only inject for-scope variables when doing semantic analysis. Add comments. (start_handler_parms): Return the handler parm. (start_function): Reorganize. Don't clear DECL_INITIAL if it is already set. Reinitialize from saved function data if available. Don't pushlevel when not doing semantic analysis. (store_parm_decls): Only generate RTL when expanding. Only pushdecl when doing semantic analysis. Set current_eh_spec_try_block if appropriate. (finish_function): Simplify. Use do_pushlevel and do_poplevel. Combine common code. Don't poplevel when not doing semantic analysis. (push_cp_function_context): Don't expand functions without an explicit call to expand_body. (mark_lang_function): Make eh_spec_try_block and x_scope_stmt_stack. * except.c (expand_end_eh_spec): Don't declare. (process_start_catch_block): Likewise. (push_eh_cleanup): Use finish_decl_cleanup. (initialize_handler_parm): New function. (expand_start_catch_block): Use it. (expand_end_catch_block): Use tree-generation functions, not RTL-generation functions. (expand_start_eh_spec): Likewise. (expand_end_eh_spec): Likewise. (expand_exception_blocks): Simplify. (start_anon_func): Use do_pushlevel. (end_anon_func): Use do_poplvel. Call expand_body for the function. * expr.c (do_case): Don't call define_case_label. * init.c (create_temporary_var): Set DECL_CONTEXT for local variables. * method.c (emit_thunk): Call expand_body for the thunk. (sythesize_method): Likewise. * parse.y (handler_args): Give it ttype. (eat_saved_input): Call expand_body. (base_init): Use do_pushlevel. (pending_inline): Call expand_body. (handler): Adjust calls to finish_handler_parms and finish_handler. (handler_args): Don't call expand_start_catch_block. Return the catch parameter. * pt.c (tsubst_expr): Adjust HANDLER handling. * parse.c: Regenerated. * rtti.c (synthesize_tinfo_fn): Call finish_function. * semantics.c (do_pushlevel): Give it external linkage. Build SCOPE_STMTs. (do_poplevel): Likewise. (finish_case_label): Call define_case_label when doing semantic analysis. (finish_goto_stmt): Create RTL for labels. (finish_function_try_block): Set in_function_try_handler unconditionally. (finish_function_handler_sequence): Unset it. (finish_handler_parms): Use expand_start_catch_block even when building a statement-tree. (begin_catch_block): New function. (finish_handler): Move a little RTL-generation logic here. (finish_decl_cleanup): Allow cleanups for empty declarations. (finish_named_return_value): Don't pushdecl when not doing semantic analysis. (expand_stmt): Don't do semantic analysis for variable declarations. Handle START_CATCH_STMT. Call expand_label directly for a LABEL_STMT. Tweak handling of GOTO_STMT. Adjust HANDLERs. Handle SCOPE_STMT, CTOR_INITIALIZER, and RETURN_INIT. (expand_body): Let expand_stmt handle CTOR_INITIALIZER, RETURN_INIT and function try blocks. From-SVN: r29490
Mark Mitchell committed
-
- 17 Sep, 1999 9 commits
-
-
* cp-tree.h (language_function): Add x_eh_spec_try_block. Add x_scope_stmt_stack. Add x_in_charge_parm. (current_eh_spec_try_block): New macro. (current_scope_stmt_stack): Likewise. (current_in_charge_parm): Likewise. * decl.c (start_function): Initialize current_in_charge_parm. (finish_function): Use current_in_charge_parm rather than looking up __in_chrg. * search.c (expand_indirect_vtbls_init): Likewise. From-SVN: r29489
Mark Mitchell committed -
* cp-tree.def (CLEANUP_STMT): Fix spelling in dumps. (TRY_BLOCK): Likewise. (HANDLER): Likewise. (START_CATCH_STMT): New tree node. (SCOPE_STMT): Likewise. * cp-tree.h (SCOPE_BEGIN_P): New macro. (SCOPE_NULLIFIED_P): Likewise. (struct lang_decl_flags): Add pending_inline_p. Adjust dummy. (struct lang_decl): Add saved_language_function. (DECL_PENDING_INLINE_INFO): Adjust documentation. (DECL_PENDING_INLINE_P): New macro. (TYPE_TI_ARGS): Fix typo in comment. (DECL_SAVED_TREE): Add to documentation. (DECL_SAVED_FUNCTION_DATA): New macro. (START_CATCH_TYPE): Likewise. (SCOPE_END_P): New macro. (declare_parm_level): Don't declare. * decl.c (mark_lang_function): New function, split out from mark_cp_function_context. (save_function_data): New function. (declare_parm_level): Remove. (finish_function): Use save_function_data to squirrel away important stuff for later use. (mark_cp_function_context): Use mark_function_data. (lang_mark_tree): Likewise. * lex.c (begin_definition_of_inclass_inline): Set DECL_PENDING_INLINE_P. (store_pending_inline): Clear it. * pt.c (tsubst_decl): Likewise. From-SVN: r29488
Mark Mitchell committed -
* call.c (perform_implicit_conversion): Deal with error_mark_node. From-SVN: r29478
Nathan Sidwell committed -
* decl.c (warn_extern_redeclared_static): Don't get confused by static member functions. (duplicate_decls): Merge DECL_THIS_STATIC. * decl.c (expand_static_init): Make sure assignments to local statics actually occur. From-SVN: r29477
Mark Mitchell committed -
From-SVN: r29475
Nathan Sidwell committed -
* cp-tree.h (poplevel_class): Declare. * class.c (popclass): Use poplevel_class, not poplevel. * decl.c (poplevel_class): Don't make it static. Don't return a value. (poplevel): Don't call poplevel_class; abort in a class binding level is seen. * semantics.c (finish_translation_unit): Use pop_everything. * parse.y (member_init): Allow errors. (pending_inline): Call finish_function. * parse.c: Regenerated. * Makefile.in (CONFLICTS): Adjust. From-SVN: r29472
Mark Mitchell committed -
From-SVN: r29471
Jason Merrill committed -
From-SVN: r29470
Gabriel Dos Reis committed -
1999-09-17 Gabriel Dos Reis <gdr@codesourcery.com> * error.c: Reduce code duplication. (dump_template_value): New function. (dump_type_real): Use it. (dump_decl): Likewise. (dump_function_name): Likewise. (dump_function_decl): Don't be too talkative about function return type variety. From-SVN: r29469
Gabriel Dos Reis committed
-