1. 25 Aug, 2000 1 commit
    • mmitchel's avatar
      * Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o. · 57913890
      mmitchel authored
      	(c-iterate.o): Remove target.
      	* gcc/c-common.h (enum rid): Remove RID_ITERATOR.
      	* gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
      	(finish_decl): Don't handle iterators.
      	(grokdeclarator): Likewise.
      	* gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
      	* gcc/c-gperf.h: Regenerated.
      	* gcc/c-iterate.c: Removed.
      	* gcc/c-lex.c (init_lex): Don't handle iterators.
      	* gcc/c-parse.in (primary): Remove pop_iterator_stack call.
      	(compstmt_primary_start): Remove push_iterator_stack call.
      	(stmt): Don't allow iterator statements.  Replace iterator_expand
      	with expand_expr_stmt.
      	(all_iter_stmt): Remove.
      	(all_iter_stmt_simple): Likewise.
      	(all_iter_stmt_with_decl): Likewise.
      	* gcc/c-tree.h (ITERATOR_P): Remove.
      	(ITERATOR_BOUND_P): Likewise.
      	(init_iterators): Remove declaration.
      	(iterator_expand): Likewise.
      	(iterator_for_loop_start): Likewise.
      	(iterator_for_loop_end): Likewise.
      	(iterator_for_loop_record): Likewise.
      	(push_iterator_stack): Likewise.
      	(pop_iterator_stack): Likewise.
      	* gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
      	(readonly_warning): Likewise.
      	* gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
      
      	* Make-lang.in (cc1chill): Don't depend on c-iterate.o.
      
      	* gcc.dg/noncompile/930622-2.c: Adjust error message.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35967 138bc75d-0d04-0410-961f-82ee72b054a4
      57913890
  2. 21 Aug, 2000 1 commit
    • jsm28's avatar
      * c-tree.h (flag_hosted): Move declaration from here... · 9bee1c90
      jsm28 authored
      	* c-common.h (flag_hosted): ... to here.
      	(flag_noniso_default_format_attributes): New declaration.
      	* c-decl.c (flag_noniso_default_format_attributes): New variable.
      	(c_decode_option): Set it appropriately for options choosing
      	language standard variant.
      	* c-common.c (init_function_format_info): Only provide default
      	format attributes if flag_hosted.  Only provide the gettext
      	formats if flag_noniso_default_format_attributes.  Update
      	comments.
      	(check_format_info): Disable treatment of %a as a scanf flag in
      	C99 mode.
      
      cp:
      	* decl.c (flag_hosted, flag_noniso_default_format_attributes): New
      	variables.
      	* decl2.c (lang_decode_option): Disable gettext attributes for
      	-ansi.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35843 138bc75d-0d04-0410-961f-82ee72b054a4
      9bee1c90
  3. 04 Aug, 2000 1 commit
    • zack's avatar
      * cpplex.c (parse_name): Might have to glue a CPP_OTHER token · 71aa9da4
      zack authored
      	before the name.
      	(lex_line): Glue @ onto the beginning of identifiers and
      	string constants, in Objective-C mode.
      	(output_token, spell_token): Handle CPP_OSTRING.
      	(can_paste, maybe_paste_with_next): Handle pasting @ onto the
      	beginning of a NAME or a STRING, in objc mode.
      
      	* cpplib.c (get_define_node): Do not permit identifiers that
      	begin with @ to be #defined.
      	* cppmacro.c (CAN_PASTE_AFTER): Add CPP_OTHER.
      	* cpplib.h (TTYPE_TABLE): Add CPP_OSTRING.
      
      	* c-lang.c, objc/objc-act.c (build_objc_string): Delete.
      	* c-tree.h (build_objc_string): Delete prototype.
      	* objc/objc-tree.def: Delete OBJC_STRING_CST.
      	* c-lex.c (yylex): Use build_string for all three kinds of strings.
      
      	* gcc.dg/cpp/20000625-2.c: Don't expect a warning on line 4.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35470 138bc75d-0d04-0410-961f-82ee72b054a4
      71aa9da4
  4. 02 Aug, 2000 1 commit
    • zack's avatar
      * c-common.h: Prototype min_precision and c_build_qualified_type here... · 83e32a86
      zack authored
      	* c-tree.h: ... not here.
      	* errors.h: Prototype fancy_abort.
      
      	* emit-rtl.c (gen_lowpart_common): Move variable 'c' into
      	HOST_BITS_PER_WIDE_INT == 64 ifdef block.
      	* regrename.c (regrename_optimize): Make control flow explicit.
      	(replace_reg_in_block): Initialize reg_use to 0.
      
      	* i386.c (legitimate_address_p): Rename error label to
      	report_error to avoid namespace clash.
      
      cp:
      	* cp-tree.h: Don't prototype min_precision here.
      	(my_friendly_assert): Cast expression to void.
      	* semantics.c (do_poplevel): Initialize scope_stmts.
      
      f:
      	* expr.c (ffeexpr_finished_): Cast signed side of ?:
      	expression to bool.
      
      java:
      	* class.c (build_dtable_decl): Initialize dummy.
      
      intl:
      	* dcgettext.c (find_msg): Initialize act before loop.
      	(guess_category_value): Add dummy uses of both parameters.
      	* localealias.c (read_alias_file): Cast arg of strchr to char *.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35427 138bc75d-0d04-0410-961f-82ee72b054a4
      83e32a86
  5. 31 Jul, 2000 1 commit
    • zack's avatar
      * c-decl.c (mesg_implicit_function_declaration): Init to -1. · 65a7af3f
      zack authored
      	(implicit_decl_warning): New function.
      	(implicitly_declare): Use it.
      	* c-typeck.c (build_external_ref): Use implicit_decl_warning
      	to complain about implicit decls of builtins.
      
      	* c-lang.c (lang_init): Set mesg_implicit_function_declaration
      	based on pedantic && flag_isoc99, if not already set.
      	* c-tree.h: Declare mesg_implicit_function_declaration.
      	Prototype implicit_decl_warning.
      
      	* gcc.dg/c99-impl-decl-1.c: No longer XFAIL.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35385 138bc75d-0d04-0410-961f-82ee72b054a4
      65a7af3f
  6. 02 Jul, 2000 1 commit
    • chelf's avatar
      2000-07-01 Benjamin Chelf <chelf@codesourcery.com> · 5c3247a9
      chelf authored
      	* Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
      	(c-semantics.o): New target.
      
      	* c-common.h (TREE_LANG_FLAG_?): Added documentation.
      	(genrtl_do_pushlevel): Moved from cp/cp-tree.h.
      	(genrtl_clear_out_block): Likewise.
      	(genrtl_goto_stmt): Likewise.
      	(genrtl_expr_stmt): Likewise.
      	(genrtl_decl_stmt): Likewise.
      	(genrtl_if_stmt): Likewise.
      	(genrtl_while_stmt): Likewise.
      	(genrtl_do_stmt): Likewise.
      	(genrtl_return_stmt): Likewise.
      	(genrtl_for_stmt): Likewise.
      	(genrtl_break_stmt): Likewise.
      	(genrtl_continue_stmt): Likewise.
      	(genrtl_scope_stmt): Likewise.
      	(genrtl_switch_stmt): Likewise.
      	(genrtl_case_label): Likewise.
      	(genrtl_begin_compound_stmt): Likewise.
      	(gerntl_finish_compound_stmt): Likewise.
      	(genrtl_compound_stmt): Likewise.
      	(genrtl_asm_stmt): Likewise.
      	(genrtl_decl_cleanup): Likewise.
      	(DECL_ANON_UNION_ELEMS): Likewise.
      	(emit_local_var): Likewise.
      	(make_rtl_for_local_static): Likewise.
      	(expand_cond): Likewise.
      	(expand_stmt): L...
      5c3247a9
  7. 30 Jun, 2000 1 commit
    • mmitchel's avatar
      * c-common.c: Include c-common.h, not c-lex.h or c-tree.h. · 29d00ba7
      mmitchel authored
      	* c-common.h (flag_const_strings): Declare.
      	(warn_format): Likewise.
      	(flag_traditional): Likewise.
      	(flag_isoc99): Likewise.
      	(warn_parentheses): Likewise.
      	(warn_conversion): Likewise.
      	(C_TYPE_OBJECT_P): Likewise.
      	(C_TYPE_INCOMPLETE_P): Likewise.
      	(C_TYPE_FUNCTION_P): Likewise.
      	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
      	(C_EXP_ORIGINAL_CODE): Likewise.
      	(build_unary_op): Likewise.
      	(build_binary_op): Likewise.
      	(lvalue_p): Likewise.
      	(default_conversion): Likewise.
      	(common_type): Likewise.
      	* c-tree.h (C_TYPE_OBJECT_P): Remove.
      	(C_TYPE_INCOMPLETE_P): Likewise.
      	(C_TYPE_FUNCTION_P): Likewise.
      	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
      	(C_EXP_ORIGINAL_CODE): Likewise.
      	(common_type): Likewise.
      	(default_conversion): Likewise.
      	(build_binary_op): Likewise.
      	(build_unary_op): Likewise.
      	(lvalue_p): Likewise.
      	(flag_const_strings): Likewise.
      	(warn_format): Likewise.
      	(warn_conversion): Likewise.
      	(flag_traditional): Likewise.
      	(flag_isoc99): Likewise.
      	(warn_parentheses): Likewise.
      
      	* cp-tree.h (flag_const_strings): Remove.
      	(warn_parentheses): Likewise.
      	(warn_format): Likewise.
      	(common_type): Likewise.
      	(default_conversion): Likewise.
      	(build_binary_op): Likewise.
      	(cp_build_binary_op): New macro.
      	* call.c (build_new_op): Use cp_build_binary_op instead of
      	build_binary_op.
      	* class.c (build_vtable_entry_ref): Likewise.
      	* decl.c (expand_static_init): Likewise.
      	(compute_array_index_type): Likewise.
      	(build_enumerator): Likewise.
      	* decl2.c (delete_sanity): Likewise.
      	(start_static_initialization_or_destruction): Likewise.
      	* error.c (dump_type_suffix): Likewise.
      	* init.c (resolve_offset_ref): Likewise.
      	(build_new): Likewise.
      	(build_new_1): Likewise.
      	(build_vec_delete_1): Likewise.
      	(build_vec_init): Likewise.
      	(build_delete): Likewise.
      	* rtti.c (synthesize_tinfo_fn): Likewise.
      	(synthesize_tinfo_var): Likewise.
      	* search.c (expand_upcast_fixups): Likewise.
      	(fixup_all_virtual_upcast_offsets): Likewise.
      	* typeck.c (build_array_ref): Likewise.
      	(get_member_function_from_ptrfunc): Likewise.
      	(build_binary_op): Add parameter.
      	(pointer_int_sum): Use cp_build_binary_op.
      	(pointer_diff): Likewise.
      	(build_modify_expr): Likewise.
      	(get_delta_difference): Likewise.
      	(build_ptrmemfunc): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34796 138bc75d-0d04-0410-961f-82ee72b054a4
      29d00ba7
  8. 26 Jun, 2000 1 commit
    • rth's avatar
      2000-06-26 Joseph S. Myers <jsm28@cam.ac.uk> · 41356c44
      rth authored
              * c-decl.c (grokdeclarator): Don't warn about `long long' in C99.
              Make warnings about implicit int be pedwarns in C99.  Don't warn
              about duplicate type qualifiers in C99.
              (start_function): Make warning about implict int return type be a
              pedwarn in C99.
              * c-lex.c (yylex): Don't warn about `long long' in C99.
              * c-typeck.c (c_expand_return): In C99, always pedwarn about
              `return' with no value in function returning non-void.
      
      2000-06-26  Richard Henderson  <rth@cygnus.com>
      
              * c-typeck.c (pedwarn_c99): New.
              * diagnostic.c (verror, vwarning, vpedwarn): Export.
              * toplev.h: Prototype them.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34713 138bc75d-0d04-0410-961f-82ee72b054a4
      41356c44
  9. 19 Jun, 2000 1 commit
    • zack's avatar
      * c-parse.in (undeclared_variable_notice): Moved to c-typeck.c. · 1beb61f9
      zack authored
      	(primary: IDENTIFIER): Just call build_external_ref.
      	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
      	Regenerate.
      	* c-lex.c (lastiddecl): Remove.
      	(yylex): Replace all instances of lastiddecl with local
      	variables.
      
      	* c-typeck.c (build_external_ref): New function.  Treat decls
      	with C_DECL_ANTICIPATED mostly the same as nonexistent decls.
      	Look up the decl from the id here.  Call lookup_objc_ivar.
      	* c-lang.c (lookup_objc_ivar): Stub.
      	* objc/objc-act.c (lookup_objc_ivar): New function.
      
      	* c-tree.h: Prototype lookup_objc_ivar and build_external_ref.
      	* c-lex.h: Don't declare lastiddecl.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34602 138bc75d-0d04-0410-961f-82ee72b054a4
      1beb61f9
  10. 06 Jun, 2000 1 commit
    • mmitchel's avatar
      * c-common.h (c_language_kind): New type. · 6d2516c4
      mmitchel authored
      	(c_language): New variab.e
      	* c-common.c (lang_get_alias_set): Don't put structures in
      	non-zero alias sets in C++.
      	* c-decl.c (c_language): Define it.
      	* c-lex.c (doing_objc_thang): Remove.
      	* c-tree.h (doing_objc_thang): Make it a macro.
      	* objc/objc-act.c (lang_decode_option): Set c_language, not
      	doing_objc_thang.
      
      	* decl2.c (c_language): Define.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34439 138bc75d-0d04-0410-961f-82ee72b054a4
      6d2516c4
  11. 09 May, 2000 1 commit
    • zack's avatar
      top level: · e772a198
      zack authored
      	* Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
      	(tree.o): Depend on output.h.
      
      	* c-decl.c (pending_invalid_xref_file,
      	current_function_prototype_file): Constify.
      	(pushdecl): Constify a local char *.
      	(define_label): Constify filename parameter.
      	* c-lex.c (init_parse): Constify parameter and return value.
      	* c-typeck.c (c_expand_asm_operands): Constify filename parameter.
      	* c-tree.h: Update prototypes.
      	* c-parse.in: Constify filename member of %union, and if_stmt_file.
      	* c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
      	objc/objc-parse.c: Regenerate.
      
      	* dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
      	* dwarfout.h: Update prototypes.
      	* expr.c (expand_expr): Constify a local char *.
      	* flags.h: Constify main_input_filename.
      	* function.c (expand_function_end): Constify filename parameter.
      	* genrecog.c (make_insn_sequence): Use a character array for
      	c_test_pos.
      	(main): Remove unused variables.
      	* input.h: Constify input_filename, main_input_filename, and
      	file_stack.name.  Update prototypes.
      	* output.h: Declare first_global_object_name and
      	weak_global_object_name here, as const char *.
      	* stmt.c (expand_asm_operands): Constify filename parameter.
      	* toplev.c (compile_file, push_srcloc, debug_start_source_file):
      	Constify filename parameter.
      	(input_filename, main_input_filename): Constify.
      	* toplev.h: Update prototypes.
      	* tree.c: Include output.h.  Don't declare
      	first_global_object_name or weak_global_object_name.  Clean up string
      	bashing in get_file_function_name_long.
      	* tree.h (struct tree_decl): Constify filename member.
      	(input_filename): Constify.
      	Update prototypes.
      	* varasm.c (first_global_object_name, weak_global_object_name):
      	Constify.
      	(assemble_start_function, assemble_variable): Clean up string bashing.
      
      	* gcc.c: Constify all spec-related strings initialized,
      	transitively, from string constants.  Constify all strings
      	and string variables related to multilibs.
      	(set_spec, read_specs): Cast argument to free to PTR.
      	(used_arg): Do not modify multilib_matches.  Use strncmp plus
      	length comparison to compare multilib switches.
      	* genmultilib: Constify everything declared in multilib.h.
      
      ch:
      	* ch-tree.h: Update prototypes.  Remove prototypes for
      	functions declared elsewhere.
      	* decl.c (define_label): Constify filename parameter.
      	* grant.c (globalize_decl, set_default_grant_file): Constify
      	local char * variables.  Don't declare
      	first_global_object_name or asm_out_file.
      	* lang.c (chill_real_input_filename): Constify.
      	* lex.c (init_parse): Constify parameter and return value.
      	* parse.c: Don't declare input_filename.
      	(ch_expand_asm_operands): Constify filename parameter.
      	(parse_multi_dimension_case_action): Constify local char *.
      	* satisfy.c (safe_satisfy_decl): Constify local char *.
      
      cp:
      	* cp-tree.h: Constify tree_srcloc.filename, tinst_level.file,
      	and pending_inline.filename.  Update prototypes.
      	* decl.c (define_label): Constify filename parameter.
      	* decl2.c (warn_if_unknown_interface): Constify local char *.
      	* input.c Constify input_source.filename. Don't declare
      	input_filename or lineno.  Constify filename parameter to feed_input.
      	* lex.c (init_parse): Constify parameter and return value.
      	(cp_pragma_interface, cp_pragma_implementation): Constify
      	filename argument.
      	(reinit_parse_for_method, reinit_parse_for_block,
      	reinit_parse_for_expr, feed_defarg, handle_cp_pragma):
      	Constify local char *.
      	* pt.c: Don't declare lineno or input_filename.
      	(print_template_context, tsubst_friend_function, tsubst_decl,
      	tsubst, instantiate_decl): Constify local char *.
      	* semantics.c (expand_body): Constify local char *.
      	* tree.c (build_srcloc): Constify filename parameter.
      	* typeck.c (c_expand_asm_operands): Constify filename
      	parameter.
      
      f:
      	* com.c (ffecom_subscript_check_): Constify array_name
      	parameter. Clean up string bashing.
      	(ffecom_arrayref_, ffecom_char_args_x_): Constify array_name
      	parameter.
      	(ffecom_do_entry_, ffecom_gen_sfuncdef_, ffecom_start_progunit_,
      	ffecom_sym_transform_, ffecom_sym_transform_assign_): Constify
      	local char *.
      	(init_parse): Constify parameter and return value.
      	* lex.c: Include dwarfout.h instead of prototyping dwarfout_*
      	functions here.
      	(ffelex_file_pop_, ffelex_file_push_): Constify filename parameter.
      	(ffelex_hash_, ffelex_include_): Constify local char *.
      	* std.c (ffestd_exec_end): Constify local char *.
      	* where.c (ffewhere_file_new): Constify filename parameter.
      	* where.h: Update prototypes.
      
      java:
      	* check_init.c (check_init): Constify local char *.
      	* class.c (push_class): Constify local char *.
      	* java_tree.h: Update prototypes.
      	* jcf-io.c (open_class): Constify filename parameter and
      	return value.
      	(find_class): Remove redundant string copy.  Cast return from
      	open_class.
      	* jcf-parse.c (read_class, parse_class_file, yyparse):
      	Constify local char *.
      	* jcf-write.c (generate_bytecode_insns, generate_classfile):
      	Constify local char *.
      	* jcf.h (JCF): Constify filename and classname.
      	(JCF_FINISH): Cast args to FREE to char * when appropriate.
      	* lang.c (init_parse): Constify parameter and return value.
      	* lex.c (java_get_line_col): Constify filename parameter.
      	* parse.h: Constify parser_ctxt.filename.  Update prototypes.
      	* parse.y (java_parser_context_suspend,
      	issue_warning_error_from_context, safe_layout_class): Constify
      	local char *.
      	* parse.c: Regenerate.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33804 138bc75d-0d04-0410-961f-82ee72b054a4
      e772a198
  12. 17 Mar, 2000 1 commit
    • kenner's avatar
      * Clean up usages of TREE_INT_CST_LOW. · 5d844ba2
      kenner authored
      	* c-parse.in (RESTORE_WARN_FLAGS): Use tree_low_cst.
      	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
      	Regenerated.
      	* c-tree.h (min_precision): Move declaration to here.
      	* c-typeck.c (build_binary_op): Use host_integerp and tree_low_cst.
      	(build_unary_op, add_pending_init): Use bit_position.
      	(pending_init_member, process_init_element): Likewise.
      	(really_start_incremental_init, push_init_level, pop_init_level):
      	Don't make copies of nodes or modify them in place, use consistent
      	types when tracking positions, and use tree routines computations.
      	(set_init_index, output_init_element): Likewise.
      	(output_pending_init_elements, process_init_element): Likewise.
      	* dbxout.c (dbxout_type_fields): Use bit_position, host_integerp,
      	tree_low_cst and int_bit_position; also minor cleanup.
      	(dbxout_type_method_1, dbxout_range_type, dbxout_type): Likewise.
      	(print_cst_octal): Precision is unsigned.
      	(dbxout_symbol): Ensure DECL_INITIAL is in-range and use tree_low_cst.
      	* dwarf2out.c (ceiling): Input and output are unsigned HOST_WIDE_INT.
      	(simple_type_align_in_bits): Result is unsigned int.
      	Use tree_int_low_cst and host_integerp.
      	(simple_type_size_in_bits): Result is unsigned HOST_WIDE_INT.
      	(field_byte_offset): Result is HOST_WIDE_INT.
      	Change types of internal variables so alignments are unsigned int,
      	offsets are HOST_WIDE_INT and sizes are unsigned HOST_WIDE_INT.
      	Use host_integerp, tree_low_cst, and int_bit_position.
      	(add_bit_offset_attribute): Likewise.
      	(add_data_member_location_attribute): Use tree_cst_low.
      	(add_bound_info): Use host_integerp, integer_zerop, and integer_onep.
      	(add_bit_size_attribute): Use tree_low_cst.
      	(add_pure_or_virtual_attribute, gen_enumeration_type_die): Likewise.
      	* dwarfout.c: Similar changes to dwarf2out.c.
      	* expr.c (expand_expr, case ARRAY_REF): Remove redundant code.
      	* genoutput.c (n_occurences): Return -1 for null string.
      	(strip_whitespace): Accept null string and make into function.
      	(scan_operands): Reflect above changes.
      	* sdbout.c (plain_type_1): Use host_integerp and tree_low_cst.
      	(sdbout_field_types, sdbout_one_type): Likewise; also use bit_position.
      	* ssa.c (rename_registers): Add missing cast of arg to bzero.
      	* tree.c (int_size_in_bytes): Check for too big to represent.
      	(bit_position, int_bit_position, host_integerp, tree_low_cst): New fns.
      	* tree.h (host_integerp, tree_low_cst, bit_position, int_bit_position):
      	New declarations.
      	(min_precision): Delete from here.
      	* varasm.c (decode_addr_const): Use host_integerp, bit_position,
      	and int_bit_position.
      	* objc/objc-act.c (encode_method_prototype): Sizes are HOST_WIDE_INT.
      	(encode_method_def): Likewise.
      	(build_ivar_list_initializer): Use int_bit_position.
      	(generate_shared_structures): Convert size.
      	(encode_type, encode_complete_bitfield): Use integer_zerop.
      	(encode_bitfield): Use tree_low_cst and int_bit_position.
      	* ch/typeck.c (min_precision): New function.
      	(build_chill_slice): Use host_integerp and tree_low_cst.
      	(expand_constant_to_buffer): Likewise and also int_bit_position.
      	LO is unsigned HOST_WIDE_INT
      	(build_chill_array_ref_1): Make `i' be HOST_WIDE_INT; use tree_low_cst.
      	(extract_constant_from_buffer): Sizes are now HOST_WIDE_INT.
      	Use host_integerp and tree_low_cst.
      	(build_chill_bin_type): Use host_integerp and tree_low_cst.
      	(layout_chill_range_type): Use tree_int_cst_sgn, compare_tree_int,
      	tree_low_cst, and min_precision.
      	(apply_chill_array_layout): Cleanups for types of variables
      	and use tree_int_cst_sgn, compare_tree_int, and tree_low_cst.
      	(apply_chill_field_layout): Likewise.
      	* cp/class.c (build_vbase_path): Use integer_zerop.
      	(build_vtable_entry): Use tree_low_cst.
      	(get_vfield_offset): Use bit_position.
      	(dfs_modify_vtables): New variable vindex_val; `i' is HOST_WIDE_INT.
      	Use tree_low_cst.
      	(check_bitfield_decl): Set DECL_SIZE using convert.
      	(build_base_field): Set DECL_SIZE and DECL_SIZE_UNIT using size_binop.
      	(layout_virtual_bases): DSIZE is unsigned HOST_WIDE_INT.
      	Use tree_low_cst.
      	(finish_struct_1): Use bit_position.
      	(dump_class_hierarchy): Use tree_low_cst.
      	* cp/cp-tree.h (min_precision): Add declaration.
      	* cp/decl.c (xref_tag, xref_basetypes): Use tree_low_cst.
      	* cp/error.c (dump_type_suffix): Use host_integerp and tree_low_cst.
      	(dump_expr): Use integer_zerop, host_integerp, and tree_low_cst.
      	* cp/expr.c (cplus_expand_constant): Use bit_position.
      	* cp/init.c (build_vec_init): Use host_integerp and tree_low_cst.
      	* cp/rtti.c (get_base_offset): Use bit_position.
      	* cp/typeck.c (build_binary_op): Use integer_zerop, compare_tree_int,
      	host_integerp, and tree_low_cst.
      	(pointer_int_sum): Use integer_zerop.
      	(build_component_addr): Use bit_position.
      	* java/class.c (make_field_value): Properly handle sizes.
      	(get_dispatch_vector): Use tree_low_cst and host_integerp.
      	(layout_class_method): Count using trees.
      	* java/decl.c (push_promoted_type): Set TYPE_{MIN,MAX}_VALUE with
      	copy_node.
      	* java/expr.c (java_array_data_offset): Use int_bit_position.
      	(build_newarray, build_anewarray): Use host_integerp and tree_low_cst.
      	(build_invokevirtual): Use tree_low_cst and do computations with trees.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32607 138bc75d-0d04-0410-961f-82ee72b054a4
      5d844ba2
  13. 26 Feb, 2000 1 commit
  14. 29 Jan, 2000 1 commit
  15. 25 Jan, 2000 1 commit
    • zack's avatar
      * c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c, · f8b540f2
      zack authored
      	c-typeck.c, objc/objc-act.c: Remove all references to obstack
      	functions obsoleted by GC, such as push_obstacks_nochange,
      	end_temporary_allocation, savealloc, saveable_tree_cons, etc.
      	and code which existed only to decide whether or not to call
      	them.  Remove now-unused NESTED argument from start_function;
      	all callers changed.  Do not change behavior based on ggc_p.
      	The use of the ixp_obstack in c-iterate.c and the util_obstack
      	in objc/objc-act.c remain; these are not obsoleted by garbage
      	collection.
      	* c-tree.h: Update prototype for start_function.
      
      	* c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31611 138bc75d-0d04-0410-961f-82ee72b054a4
      f8b540f2
  16. 12 Jan, 2000 1 commit
    • ghazi's avatar
      * c-common.c: PROTO -> PARAMS. · 6a9a24a5
      ghazi authored
              * c-common.h: Likewise.
              * c-decl.c: Likewise.
              * c-iterate.c: Likewise.
              * c-lang.c: Likewise.
              * c-lex.c: Likewise.
              * c-lex.h: Likewise.
              * c-parse.in: Likewise.
              * c-pragma.c: Likewise.
              * c-pragma.h: Likewise.
              * c-tree.h: Likewise.
              * c-typeck.c: Likewise.
              * objc/objc-act.c: Likewise.
              * objc/objc-act.h: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31362 138bc75d-0d04-0410-961f-82ee72b054a4
      6a9a24a5
  17. 30 Sep, 1999 1 commit
    • law's avatar
      · 12154bcf
      law authored
              * c-tree.h (warn_float_equal): Declare.
              * c-decl.c (warn_float_equal): Define.
              (c_decode_option): Recognize -W[no-]float-equal.
              * c-typeck.c (build_binary_op): Conditionally warn
              about equality tests of floating point types.
              * toplev.c (documented_lan_options): Add -W[no-]float-equal.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29722 138bc75d-0d04-0410-961f-82ee72b054a4
      12154bcf
  18. 08 Sep, 1999 1 commit
    • rth's avatar
      * c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to. · e94026da
      rth authored
              (self_promoting_type_p): Delete.
              (self_promoting_args_p): Move ...
              * c-common.c: ... here.
              (c_common_nodes_and_builtins): Initialize lang_type_promotes_to.
              (simple_type_promotes_to): New.
              * builtins.c (lang_type_promotes_to): New.
              (expand_builtin_va_arg): Use it to give diagnostic for illegal types.
              * c-tree.h (C_PROMOTING_INTEGER_TYPE_P): Move ...
              * c-common.h: ... here.
              (self_promoting_args_p, simple_type_promotes_to): Declare.
              * c-decl.c (duplicate_decls): Use simple_type_promotes_to.
              (grokdeclarator): Likewise.
              * tree.h (lang_type_promotes_to): Declare.
      
              * cp-tree.h (C_PROMOTING_INTEGER_TYPE_P): Delete.
              * typeck.c (self_promoting_args_p): Delete.
      
              * gcc.dg/va-arg-1.c: New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29180 138bc75d-0d04-0410-961f-82ee72b054a4
      e94026da
  19. 06 Sep, 1999 1 commit
    • mmitchel's avatar
      * Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o. · dc12af01
      mmitchel authored
      	(c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o,
      	$(out_object_file)): Depend on ggc.h.
      	* c-common.c: Include "ggc.h".
      	(combine_strings): If doing GC, use ggc_alloc_string.
      	* c-decl.c: Include "ggc.h".
      	(ggc_p): Define with value 0.
      	(mark_binding_level): New function.
      	(init_decl_processing): Add GC roots.
      	(mark_c_function_context): New function.
      	(lang_mark_false_label_stack): New function.
      	(lang_mark_tree): New function.
      	(lang_cleanup_tree): New function.
      	* c-lang.c: Include "ggc.h".
      	(lang_init): Call c_parse_init.
      	* c-lex.c: Include "ggc.h".
      	(check_linenum): If doing GC, don't copy filenames to permanent
      	obstack.
      	* c-parse.in: Include "ggc.h".
      	(c_parse_init): New function.
      	* c-tree.h (c_parse_init, mark_c_function_context): Declare.
      	* objc/Make-lang.in (objc-parse.o): Depend on ggc.h.
      
      	* except.c (mark_eh_state): Mark more state.
      	* function.c (mark_function_state): Likewise.
      	* ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version.
      	(ggc_alloc_string) [GGC_DUMP]: Fix typo.
      	* toplev.c (mark_file_stack): New function.
      	(compile_file): If doing GC, use ggc_alloc_string on input filename.
      	(main): Add root for input_file_stack.
      
      	* i386.c: Include "ggc.h".
      	(ix86_mark_machine_status): New function.
      	(override_options): Set mark_machine_status.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29143 138bc75d-0d04-0410-961f-82ee72b054a4
      dc12af01
  20. 05 Sep, 1999 1 commit
    • mmitchel's avatar
      * c-decl.c (struct language_function): Renamed from struct c_function. · 26df1c5e
      mmitchel authored
      	Delete elt NEXT.
      	(c_function_chain): Delete.
      	(push_c_function_context): New arg F.  Don't warn about nested
      	functions here.  Fill LANGUAGE elt of F.  Delete code to update
      	c_function_chain.  Don't call push_function_context.
      	(pop_c_function_context): New arg F.  Restore from there instead of
      	from c_function_chain.  Don't call pop_function_context.  Clear out
      	LANGUAGE field of F when done.
      	* c-lang.c: Include "function.h"
      	(lang_init): Initialize save_lang_status and restore_lang_status.
      	* c-parse.in (nested_function, nested_function_notype): Warn about
      	nested functions.  Call push_function_context/pop_function_context
      	instead of the _c_ variants.
      	* c-tree.h (push_c_function_context, pop_c_function_context): Update
      	prototype.
      	* Makefile.in (c-lang.o): Update dependencies.
      
      	* emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
      	regno_pointer_flag, regno_pointer_align.
      	(gen_reg_rtx): Use xrealloc to enlarge them.
      	(free_emit_status): New function.
      	* function.c (mark_machine_status, mark_lang_status): New variables.
      	(assign_stack_local_1): Renamed from assign_outer_stack_local.  Merge
      	in some bits from assign_stack_local.  All callers changed to use new
      	name.
      	(assign_stack_local): Just call assign_stack_local_1.
      	(free_after_compilation): New function.
      	(put_reg_into_stack): Simplify to always call assign_stack_local_1.
      	(trampoline_address): Likewise.
      	(assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
      	(prepare_function_start): Explicitly clear some more variables.
      	* function.h (struct function): New elt can_garbage_collect.
      	(mark_machine_status, mark_lang_status): Declare variables.
      	(free_after_compilation, free_emit_status, free_varasm_status,
      	init_varasm_status): Declare functions.
      	* toplev.c (rest_of_compilation): Call free_after_compilation when
      	done with the current function.
      	* varasm.c (free_varasm_status): New function.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29117 138bc75d-0d04-0410-961f-82ee72b054a4
      26df1c5e
  21. 31 Jul, 1999 1 commit
  22. 20 Jul, 1999 1 commit
    • crux's avatar
      * c-common.h: New file. · 72040e7e
      crux authored
      	* c-common.c (permanent_obstack): Delete unused declaration.
      	(c_global_trees): New array.
      	(c_common_nodes_and_builtins): New function; split off common code
      	from init_decl_processing in both c-decl.c and cp/decl.c.
      	* c-tree.h: Delete lots of declarations of tree nodes; replaced by
      	c_global_trees and accessor macros defined in c-common.h.
      	Include c-common.h.
      	* c-decl.c: Delete definitions for tree nodes that were replaced by
      	c_global_trees.
      	(init_decl_processing): Build void_list_node.
      	Call c_common_nodes_and_builtins; delete code to generate the common
      	builtins here.
      
      	* objc/objc-act.c (build_module_descriptor): Rename variable
      	void_list_node to avoid clash with c-common.h.
      
      	* cp/cp-tree.h: Delete lots of declarations of tree nodes; replaced by
      	c_global_trees and accessor macros defined in c-common.h.
      	(cp_tree_index): New enumeration.
      	(cp_global_trees): Declare new array.  Add accessor macros for it, and
      	delete declarations of tree nodes replaced by it.
      	(builtin_function): Delete macro, add declaration for new function.
      	Include c-common.h.
      	* cp/decl.c: Delete definitions for tree nodes that were replaced by
      	cp_global_trees and c_global_trees.
      	(init_decl_processing): Call c_common_nodes_and_builtins; delete code
      	to generate the common builtins here.
      	(builtin_function): New function.
      	* cp/decl2.c (abort_fndecl): Delete declaration.
      	* cp/except.c (expand_builtin_return_address): Delete declaration.
      	(builtin_return_address_fndecl): Delete variable.
      	(const_ptr_type_node): Delete declaration.
      	* cp/lex.c (cons_up_default_function): Delete declaration of
      	void_list_node.
      	* cp/parse.y (void_list_node): Delete declaration.
      	* cp/rtti.c (type_info_type_node, tinfo_fn_id, tinfo_fn_type):
      	Delete variables.
      	(const_string_type_node): Delete declaration.
      	* cp/search.c (abort_fndecl): Delete declaration.
      
      	* Makefile.in: Update dependencies.
      	* objc/Make-lang.in: Likewise.
      	* cp/Makefile.in: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28188 138bc75d-0d04-0410-961f-82ee72b054a4
      72040e7e
  23. 02 Jul, 1999 1 commit
    • gavin's avatar
      For gcc: · f57fa2ea
      gavin authored
      	* c-decl.c (widest_integer_literal_type_node,
      	widest_unsigned_literal_type) : New.
      	(init_decl_processing): Handle/use the two new types.
      	* c-common.c (type_for_size,type_for_mode) : Same.
      	* c-lex.c (yylex) : Same.
      	* c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
      	Same.
      	* c-tree.h (widest_integer_literal_type_node,
      	widest_unsigned_literal_type) : New.
      For gcc/cp:
      	* cp-tree.h (widest_integer_literal_type_node,
      	widest_unsigned_literal_type) : New.
      	* decl.c (widest_integer_literal_type_node,
      	widest_unsigned_literal_type) : New.
      	(init_decl_processing): Handle/use the two new types.
      	* lex.c (real_yylex): Same.
      	* typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
      	Same.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27923 138bc75d-0d04-0410-961f-82ee72b054a4
      f57fa2ea
  24. 18 Feb, 1999 1 commit
    • ghazi's avatar
      * bitmap.c (bitmap_print): Qualify a char* with the `const' keyword. · ba1d8f67
      ghazi authored
              * bitmap.h (bitmap_print): Likewise.
              * c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise.
              * c-lang.c (build_objc_string): Likewise.
              * c-lex.c (yyerror, extend_token_buffer): Likewise.  Don't include
              limits.h or ctype.h.  Remove unused variable `p'.
              * c-lex.h (yyerror): Qualify a char* with the `const' keyword.
              * c-pragma.c (handle_pragma_token): Likewise.
              * c-pragma.h (handle_pragma_token): Likewise.
              * c-tree.h (build_objc_string, builtin_function, grokfield,
              build_indirect_ref, lvalue_or_else, readonly_warning, error_init,
              pedwarn_init): Likewise.
              * c-typeck.c (convert_for_assignment, warn_for_assignment,
              push_string, warning_init, incomplete_type_error,
              build_indirect_ref, lvalue_or_else, readonly_warning,
              build_c_cast, spelling, push_member_name, print_spelling,
              error_init, pedwarn_init, start_init): Likewise.
              * objc/objc-act.c (build_objc_string): Likewise.
              * print-tree.c (print_node_brief, print_node): Likewise.
              * tree.h (lvalue_or_else, print_node, print_node_brief): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25296 138bc75d-0d04-0410-961f-82ee72b054a4
      ba1d8f67
  25. 31 Jan, 1999 1 commit
    • zack's avatar
      h · 6013e655
      zack authored
      1999-01-31 17:52 -0500  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
      	* flags.h: Declare flag_no_ident.
      	* toplev.c: Define flag_no_ident.  Process -f(no-)ident here.
      	* c-decl.c: Don't define flag_no_ident.  Don't process
                -f(no-)ident switches here.
      	* ch/decl.c: Likewise.
      	* cp/decl2.c: Likewise.
      	* c-tree.h: Don't declare flag_no_ident.
      	* ch/ch-tree.h: Likewise.
      	* cp/cp-tree.h: Likewise.
      	* config/elfos.h (ASM_FILE_END): Output final .ident directive
                only if !flag_no_ident.
      	* config/ptx4.h: Likewise.
      	* config/svr4.h: Likewise.
      	* config/alpha/elf.h: Likewise.
      	* config/arm/linux-elf.h: Likewise.
      	* config/i386/sco5.h: Likewise.
      	* config/i860/fx2800.h: Likewise.
      	* config/mips/gnu.h: Likewise.
      	* config/i386/osfrose.h: Likewise.
      	* gcc.c (C specs): Map -Qn to -fno-ident.
      	* ch/lang-specs.h: Likewise.
      	* cp/lang-specs.h: Likewise.
      	* f/lang-specs.h: Likewise.
      	* objc/lang-specs.h: Likewise.
      	* java/lang-specs.h: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24939 138bc75d-0d04-0410-961f-82ee72b054a4
      6013e655
  26. 27 Jan, 1999 1 commit
  27. 06 Jan, 1999 1 commit
  28. 21 Oct, 1998 1 commit
    • mmitchel's avatar
      * invoke.texi: Document -flang-isoc9x. · a5b1863e
      mmitchel authored
      	* Makefile.in (OBJS): Add splay-tree.o.
      	(c-common.o): Depend on rtl.h.
      	(splay-tree.o): List dependencies and provide build rule.
      	* rtl.h (record_alias_subset): New function.
      	* alias.c: Include splay-tree.h.
      	(alias_set_entry): New type.
      	(CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
      	(DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
      	(mems_in_disjoin_alias_sets_p): New function.
      	(alias_set_compare): Likewise.
      	(insert_subset_children): Likewise.
      	(get_alias_set_entry): Likewise.
      	* tree.h (TYPE_RESTRICT): New macro.
      	(TYPE_UNQUALIFIED): New manifest constant.
      	(TYPE_QUAL_CONST): Likewise
      	(TYPE_QUAL_VOLATILE): Likewise.
      	(TYPE_QUAL_RESTRICT): Likewise.
      	(tree_type): Add restrict_flag.  Reduce count of free bits.
      	(DECL_POINTER_ALIAS_SET): New macro.
      	(DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
      	(tree_decl): Add pointer_alias_set.
      	(build_qualified_type): New function.
      	(build_type_variant): Define in terms of build_qualified_type.
      	* tree.c (set_type_quals): New function.
      	(make_node): Initializae DECL_POINTER_ALIAS_SET.
      	(build_type_attribute_variant): Use build_qualified_type and
      	set_type_quals.
      	(build_type_variant): Rename, and modify, to become...
      	(build_qualified_type): New function.
      	(build_complex_type): Use set_type_quals.
      	* c-tree.h (C_TYPE_OBJECT_P): New macro.
      	(C_TYPE_FUNCTION_P): Likewise.
      	(C_TYPE_INCOMPLETE_P): Likewise.
      	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
      	(c_apply_type_quals_to_decl): New function.
      	(c_build_qualified_type): New function.
      	(c_build_type_variant): Define in terms of c_build_qualified_type.
      	(flag_isoc9x): Declare.
      	* c-typeck.c (qualify_type): Use c_build_qualified_type.
      	(common_type): Change to use TYPE_QUALS.
      	(comptypes): Likewise.
      	(convert_for_assignment): Likewise.
      	* c-aux-info.c (gen_type): Likewise.  Deal with `restrict'.
      	* c-decl.c (flag_isoc9x): Define.
      	(c_decode_option): Handle -flang-isoc9x.
      	(grokdeclarator): Update to handle restrict.  Use TYPE_QUALS,
      	c_build_qualified_type, etc.  Use c_apply_type_quals_to_decl.
      	* c-lex.c (init_lex): Deal with restrict.
      	(init_lex): Don't treat restrict as a reserved word in
      	-traditional mode, or without -flang-isoc9x.
      	* c-lex.h (rid): Add RID_RESTRICT.
      	* c-parse.gperf (restrict, __restrict, __restrict__): Make
      	equivalent to RID_RESTRICT.
      	* c-parse.in (TYPE_QUAL): Update comment.
      	* c-common.c: Include rtl.h.
      	(c_find_base_decl): New function.
      	(c_build_type_variant): Rename, and modify, to become ...
      	(c_build_qualified_type): New function.
      	(c_apply_type_quals_to_decl): Likewise.
      	(c_get_alias_set): For INDIRECT_REFs, check to see if we can find
      	a particular alias set for the reference.
      	* toplev.c (documented_lang_options): Add -flang-isoc9x.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23212 138bc75d-0d04-0410-961f-82ee72b054a4
      a5b1863e
  29. 20 Oct, 1998 1 commit
    • ghazi's avatar
      New warning, `missing-noreturn': · 8d3eb46e
      ghazi authored
              * c-decl.c (warn_missing_noreturn): New global variable.
              (c_decode_option): Check for new flags -W{no-}missing-noreturn.
              (finish_function): Implement missing noreturn warning.
              * c-tree.h (warn_missing_noreturn): Declare extern.
              * invoke.texi: Document new flags.
              * toplev.c (documented_lang_options): Add description.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23197 138bc75d-0d04-0410-961f-82ee72b054a4
      8d3eb46e
  30. 08 Oct, 1998 1 commit
    • law's avatar
      * c-common.c (type_for_mode): Only return TItype nodes when · cc1cc1c7
      law authored
              HOST_BITS_PER_WIDE_INT is >= 64 bits.
              * c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
              when HOST_BITS_PER_WIDE_INT is >= 64 bits.
              (init_decl_processing): Only create TItype nodes when
              HOST_BITS_PER_WIDE_INT is >= 64 bits.
              * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
              when HOST_BITS_PER_WIDE_INT is >= 64 bits.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22912 138bc75d-0d04-0410-961f-82ee72b054a4
      cc1cc1c7
  31. 10 Sep, 1998 1 commit
  32. 24 Aug, 1998 1 commit
    • jason's avatar
      * c-common.c (combine_strings): Also set TREE_READONLY. · 3a10ba35
      jason authored
      	Change warn_write_strings to flag_const_strings.
      	* c-decl.c, c-tree.h: Likewise.
      cp/
      	* tree.c (lvalue_type): Fix for arrays.
      	* typeck.c (string_conv_p): New fn.
      	(convert_for_assignment): Use it.
      	(build_unary_op): Use lvalue_type.
      	* call.c (standard_conversion, convert_like): Use string_conv_p.
      	(add_function_candidate): Use lvalue_type.
      	* cvt.c (convert_to_reference): Likewise.
      	* decl2.c (lang_decode_option): Ignore -traditional.
      	* decl.c (init_decl_processing): flag_writable_strings inhibits
      	flag_const_strings.
      	* lang-options.h (lang_options): Add fconst-strings to the list
      	of valid options.
      	* decl2.c (lang_f_options, lang_decode_option): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21928 138bc75d-0d04-0410-961f-82ee72b054a4
      3a10ba35
  33. 06 Jul, 1998 1 commit
  34. 25 Jun, 1998 1 commit
    • mmitchel's avatar
      * invoke.texi (-fstrict-aliasing): Document. · b5ba9f3a
      mmitchel authored
      	* rtl.texi (MEM_ALIAS_SET): Document.
      	* flags.h (flag_strict_aliasing): Declare.
      	* toplev.c (flag_strict_aliasing): Define.
      	(f_options): Add -strict-aliasing.
      	(main): Set flag_strict_aliasing if -O2 or higher.
      	* tree.h (tree_type): Add alias_set field.
      	(TYPE_ALIAS_SET): New macro.
      	(TYPE_ALIAS_SET_KNOWN_P): Likewise.
      	(get_alias_set): Declare.
      	* tree.c (lang_get_alias_set): Define.
      	(make_node): Initialize TYPE_ALIAS_SET.
      	(get_alias_set): New function.
      	* print-tree.c (print_node): Dump the alias set for a type.
      	* c-tree.h (c_get_alias_set): Declare.
      	* c-common.c (c_get_alias_set): New function.
      	* c-decl.c (init_decl_processing): Set lang_get_alias_set.
      	* expr.c (protect_from_queue): Propogage alias sets.
      	(expand_assignment): Calculate alias set for new MEMs.
      	(expand_expr): Likewise.
      	* function.c (put_var_into_stack): Likewise.
      	(put_reg_into_stack): Likewise.
      	(gen_mem_addressof): Likewise.
      	(assign_parms): Likewise.
      	* stmt.c (expand_decl): Likewise.
      	* varasm.c (make_decl_rtl): Eliminate redundant clearing of
      	DECL_RTL.  Calculate alias set for new MEMs.
      	* rtl.def (REG): Add dummy operand.
      	(MEM): Add extra operand to store the MEM_ALIAS_SET.
      	* rtl.h (MEM_ALIAS_SET): New macro.
      	(gen_rtx_MEM): Declare.
      	* emit-rtl.c (gen_rtx_MEM): New function.
      	* gengenrtl.c (sepcial_rtx): Make MEMs special.
      	* alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
      	(DIFFERENT_ALIAS_SETS_P): Likewise.
      	(canon_rtx): Propogate the alias set to the new MEM.
      	(true_dependence): Check the alias sets.
      	(anti_dependence): Likewise.
      	(output_dependence): Likewise.
      	* explow.c (stabilize): Progoate alias sets.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	* final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
      	in an unpredictable state.  Propogate alias sets.
      	* reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
      	we have no alias information.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20719 138bc75d-0d04-0410-961f-82ee72b054a4
      b5ba9f3a
  35. 19 Jun, 1998 1 commit
  36. 10 Jun, 1998 1 commit
    • brolley's avatar
      Integrate cpplib into the C and C++ front ends. · 11ce684d
      brolley authored
      Wed Jun 10 13:07:02 1998  Dave Brolley  <brolley@cygnus.com>
      	* objc/objc-act.c: Add cpplib declarations.
      	(lang_decode_option): Initialize cpplib if necessary.
      	(lang_decode_option): New argc/argv interface.
      	* tree.h (lang_decode_option): New argc/argv interface.
      	* toplev.c (lang_options): Add cpp options.
      	(main): New interface for lang_decode_option.
      	* gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
      	unless -E, -M or -MM is specified.
      	* cpplib.h (cpp_handle_option): New function.
      	* cpplib.c (cpp_handle_option): New function.
      	(cpp_handle_options): Now calls cpp_handle_option.
      	* c-tree.h (c_decode_option): New argc/argv interface.
      	* c-lex.c (init_parse): cpplib now initialized in c_decode_option.
      	* c-lang.c (lang_decode_option): New argc/argv interface.
      	* c-decl.c: Add cpplib declarations.
      	(c_decode_option): New argc/argv interface.
      	(c_decode_option): Call cpp_handle_option.
      	(c_decode_option): Now returns number of strings processed.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20407 138bc75d-0d04-0410-961f-82ee72b054a4
      11ce684d
  37. 21 May, 1998 1 commit
    • brolley's avatar
      Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com> · a654e028
      brolley authored
      	* configure.in (extra_c_objs): add prefix.o.
      	(extra_cxx_objs): extra objects for C++ with cpplib.
      	* configure: Regenerate.
      	* c-tree.h: (get_directive_line): Different prototype for cpplib.
      	(GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
      	* c-lex.h: (get_directive_line): Not needed here for cpplib.
      	* c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
      	(GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
      	* c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
      	(yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19926 138bc75d-0d04-0410-961f-82ee72b054a4
      a654e028
  38. 13 May, 1998 1 commit
    • ghazi's avatar
      Warning fixes: · cd03a192
      ghazi authored
      	* Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
      	(c-lex.o): Depend on output.h.
      	(c-common.o): Likewise.
      	(stmt.o): Likewise.
      	(calls.o): Likewise.
      	(integrate.o): Depend on toplev.h.
      	(regclass.o): Depend on output.h.
      	(final.o): Depend on reload.h.
      	* c-common.c: Include output.h.
      	(check_format_info): Remove unused variable `integral_format'.
      	* c-decl.c (print_lang_decl): Mark parameters `file', `node' and
      	`indent' with ATTRIBUTE_UNUSED.
      	(print_lang_type): Likewise.
      	(maybe_build_cleanup): Likewise for parameter `decl'.
      	(copy_lang_decl): Likewise for parameter `node'.
      	* c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
      	(lang_print_xnode): Mark parameters `file', `node' and `indent'
       	with ATTRIBUTE_UNUSED.
      	(lookup_interface): Likewise for parameter `arg'.
      	(is_class_name): Likewise.
      	(maybe_objc_check_decl): Likewise for parameter `decl'.
      	(maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
      	`reflexive'.
      	(maybe_objc_method_name): Likewise for parameter `decl'.
      	(build_objc_string): Likewise for parameters `len' and `str'.
      	* c-lex.c: Include output.h.
      	* c-lex.h (position_after_white_space): Correct typo in prototype.
      	* c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
       	c_expand_end_cond, init_iterators): Add prototypes.
      	* caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
      	with ATTRIBUTE_UNUSED.
      	* calls.c: Include output.h.
      	* cccp.c (pipe_closed): Mark parameter `signo' with
       	ATTRIBUTE_UNUSED.
      	* combine.c: Move inclusion of expr.h to after insn-config.h.
      	* iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
      	as empty, rather define as ((void)0).
      	* sparc.c (sparc_check_64): Add braces around ambiguous `else'.
      	Add parentheses around assignment used as truth value.
      	* cplus-dem.c (squangle_mop_up): Change return type to void.
      	(internal_cplus_demangle): Remove unused parameter `options'.
      	All callers changed.
      	(cplus_demangle_opname): Remove function wide variable `int i' and
       	replace with `size_t i' at each location where it is used.
      	(cplus_demangle_opname): change type of `i' from int to size_t.
      	* cppexp.c (right_shift): Mark parameter `pfile' with
      	ATTRIBUTE_UNUSED.
      	* cpphash.c (cpp_lookup): Likewise.
      	(cpp_hash_cleanup): Likewise.
      	* cpplib.c (parse_name): Add a prototype and make it static.
      	(null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
      	(null_cleanup): Likewise for parameters `pbuf' and `pfile'.
      	(macro_cleanup): Likewise for parameter `pfile'.
      	(file_cleanup): Likewise.
      	* cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
       	cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
      	* crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
      	__DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
      	* cse.c (cse_check_loop_start): Mark parameter `set' with
       	ATTRIBUTE_UNUSED.
      	* dbxout.c (flag_minimal_debug, have_used_extensions,
      	source_label_number): Move inside macro wrapper check against
      	defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
      	* dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
      	* except.h (doing_eh): Provide prototype.
      	* expr.c: Move inclusion of expr.h to after insn-config.h.
      	* final.c: Include reload.h.
      	(shorten_branches): Cast the first argument of bzero to char *.
      	* fix-header.c (cpp_print_containing_files): Mark parameter
       	`pfile' with ATTRIBUTE_UNUSED.
      	(cpp_fatal): Likewise.
      	* flow.c (find_basic_blocks_1): Cast the first argument of bzero
      	to char *.
      	* genattrtab.c (make_length_attrs): Change the type of variable
      	`i' from int to size_t.
      	(zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
      	(one_fn): Likewise.
      	* genextract.c (main): When generating insn-extract.c, mark
      	variable `junk' with ATTRIBUTE_UNUSED.
      	* gengenrtl.c (gencode): When generating genrtl.c, cast the first
      	argument of bzero to char*.
      	* integrate.c: Include toplev.h.
      	* libgcc2.c: Wrap `struct exception_table' and
      	`find_exception_handler' in macro DWARF2_UNWIND_INFO.
      	* objc/Make-lang.in (objc-act.o): Depend on toplev.h.
      	* objc/objc-act.c: Include toplev.h.
      	(lang_print_xnode): Mark parameters `file', `node' and `indent'
      	with ATTRIBUTE_UNUSED.
      	(finish_protocol): Likewise for parameter `protocol'.
      	* output.h (declare_weak): Add prototype.
      	(decode_reg_name): Don't wrap with TREE_CODE macro.
      	(assemble_alias): Add prototype.
      	* regclass.c: Include output.h.
      	* reload.h (reloads_conflict): Add prototype.
      	* rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
      	output_func_start_profiler): Add prototypes.
      	* rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
       	ATTRIBUTE_UNUSED.
      	* scan-decls.c: Include scan.h.
      	* scan.h (recognized_function, recognized_extern): Add prototypes.
      	* stmt.c: Include output.h.
      	* toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
      	(output_lang_identify): Hide prototype and definition.
      	(float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
      	(pipe_closed): Likewise.
      	* toplev.h (count_error, strip_off_ending, error_for_asm,
       	warning_for_asm): Add prototypes.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19712 138bc75d-0d04-0410-961f-82ee72b054a4
      cd03a192
  39. 21 Apr, 1998 1 commit
  40. 12 Apr, 1998 1 commit
    • law's avatar
      This change is from an idea suggested by Arthur David Olson. · d1f11193
      law authored
      	* c-common.c (decl_attributes, record_function_format,
      	check_format_info, init_function_format_info):
      	Add support for strftime format checking.
      	(enum format_type): New type.
      	(record_function_format): Now static, and takes value of type
      	enum format_type instead of int.
      	(time_char_table): New constant.
      	(struct function_format_info): format_type member renamed from is_scan.
      	(check_format_info): Use `warning' rather than sprintf followed by
      	`warning', to avoid mishandling `%' in warnings.
      	Change `pedwarn' to `warning', since these warnings do not necessarily
      	mean the program does not conform to the C Standard, as the code
      	need not be executed.
      	* c-tree.h (record_function_format): Remove decl; no longer extern.
      	* extend.texi: Add documentation for strftime format checking.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19151 138bc75d-0d04-0410-961f-82ee72b054a4
      d1f11193