Commit Graph

51351 Commits

Author SHA1 Message Date
Zack Weinberg
e6cc3a24c2 cpplib.h (CPP_AT_NAME, [...]): New token types.
* cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
	(struct cpp_options): Add narrow_charset, wide_charset,
	bytes_big_endian fields.  Remove EBCDIC field.
	(cpp_init_iconv, cpp_interpret_string): New external interfaces.

	* cpphash.h: Include <iconv.h> if we have it, otherwise
	provide a dummy definition of iconv_t.
	(struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
	(_cpp_valid_ucn): Update prototype.
	(_cpp_destroy_iconv): New prototype.

	* doc/cpp.texi: Document character set handling.
	* doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
	* doc/extend.texi: Delete entire section on multiline strings.
	Rewrite section on __FUNCTION__ etc now that these are
	variables in C.

	* cppucnid.tab, cppucnid.pl: New files.
	* cppucnid.h: New generated file.
	* cppcharset.c: Include cppucnid.h.  Lots of commentary added.
	(iconv_open, iconv, iconv_close): Provide dummy definitions
	if !HAVE_ICONV.
	(SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
	_cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
	emit_numeric_escape, convert_hex, convert_oct, convert_escape,
	cpp_interpret_string, narrow_str_to_charconst,
	wide_str_to_charconst): New.
	(ucn_valid_in_identifier): Use a binary search through the
	ucnranges table defined in cppucnid.h, not a long chain of if
	statements.
	(_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
	character names are only valid in C++ and C99" to a warning.
	Issue the "meaning of \[uU] is different in traditional C"
	warning here.  Take care not to let iconv see an invalid UCS
	value if we get a malformed UCN.  Issue an error if we don't
	have iconv.
	(cpp_interpret_charconst): Moved here from cpplex.c.  Use
	cpp_interpret_string to do the heavy lifting.

	* cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
	narrow_charset, wide_charset fields of options structure.
	(cpp_destroy): Call _cpp_destroy_iconv.
	* cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
	(maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
	(cpp_interpret_charconst): Moved to cppcharset.c.
	* cpplib.c (dequote_string): Delete.
	(interpret_string_notranslate): New.
	(do_line, do_linemarker): Use interpret_string_notranslate.

	* Makefile.in (cppcharset.o): Depend on cppucnid.h.

	* c-common.c (fname_string, combine_strings): Delete.
	* c-common.h (fname_string, combine_strings): Delete prototypes.
	* c-lex.c (ignore_escape_flag): Delete.
	(cb_ident): Use cpp_interpret_string, not lex_string.
	(get_nonpadding_token): New function.
	(c_lex): Handle Objective-C @-prefixed identifiers and strings here.
	Adjust calls to lex_string.  Don't write *value twice.
	(lex_string): Now handles string constant concatenation.
	Most of the work handed off to cpp_interpret_string.
	Call fix_string_type here.
	* c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
	FUNC_NAME, throughout.
	(OBJC_STRING): New token type.
	(primary:STRING): No need to call fix_string_type here.
	(primary:objc_string): Make that OBJC_STRING.
	(objc_string nonterminal): Delete.
	(yylexname): Delete code to handle fake string constants.
	(yylexstring): Delete entirely.
	(_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
	to handle CPP_ATSIGN.

	* c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
	* c-opts.c (missing_arg, c_common_handle_option): Handle
	OPT_fexec_charset_ and OPT_fwide_exec_charset_.
	(c_common_init): Set cpp_opts->bytes_big_endian, not
	cpp_opts->EBCDIC.  Call cpp_init_iconv.
	(print_help): Document -fexec-charset= and -fexec-wide-charset=.
	(TARGET_EBCDIC): Delete default definition.

	* objc/objc-act.c (build_objc_string_object): No need to
	handle string constant concatenation.

cp:
	* parser.c (cp_lexer_read_token): No need to handle string
	constant concatenation.

testsuite:
	* gcc.c-torture/execute/wchar_t-1.x: New file; XFAIL wchar_t-1.c
	everywhere.
	* gcc.dg/concat.c: Concatenation of string constants with
	__FUNCTION__ / __PRETTY_FUNCTION__ is now a hard error.
	* gcc.dg/wtr-strcat-1.c: Loosen dg-warning regexp.
	* gcc.dg/cpp/escape-2.c: Use wide character constants where
	necessary to avoid multi-character character constant warning.
	* gcc.dg/cpp/escape.c: Likewise.
	* gcc.dg/cpp/ucs.c: Likewise.
	Remove backslashes from dg-bogus comments, as they confuse Tcl.
	Fix a typo.

libstdc++-v3:
	* testsuite/22_locale/collate/compare/wchar_t/2.cc
	* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
	* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
	* testsuite/22_locale/collate/hash/wchar_t/2.cc
	* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
	* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
	* testsuite/22_locale/collate/transform/wchar_t/2.cc
	* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
	* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
	XFAIL on all targets.

From-SVN: r68952
2003-07-05 00:24:00 +00:00
Kazu Hirata
61aeb06fe5 install.texi: Fix typos.
* doc/install.texi: Fix typos.
	* doc/invoke.texi: Likewise.
	* doc/tm.texi: Likewise.

From-SVN: r68951
2003-07-05 00:19:47 +00:00
GCC Administrator
802491c002 Daily bump.
From-SVN: r68949
2003-07-05 00:16:06 +00:00
Kazu Hirata
c120724327 fptr.c: Fix comment typos.
* config/pa/fptr.c: Fix comment typos.
	* config/pa/pa-64.h: Likewise.
	* config/pa/pa.c: Likewise.
	* config/pa/pa.h: Likewise.
	* config/rs6000/603.md: Likewise.
	* config/rs6000/7xx.md: Likewise.
	* config/rs6000/darwin.h: Likewise.
	* config/rs6000/freebsd.h: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/rs6000/rs6000.md: Likewise.
	* config/rs6000/spe.h: Likewise.

From-SVN: r68947
2003-07-05 00:08:11 +00:00
Zack Weinberg
21607eb432 Makefile.tpl (all-bootstrap): Depend on maybe-all-intl.
* Makefile.tpl (all-bootstrap): Depend on maybe-all-intl.
	* Makefile.in: Regenerate.

From-SVN: r68945
2003-07-04 23:07:22 +00:00
Kazu Hirata
682def26d2 re PR c/11428 (gcc aborts in compiling Linux 2.5.74 reiserfs driver)
PR c/11428
	* gcc.c-torture/compile/20030704-1.c: New.

From-SVN: r68944
2003-07-04 22:56:24 +00:00
Kazu Hirata
9037065f51 * gcc.c-torture/compile/20030704-1.c: New.
From-SVN: r68943
2003-07-04 22:55:07 +00:00
Benjamin Kosnik
d542f11447 [multiple changes]
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2003-07-04  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/locale_facets.tcc (__int_to_char): Move common case
	to the top.

From-SVN: r68942
2003-07-04 22:33:04 +00:00
Ulrich Weigand
58add37a5a 2064.md: Change GNU CC to GCC.
* config/s390/2064.md: Change GNU CC to GCC.
	* config/s390/2084.md: Likewise.
	* config/s390/fixdfdi.h: Likewise.
	* config/s390/linux.h: Likewise.
	* config/s390/s390-modes.def: Likewise.
	* config/s390/s390-protos.h: Likewise.
	* config/s390/s390.c: Likewise.
	* config/s390/s390.h: Likewise.
	* config/s390/s390.md: Likewise.
	* config/s390/s390x.h: Likewise.

From-SVN: r68941
2003-07-04 22:29:03 +00:00
Jeff Law
60cd4daea2 expr.c (do_store_flag): Pass in the correct result type when calling fold_single_bit_test.
* expr.c (do_store_flag): Pass in the correct result type
        when calling fold_single_bit_test.
        * fold-const.c (fold_single_bit_test): Use result_type for the
        result when folding a sign bit test.

From-SVN: r68940
2003-07-04 16:00:19 -06:00
Neil Booth
5e14ae7e26 * opts.c (common_handle_options): Negate sense of -falign- switches.
From-SVN: r68939
2003-07-04 21:47:22 +00:00
Benjamin Kosnik
69ef29fdf6 basic_file_stdio.cc: Revert.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
            Petur Runolfsson  <peturr02@ru.is>

	* config/io/basic_file_stdio.cc: Revert.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r68938
2003-07-04 21:24:35 +00:00
Paolo Carlini
5b5bf71795 deque.tcc: Fully qualify standard functions with std::, thus avoiding Koenig lookup.
2003-07-04  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/deque.tcc: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/gslice_array.h: Likewise.
	* include/bits/indirect_array.h: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/mask_array.h: Likewise.
	* include/bits/slice_array.h: Likewise.

From-SVN: r68937
2003-07-04 20:41:28 +00:00
Gawain Bolton
7f6dd1ca73 stl_tree.h: Performance and memory usage improvements.
2003-07-04  Gawain Bolton  <gbolton@free.fr>

	* include/bits/stl_tree.h: Performance and memory usage
	improvements.

From-SVN: r68936
2003-07-04 20:37:01 +00:00
H.J. Lu
c3b3975a54 Fix it again.
From-SVN: r68934
2003-07-04 13:09:00 -07:00
H.J. Lu
5d42f90e06 Fix typo.
From-SVN: r68932
2003-07-04 12:51:03 -07:00
H.J. Lu
8c90b13a22 Makefile.tpl: Replace PWD with PWD_COMMAND.
2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Makefile.tpl: Replace PWD with PWD_COMMAND.
	* Makefile.in: Regenerated.

gcc/

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* config-ml.in: Replace PWD with PWD_COMMAND.
	* Makefile.in: Likewise.

gcc/ada/

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Make-lang.in: Replace PWD with PWD_COMMAND.
	* Makefile.adalib: Likewise.
	* Makefile.in: Likewise.

gcc/treelang/

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Make-lang.in: Replace PWD with PWD_COMMAND.

libf2c/

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Makefile.in: Replace PWD with PWD_COMMAND.

libstdc++-v3/

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Makefile.am: Replace PWD with PWD_COMMAND.
	* Makefile.in: Regenerated.
	* docs/html/Makefile: Likewise.

From-SVN: r68931
2003-07-04 12:45:55 -07:00
Zdenek Dvorak
72d4a2ad78 cfgloopanal.c (count_strange_loop_iterations): New static function.
* cfgloopanal.c (count_strange_loop_iterations): New static function.
	(constant_iterations, count_loop_iterations, simple_loop_exit_p):
	Handle strange loops.

From-SVN: r68930
2003-07-04 18:53:41 +00:00
Toon Moene
8e9a4a4525 install.texi: Even the g77 manpage is derived from the full g77 manual.
2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>

	* install.texi: Even the g77 manpage is derived from
	the full g77 manual.

From-SVN: r68929
2003-07-04 18:47:09 +00:00
Zack Weinberg
6eb95e99e7 intl: New directory; see intl/ChangeLog for details.
top:
	* intl: New directory; see intl/ChangeLog for details.
	* ABOUT-NLS, config.rpath: Import from gettext 0.12.1.
	* Makefile.tpl: all-gcc depends on maybe-all-intl.
	* Makefile.in: Regenerate.
config:
	* gettext.m4: New file - copy of gettext.m4 from binutils
	CVS, with added AC_ISC_POSIX macro from gcc/aclocal.m4.
gcc:
	* ABOUT-NLS: Delete.
	* intl: Delete entire directory.
	* aclocal.m4: Include ../config/gettext.m4.  Delete
	AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
	AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
	* configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
	Remove intl/Makefile from all_outputs.
	* configure, config.in: Regenerate.
	* Makefile.in: Expunge all references to intl subdirectory.
	Add -I../intl to INCLUDES.
	* intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
intl:
	* Makefile.in: Remove unnecessary capabilities for
	installation, build of shared libraries, generation of
	distribution tarballs, etc.  Fix all the places that rely on
	the parent directory.  Don't generate libgnuintl.h from
	anything; do generate $(objdir)/libintl.h from libgnuintl.h if
	necessary.  Adjust DEFS for use of config.h.
	* libgnuintl.h.in: Rename libgnuintl.h.
	* README: New file.
	* config.charset, ref-add.sin, ref-del.sin: Delete (unused).
	* COPYING.LIB-2.0, COPYING.LIB-2.1: Delete (redundant).
	* aclocal.m4: New; generated per instructions in gettext manual.
	* configure.in: New; written from scratch for this configuration.
	* configure, config.h.in: Generated.
contrib:
	* gcc_update: Remove gcc/intl/plural.c from list.
	Add new generated files intl/plural.c, intl/configure,
	intl/config.h.in.

From-SVN: r68928
2003-07-04 18:18:54 +00:00
Paolo Carlini
2f8058688a valarray_array.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup.
2003-07-04  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/valarray_array.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/vector.tcc: Likewise.

From-SVN: r68927
2003-07-04 18:14:27 +00:00
Benjamin Kosnik
a30335e9c4 Makefile.am: Update target_ to host_.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am: Update target_ to host_.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.

	* config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.

From-SVN: r68926
2003-07-04 18:10:10 +00:00
Benjamin Kosnik
d8d81f62c1 acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug-flags.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
	--enable-libstdcxx-debug-flags.
	(GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
	(GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
	* aclocal.m4: Regenerate.
	* configure: Same.
	* docs/html/configopts.html: Update.

From-SVN: r68925
2003-07-04 17:36:38 +00:00
Gerald Pfeifer
6124d3bda0 gcc_release: Execute gcc.gnu.org-only operations which are related to diff generation only if...
* gcc_release: Execute gcc.gnu.org-only operations which are
	related to diff generation only if diffs have been requested.
	(build_sources): Improve tracing and an error message related
	to tagging.

From-SVN: r68924
2003-07-04 17:25:31 +00:00
Kazu Hirata
ae81000a69 * gcc.dg/compat/fnptr-by-value-1_x.c: Add a prototype for testva.
From-SVN: r68923
2003-07-04 16:44:37 +00:00
Paolo Carlini
10ef4e2e3f 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
Revert the fix for libstdc++/11378.

From-SVN: r68922
2003-07-04 16:36:26 +00:00
Paolo Carlini
ac2c48d70f re PR libstdc++/11378 (Unbuffered sputn is slow)
2003-07-04  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11378
	* include/std/std_fstream.h (xsputn): In the unbuffered case,
	provided always_noconv(), issue directly _M_file.xsputn.
	* testsuite/performance/filebuf_unbuf_sputn.cc: New.

From-SVN: r68921
2003-07-04 16:15:15 +00:00
Roger Sayle
bcd5d841fe aix51.h (TARGET_C99_FUNCTIONS): Define.
* config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
	* config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.

From-SVN: r68920
2003-07-04 12:42:01 +00:00
Paolo Carlini
9dd90ac6b2 stl_list.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup.
2003-07-04  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_list.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/stl_queue.h: Likewise.
	* include/bits/stl_raw_storage_iter.h: Likewise.
	* include/bits/stl_tempbuf.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/ext/rope: Change includes order.

From-SVN: r68919
2003-07-04 12:10:13 +00:00
Benjamin Kosnik
1b33b6b2f0 configure.host (fpos_include_dir): Fix.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.host (fpos_include_dir): Fix.

From-SVN: r68918
2003-07-04 09:10:48 +00:00
Danny Smith
1cf0dce8a8 PR c++/5287, PR c++/7910, PR c++/11021
PR c++/5287, PR c++/7910,  PR c++/11021
	* testsuite/g++.dg/ext/dllimport1.C: Add mingw32 as target. Add
	tests for warnings.
	* testsuite/g++.dg/ext/dllimport2.C: Add tests for warnings.
	* testsuite/g++.dg/ext/dllimport3.C: Likewise.
	* testsuite/g++.dg/ext/dllimport4.C: New file.
	* testsuite/g++.dg/ext/dllimport5.C: New file.
	* testsuite/g++.dg/ext/dllimport6.C: New file.
	* testsuite/g++.dg/ext/dllimport7.C: New file.
	* testsuite/g++.dg/ext/dllimport8.C: New file.
	* testsuite/g++.dg/ext/dllimport9.C: New file.
	* testsuite/g++.dg/ext/dllimport10.C: New file.
	* testsuite/g++.dg/ext/dllexport1.C: New file.

From-SVN: r68917
2003-07-04 07:52:38 +00:00
Danny Smith
6b6cb52e94 PR c++/5287, PR c++/7910, PR c++/11021
PR c++/5287, PR c++/7910,  PR c++/11021
	* config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
	dllimport attribute if function is defined at declaration, but
	report error instead. Likewise for dllimport'd variable
	definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
	declared within functions, Report error if dllimport or dllexport
	symbol is not global.
	(i386_pe_dllimport_p): Ignore dllimport attribute of functions
	if defined after declaration or if inlined. Don't allow definition
	of static data members of C++ classes. Don't dllimport virtual
	methods.
	(i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
	(i386_pe_mark_dllimport): Remove unnecessary checks.
	(i386_pe_encode_section_info): Warn if the dllimport attribute
	and symbol prefix have been instantiated and then overridden.

	* doc/extend.texi: Document dllimport and dllexport attributes.

	* config/i386/winnt.c (i386_pe_output_labelref): Fix indents.

From-SVN: r68916
2003-07-04 07:42:11 +00:00
Paolo Carlini
369b78b0e4 stl_heap.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup.
2003-07-04  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_heap.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/stl_iterator_base_funcs.h: Likewise.

	* include/bits/stl_algo.h: Qualify __iterator_category too.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.

	* include/bits/stl_algo.h: Don't qualify the pair type.

From-SVN: r68915
2003-07-04 07:22:19 +00:00
Benjamin Kosnik
68e1f6219c Makefile.am (target_headers): Add fpos.h
2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Add fpos.h
	(bits_headers): Remove.
	* include/Makefile.in: Regenerate.
	* configure.in: Add FPOS_INC_SRCDIR, substitute it.
	* configure: Regenerate.
	* configure.host: Add fpos_include_dir.
	* config/os/gnu-linux/fpos.h: New.
	* config/os/generic/fpos.h: Add.
	* include/bits/fpos.h: Remove.

	* config/io/c_io_stdio.h: Remove fpos_t typedef.

	* include/bits/fstream.tcc: Tweaks.
	* include/std/std_fstream.h: Same.

	* testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
	* testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
	* testsuite/27_io/fpos/mbstate_t/2.cc: Same.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
	* testsuite/27_io/fpos/1.cc: New.

From-SVN: r68914
2003-07-04 07:15:30 +00:00
Benjamin Kosnik
cc5112c92d Makefile.am (target_headers): Add fpos.h
2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Add fpos.h
	(bits_headers): Remove.
	* include/Makefile.in: Regenerate.
	* configure.in: Add FPOS_INC_SRCDIR, substitute it.
	* configure: Regenerate.
	* configure.host: Add fpos_include_dir.
	* config/os/gnu-linux/fpos.h: New.
	* config/os/generic/fpos.h: Add.
	* include/bits/fpos.h: Remove.

	* config/io/c_io_stdio.h: Remove fpos_t typedef.

	* include/bits/fstream.tcc: Tweaks.
	* include/std/std_fstream.h: Same.

	* testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
	* testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
	* testsuite/27_io/fpos/mbstate_t/2.cc: Same.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
	* testsuite/27_io/fpos/1.cc: New.

2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
	    Petur Runolfsson  <peturr02@ru.is>

	* include/std/std_streambuf.h: Remove _M_pos.
	* config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
	* config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
	use fread/fwrite instead of read/write.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
	* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
	before reading again.
	* testsuite/27_io/objects/char/6.cc: Tweak.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r68913
2003-07-04 07:14:54 +00:00
Uwe Stieber
cc2f5d34f3 Patch from Uwe Stieber.
* config/kaos.h (CPP_PREDEFINES): Delete.
(TARGET_OS_CPP_BUILTINS): New.

From-SVN: r68912
2003-07-03 23:01:50 -07:00
Mark Mitchell
d6b4ea8592 call.c (build_addr_func): Handle bound pointers-to-members.
* call.c (build_addr_func): Handle bound pointers-to-members.
	(build_method_call): Do not call resolve_offset_ref.
	(implicit_conversion): Likewise.
	(resolve_scoped_fn_name): Use finish_non_static_data_member, not
	resolve_offset_ref.
	(resolve_args): Do not call resolve_offset_ref.
	(build_conditional_expr): Likewise.
	(build_new_method_call): Likewise.
	* cp-tree.def (OFFSET_REF): Update documentation.
	(cp_convert_to_pointer): Update handling of conversions from
	pointers to members to pointers.
	(ocp_convert): Do not call resolve_offset_ref.
	(convert_to_void): Likewise.
	(build_expr_type_conversion): Likewise.
	(delete_sanity): Likewise.
	(resolve_offset_ref): Simplify greatly.
	(build_vec_delete): Do not call resolve_offset_ref.
	* parser.c (cp_parser_postfix_expression): Call resolve_offset_ref
	if appropriate.
	(cp_parser_unary_expression): Use
	cp_parser_simple_cast_expression.
	(cp_parser_delete_expression): Likewise.
	(cp_parser_cast_expression): Likewise.
	(cp_parser_pm_expression): Use cp_parser_binary_op.
	(cp_parser_simple_cast_expression): New function.
	* rtti.c (build_dynamic_cast_1): Do not call resolve_offset_ref.
	* semantics.c (finish_increment_expr): Likewise.
	(finish_typeof): Likewise.
	* tree.c (lvalue_p_1): Do not handle OFFSET_REF.
	* typeck.c (require_complete_type): Do not handle OFFSET_REFs.
	(decay_conversion): Do not call resolve_offset_ref.
	(finish_class_member_access_expr): Likewise.
	(convert_arguments): Likewise.
	(build_x_binary_op): Handle DOTSTAR_EXPR.
	(condition_conversion): Do not call resolve_offset_ref.
	(unary_complex_lvalue): Likewise.
	(build_static_cast): Likewise.
	(build_reinterpret_cast): Likewise.
	(build_const_cast): Likewise.
	(build_c_cast): Likewise.
	(build_modify_expr): Likewise.
	(convert_for_assignment): Likewise.
	(convert_for_initialization): Likewise.
	* typeck2.c (build_x_arrow): Likewise.
	(build_m_component_ref): Simplify.

	* g++.old-deja/g++.jason/typeid1.C: Add dg-error marker.
	* g++.old-deja/g++.mike/net36.C: Tweak error messages.

From-SVN: r68911
2003-07-04 05:05:19 +00:00
Kaveh R. Ghazi
5f1989e65d c-aux-info.c: Include toplev.h after c-tree.h.
gcc:
	* c-aux-info.c: Include toplev.h after c-tree.h.
	* c-common.c: Likewise.
	(GCC_DIAG_STYLE): Undef.
	* c-semantics.c (GCC_DIAG_STYLE): Define.
	* c-tree.h (GCC_DIAG_STYLE): Likewise.
	* diagnostic.h (inform): Move prototype to toplev.h.
	* jump.c: Include diagnostic.h before toplev.h.
	* toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
	(warning, error, fatal_error, pedwarn, sorry, inform,
	error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.

cp:
	* cp-tree.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_CXXDIAG): Define.
	(cp_error_at, cp_warning_at, cp_pedwarn_at): Mark with
	ATTRIBUTE_GCC_CXXDIAG.

From-SVN: r68910
2003-07-04 01:55:50 +00:00
GCC Administrator
54c378f043 Daily bump.
From-SVN: r68908
2003-07-04 00:16:06 +00:00
Zdenek Dvorak
8d28e87da7 cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies at all if edge is not specified.
* cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
	at all if edge is not specified.
	(can_copy_bbs_p, copy_bbs): New.
	* cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
	* cfgloop.c (get_loop_body): Comment more precisely.
	* cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
	(scale_bbs_frequencies): Fix comment typo.
	(can_duplicate_loop_p): Use can_copy_bbs_p.
	(duplicate_loop_to_header_edge): Simplify by using copy_bbs.

From-SVN: r68906
2003-07-03 23:50:05 +00:00
Devang Patel
694abeb6a7 2003-7-03 Devang Patel <dpatel@apple.com>
* c-opts.c (c_common_parse_file): Remove extra
        debug_hooks->start_source_file call.

From-SVN: r68905
2003-07-03 16:17:53 -07:00
Matt Kraai
9c2862135e misc.c (gnat_argv): Revert last change.
* misc.c (gnat_argv): Revert last change.
	(gnat_handle_option, gnat_init_options): Copy arguments.

From-SVN: r68904
2003-07-03 21:49:54 +00:00
Roger Sayle
0a9530a9d7 real.c (real_trunc, [...]): New functions to implement trunc, floor and ceil respectively.
* real.c (real_trunc, real_floor, real_ceil): New functions
	to implement trunc, floor and ceil respectively.
	* real.h (real_trunc, real_floor, real_ceil): Prototype here.
	* builtins.c (integer_valued_real_p): New function to test if
	a floating point expression has an integer valued result.
	(fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
	foo(x) where foo is an integer rounding function.  Similarly,
	optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
	(double)(int)x when both foo and bar are integer rounding
	functions and we don't need to honor errno.
	(fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
	New functions to fold trunc, floor and ceil.
	(fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
	fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
	to fold BUILT_IN_CEIL*.
	* fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
	the remaining integer rounding functions.

	* gcc.dg/builtins-25.c: New testcase.
	* gcc.dg/builtins-26.c: New testcase.

From-SVN: r68903
2003-07-03 21:38:55 +00:00
Janis Johnson
7516d73631 vector-defs.h: New file.
* gcc.dg/compat/vector-defs.h: New file.
	* gcc.dg/compat/vector-setup.h: New file.
	* gcc.dg/compat/vector-check.h: New file.
	* gcc.dg/compat/vector-1_main.c: New file.
	* gcc.dg/compat/vector-1_x.c: New file.
	* gcc.dg/compat/vector-1_y.c: New file.
	* gcc.dg/compat/vector-2_main.c: New file.
	* gcc.dg/compat/vector-2_x.c: New file.
	* gcc.dg/compat/vector-2_y.c: New file.

From-SVN: r68902
2003-07-03 20:37:42 +00:00
Janis Johnson
0964c98c4c fnptr-by-value-1_main.c: New file.
* gcc.dg/compat/fnptr-by-value-1_main.c: New file.
	* gcc.dg/compat/fnptr-by-value-1_x.c: New file.
	* gcc.dg/compat/fnptr-by-value-1_y.c: New file.
	* gcc.dg/compat/struct-align-1.h: New file.
	* gcc.dg/compat/struct-align-1_main.c: New file.
	* gcc.dg/compat/struct-align-1_x.c: New file.
	* gcc.dg/compat/struct-align-1_y.c: New file.
	* gcc.dg/compat/struct-align-2.h: New file.
	* gcc.dg/compat/struct-align-2_main.c: New file.
	* gcc.dg/compat/struct-align-2_x.c: New file.
	* gcc.dg/compat/struct-align-2_y.c: New file.

From-SVN: r68901
2003-07-03 20:15:48 +00:00
Eric Botcazou
c3427c7d9d sparc.c (function_arg_partial_nregs): Use SPARC_INT_ARG_MAX to determine where to split unnamed complex FP arguments.
* config/sparc/sparc.c (function_arg_partial_nregs): Use
	SPARC_INT_ARG_MAX to determine where to split unnamed
	complex FP arguments.

From-SVN: r68900
2003-07-03 18:49:50 +00:00
Jan Hubicka
bc35512f09 basic-block.h (create_basic_block, [...]): Kill.
* basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
	* cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
	(merge_blocks_move_predecessor_nojumps,
	 merge_blocks_move_successor_nojumps): Use merge_blocks.
	(try_optimize_cfg): Use merge_blocks_move.
	* cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
	(merge_blocks_nomove): Rename to rtl_merge_blocks.
	(cfg_layout_create_basic_block): New.
	(rtl_can_merge_blocks): New.
	(cfg_layout_split_block): Do not alloc aux by hand.
	* cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
	merge_blocks.
	(create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
	* cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
	* cfgloopmanip.c (loop_split_edge_with): Likewise.
	* ifcvt.c (merge_if_block): Use merge_blocks_nomove.

	* basic-block.h (basic_block_def): Add field 'rbi'.
	* bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
	find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
	* cfg.c (entry_exit_blocks): Add new field.
	* cfglayout.c: Include alloc-pool.h;
	(cfg_layout_pool): New.
	(record_effective_endpoints, fixup_reorder_chain,
	fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
	of rbi.
	(cfg_layout_initialize_rbi): New function.
	(cfg_layout_initialize): Use it.
	(cfg_layout_finalize): Clear rbi fields.
	* cfglayout.h (RBI): Kill.
	(cfg_layout_initialize_rbi): Declare.
	* cfgloopmanip.c (copy_bbs): Use rbi.
	(record_exit_edges): Likewise.
	(duplicate_loop_to_header_edge): Likewise.
	* cfgrtl.c (cfg_layout_create_basic_block): Use
	cfg_layout_initialize_rbi.
	(cfg_layout_split_block): Use rbi.
	(cfg_layout_delete_block): Likewise.
	* loop-init.c (loop_optimizer_finalize): Likewise.
	* loop-unswitch.c (unswitch_loop): Likewise.
	* tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.

	* cfgrtl.c: Update comments.
	(try_redirect_by_replacing_jump): New argument.
	(redirect_branch_edge): Break out from ...
	(rtl_redirect_edge_and_branch): ... this one.
	(update_cfg_after_block_merging): Break out from ...
	(rtl_merge_blocks): ... this one.
	(cfg_layout_split_edge): New.
	(cfg_layout_merge_blocks): New.
	(cfg_layout_can_merge_blocks_p): New.
	(cfg_layout_redirect_edge_and_branch): Reorganize.
	(cfg_layout_rtl_cfg_hooks): Fill in.
	(cfg_layout_delete_block): Kill barriers.
	* cfganal.c (can_fallthru): Deal with exit blocks
	* cfglayout.c (cfg_layout_function_header): New function
	(record_effective_endpoints): Record function header.
	(fixup_reorder_chain): Fixup dead jumptables; place header

	* basic-block.h (CLEANUP_CFGLAYOUT): New flag.
	* bb-reorder.c (cfg_layout_initialize): Update call.
	* cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
	edges in cfglayout mode.
	* cfglayout.c (cleanup_unconditional_jumps): Kill.
	(cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
	* cfglayout.h (cfg_layout_initialize): Update prototype.
	* cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
	* cfgloopmanip.c (loop_split_edge_with): Use split_edge.
	* flow.c (propagate_block): Do not crash when basic block ends
	by first insn in the chain.
	* loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
	do loop discovery.
	* tracer.c (tracer): Update call of cfg_layout_initialize.

From-SVN: r68899
2003-07-03 18:40:29 +00:00
Janis Johnson
9b269fc7bc compat-common.h (DEBUG_FINI): New.
* gcc.dg/compat/compat-common.h (DEBUG_FINI): New.
	* gcc.dg/compat/scalar-by-value-1_x.c: Use it.
	* gcc.dg/compat/scalar-by-value-2_x.c: Ditto.
	* gcc.dg/compat/scalar-by-value-3_x.c: Ditto.
	* gcc.dg/compat/scalar-by-value-4_x.c: Ditto.
	* gcc.dg/compat/scalar-return-1_x.c: Ditto.
	* gcc.dg/compat/scalar-return-2_x.c: Ditto.
	* gcc.dg/compat/scalar-return-3_x.c: Ditto.
	* gcc.dg/compat/scalar-return-4_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-10_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-11_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-12_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-13_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-14_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-15_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-16_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-17_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-18_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-2_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-3_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-4_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-5_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-6_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-7_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-8_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-9_x.c: Ditto.
	* gcc.dg/compat/struct-return-10_x.c: Ditto.
	* gcc.dg/compat/struct-return-2_x.c: Ditto.
	* gcc.dg/compat/struct-return-3_x.c: Ditto.

From-SVN: r68898
2003-07-03 18:31:59 +00:00
Kaveh R. Ghazi
dd220c49a6 Makefile.in: Use dependency variables in lieu of explicit files throughout.
* Makefile.in: Use dependency variables in lieu of explicit
	files throughout.

From-SVN: r68896
2003-07-03 18:22:27 +00:00
Mark Mitchell
8d245821a2 call.c (build_scoped_method_call): Use convert_to_void.
* call.c (build_scoped_method_call): Use convert_to_void.
	(build_method_call): Likewise.
	* class.c (check_field_decls): Remove dead code.
	* cvt.c (convert_from_reference): Remove OFFSET_TYPE handling.
	* decl2.c (grok_array_decl): Remove dead code.
	(arg_assoc_type): Avoid relying on POINTER_TYPE over OFFSET_TYPE
	as pointer-to-member representation.
	* init.c (build_offset_ref): Tidy.
	(build_vec_delete_1): Use convert_to_void.
	* mangle.c (write_type): Avoid relying on POINTER_TYPE over OFFSET_TYPE
	as pointer-to-member representation.

From-SVN: r68895
2003-07-03 18:13:44 +00:00