2000-12-09 Toon Moene <toon@moene.indiv.nluug.nl>
Update to Netlib version 20001205.
Thanks go to David M. Gay for these updates.
* libF77/Version.c: Update version information.
* libF77/z_log.c: Improve accuracy of real(log(z)) for
z near (+-1,eps) with |eps| small.
* libF77/s_cat.c: Adjust call when ftnint and ftnlen are
of different size.
* libF77/dtime_.c, libF77/etime_.c: Use floating point divide.
* libI77/Version.c: Update version information.
* libI77/rsne.c, libI77/xwsne.c: Adjust code for when ftnint
and ftnlen differ in size.
* libI77/lread.c: Fix reading of namelist logical values followed
by <name>= where <name> starts with T or F.
From-SVN: r38152
* cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
* cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
* cpplex.c (parse_identifier): Improve diagnostic.
(_cpp_lex_token): Return unconditionally at the end of a directive.
* cpplib.c (read_flag): Verify legality of each flag.
(end_directive): Resotre pfile->skipping before skip_rest_of_line.
(do_line): Use the new read_flag.
* cppmacro.c (struct cpp_macro, parse_arg, replace_args,
check_macro_redefinition, parse_params): Rename var_args to
variadic.
From-SVN: r38150
* configure.in: Don't define INSTALL_INFO.
* configure: Regenerate.
* Makefile.in (INSTALL_INFO): Remove.
(info): Depend on info files in source directory.
(cpp.info, gcc.info, c-tree.info): Build info files in source
directory.
(distclean): Don't remove info files.
(maintainer-clean): Remove info files from source directory.
(install-normal): Depend on install-info.
(install-info): Install info files from source directory, if they
exist.
* texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
ch:
* Make-lang.in (CHILL.info): Depend on info files in source
directory.
(ch/chill.info): Build info files in source directory.
(CHILL.install-info): Install info files from source directory.
f:
* Make-lang.in (f77.info): Depend on info files in source
directory.
(f/g77.info): Build info files in source directory; don't build
them unless BUILD_INFO is "info".
(f77.install-info): Install info files from source directory.
From-SVN: r38141
* acinclude.m4: Don't forget to remove check for cpowl as it is no
longer needed, nor is the corresponding stub existent.
* aclocal.m4: Regenarate.
* configure: Regenarate.
From-SVN: r38127
include:
* safe-ctype.h: New file.
libiberty:
* safe-ctype.c: New file.
* Makefile.in (CFILES): Add safe-ctype.c.
(REQUIRED_OFILES): Add safe-ctype.o.
* argv.c: Define ISBLANK and use it, not isspace.
* basename.c, cplus-dem.c, fnmatch.c, pexecute.c, strtod.c,
strtol.c, strtoul.c: Include safe-ctype.h, not ctype.h. Use
uppercase ctype macros. Don't test ISUPPER(c)/ISLOWER(c)
before calling TOLOWER(c)/TOUPPER(c).
gcc:
* Makefile.in (HOST_RTL): Add safe-ctype.o.
(safe-ctype.o): New rule.
* system.h: Include safe-ctype.h, not ctype.h. No need to
wrap ctype macros.
* cpphash.h: Zap IStable and related macros. Define is_* in
terms of safe-ctype.h macros.
* cppinit.c: Delete the IStable and all related code.
* tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
is_space arrays. Delete initialize_char_syntax. Change all
references to the above arrays to use macros instead.
* tradcpp.h: Define is_idchar, is_idstart, is_space, and
is_nvspace in terms of safe_ctype.h's macros.
* tradcif.y: is_idchar, is_idstart are macros not arrays.
* config/i370/i370.c, config/winnt/dirent.c,
config/winnt/fixinc-nt.c, config/winnt/ld.c:
Use uppercase ctype macros. If we included ctype.h,
include safe-ctype.h instead.
* fixinc/fixfixes.c: Use uppercase ctype macros. Don't test
ISLOWER(c) before calling TOUPPER(c).
* fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
* fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h. No need to
wrap ctype macros. Don't test ISUPPER(x) before calling TOLOWER(x).
gcc/ch:
* lex.c: Don't bother checking whether ISUPPER(c) before
calling TOLOWER(c). Don't bother checking whether isascii(c)
before testing ISSPACE(c); ISSPACE(c) includes '\n'.
gcc/f:
* Make-lang.in: Link f/fini with safe-ctype.o.
* bad.c: Don't test ISUPPER(c) || ISLOWER(c) before calling TOUPPER(c).
* com.c: Use TOUPPER, not ffesrc_toupper.
* fini.c: Don't test ISALPHA(c) before calling TOUPPER(c)/TOLOWER(c).
* intrin.c: Don't test IN_CTYPE_DOMAIN(c).
* src.c: Delete ffesrc_toupper_ and ffesrc_tolower_ and their
initializing code; use TOUPPER and TOLOWER instead of
ffesrc_toupper and ffesrc_tolower.
* src.h: Don't declare ffesrc_toupper_ or ffesrc_tolower_.
Don't define ffesrc_toupper or ffesrc_tolower.
gcc/java:
* jvgenmain.c: Use ISPRINT not isascii.
From-SVN: r38124
* cppfiles.c (struct include_file): Move from cpphash.h.
(_cpp_never_reread): New function.
(open_file, read_include_file): Use it.
(stack_include_file): Set the buffer's sysp according to the
path in which the file was found.
(find_include_file): Don't set sysp.
(cpp_make_system_header, actual_directory): Update.
(_cpp_execute_include): Do #include_next lookup handling here,
not in cpplib.c. Use _cpp_never_reread.
* cpphash.h (struct_include_file): Remove.
(struct cpp_buffer): New member sysp.
(CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
(_cpp_never_reread): New.
* cpplib.c (read_line_number): Rename read_flag. Rework slightly.
(end_directive): Clear line_extension flag.
(_cpp_handle_directive): Set line_extension flag for #number.
(do_include_next): Handle path lookup in _cpp_execute_include.
(do_line): Cleanup to use read_flag. Don't allow flags in #line.
(_cpp_do_file_change): Update.
(do_pragma_once): Use cpp_never_reread. Clean up.
* cpplib.h (struct lexer_state): New member line_extension.
From-SVN: r38120
* texi2pod.pl: If multiple @c man sections with the same tag
appear, concatenate them in the final output. When skipping,
ignore block commands that can't cause skipping, and honor
those that can. Ensure that verbatim blocks are separate
paragraphs.
From-SVN: r38117
* class.c (check_field_decls): Don't special case anonymous
fields in error messages.
(note_name_declared_in_class): Use %D on diagnostic.
* tree.c (pod_type_p): Use strip_array_types.
(cp_valid_lang_attribute): Likewise.
* typeck.c (cp_type_quals): Strip arrays separately, to avoid
multiple evaluations.
(cp_has_mutable_p): Use strip_array_types.
From-SVN: r38112
* cp-tree.h (sufficient_parms_p): Declare new function.
* call.c (sufficient_parms_p): New function, broken out of ...
(add_function_candidate): ... here. Use it.
(add_conv_candidate): Use it.
* decl.c (grok_ctor_properties): Use it.
From-SVN: r38111
* c-common.c (warn_format_security): New variable.
(check_format_info): Warn about non-literal formats with no format
arguments if either -Wformat-nonliteral or -Wformat-security is
specified.
(set_Wformat): Set warn_format_security for settings other than 1.
* c-common.h (warn_format_security): Declare.
* c-decl.c (c_decode_option): Decode -Wformat-security and
-Wno-format-security.
* invoke.texi: Document -Wformat-security.
* toplev.c (documented_lang_options): Include -Wformat-security
and -Wno-format-security.
cp:
* decl2.c (lang_decode_option): Handle -Wformat-security.
testsuite:
* format-sec-1.c: New test.
From-SVN: r38106
* c-common.c (check_format_info): Warn for non-constant format
strings with strftime formats if -Wformat-nonliteral. Where the
format can convert arguments, if the format is not a string
literal and there are no arguments to the format, give a different
warning message from the general non-string-literal case.
testsuite:
* gcc.dg/format-nonlit-3.c: New test.
From-SVN: r38105
* c-common.c (format_wanted_type): Add reading_from_flag.
(print_char_table): Mark %s and %S formats with flag "R".
(check_format_info_main): Set up reading_from_flag appropriately.
If aflag, always set writing_in_flag rather than relying on the
format used being a scanf format and so having it set.
(check_format_types): Check for formats reading through null
pointers.
testsuite:
* gcc.dg/c90-printf-1.c: Add test for printf formats reading
through a null pointer.
From-SVN: r38104