* cccp.c (DIR_SEPARATOR): Move to the top of the file.
(is_dir_separator): New function.
(simplify_filename): Use it.
Last bit of the dir separator patches.
From-SVN: r26331
1999-04-06 12:51 -0400 Zack Weinberg <zack@rabi.columbia.edu>
* cppinit.c (install_predefs): Delete function.
(cpp_start_read): Don't call install_predefs.
(cpp_handle_option): Remove case 'u' and all refs to
opts->inhibit_predefs.
(print_help): Don't mention -undef.
(initialize_builtins): Define __HAVE_BUILTIN_SETJMP__, to
match cccp.
* cpplib.h (struct cpp_options): Remove inhibit_predefs
member.
* cccp.c (predefs): Delete variable.
(main): Remove case 'u' in argument parse loop,
'inhibit_predefs' variable, and the code block that would
process CPP_PREDEFINES.
(initialize_builtins): Don't define __OBJC__, the driver will
do that.
* gcc.c (default_compilers): Remove -undef from all specs that
invoke a C preprocessor.
* ch/lang-specs.h: Likewise.
* cp/lang-specs.h: Likewise.
* f/lang-specs.h: Likewise.
* objc/lang-specs.h: Likewise.
From-SVN: r26212
* cccp.c (create_definition): Cast to U_CHAR* when assigning to one.
* cppfiles.c (read_and_prescan): Likewise.
Start a #define in column 0.
* cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one.
(cpp_push_buffer): Likewise for cpp_buffer*.
(do_include): Change the type of `fbeg' and `fend' to unsigned char*.
(do_endif): Cast to char* when assigning to one.
(do_assert): Likewise.
(do_unassert): Likewise.
(cpp_read_check_assertion): Change the type of `name' to U_CHAR*.
Don't do unnecessary cast to char* anymore.
* genrecog.c (make_insn_sequence): Cast to char** when assigning
to one. Cast the first argument of bzero to PTR.
* loop.c (strength_reduce): Remove unused variable `note'.
* reload1.c (new_insn_chain): Cast to struct insn_chain* when
assigning to one.
* rtl.c (copy_rtx): Use memcpy instead of bcopy.
From-SVN: r25860
* 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
* cccp.c: Don't define HOST_WIDE_INT. Replace all occurrences of
WIDE_INT with WIDEST_INT.
* cexp.y: Likewise.
Don't define unsigned_HOST_WIDE_INT, CHAR_BIT or
HOST_BITS_PER_WIDE_INT. Replace occurrences of PRINTF_PROTO_1()
style with PVPROTO() ATTRIBUTE_PRINTF_1 style macros. Replace
occurrences of "unsigned_HOST" with "unsigned HOST". Provide a
definition of variable `c89' when compiling a test binary and set it.
* system.h: Don't define the PRINTF_PROTO_* macros.
From-SVN: r25217
* cccp.c (eprint_string): Constify a char*.
(notice): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
(vnotice): Constify a char*.
(error): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
(verror): Constify a char*.
(warning): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
(vwarning): Constify a char*.
(error_with_line): Likewise. Use PVPROTO not VPROTO, add
ATTRIBUTE_PRINTF_2.
(verror_with_line): Constify a char*.
(vwarning_with_line): Likewise.
(warning_with_line): Likewise. Use PVPROTO not VPROTO, add
ATTRIBUTE_PRINTF_2.
(pedwarn): Constify a char*. Use PVPROTO not VPROTO, add
ATTRIBUTE_PRINTF_1.
(pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2.
(pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4.
Also correct typo in parameter name declaration.
(make_assertion): Constify a char*.
(quote_string_for_make): Likewise.
(deps_output): Likewise.
(fatal): Likewise. Use PVPROTO not VPROTO, add
ATTRIBUTE_PRINTF_1. Use ATTRIBUTE_NORETURN not an explicit
"__attribute__ ((noreturn))".
(fancy_abort): Likewise for ATTRIBUTE_NORETURN.
(pfatal_with_name): Likewise.
(pipe_closed): Likewise.
(memory_full): Likewise.
From-SVN: r24902
* cccp.c (xstrdup): Renamed from `savestring'. All callers changed.
Remove prototype which we get from libiberty.h.
* collect2.c (xstrdup): Likewise.
* genextract.c (xstrdup): Likewise for `copystr'.
(mybzero): Remove it and use `memset' instead.
* genoutput.c (mybcopy, mybzero): Remove these. All callers changed
to use `memcpy' and `memset' instead.
* genrecog.c (xstrdup): Renamed from `copystr'. All callers
changed. Remove prototype.
(mybcopy, mybzero): Remove these and use memcpy/memset.
From-SVN: r24650
* Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
* cccp.c: Include prefix.h, don't prototype prefix.c functions.
(new_include_prefix): Constify char* parameters.
* cppfiles.c (read_name_map): Likewise.
(append_include_chain): Likewise. Also, use a writable char* copy
of parameter `dir' which we then modify, rather than using the
parameter itself to store the new writable string.
(remap_filename): Constify some variables. Also, use a writable
char* to store an allocated string which we will be modifying.
* cpplib.c: Include prefix.h, don't prototype prefix.c functions.
(cpp_start_read): Constify variable `str'.
* cpplib.h (append_include_chain): Constify a char* parameter.
* gcc.c Include prefix.h, don't prototype prefix.c functions.
(add_prefix, save_string): Constify char* parameters.
(fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
* prefix.c: Include prefix.h.
(get_key_value, translate_name, save_string, update_path,
set_std_prefix): Constify various char* parameters and variables.
(save_string): Use xmalloc, not malloc.
(translate_name): Use a writable temporary variable to create and
modify a string before setting it to a const char*.
* prefix.h: New file to prototype functions exported from prefix.c.
From-SVN: r24498
Mon Dec 7 17:55:06 1998 Mike Stump <mrs@wrs.com>
* cccp.c (ignore_escape_flag): Add support for \ as `natural'
characters in file names in #line to be consistent with #include
handling. We support escape prcessing in the # 1 "..." version of
the command. See also support in cp/lex.c.
(handle_directive): Likewise.
(do_line): Likewise.
From-SVN: r24156
* 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
* Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
(LIBCPP_OBJS): New. Add cppulp.o.
(cppmain, fix-header): Depend on and use libcpp.a.
* configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
of the individual object files.
* objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
last.
* cccp.c (user_label_prefix): New.
(main): Set it off -f*leading-underscore.
(special_symbol): Use it.
* cpplib.c (special_symbol): Likewise.
(cpp_handle_option): Handle -f*leading-underscore.
* cppulp.c: New file.
* output.h (user_label_prefix): Declare it.
* dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
* toplev.c (f_options, main): Handle -f*leading-underscore.
* defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
referencing USER_LABEL_PREFIX directly.
* config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
* m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
* final.c (asm_fprintf): Use user_label_prefix instead.
* arm/thumb.c (thumb_print_operand): Likewise.
* gcc.c (default_compilers): Pass -f*leading-underscore on to
cpp wherever appropriate.
From-SVN: r23415
* 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
Mon Jul 20 16:16:38 1998 Dave Brolley <brolley@cygnus.com>
* configure.in (enable_c_mbchar): New configure option.
(extra_cpp_objs): Always available now.
* cexp.y (mbchar.h): #include it.
(yylex): Handle Multibyte characters in character literals.
* cccp.c (mbchar.h): #include it.
(main): Set character set based on LANG environment variable.
(rescan): Handle multibyte characters in comments.
(skip_if_group): See above.
(validate_else): See above.
(skip_to_end_of_comment): See above.
(macarg1): See above.
(discard_comments): See above.
(rescan): Handle multibyte characters in string and character literals.
(collect_expansion): See above.
(skip_quoted_string): See above.
(macroexpand): See above.
(macarg1): See above.
(discard_comments): See above.
(change_newlines): See above.
* c-lex.c (mbchar.h): #include it.
(GET_ENVIRONMENT): New macro.
(init_lex): Set character set based on LANG environment variable.
(yylex): Handle multibyte characters in character literals.
(yylex): Handle multibyte characters in string literals.
* Makefile.in (mbchar.o): New target.
(cccp$(exeext)): @extra_cpp_objs@ is always available.
(cppmain$(exeext)): @extra_cpp_objs@ is always available.
* mbchar.[ch]: New files for multibyte character handling.
From-SVN: r21303
* 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
plus do some general cleanup of variable argument handling.
* aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
* configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
(AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
(AC_CHECK_FUNCS): Remove unused check for vprintf.
* Makefile.in: Add support for linking in vfprintf.c and doprint.c.
(cccp.o): Depend on gansidecl.h.
(cexp.o): Likewise.
* cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
per the rest of gcc source.
* cexp.y: Likewise. Include gansidecl.h and remove all code made
redundant.
* cccp.c: Remove checks for HAVE_VPRINTF and the associated code
used when vfprintf is missing.
* cexp.y: Likewise.
* gcc.c: Likewise.
* genattrtab.c: Likewise.
* mips-tfile.c: Likewise.
* toplev.c: Likewise.
* vfprintf.c: New file.
* doprint.c: Likewise.
From-SVN: r19610
Consolidate O_RDONLY/O_WRONLY fallback definitions from various files
into system.h.
* system.h: Wrap time.h and sys/file.h in autoconf checks.
Provide default definitions for O_RDONLY and O_WRONLY here.
* cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
From-SVN: r19571