aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
AgeCommit message (Collapse)AuthorFilesLines
2003-05-13tree.h (STRIP_MAIN_TYPE_NOPS): New macro.Jason Merrill1-0/+73
* tree.h (STRIP_MAIN_TYPE_NOPS): New macro. * tree.c (iterative_hash_expr): New fn. * c-semantics.c (emit_local_var): Don't mess with temp slots if there's no initializer. From-SVN: r66775
2003-05-11re PR c/10675 (Compile time increases quadratically with struct size)Richard Henderson1-16/+17
PR c/10675 * c-decl.c: Include hashtab.h. (detect_field_duplicates): New. (finish_struct): Use it. * Makefile.in (c-decl.o): Update. * c-parse.in (structsp_attr): Nreverse component_decl_list results. (component_decl_list, component_decl_list2, components, components_notype): Build list in reverse order. (enumlist): Clarify docs. Use TREE_CHAIN not chainon. * tree.c (chainon): Special case op2 null as well. Reorg for clarity. From-SVN: r66710
2003-05-01input.h (lineno): Rename to ...Nathan Sidwell1-2/+2
* input.h (lineno): Rename to ... (input_line): ... here. * tree.h (lineno): Rename to ... (input_line): ... here. * scan.h (lineno): Rename to ... (input_line): ... here. * toplev.c (lineno): Rename to ... (input_line): ... here. (push_srcloc, pop_srcloc): Rename lineno to input_line. * c-common.c (c_expand_start_cond, fname_decl): Likewise. * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag, store_parm_decls, c_expand_body_1): Likewise. * c-errors.c (pedwarn_c99): Likewise. * c-format.c (status_warning): Likewise. * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise. * c-opts.c (c_common_post_options, c_common_parse_file): Likewise. * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise. * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var, gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt, genrtl_for_stmt, build_break_stmt, build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt, prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise. * coverage.c (create_coverage): Likewise. * diagnostic.c (pedwarn, sorry, error, fatal_error, internal_error, warning, diagnostic_report_current_module, inform): Likewise. * expr.c (expand_expr): Likewise. * integrate.c (expand_inline_function, output_inline_function): Likewise. * rtl-error.c (file_and_line_for_asm): Likewise. * tree-inline.c (find_alloca_call, find_builtin_longjmp_call, walk_tree): Likewise. * tree.c (make_node): Likewise. * ada, cp, f, java, objc, treelang: Likewise. ada * trans.c (build_unit_elab, set_lineno): Rename lineno to input_line. * utils.c (pushdecl, create_label_decl, begin_subprog_body, end_subprog_body): Likewise. * utils2.c (build_call_raise): Likewise. cp * class.c (finish_struct): Rename lineno to input_line. * decl.c (push_binding_level, pop_binding_level, suspend_binding_level, resume_binding_level, make_label_decl, use_label, start_function): Likewise. * decl2.c (warn_if_unknown_interface, start_static_initialization_or_destruction, generate_ctor_or_dtor_function, finish_file): Likewise. * error.c (cp_line_of, print_instantiation_full_context, print_instantiation_context): Likewise. * except.c (check_handlers_1, check_handlers): Likewise. * init.c (create_temporary_var): Likewise. * method.c (use_thunk, synthesize_method): Likewise. * parser.c (cp_lexer_set_source_position_from_token, cp_lexer_get_preprocessor_token): Likewise. * pt.c (push_tinst_level, pop_tinst_level, tsubst_friend_function, instantiate_class_template, tsubst_decl, tsubst, tsubst_expr, instantiate_decl): Likewise. * semantics.c (genrtl_try_block, finish_label_stmt, begin_class_definition, expand_body, genrtl_finish_function): Likewise. * tree.c (build_min_nt, build_min): Likewise. f * ansify.c (die_unless): Rename lineno to input_line. * com.c (ffecom_subscript_check_, ffecom_do_entry_, ffecom_gen_sfuncdef_, ffecom_start_progunit_, ffecom_sym_transform_, ffecom_sym_transform_assign_, bison_rule_pushlevel_, bison_rule_compstmt_, finish_function, store_parm_decls): Likewise. * intrin.c (ffeintrin_fulfill_generic): Likewise. * lex.c (ffelex_hash_, ffelex_include_, ffelex_next_line_, ffelex_file_fixed, ffelex_file_free): Likewise. * std.c (ffestd_exec_end): Likewise. * ste.c (ffeste_emit_line_note_, ffeste_start_block_, ffeste_start_stmt_): Likewise. * ste.h (ffeste_filelinenum, ffeste_set_line): Likewise. java * lex.h (lineno): Rename to ... (input_line): ... here * parse-scan.y (lineno): Rename to ... (input_line): ... here. (reset_report): Rename lineno to input_line. * check-init.c (check_init): Likewise. * class.c (push_class): Likewise. * decl.c (complete_start_java_method, end_java_method): Likewise. * expr.c (expand_byte_code): Likewise. * jcf-parse.c (give_name_to_class, parse_class_file): Likewise. * jcf-write.c (generate_bytecode_insns): Likewise. * lex.c (java_init_lex, java_allocate_new_line, do_java_lex): Likewise. * parse.h (YYNOT_TWICE): Likewise. * parse.y (empty_statement, expression_statement, java_pop_parser_context, java_parser_context_save_global, yyerror, register_fields, method_header, safe_layout_class, find_in_imports_on_demand, create_artificial_method, source_end_java_method, start_complete_expand_method, build_thisn_assign, java_complete_lhs, maybe_absorb_scoping_block): Likewise. objc * objc-act.c (objc_init): Rename lineno to input_line. (build_module_descriptor, build_selector_translation_table, build_protocol_template, build_method_prototype_list_template, build_category_template, build_selector_table, build_class_template, build_super_template, build_ivar_template, build_ivar_list_template, build_method_list_template, build_method_template, add_instance_variable): Likewise. treelang * tree1.c (treelang_init): Rename lineno to input_line. From-SVN: r66333
2003-04-29* tree.c (save_expr): Don't fold a COMPONENT_REF.Richard Kenner1-2/+9
From-SVN: r66264
2003-04-16tree.c (skip_simple_arithmetics_at, [...]): New functions.Olivier Hainque1-30/+52
* tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions. (save_expr): Replace loop by call to skip_simple_arithmetics_at. * tree.h: Add prototypes for the two new functions. * fold-const.c (fold_binary_op_with_conditional_arg): Replace test updates introduced in the previous revision by call to saved_expr_p. * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at. From-SVN: r65702
2003-04-15tree.c (next_decl_uid): Mark with GTY.Geoffrey Keating1-2/+2
* tree.c (next_decl_uid): Mark with GTY. (next_type_uid): Likewise. From-SVN: r65662
2003-04-14tree.c (int_fits_type_p): Extract generic checks from the case of constant ↵Olivier Hainque1-19/+66
type bounds. * tree.c (int_fits_type_p): Extract generic checks from the case of constant type bounds. Refine the checks against constant type bounds to allow for possible decisions against each of these bounds without requiring both bounds to be constant. (tree_int_cst_msb): Put back. * tree.h (tree_int_cst_msb): Likewise. From-SVN: r65598
2003-04-13tree.c (build_constructor): New function.Zack Weinberg1-0/+23
* tree.c (build_constructor): New function. * tree.h: Prototype it. * c-typeck.c (build_c_cast, pop_init_level) * profile.c (build_function_info_value, build_gcov_info_value) (create_profiler): Use build_constructor. * builtins.c (expand_builtin_args_info): Remove #if 0 blocks. * objc/objc-act.c (build_constructor): Rename objc_build_constructor. Use build_constructor. (build_objc_string_object, objc_add_static_instance) (init_def_list, init_objc_symtab, init_module_descriptor) (generate_static_references, build_selector_translation_table) (build_descriptor_table_initializer, generate_descriptor_table) (build_protocol_initializer, build_ivar_list_initializer) (generate_ivars_list, build_dispatch_table_initializer) (generate_dispatch_table, generate_protocol_list) (build_category_initializer, build_shared_structure_initializer): Update to match. ada: * gigi.h, utils2.c (build_constructor): Rename gnat_build_constructor. Use build_constructor. * decl.c (gnat_to_gnu_entity) * trans.c (tree_transform, pos_to_constructor, extract_values) * ada/utils.c (build_template, convert_to_fat_pointer, convert) (unchecked_convert) * ada/utils2.c (build_binary_op, build_call_raise, build_allocator) (fill_vms_descriptor): Update to match. cp: * class.c (initialize_array) * decl.c (reshape_init) * decl2.c (build_expr_from_tree) * init.c (build_zero_init) * pt.c (tsubst_copy, tsubst_copy_and_build) * rtti.c (tinfo_base_init, generic_initializer, ptr_initializer) (ptm_initializer, class_initializer, get_pseudo_ti_init) * semantics.c (finish_compound_literal) * typeck.c (build_ptrmemfunc1) * typeck2.c (store_init_value, process_init_constructor) (build_functional_cast): Use build_constructor. f: * com.c (ffecom_build_complex_constant_, ffecom_expr_) (ffecom_init_zero_, ffecom_transform_namelist_, ffecom_vardesc_) (ffecom_vardesc_array_, ffecom_vardesc_dims_, ffecom_2) * ste.c (ffeste_io_ialist_, ffeste_io_cilist_, ffeste_io_cllist_) (ffeste_io_icilist_, ffeste_io_inlist_, ffeste_io_olist_): Use build_constructor. java: * class.c (make_field_value, make_method_value, get_dispatch_table) (make_class_data, emit_offset_symbol_table) * constants.c (build_constants_constructor) * java-tree.h (START_RECORD_CONSTRUCTOR) * parse.y (maybe_build_array_element_wfl): Use build_constructor. From-SVN: r65539
2003-04-12re PR c++/9393 (Anonymous namespaces and compiling the same file twice)Geoffrey Keating1-28/+40
PR c++/9393 * doc/invoke.texi (Debugging Options): Document -frandom-seed. * configure.in: Check for gettimeofday. * tree.c (flag_random_seed): Define. (default_flag_random_seed): New. (append_random_chars): Use flag_random_seed rather than trying to acquire randomness here. * tree.h (default_flag_random_seed): Declare. * toplev.c (display_help): Add -frandom-seed and -fstack-limit-* descriptions. (decode_f_option): Handle -frandom-seed. (print_switch_values): Call default_flag_random_seed. * flags.h (flag_random_seed): Declare. * configure: Regenerate. * config.in: Regenerate. * config/alpha/t-crtfm: Use -frandom-seed. From-SVN: r65500
2003-04-11tree.c (tree_operand_check_failed): New function.Zack Weinberg1-0/+16
* tree.c (tree_operand_check_failed): New function. * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE, TREE_RTL_OPERAND_CHECK): New checking macros. (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL, RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL, CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new checking macros. From-SVN: r65452
2003-04-07tree.c (tree_size): For all 'c' and 'x' nodes...Zack Weinberg1-21/+25
* tree.c (tree_size): For all 'c' and 'x' nodes, look directly at the sizes of the relevant structures, rather than relying on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the sizes of any such we don't know about. Use lang_hooks.identifier_size for IDENTIFIER_NODE. (initializer_zerop): Use CONSTRUCTOR_ELTS. * tree.def: Update commentary. Make fourth element of the definition for all 'c' and 'x' nodes zero. * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE. * langhooks-def.h: Update to match. * langhooks.c: New default, lhd_tree_size. * c-common.def (SRCLOC): Kill. * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]): Remove entirely - was already #if-ed out. ada: * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero. * misc.c (gnat_tree_size): New function. (LANG_HOOKS_TREE_SIZE): Override. cp: * cp-tree.def: Make fourth element for all 'c' and 'x' nodes zero. * cp-lang.c (cp_tree_size): New function. (LANG_HOOKS_TREE_SIZE): Override. * cp-tree.h (SOURCE_LOCUS, SRCLOC_FILE, SRCLOC_LINE, struct tree_srcloc, TS_CP_COMMON, TS_CP_SRCLOC): Kill. (union lang_tree_node): Remove common and srcloc members. (build_srcloc_here): Don't prototype. * decl.c (cp_tree_node_structure): Kill SRCLOC case. * pt.c (pending_templates): Correct comment. * tree.c (build_srcloc, build_srcloc_here): Kill. From-SVN: r65323
2003-04-06hashtable.c (gcc_obstack_init): Delete this function and everything related ↵Steven Bosscher1-23/+0
to it. 2003-04-06 Steven Bosscher <steven@gcc.gnu.org> * hashtable.c (gcc_obstack_init): Delete this function and everything related to it. * hashtable.h: Remove prototype. * bitmap.c (bitmap_element_allocate): Cleanup redundant defines. Cleanup some unnecessary whitespace. * defaults.h (obstack_chunk_alloc): Redefine with appropriate casts for libiberty obstacks. (obstack_chunk_free): Ditto. (OBSTACK_CHUNK_SIZE): Define, default to 0. (gcc_obstack_init): Define as a call to _obstack_begin. * tree.c (print_obstack_statistics): Delete this unused function. * tree.h (obstack): Don't forward-declare. (print_obstack_statistics): Delete prototype. (print_obstack_name): Ditto. (gcc_obstack_init): Ditto. * rtl.h (gcc_obstack_init): Ditto. * java/jv-scan.c (gcc_obstack_init): Delete this function, its prototype and related defines. * java/jvgenmain.c (gcc_obstack_init): Delete this function, and related defines. * java/parse-scan.y (obstack_chunk_alloc): Don't define. (obstack_chunk_free): Ditto From-SVN: r65308
2003-03-19tree.c (substitute_in_expr, case 'e'): Only make recursive call on an ↵Richard Kenner1-5/+18
operand if it has a PLACEHOLDER_EXPR. * tree.c (substitute_in_expr, case 'e'): Only make recursive call on an operand if it has a PLACEHOLDER_EXPR. From-SVN: r64595
2003-03-16re PR target/9164 ([Alpha] improper code generation)Falk Hueffner1-1/+2
PR target/9164 * tree.c (get_narrower): For extensions with unchanged bit number, return the unsignedness of the outer mode. * gcc.c-torture/execute/20030316-1.c: New test case. From-SVN: r64440
2003-02-10tree.c (build_tree_list): Fix parameter names in comment.Phil Edwards1-1/+1
2003-02-10 Phil Edwards <pme@gcc.gnu.org> * tree.c (build_tree_list): Fix parameter names in comment. From-SVN: r62653
2003-01-10Merge from pch-branch.Geoffrey Keating1-2/+2
From-SVN: r61136
2002-12-24regmove.c: Fix comment typos.Kazu Hirata1-1/+1
* regmove.c: Fix comment typos. * reload.c: Likewise. * reload1.c: Likewise. * resource.c: Likewise. * rtl.def: Likewise. * rtl.h: Likewise. * rtlanal.c: Likewise. * sched-deps.c: Likewise. * sched-rgn.c: Likewise. * sibcall.c: Likewise. * simplify-rtx.c: Likewise. * ssa-ccp.c: Likewise. * ssa.c: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * system.h: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. * tracer.c: Likewise. * tree-inline.c: Likewise. * tree.c: Likewise. * tree.h: Likewise. * unroll.c: Likewise. * varasm.c: Likewise. From-SVN: r60473
2002-12-23tree.c (save_expr): Allow either side of a dyadic operand to be constant.Nathan Sidwell1-7/+19
* tree.c (save_expr): Allow either side of a dyadic operand to be constant. * doc/portability.texi (portability): Update portability goals. From-SVN: r60435
2002-12-19omit needless bracesJason Merrill1-3/+1
From-SVN: r60293
2002-12-18tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.Jason Merrill1-14/+21
* tree.c (make_node): Don't set TREE_TYPE on 's' class nodes. (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes. From-SVN: r60237
2002-12-16Merge basic-improvements-branch to trunkZack Weinberg1-119/+56
From-SVN: r60174
2002-12-06tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR.Dale Johannesen1-2/+3
2002-12-05 Dale Johannesen <dalej@apple.com> * tree.c (unsafe_for_reeval): Consider callee child of CALL_EXPR. From-SVN: r59875
2002-12-04PR c++/8461, c++/8625Jason Merrill1-0/+3
PR c++/8461, c++/8625 * integrate.c (copy_decl_for_inlining): Handle explicit invisible references. * tree-inline.c (initialize_inlined_parameters): Likewise. 2002-12-03 Jason Merrill <jason@redhat.com> PR c++/8461, c++/8625 * call.c (convert_for_arg_passing): Don't mess with error_mark_node. (cp_convert_parm_for_inlining): Remove. * cp-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): Remove. * cp-tree.h (ADDR_IS_INVISIREF): Remove. * except.c (stabilize_throw_expr): Remove ADDR_IS_INVISIREF code. From-SVN: r59827
2002-11-26hooks.c (hook_bool_void_false, [...]): Rename so that the return type is first.Richard Henderson1-47/+0
* hooks.c (hook_bool_void_false, hook_void_tree_int, hook_void_FILEptr_constcharptr): Rename so that the return type is first. (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr, hook_bool_tree_false): New. * hooks.h: Update. * langhooks-def.h: Update for renames. * target-def.h: Likewise. * tree.c (default_comp_type_attributes, default_set_default_type_attributes, default_insert_attributes, default_function_attribute_inlinable_p, default_ms_bitfield_layout_p): Remove. * tree.h: Update. From-SVN: r59556
2002-11-14tree.c (tree_vec_elt_check_failed): New function.Zack Weinberg1-0/+16
* tree.c (tree_vec_elt_check_failed): New function. * tree.h (TREE_VEC_ELT_CHECK): New checking macro. (TREE_VEC_ELT): Use it. * tree-inline.c (optimize_inline_calls): Don't copy a zero-length vector. cp: * search.c (dfs_push_decls): Do not try to reorder elements 3..n of method_vec if method_vec has only two elements. Reverse order of two tests to avoid accessing unallocated memory. From-SVN: r59114
2002-10-23langhooks.h (struct lang_hooks_for_tree_inlining): Add var_mod_type_p.Zack Weinberg1-0/+59
* langhooks.h (struct lang_hooks_for_tree_inlining): Add var_mod_type_p. * langhooks-def.h: Default for tree_inlining.var_mod_type_p is hook_tree_bool_false. * tree.c (variably_modified_type_p): Moved here from cp/tree.c. Use lang_hooks.tree_inlining.var_mod_type_p for language-specific cases. Due to this, must weaken some 'if and only if' checks to merely 'if'. * tree.h: Prototype variably_modified_type_p. * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end. cp: * cp-lang.c (cp_var_mod_type_p): New: C++ hook for variably_modified_type_p. * cp-tree.h: Remove prototype of variably_modified_type_p. * tree.c (variably_modified_type_p): Remove; now implemented in language-independent code. From-SVN: r58460
2002-10-14c-common.c (c_common_type_for_mode): Add V2HImode case.J"orn Rennecke1-0/+3
* c-common.c (c_common_type_for_mode): Add V2HImode case. * tree.c (build_common_tree_nodes_2): Initialize unsigned_V2HI_type_node and V2HI_type_node. * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE. (unsigned_V2HI_type_node, V2HI_type_node): Define. From-SVN: r58123
2002-10-11cfganal.c (dfs_enumerate_from): Use PARAMS.John David Anglin1-2/+2
* cfganal.c (dfs_enumerate_from): Use PARAMS. * genautomata.c (output_insn_code_cases): Likewise. * real.c (real_format): Likewise. * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to ensure value is promoted before doing subtraction. From-SVN: r58064
2002-10-09conflict.c (arc_hash): Change return type to hashval_t.Kaveh R. Ghazi1-2/+2
* conflict.c (arc_hash): Change return type to hashval_t. * cselib.c (get_value_hash): Likewise. * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash, state_hash, automata_list_hash): Likewise. * read-rtl.c (def_hash): Likewise. * tree.c (type_hash_hash): Likewise. From-SVN: r57987
2002-09-27LANGUAGES: Follow spelling conventions.Kazu Hirata1-1/+1
* LANGUAGES: Follow spelling conventions. * rtl.def: Likewise. * sbitmap.c: Likewise. * sched-int.h: Likewise. * sched-rgn.c: Likewise. * sibcall.c: Likewise. * simplify-rtx.c: Likewise. * ssa.c: Likewise. * stab.def: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * target.h: Likewise. * timevar.c: Likewise. * toplev.c: Likewise. * tree-dump.c: Likewise. * tree-inline.c: Likewise. * tree.c: Likewise. * tree.def: Likewise. * tree.h: Likewise. * unroll.c: Likewise. * varasm.c: Likewise. * vmsdbgout.c: Likewise. * treelang/treelang.texi: Likewise. * treelang/treetree.c: Likewise. From-SVN: r57587
2002-09-17machmode.def (V1DImode): New mode.Nick Clifton1-0/+3
* machmode.def (V1DImode): New mode. A single element vector. * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums. (unsigned_V1DI_type_node, V1D1_type_node): New type nodes. * tree.c (build_common_tree_nodes_2): Build unsigned_V1DI_type_node and V1D1_type_node. * c-common.c (c_common_type_for_mode): Return unsigned_V1DI_type_node or V1D1_type_node for V1DImode. * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode. From-SVN: r57248
2002-09-16real.c, real.h: Rewrite from scratch.Richard Henderson1-5/+2
gcc/ * real.c, real.h: Rewrite from scratch. * Makefile.in (simplify-rtx.o): Depend on TREE_H. (paranoia): New target. * builtins.c (fold_builtin_inf): Use new real.h interface. * c-common.c (builtin_define_with_hex_fp_value): Likewise. * c-lex.c (interpret_float): Likewise. * emit-rtl.c (gen_lowpart_common): Likewise. * optabs.c (expand_float): Use real_2expN. * config/ia64/ia64.md (divsi3, udivsi3): Likewise. * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New. (FLOAT_WORDS_BIG_ENDIAN): New. * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE directly to REAL_VALUE_NEGATIVE. * loop.c (canonicalize_condition): Likewise. * simplify-rtx.c: Include tree.h. (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX with floating-point result modes. * toplev.c (backend_init): Call init_real_once. * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE. * tree.c (build_real): Likewise. * config/alpha/alpha.c, config/vax/vax.c (float_strings, float_values, inited_float_values, check_float_value): Remove. * config/alpha/alpha.h, config/m68hc11/m68hc11.h, config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove. * doc/tm.texi (CHECK_FLOAT_VALUE): Remove. gcc/f/ * target.c (ffetarget_real1): Don't pass FFETARGET_ATOF_ directly to ffetarget_make_real1. (ffetarget_real2): Similarly. * target.h (ffetarget_cvt_r1_to_rv_, ffetarget_cvt_rv_to_r2_, ffetarget_cvt_r2_to_rv_): Use new real.h interface and simplify. gcc/java/ * jcf-parse.c (get_constant): Runtime check for IEEE format; use new real.h interface. * jcf-write.c (find_constant_index): Use new real.h interface. * lex.c (IS_ZERO): Use REAL_VALUES_EQUAL. contrib/ * paranoia.cc: New file. From-SVN: r57198
2002-08-21tree.c (finish_vector_type): Fix a typo in a comment.Stan Shebs1-1/+1
* tree.c (finish_vector_type): Fix a typo in a comment. * Makefile.in: Fix "the the" stutters in comments. * genautomata.c: Ditto. * ifcvt.c: Ditto. * regrename.c: Ditto. * config/alpha/alpha.c: Ditto. * config/alpha/vms-crt0-64.c: Ditto. * config/alpha/vms-crt0.c: Ditto. * config/alpha/vms-psxcrt0-64.c: Ditto. * config/alpha/vms-psxcrt0.c: Ditto. * config/d30v/d30v.h: Ditto. * config/fr30/fr30.h: Ditto. * config/rs6000/rs6000.c: Ditto. * config/stormy16/stormy16.h: Ditto. * doc/md.texi: Ditto. From-SVN: r56496
2002-08-20tree.c (get_qualified_type): Add TYPE_CONTEXT check.Devang Patel1-1/+2
2002-08-20 Devang Patel <dpatel@apple.com> * tree.c (get_qualified_type): Add TYPE_CONTEXT check. testsuite: * objc.dg/proto-hier-2.m: New test. From-SVN: r56475
2002-08-04Index: ChangeLogGeoffrey Keating1-38/+3
2002-08-04 Geoffrey Keating <geoffk@redhat.com> * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H). * collect2.h (permanent_obstack): Delete declaration. * collect2.c (permanent_obstack): Delete definition. (main): Don't initialise permanent_obstack. Use xstrdup instead. * expr.c: Don't include obstack.h. (permanent_obstack): Delete declaration. * function.c: Don't include obstack.h. (permanent_obstack): Delete declaration. * integrate.c: Don't include obstack.h. (function_maybepermanent_obstack): Delete declaration. * print-tree.c (debug_tree): Use x*alloc not permalloc. * sdbout.c (gen_fake_label): Use x*alloc not permalloc. * tlink.c (pfgets): Use xstrdup not permanent_obstack. * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree. * tree.h: Rename init_obstacks to init_ttree. Remove declarations of permalloc, expralloc, perm_calloc. * tree.c (permanent_obstack): Delete definition. (init_ttree): Rename from init_obstacks. (permalloc): Delete. (perm_calloc): Delete. (dump_tree_statistics): Don't print information about permanent_obstack. * varasm.c (assemble_start_function): Use xstrdup instead of permalloc/strcpy. (assemble_variable): Likewise. * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of permalloc. (unicosmk_add_extern): Likewise. * config/c4x/c4x.c (c4x_external_ref): Likewise. (c4x_global_label): Likewise. * config/frv/frv.c (frv_encode_section_info): Likewise. * config/i386/winnt.c (i386_pe_record_external_function): Likewise. (i386_pe_record_exported_symbol): Likewise. * config/mips/mips.c (mips_output_external): Likewise. (mips_output_external_libcall): Likewise. * config/pa/pa.c: (permanent_obstack): Delete declaration. (output_call): Use ggc_strdup instead of allocating on permanent_obstack. * config/romp/romp.c: Include ggc.h. (get_symref): Don't declare permanent_obstack, use ggc_strdup intead of permanent_obstack. * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat instead of permalloc. * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc instead of permalloc * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat instead of permalloc. * config/vax/vax.c (vms_check_external): Use xmalloc instead of permalloc. Index: cp/ChangeLog 2002-08-04 Geoffrey Keating <geoffk@redhat.com> * cvt.c (ocp_convert): Delete obsolete code. * parse.y (permanent_obstack): Delete declaration. * pt.c (permanent_obstack): Delete declaration. * repo.c (permanent_obstack): Delete declaration. (open_repo_file): Use xmalloc instead of permanent_obstack. (init_repo): Use xstrdup instead of permanent_obstack. Index: java/ChangeLog 2002-08-04 Geoffrey Keating <geoffk@redhat.com> * class.c: (permanent_obstack): Delete declaration. * constants.c: (permanent_obstack): Delete declaration. * except.c: (permanent_obstack): Delete declaration. * expr.c: (permanent_obstack): Delete declaration. * jcf-parse.c: (permanent_obstack): Delete declaration. (saveable_obstack): Delete declaration. * parse.h: (permanent_obstack): Delete declaration. * typeck.c: (permanent_obstack): Delete declaration. From-SVN: r56035
2002-07-23dwarf2out.c (SECTION_ASM_OP, [...]): Remove.Neil Booth1-2/+0
* dwarf2out.c (SECTION_ASM_OP, ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove. * system.h (SECTION_ASM_OP): Poison. * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove. * config/alpha/alpha-interix.h, config/mips/linux.h (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove. * config/mmix/mmix-protos.h, config/mmix/mmix.c (mmix_asm_output_define_label_difference_symbol): Remove. * config/mmix/mmix.h (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove. cp: * cp-tree.h (FILE_FUNCTION_PREFIX_LEN): Remove. From-SVN: r55690
2002-07-23defaults.h (obstack_chunk_alloc, [...]): Default definition.Neil Booth1-2/+0
* defaults.h (obstack_chunk_alloc, obstack_chunk_free): Default definition. * gcse.c: Don't define obstack_chunk_free. * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c, flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c, integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c, reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c: Don't define obstack macros. cp: * class.c, method.c, pt.c, search.c: Similarly. From-SVN: r55665
2002-07-01tree.c (build_function_type_list): Update function comment.Aldy Hernandez1-7/+8
2002-07-01 Aldy Hernandez <aldyh@redhat.com> * tree.c (build_function_type_list): Update function comment. Rename first argument to return_type. From-SVN: r55141
2002-06-30i386.c (ix86_init_mmx_sse_builtins): Use build_function_type_list instead of ↵Aldy Hernandez1-0/+25
build_function_type. 2002-06-29 Aldy Hernandez <aldyh@redhat.com> * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use build_function_type_list instead of build_function_type. * config/ia64/ia64.c (ia64_init_builtins): Same. * config/alpha/alpha.c (alpha_init_builtins): Same. * config/rs6000/rs6000.c (altivec_init_builtins): Same. * config/arm/arm.c (arm_init_builtins): Same. * tree.h: Add build_function_type_list prototype. * tree.c (build_function_type_list): New. From-SVN: r55109
2002-06-21tree.c (tree_node_kind, [...]): Wrap in GATHER_STATISTICS macro.Kaveh R. Ghazi1-0/+2
* tree.c (tree_node_kind, tree_node_counts, tree_node_sizes, tree_node_kind_names): Wrap in GATHER_STATISTICS macro. From-SVN: r54888
2002-06-04Merge from pch-branch up to tag pch-commit-20020603.Geoffrey Keating1-43/+43
From-SVN: r54232
2002-06-01tree.c (real_minus_onep): New function to test for -1.0.Roger Sayle1-0/+16
* tree.c (real_minus_onep): New function to test for -1.0. * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x. * gcc.dg/fnegate-1.c: New test case. From-SVN: r54149
2002-05-31target.h: Fix formatting.Kazu Hirata1-2/+2
* target.h: Fix formatting. * timevar.h: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. * toplev.h: Likewise. * tree.c: Likewise. * tree-dump.h: Likewise. * tree.h: Likewise. * tree-inline.h: Likewise. * unroll.c: Likewise. * unwind-dw2.c: Likewise. * unwind-dw2-fde.c: Likewise. * unwind-dw2-fde-glibc.c: Likewise. * unwind-dw2-fde.h: Likewise. * unwind.h: Likewise. * unwind-sjlj.c: Likewise. * varasm.c: Likewise. * varray.h: Likewise. * vmsdbg.h: Likewise. * vmsdbgout.c: Likewise. * xcoffout.h: Likewise. From-SVN: r54123
2002-05-28tree.h: Forward-declare struct realvaluetype.Zack Weinberg1-13/+9
* tree.h: Forward-declare struct realvaluetype. (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not contain it. (TREE_REAL_CST_PTR): New accessor. (TREE_REAL_CST): Update. * real.h: Include machmode.h. (realvaluetype): Make it struct realvaluetype, not a typedef. (build_real): Prototype here. * tree.c: Include real.h. (build_real): Allocate the REAL_VALUE_TYPE as a separate object in GC memory, set TREE_REAL_CST_PTR to point to it. (build_real_from_int_cst): Use build_real. * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a REAL_CST. * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c, fold-const.c, print-tree.c, real.c, cp/mangle.c, cp/tree.c, f/bld.c, f/com.c, f/expr.c, f/target.c, java/decl.c, java/jcf-parse.c, java/parse.y, java/typeck.c: Include real.h. * Makefile.in, cp/Make-lang.in, f/Make-lang.in, java/Make-lang.in: Update dependency lists. From-SVN: r53959
2002-05-24tree.c (decl_type_context): Return NULL_TREE if decl's context is a namespace.Bryce McKinlay1-0/+3
* tree.c (decl_type_context): Return NULL_TREE if decl's context is a namespace. From-SVN: r53828
2002-05-21c-common.h (enum rid): Add RID_THREAD.Richard Henderson1-4/+5
* c-common.h (enum rid): Add RID_THREAD. * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables. (grokdeclarator): Grok __thread. * c-parse.in (reswords): Add __thread. (rid_to_yy): Add RID_THREAD. * cp/lex.c (rid_to_yy): Add RID_THREAD. * tree.h (DECL_THREAD_LOCAL): New. (struct tree_decl): Add thread_local_flag. * print-tree.c (print_node): Dump DECL_THREAD_LOCAL. * tree.c (staticp): TLS variables are not static. * target-def.h (TARGET_HAVE_TLS): New. * target.h (have_tls): New. * output.h (SECTION_TLS): New. * varasm.c (assemble_variable): TLS variables can't be common for now. (default_section_type_flags): Handle .tdata and .tbss. (default_elf_asm_named_section): Handle SECTION_TLS. (categorize_decl_for_section): Handle DECL_THREAD_LOCAL. * flags.h (flag_tls_default): Declare. * toplev.c (flag_tls_default): Define. (display_help): Display help for it. (decode_f_option): Set it. * doc/extend.texi (Thread-Local): New node describing language-level thread-local storage. * doc/invoke.texi (-ftls-model): Document. * fixinc/inclhack.def (thread_keyword): New. * fixinc/fixincl.x: Rebuild. From-SVN: r53715
2002-05-09Makefile.in: Update.Neil Booth1-7/+0
* Makefile.in: Update. * c-common.c (flag_iso, flag_undef, cb_register_builtins, builtin_define_std): New. (c_common_init): Register CPP builtins callback. * c-common.h (flag_iso, flag_undef): New. * c-decl.c (c_decode_option): Set flag_iso and flag_undef. * c-lex.c: Don't include target.h. (cb_register_builtins): Move to c-common.c. (init_c_lex): Don't register hook here. * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New. (cpp_define, cpp_assert): Remove. * gcc.c (cc1_options): Pass -undef to front end. * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove. (TARGET_INITIALIZER): Update. * target.h (struct cpp_reader): Don't predeclare. (struct gcc_target): Remove cpp builtin hook. * tree.c (default_register_cpp_builtins): Remove. cp: * cp-tree.h (flag_ansi): Remove. * decl2.c (flag_ansi): Remove. (cxx_decode_option): Set flag_iso and flag_undef. doc: * tm.texi: Update. From-SVN: r53349
2002-05-04Makefile.in (c-lex.o): Update.Neil Booth1-0/+7
* Makefile.in (c-lex.o): Update. * c-lex.c: Include target.h. (cb_register_builtins): New. (init_c_lex): Set builtins callback. * c-lex.h (cpp_define, cpp_assert): New prototypes. * cppinit.c (init_builtins): Use callback, including for GXX_WEAK. * cpplib.h (struct cpp_callbacks): New member. * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New. (TARGET_INITIALIZER): Update. * target.h (struct gcc_target): New hook. * tree.c (default_register_cpp_builtins): New. * tree.h (default_register_cpp_builtins): New. doc: * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document. From-SVN: r53165
2002-05-03regrename.c: Fix formatting.Kazu Hirata1-34/+34
* regrename.c: Fix formatting. * tree.c: Likewise. From-SVN: r53088
2002-04-29Initial P4 SSE2 builtin supportBernd Schmidt1-0/+4
From-SVN: r52903