* cccp.c (main): Define __STDC_VERSION__ as necessary.
* cppinit.c (cpp_handle_option): Likewise.
* ginclude/stdarg.h (va_copy): Use __STDC_VERSION__ to
determine when to define.
From-SVN: r31022
* cppp.c (main): Set trigraphs and __STRICT_ANSI__ as
appropriate for -lang-c89 and -std=*.
* cppinit.c (cpp_handle_option): Likewise.
(new_pending_define): New, split out from cpp_handle_option.
* gcc.c (default_compilers): Don't define __STRICT_ANSI__
or enable trigraphs for -ansi/-std=*.
* ginclude/stdarg.h (__va_copy): New.
(va_copy): Don't define for C89.
From-SVN: r30921
1999-12-02 Mike Karr <mkarr@mathworks.com>
* cccp.c (argdata): Added free_ptr member.
(macroexpand): Initialize free_ptr of each argument. When an
argument's buffers are freed, if the argument's free_ptr corresponds
to a buffer on the input stack, then return the free_ptr to that stack
frame, otherwise, free it.
(macarg): If an argument begins and ends on the same input stack level,
then transfer the free_ptr of that buffer to the argument in case
the stack is popped during the processing of a subsequent argument.
From-SVN: r30760
* 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