aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
AgeCommit message (Collapse)AuthorFilesLines
1999-07-06For gcc:Gavin Romig-Koch1-0/+98
* c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) : Merged from c-typeck.c and cp/typeck.c. * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) : Merged into c-common. For gcc/cp: * typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) : Merged into c-common. From-SVN: r27956
1999-07-02For gcc:Gavin Romig-Koch1-0/+8
* 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. From-SVN: r27923
1999-04-13c-common.c (default_valid_lang_attribute): New fn.Jason Merrill1-63/+23
* c-common.c (default_valid_lang_attribute): New fn. (valid_lang_attribute): New callback ptr. (decl_attributes): Call it. Move init_priority support into C++ frontend. From-SVN: r26419
1999-04-09c-common.c (decl_attributes, [...]): Allow arrays of classes, too.Jason Merrill1-2/+5
* c-common.c (decl_attributes, A_INIT_PRIORITY): Allow arrays of classes, too. From-SVN: r26312
1999-03-10cppfiles.c (INO_T_EQ): Handle UWIN.Mumit Khan1-1/+1
* cppfiles.c (INO_T_EQ): Handle UWIN. * c-common.c (decl_attributes): Flag unrecognized attribute functions as warnings instead of as errors. Support for i386-pc-uwin. * i386/uwin.h: New file. * i386/xm-uwin.h: New file. * i386/t-uwin: New file. * i386/uwin.asm: New file. * configure.in (i[3456]86-*-uwin*): Define. Add Workaround for vfork bug when hosted on uwin. * configure: Regenerate. * cccp.c (INO_T_EQ): Undefine. UWIN has inodes. (absolute_filename): UWIN uses POSIX pathnames only. * libgcc2.c (getpagesize): Do not define for UWIN. (mprotect): Likewise. * protoize.c (dirent.h): Conditionally include. (fputc): Prototype only if it's not a macro. From-SVN: r25696
1999-03-06c-aux-info.c (data_type, [...]): Qualify a char* with the `const' keyword.Kaveh R. Ghazi1-15/+15
* c-aux-info.c (data_type, affix_data_type, gen_decl, gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type): Qualify a char* with the `const' keyword. * c-common.c (declare_hidden_char_array, add_attribute, if_elt, declare_function_name, decl_attributes, format_char_info, check_format_info, binary_op_error): Likewise. * cexp.y (yyerror, error, pedwarn, warning, token): Likewise. * gcse.c (dump_hash_table): Likewise. * integrate.c (function_cannot_inline_p): Likewise * optabs.c: Include insn-config.h earlier. (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs): Qualify a char* with the `const' keyword. * real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe, asctoeg, mtherr, ereal_atof): Likewise. * real.h (ereal_atof): Likewise. * sbitmap.c (dump_sbitmap_vector): Likewise. * sbitmap.h (dump_sbitmap_vector): Likewise. * stmt.c (nesting, n_occurrences, expand_start_case): Likewise. * toplev.c (rest_of_compilation): Likewise. * tree.h (function_cannot_inline_p, expand_start_case): Likewise. From-SVN: r25614
1999-02-15c-common.c (shorten_compare): Get the min/max value from the underlying type ↵Charles G Waldman1-0/+6
of an enumeration... * c-common.c (shorten_compare): Get the min/max value from the underlying type of an enumeration, not the enumerated type itself. From-SVN: r25228
1999-02-15c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF.Zack Weinberg1-1/+1
1999-02-15 16:59 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF. * c-lex.c: Likewise. * cpplib.c (cpp_push_buffer, cpp_pop_buffer): Use a linked list in malloced memory for the buffer stack. (cpp_get_token): Don't pop the last buffer off the stack. Calls after CPP_EOF has been returned produce CPP_EOF with no state change. (cpp_finish): Pop last buffer here. (do_line): Don't free ip->last_nominal_fname if it is equal to ip->fname. (special_symbol): If a T_CONST is the empty string, push a single `@ ' escape instead. (macroexpand): Special symbol buffers have escapes too. * cpplib.h (struct cpp_buffer): Remove unused fields, add prev buffer pointer. (struct cpp_reader): Remove buffer_stack. Add buffer_stack_depth. (CPP_PREV_BUFFER, CPP_NULL_BUFFER): Buffer stack is now a linked list. From-SVN: r25218
1999-02-05c-common.c (decl_attributes): Fix reserved space for init_priority.Benjamin Kosnik1-13/+7
� Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com> * c-common.c (decl_attributes): Fix reserved space for init_priority. * tree.h (MAX_RESERVED_INIT_PRIORITY): New macro. From-SVN: r25046
1999-01-26Merge in gcc2 snapshot 19980929. See gcc/ChangeLog and gcc/FSFChangeLog forJeffrey A Law1-7/+12
details. From-SVN: r24879
1999-01-06Fix copyrights.Jeff Law1-1/+1
From-SVN: r24529
1999-01-04c-common.c (decl_attributes): Allow applying attribute `unused' on a LABEL_DECL.Kaveh R. Ghazi1-1/+2
* c-common.c (decl_attributes): Allow applying attribute `unused' on a LABEL_DECL. * c-parse.in (label): Parse attributes after a label, and call `decl_attributes' to handle them. * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define. * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When generating labels, mark them with ATTRIBUTE_UNUSED_LABEL. * invoke.texi: Note that labels can be marked `unused'. From-SVN: r24478
1998-12-01c-common.c (declare_function_name): Declare predefinied variable `__func__'.Ulrich Drepper1-1/+4
* c-common.c (declare_function_name): Declare predefinied variable `__func__'. * c-decl.c (flag_isoc9x): Set to 1 by default. (c_decode_option): Handle -std= option. Remove -flang-isoc9x. (grokdeclarator): Always emit warning about implicit int for ISO C 9x. * c-parse.in: Allow constructors in ISO C 9x. Rewrite designator list handling. Allow [*] parameters. Don't warn about comma at end of enum definition for ISO C 9x. * cccp.c (c9x): New variable. (rest_extension): New variable. (print_help): Document new -std= option. (main): Recognize -std= option. Set c9x appropriately. (create_definition): Recognize ISO C 9x vararg macros. * gcc.c (default_compilers): Adjust specs for -std options. (option_map): Add --std. (display_help): Document -std. * toplev.c (documented_lang_options): Add -std and remove -flang-isoc9x. * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF or REAL_VALUE_HTOF based on base of the constants. * fold-const.c (real_hex_to_f): New function. Replacement function for hex FP conversion if REAL_ARITHMETIC is not defined. * real.c (asctoeg): Add handling of hex FP constants. * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or real_hex_to_f. Co-Authored-By: Richard Henderson <rth@cygnus.com> Co-Authored-By: Stephen L Moshier <moshier@world.std.com> From-SVN: r24049
1998-11-19c-common.c: Change warning messages to say `comparison is always true' or ↵Zack Weinberg1-6/+6
`comparison is... * c-common.c: Change warning messages to say `comparison is always true' or `comparison is always false' instead of the confusing `is always 0', `is always 1'. From-SVN: r23723
1998-10-31c-common.c (c_get_alias_set): Allow all type-punning through unions.Mark Mitchell1-16/+22
� * c-common.c (c_get_alias_set): Allow all type-punning through unions. Don't get confused about the type of a bit-field, despite the antics of build_modify_expr. From-SVN: r23481
1998-10-31Reinstall Apr 24th fix, lost during May 6th gcc2 merge:Kaveh R. Ghazi1-1/+1
* c-common.c (check_format_info): Don't check for the 'x' format character twice, instead check for 'x' and 'X' From-SVN: r23472
1998-10-29Fix for sparc va_arg macro aliasing problem.Jim Wilson1-2/+9
* c-common.c (c_get_alias_set): Handle ARRAY_REF of union field. From-SVN: r23427
1998-10-21c-common.c (c_apply_type_quals_to_decl): Don't crash when `restrict' is ↵Mark Mitchell1-18/+26
applied to a non-pointer variable. * c-common.c (c_apply_type_quals_to_decl): Don't crash when `restrict' is applied to a non-pointer variable. From-SVN: r23213
1998-10-21invoke.texi: Document -flang-isoc9x.Mark Mitchell1-5/+128
* invoke.texi: Document -flang-isoc9x. * 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. From-SVN: r23212
1998-10-13Warning fixes:Kaveh R. Ghazi1-3/+3
* Makefile.in (gencheck.o): Depend on gansidecl.h. * c-common.c (print_char_table): Add missing initializers. (scan_char_table): Likewise. (time_char_table): Likewise. * c-decl.c (c_decode_option): Mark parameter `argc' with ATTRIBUTE_UNUSED. (declare_parm_level): Mark parameter `definition_flag' with ATTRIBUTE_UNUSED. * c-lex.c (readescape): Use `(unsigned)1' in shift. (yylex): Likewise. Cast `sizeof' to an (int) when comparing against one. * calls.c (store_one_arg): Remove unused parameter `fndecl'. All callers changed. (emit_call_1): Mark parameters `fndecl' and `funtype' with ATTRIBUTE_UNUSED. (expand_call): Cast result of MIN() to (unsigned int) when comparing against an unsigned value. * cccp.c (pcfinclude): Remove unused parameter `limit'. All callers changed. (make_definition): Remove unused parameter `op'. All callers changed. (create_definition): Cast REST_EXTENSION_LENGTH to (long) when comparing against the result of pointer arithmetic. * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned) when comparing against one. * dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against one. (output_die): Move variable `i' into the scope in which it is used. Change its type to `unsigned'. (output_die): Cast the result of `strlen' to (int) when passing it to ASM_OUTPUT_ASCII(). (output_pubnames): Likewise. (output_line_info): Likewise. * emit-rtl.c (global_rtl): Add missing initializers. * explow.c (promote_mode): Mark parameter `for_call' with ATTRIBUTE_UNUSED. * expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to `unsigned HOST_WIDE_INT' when comparing against one. (synth_mult): Change type of variable `cost' to int. (emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift. * expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned) when comparing against one. (get_inner_reference): Change variable `alignment' to unsigned. (expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned int) when comparing against one. (expand_builtin_setjmp): Change type of variable `i' to size_t. * fold-const.c (div_and_round_double): Cast BASE to (HOST_WIDE_INT) when comparing against one. * gencheck.c: Include gansidecl.h. (main): Mark parameter `argv' with ATTRIBUTE_UNUSED. * optabs.c (gen_cond_trap): Mark parameters `code', `op2' and `tcode' with ATTRIBUTE_UNUSED. * real.c (edivm): Cast constant value to (unsigned long) in expression compared against an unsigned value. * stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when comparing against one. (expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int) when comparing against one. * stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to (unsigned int) when comparing against one. Likewise for GET_MODE_BITSIZE. (smallest_mode_for_size): Likewise. (save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED. (restore_storage_status): Likewise. * toplev.c (debug_args): Add missing initializer. (f_options): Spelling correction. Add missing initializers. (documented_lang_options): Likewise. (debug_end_source_file): Mark parameter `lineno' with ATTRIBUTE_UNUSED. * tree.c (valid_machine_attribute): Mark parameters `attr_args', `decl' and `type' with ATTRIBUTE_UNUSED. * varasm.c (decode_reg_name): Cast `sizeof' expression to (int) when comparing against one. (assemble_variable): Mark parameter `top_level' with ATTRIBUTE_UNUSED. (assemble_external_libcall): Mark parameter `fun' with ATTRIBUTE_UNUSED. (output_constant_pool): Mark parameters `fnname' and `fndecl' with ATTRIBUTE_UNUSED. From-SVN: r23054
1998-10-11Fine-grained control of -fcheck-memory-usage with new no_check_memory_usage ↵Ken Raeburn1-1/+19
attribute. Fine-grained control of -fcheck-memory-usage with new no_check_memory_usage attribute. Misc minor bugfixes and tests for it too. From-SVN: r22983
1998-10-07c-common.c (type_for_mode): Only return TItype nodes when ↵Jeff Law1-0/+2
HOST_BITS_PER_WIDE_INT is >= 64 bits. * c-common.c (type_for_mode): Only return TItype nodes when 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. From-SVN: r22912
1998-10-01Add support for #pragma pack(push,<n>) and #pragma pack(pop).Nick Clifton1-0/+9
From-SVN: r22710
1998-09-28c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs and ↵Mark Mitchell1-30/+36
ARRAY_TYPEs. * c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs and ARRAY_TYPEs. Tidy up. Improve support for type-punning. * expr.c (store_field): Add alias_set parameter. Set the MEM_ALIAS_SET accordingly, if the target is a MEM. (expand_assignment): Use it. (store_constructor_field): Pass 0. (expand_expr): Likewise. From-SVN: r22620
1998-09-20Makefile.in (LIBS): Link in libiberty.a.Per Bothner1-1/+1
* Makefile.in (LIBS): Link in libiberty.a. * c-common.c, gcc.c, toplev.c: Repalce (some) bcopy calls by memcpy. From-SVN: r22508
1998-09-20tree.c (new_alias_set): New function.Richard Henderson1-2/+1
* tree.c (new_alias_set): New function. * tree.h (new_alias_set): Declare it. * c-common.c (c_get_alias_set): Use it. From-SVN: r22504
1998-09-02Change HANDLE_PRAGMA macro so that it will work with USE_CPPLIB.Nick Clifton1-1/+5
Add INSERT_ATTRIBUTES macro. From-SVN: r22165
1998-08-23c-common.c (combine_strings): Also set TREE_READONLY.Jason Merrill1-4/+5
* c-common.c (combine_strings): Also set TREE_READONLY. 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. From-SVN: r21928
1998-08-18c-common.c (decl_attributes): Issue an error if the argument to alias is not ↵Richard Henderson1-2/+10
a string. * c-common.c (decl_attributes): Issue an error if the argument to alias is not a string. From-SVN: r21824
1998-08-13tree.h: De-conditionalize init_priority code.Jason Merrill1-1/+65
* tree.h: De-conditionalize init_priority code. * mips.h (NM_FLAGS): Change from -Bp to -Bn. * collect2.c (NM_FLAGS): Change from -p to -n. * configure.in: Turn on collect2 for mipstx39-elf. Handle use_collect2=no properly. * c-common.c: De-conditionalize init_priority code. * collect2.c (extract_init_priority, sort_ids): New fns. (main): Call sort_ids. Move sequence_number to file scope. * configure.in: Handle --enable-init-priority. * c-common.c (attrs): Add A_INIT_PRIORITY. (init_attributes, decl_attributes): Likewise. * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros. * tree.c (get_file_function_name_long): Split out... (get_file_function_name): ...from here. cp/: * lang-options.h: Add -finit-priority. * decl2.c: Likewise. Check flag_init_priority instead of USE_INIT_PRIORITY. * decl2.c (setup_initp): New fn. (start_objects, finish_objects, do_ctors): Handle init_priority. (do_dtors, finish_file): Likewise. From-SVN: r21701
1998-07-30Function entry/exit profiling instrumentation:Ken Raeburn1-0/+19
* expr.h (profile_function_entry_libfunc, profile_function_exit_libfunc): Declare new variables. * optabs.c: Define them here. (init_optabs): Initialize them. * tree.h (struct tree_decl): New flag no_instrument_function_entry_exit. (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro. * c-decl.c (duplicate_decls): Merge it. * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION. (init_attributes): Use it for "no_instrument_function". (decl_attributes): Handle it, for functions that have not yet been compiled. Set decl flag. * flags.h (flag_instrument_function_entry_exit): Declare new variable. * toplev.c (flag_instrument_function_entry_exit): Define it here. (f_options): New option "instrument-functions". * function.h (struct function): New field instrument_entry_exit. * function.c (current_function_instrument_entry_exit): New variable. (push_function_context_to, pop_function_context_from): Save and restore. (expand_function_start): Set current_ variable, maybe emit return label and entry profile call. (expand_function_end): Maybe emit exit profile call. Testsuite: * gcc.c-torture/special/eeprof-1.c: New test, for -finstrument-functions. * gcc.c-torture/special/special.exp: Run it. From-SVN: r21495
1998-06-25invoke.texi (-fstrict-aliasing): Document.Mark Mitchell1-0/+87
* invoke.texi (-fstrict-aliasing): Document. * 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. From-SVN: r20719
1998-06-19c-common.c (check_format_info): Initialize length_char and fci to keep -Wall ↵Jeffrey A Law1-2/+2
quiet. * c-common.c (check_format_info): Initialize length_char and fci to keep -Wall quiet. From-SVN: r20627
1998-06-19c-common.c (truthvalue_conversion): Protect side effects in the expression ↵Andreas Schwab1-6/+9
when splitting a complex value. * c-common.c (truthvalue_conversion): Protect side effects in the expression when splitting a complex value. * fold-const.c (fold): Likewise. From-SVN: r20580
1998-06-03c-common.c (check_format_info): Put back check for C9x `hh' length modifier.Andreas Schwab1-13/+13
* c-common.c (check_format_info): Put back check for C9x `hh' length modifier. Warn about %n format writing into const. Remove obsolete comment. (format_char_info): Fix comments. From-SVN: r20207
1998-05-21configure.in (extra_c_objs): add prefix.o.Dave Brolley1-0/+107
Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com> * 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 From-SVN: r19926
1998-05-13Warning fixes:Kaveh R. Ghazi1-1/+1
* 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. From-SVN: r19712
1998-05-06typo typo fixes fixesJeff Law1-1/+1
From-SVN: r19601
1998-05-06c-common.c: Convert to using ctype macros defined in system.h.Kaveh R. Ghazi1-5/+5
* c-common.c: Convert to using ctype macros defined in system.h. * c-lex.c: Likewise. * cccp.c: Likewise. * collect2.c: Likewise. * rs6000.c: Likewise. * cpplib.c: Likewise. * fix-header.c: Likewise. * gcc.c: Likewise. * gen-protos.c: Likewise. * pexecute.c: Likewise. * protoize.c: Likewise. * rtl.c: Likewise. * scan.c: Likewise. * stmt.c: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. From-SVN: r19579
1998-05-06toplev.h: New file.Robert Lipe1-0/+1
Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com> * toplev.h: New file. Protypes for functions in toplev.c. * tree.h, rtl.h: Deleted protos for functions in toplev.c. * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c, c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c, convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c, function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c, reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c, varasm.c: include it. From-SVN: r19563
1998-05-05* Check in merge from gcc2. See ChangeLog.12 for details.Jeff Law1-17/+9
From-SVN: r19553
1998-05-05Fix old -pedantic error I noticed while reviewing patch from Ulrich.Jim Wilson1-2/+15
* c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not accept 'a' flag. 'S' does accept 'a' flag. (check_format_info): When pedantic, warn for m/C/S/a/A formats, and `a' flag. From-SVN: r19545
1998-05-04(format_char_info): Add new field hhlen.Ulrich Drepper1-49/+62
(print_char_table, scan_char_table, time_char_table): Initialize hhlen field appropriately. (char_format_info): Recognize hh modifier and lookup correct char table entry. From-SVN: r19532
1998-04-24Fix a typo:Kaveh R. Ghazi1-1/+1
* c-common.c (check_format_info): Don't check for the 'x' format character twice, instead check for 'x' and 'X' From-SVN: r19396
1998-04-21c-common.c (type_for_mode): Handle TI types.Jeffrey A Law1-0/+3
* c-common.c (type_for_mode): Handle TI types. * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define. (init_decl_processing): Handle TI types. * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare. From-SVN: r19355
1998-04-16c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get the length of ↵Mark Mitchell1-1/+1
an array, not TREE_TYPE. 1998-04-15 Mark Mitchell <mmitchell@usa.net> * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get the length of an array, not TREE_TYPE. From-SVN: r19233
1998-04-13fix merge breakageJason Merrill1-6/+2
From-SVN: r19196
1998-04-12This change is from an idea suggested by Arthur David Olson.Paul Eggert1-148/+210
* 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. From-SVN: r19151
1998-04-04* Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12Jeff Law1-24/+33
for details. * haifa-sched.c: Mirror recent changes from gcc2. From-SVN: r18984
1998-03-25Fix bug reported by David C Binderman, accept 'L' when pedantic with FP format.Jim Wilson1-8/+10
* c-common.c (check_format_info): Initialize type, is_type. New local integral_format. Don't warn for 'L' when pedantic. Do warn for 'L' when pedantic if used with integral format specifier. From-SVN: r18827