Compare commits

...

1748 Commits

Author SHA1 Message Date
Ian Lance Taylor
08c9b67abb flags.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Define.
./:	* flags.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Define.
	* fold-const.c (fold_overflow_warning): Remove assertion.
	(pointer_may_wrap_p): New static function.
	(fold_comparison): If appropriate, test
	POINTER_TYPE_OVERFLOW_UNDEFINED, and issue an overflow warning.
	(fold_binary): Test POINTER_TYPE_OVERFLOW_UNDEFINED when
	reassociating a pointer type.
	* doc/invoke.texi (Optimize Options): Document that
	-fstrict-overflow applies to pointer wraparound.
testsuite/:
	* gcc.dg/strict-overflow-6.c: New.
	* gcc.dg/no-strict-overflow-7.c: New.
	* gcc.dg/Wstrict-overflow-22.c: New.
	* gcc.c-torture/compile/20080419-1.c: New.
	* gcc.dg/tree-ssa/loop-17.c: Use -O2.

From-SVN: r135222
2008-05-12 18:04:51 +00:00
GCC Administrator
b757d0317c Daily bump.
From-SVN: r135198
2008-05-12 00:16:45 +00:00
Volker Reichelt
0e56a37c2a parser.c (cp_parser_omp_clause_reduction): Add missing "expected" in error message.
* parser.c (cp_parser_omp_clause_reduction): Add missing "expected"
	in error message.
	(cp_parser_omp_clause_schedule): Remove superfluous "expected"
	in error message.

From-SVN: r135186
2008-05-11 19:58:40 +00:00
Volker Reichelt
9ffa368db0 re PR c++/35578 (Error about misplaced 'friend' word is issued on a wrong line)
PR c++/35578
	* parser.c (cp_parser_decl_specifier_seq): Add location to error
	message.

	* g++.dg/parse/friend8.C: New test.

From-SVN: r135182
2008-05-11 19:35:20 +00:00
GCC Administrator
5cd95c9672 Daily bump.
From-SVN: r135166
2008-05-11 00:17:01 +00:00
GCC Administrator
01712c1faf Daily bump.
From-SVN: r135130
2008-05-10 00:16:54 +00:00
GCC Administrator
db18b960ce Daily bump.
From-SVN: r135099
2008-05-09 00:16:47 +00:00
GCC Administrator
722ae831b3 Daily bump.
From-SVN: r135062
2008-05-08 00:16:46 +00:00
GCC Administrator
c0d09cc0d6 Daily bump.
From-SVN: r135011
2008-05-07 00:16:52 +00:00
GCC Administrator
2dd7733fc1 Daily bump.
From-SVN: r134963
2008-05-06 00:17:01 +00:00
GCC Administrator
e4f8b95282 Daily bump.
From-SVN: r134938
2008-05-05 00:16:53 +00:00
GCC Administrator
8a2ca8aafb Daily bump.
From-SVN: r134922
2008-05-04 00:16:40 +00:00
GCC Administrator
37a2b49017 Daily bump.
From-SVN: r134893
2008-05-03 00:16:44 +00:00
Ralf Wildenhues
6580618712 re PR bootstrap/35169 (SIGSEGV for stack growth failure while building 4.2.3)
gcc/
	PR bootstrap/35169
	* optc-gen.awk: Work around HP-UX/IA awk bug.

From-SVN: r134881
2008-05-02 04:15:36 +00:00
GCC Administrator
fa9047c81d Daily bump.
From-SVN: r134872
2008-05-02 00:16:56 +00:00
Richard Guenther
4824acdd9f re PR middle-end/36093 (__align__ produces incorrect results in certain cases)
2008-05-01  Richard Guenther  <rguenther@suse.de>

	PR middle-end/36093
	Backport from mainline
	2007-04-12  Richard Guenther  <rguenther@suse.de>

        * gimplify.c (canonicalize_addr_expr): To be consistent with
        gimplify_compound_lval only set operands two and three of
        ARRAY_REFs if they are not gimple_min_invariant.  This makes
        it never at this place.
        * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.

	* gcc.c-torture/execute/pr36093.c: New testcase.

From-SVN: r134849
2008-05-01 11:15:32 +00:00
GCC Administrator
6d1efaedc7 Daily bump.
From-SVN: r134841
2008-05-01 00:16:58 +00:00
GCC Administrator
ff4dc954af Daily bump.
From-SVN: r134812
2008-04-30 00:17:11 +00:00
GCC Administrator
f05fe40fc5 Daily bump.
From-SVN: r134772
2008-04-29 00:17:00 +00:00
GCC Administrator
e604fa5518 Daily bump.
From-SVN: r134732
2008-04-28 00:16:50 +00:00
GCC Administrator
8c9ab4069b Daily bump.
From-SVN: r134719
2008-04-27 00:16:56 +00:00
GCC Administrator
6753408179 Daily bump.
From-SVN: r134687
2008-04-26 00:16:57 +00:00
GCC Administrator
b165361476 Daily bump.
From-SVN: r134652
2008-04-25 00:17:03 +00:00
GCC Administrator
2cf6cf7730 Daily bump.
From-SVN: r134609
2008-04-24 00:16:53 +00:00
GCC Administrator
d034fcbc5d Daily bump.
From-SVN: r134574
2008-04-23 00:16:52 +00:00
GCC Administrator
9e6b818187 Daily bump.
From-SVN: r134545
2008-04-22 00:16:58 +00:00
GCC Administrator
7aacd08627 Daily bump.
From-SVN: r134497
2008-04-21 00:16:49 +00:00
GCC Administrator
0fd916614f Daily bump.
From-SVN: r134477
2008-04-20 00:16:52 +00:00
GCC Administrator
ff6534f7f1 Daily bump.
From-SVN: r134454
2008-04-19 00:17:13 +00:00
GCC Administrator
832223dfb2 Daily bump.
From-SVN: r134416
2008-04-18 00:17:01 +00:00
Volker Reichelt
095629a675 parser.c (cp_parser_asm_specification_opt): Print CPP_CLOSE_PAREN as )', not as ('.
* parser.c (cp_parser_asm_specification_opt): Print CPP_CLOSE_PAREN
	as `)', not as `('.

From-SVN: r134410
2008-04-17 19:43:21 +00:00
Volker Reichelt
8141262005 re PR c/35744 (ICE attributes for invalid types)
PR c/35744
	* attribs.c (decl_attributes): Return early on errorneous node.

	* gcc.dg/attr-error-1.c: New test.

From-SVN: r134409
2008-04-17 19:41:50 +00:00
Volker Reichelt
f3f1dc19a8 re PR c/35436 (ICE with attribute "format")
PR c/35436
	* c-format.c (init_dynamic_gfc_info): Ignore invalid locus type.

	* gcc.dg/format/gcc_gfc-2.c: New test.

From-SVN: r134408
2008-04-17 19:40:03 +00:00
GCC Administrator
d480b5786f Daily bump.
From-SVN: r134370
2008-04-17 00:16:47 +00:00
GCC Administrator
12e6e95f7d Daily bump.
From-SVN: r134335
2008-04-16 00:16:40 +00:00
GCC Administrator
95377065ce Daily bump.
From-SVN: r134301
2008-04-15 00:16:51 +00:00
GCC Administrator
49123fa235 Daily bump.
From-SVN: r134247
2008-04-14 00:17:04 +00:00
GCC Administrator
62866ff403 Daily bump.
From-SVN: r134232
2008-04-13 00:16:52 +00:00
GCC Administrator
43e8c4ebf8 Daily bump.
From-SVN: r134211
2008-04-12 00:17:00 +00:00
GCC Administrator
2e16aedf65 Daily bump.
From-SVN: r134186
2008-04-11 00:16:50 +00:00
GCC Administrator
a787c045ab Daily bump.
From-SVN: r134155
2008-04-10 00:17:02 +00:00
GCC Administrator
f7ff1455b9 Daily bump.
From-SVN: r134118
2008-04-09 00:16:53 +00:00
Richard Guenther
97f33ffd0a re PR tree-optimization/35833 (Wrong code generated with -ftree-vrp)
2008-04-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/35833
	* tree-vrp.c (operand_less_p): Deal with non-INTEGER_CST
	results from fold_binary_to_constant.
	(compare_values_warnv): Likewise.

	* gcc.dg/torture/pr35833.c: New testcase.

From-SVN: r134111
2008-04-08 22:07:20 +00:00
GCC Administrator
afe6a36aec Daily bump.
From-SVN: r133996
2008-04-08 00:16:48 +00:00
GCC Administrator
7cf9b846fe Daily bump.
From-SVN: r133970
2008-04-07 00:16:53 +00:00
GCC Administrator
0f667ad9d5 Daily bump.
From-SVN: r133949
2008-04-06 00:16:56 +00:00
GCC Administrator
2adf53e7bc Daily bump.
From-SVN: r133922
2008-04-05 00:16:53 +00:00
Bob Wilson
04e4bf1f8d xtensa.c (xtensa_secondary_reload_class): Use a secondary input reload for subword loads from the constant pool.
* config/xtensa/xtensa.c (xtensa_secondary_reload_class): Use a
	secondary input reload for subword loads from the constant pool.

From-SVN: r133914
2008-04-04 21:07:50 +00:00
GCC Administrator
fd7be5c39d Daily bump.
From-SVN: r133883
2008-04-04 00:17:05 +00:00
GCC Administrator
1b0772afda Daily bump.
From-SVN: r133851
2008-04-03 00:16:49 +00:00
GCC Administrator
5264269c01 Daily bump.
From-SVN: r133810
2008-04-02 00:16:46 +00:00
Joseph Myers
1e1bdfd709 texi2pod.pl: Update from trunk.
contrib:
	* texi2pod.pl: Update from trunk.

gcc:
	* doc/include/gpl_v3.texi: Copy from trunk.
	* doc/gcc.texi, doc/gccint.texi: Include gpl_v3.texi instead of
	gpl.texi.
	* doc/sourcebuild.texi: Document gpl_v3.texi as well as gpl.texi.
	* Makefile.in (TEXI_GCC_FILES, TEXI_GCCINT_FILES): Include
	gpl_v3.texi instead of gpl.texi.
	(gpl.pod): New.

gcc/fortran:
	* gfortran.texi: Include gpl_v3.texi instead of gpl.texi
	* Make-lang.in (GFORTRAN_TEXI): Include gpl_v3.texi instead of
	gpl.texi.

gcc/java:
	* gcj.texi: Include gpl_v3.texi instead of gpl.texi
	* Make-lang.in (TEXI_JAVA_FILES): Include gpl_v3.texi instead of
	gpl.texi.

From-SVN: r133802
2008-04-01 22:26:19 +01:00
GCC Administrator
e722b81a37 Daily bump.
From-SVN: r133777
2008-04-01 00:16:51 +00:00
Laurent GUERBY
197aff794d norun.lst: Add c9a011b.
2008-04-01  Laurent GUERBY  <laurent@guerby.net>

        * ada/acats/norun.lst: Add c9a011b.

From-SVN: r133775
2008-03-31 23:32:55 +00:00
Andreas Krebbel
b63f6ca071 s390.c (s390_O_constraint_str): Limit the range for 'On' to -4G+1..-1.
2008-03-31  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_O_constraint_str): Limit the range
	for 'On' to -4G+1..-1.
	* config/s390/constraints.md: Adjust comment accordingly.

From-SVN: r133752
2008-03-31 11:32:41 +00:00
GCC Administrator
b17752e229 Daily bump.
From-SVN: r133742
2008-03-31 00:17:13 +00:00
GCC Administrator
feb99f1693 Daily bump.
From-SVN: r133724
2008-03-30 00:16:46 +00:00
GCC Administrator
0f692fc17c Daily bump.
From-SVN: r133705
2008-03-29 00:16:54 +00:00
GCC Administrator
182718982f Daily bump.
From-SVN: r133661
2008-03-28 00:16:38 +00:00
GCC Administrator
02b4ae4702 Daily bump.
From-SVN: r133626
2008-03-27 00:16:43 +00:00
GCC Administrator
8af8928011 Daily bump.
From-SVN: r133536
2008-03-26 00:16:48 +00:00
Maxim Kuvyrkov
0e7cf9c1ae backport: re PR middle-end/34688 ([4.1/4.2] ICE: output_operand: invalid expression as operand)
Backport from mainline:
	
	PR middle-end/34688
	* final.c (output_addr_const): Handle TRUNCATE.

	PR middle-end/34688
	* gcc.c-torture/compile/pr34688: New test.

From-SVN: r133521
2008-03-25 15:25:37 +00:00
Richard Guenther
5540fe2443 backport: re PR middle-end/35163 (folding comparison loses cast)
2008-03-25  Richard Guenther  <rguenther@suse.de>

        Backport from mainline:
        2008-02-12  Richard Guenther  <rguenther@suse.de>

        PR middle-end/35163
        * fold-const.c (fold_widened_comparison): Use get_unwidened in
        value-preserving mode.  Disallow final truncation.

        * gcc.c-torture/execute/pr35163.c: New testcase.

From-SVN: r133508
2008-03-25 10:14:15 +00:00
GCC Administrator
4359d01a8b Daily bump.
From-SVN: r133498
2008-03-25 00:17:20 +00:00
GCC Administrator
ff468145c5 Daily bump.
From-SVN: r133472
2008-03-24 00:16:50 +00:00
GCC Administrator
894384ec87 Daily bump.
From-SVN: r133456
2008-03-23 00:16:52 +00:00
GCC Administrator
bc57ee0110 Daily bump.
From-SVN: r133442
2008-03-22 00:16:42 +00:00
GCC Administrator
39236442c2 Daily bump.
From-SVN: r133407
2008-03-21 00:16:42 +00:00
GCC Administrator
b7d68a49ef Daily bump.
From-SVN: r133356
2008-03-20 00:17:08 +00:00
GCC Administrator
859a0b8cf7 Daily bump.
From-SVN: r133329
2008-03-19 00:17:02 +00:00
GCC Administrator
44b8b42c50 Daily bump.
From-SVN: r133295
2008-03-18 00:16:54 +00:00
GCC Administrator
efc68565ad Daily bump.
From-SVN: r133284
2008-03-17 00:16:53 +00:00
GCC Administrator
b6cf8e1190 Daily bump.
From-SVN: r133262
2008-03-16 00:17:09 +00:00
GCC Administrator
bad8487a71 Daily bump.
From-SVN: r133229
2008-03-15 00:19:00 +00:00
Joseph Myers
76ee1c0911 * rw.po: Remove.
From-SVN: r133215
2008-03-14 13:19:01 +00:00
Joseph Myers
ceb8127e92 * ca.po, rw.po: Remove.
From-SVN: r133213
2008-03-14 13:18:01 +00:00
GCC Administrator
cef97c4e5a Daily bump.
From-SVN: r133199
2008-03-14 00:18:26 +00:00
Kaveh R. Ghazi
72e392ee9b inclhack.def (solaris_math_10): New.
2008-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
	    Andreas Tobler  <a.tobler@schweiz.org>

	* inclhack.def (solaris_math_10): New.
	* tests/base/iso/math_c99.h: Update.
	* fixincl.x: Regenerate.

Co-Authored-By: Andreas Tobler <a.tobler@schweiz.org>

From-SVN: r133196
2008-03-13 22:28:10 +01:00
David Edelsohn
eac24895ef re PR target/34794 (build of gcc 4.2.2 fails on AIX 6.1 / libstdc++-v3/libmath/stubs.c:47)
2008-01-26  David Edelsohn  <edelsohn@gnu.org>

        PR target/34794
        * config.gcc: Separate AIX 5.3 from AIX 6.1.
        * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
        __LONGDOUBLE128 too.
        * config/rs6000/aix61.h: New file.

From-SVN: r133186
2008-03-13 15:11:43 -04:00
David Edelsohn
74284b0b75 shlibpath.m4: Add AIX 6 support.
2008-01-24  David Edelsohn  <edelsohn@gnu.org>

        * shlibpath.m4: Add AIX 6 support.
        * configure: Regenerate.

From-SVN: r133185
2008-03-13 15:08:16 -04:00
David Edelsohn
4db74ad1db backport: re PR target/34794 (build of gcc 4.2.2 fails on AIX 6.1 / libstdc++-v3/libmath/stubs.c:47)
Backport from mainline:
        2008-01-26  David Edelsohn  <edelsohn@gnu.org>

        PR target/34794
        * config/os/aix/os_defines.h: Define __COMPATMATH__.

From-SVN: r133184
2008-03-13 15:03:23 -04:00
David Edelsohn
8198d4c9a2 ltcf-c.sh: Add AIX 6 support.
* ltcf-c.sh: Add AIX 6 support.
        * ltcf-cxx.sh: Add AIX 6 support.
        * ltcf-gcj.sh: Add AIX 6 support.
        * ltconfig: Add AIX 6 support.

From-SVN: r133183
2008-03-13 14:59:29 -04:00
GCC Administrator
2858246c02 Daily bump.
From-SVN: r133156
2008-03-13 00:18:00 +00:00
John David Anglin
b7a6a61cd3 re PR target/35222 (EH output contains procedure label without P' selector)
PR target/35222
	* configure.ac (CONFIG_SJLJ_EXCEPTIONS): Force SJLJ exceptions
	on hpux10.
	* configure: Rebuilt.

From-SVN: r133131
2008-03-12 00:56:34 +00:00
GCC Administrator
af9129ca12 Daily bump.
From-SVN: r133127
2008-03-12 00:18:13 +00:00
Kaveh R. Ghazi
c5f787e026 re PR target/26149 (libgomp.c/ordered-2.c fails on x86_64-linux-gnu with -m32)
PR target/26149

	Backport:

	2007-03-18 Uros Bizjak <ubizjak@gmail.com>

	* testsuite/config/default.exp: New file.
	* testsuite/lib/libgomp.exp: New file.
	* testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
	libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
	load_lib *, load_gcc_lib *): Move to libgomp.exp.
	(libgomp_load): Remove.
	* testsuite/lib/libgomp.exp (libgomp_init): Compute
	always_ld_library_path, not ld_library_path. Set additional_flags
	to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
	(target_compile): Do not call libgomp_init. Append
	lang_library_path and lang_link_flags to options.
	* testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
	ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH here.
	* testsuite/libgomp.c++/c++.exp: Set ld_library_path from
	always_ld_library_path. Set LD_LIBRARY_PATH here.
	* testsuite/libgomp.fortran/fortran.exp: Ditto.
	* testsuite/libgomp.c/atomic-1.c: Set dg-options to
	"-O2 -march=pentium" for ilp32 x86 targets. Simplify check for CX8 flag.
	* testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
	* testsuite/libgomp.c/pr29947-1.c: Ditto.
	* testsuite/libgomp.c/atomic-10.c: Ditto.

	2007-03-22 Andreas Tobler <a.tobler@schweiz.org>

	* testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
	*-*-darwin*.
	* testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
	and use it if found.

	2007-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR testsuite/31369
	* testsuite/libgomp.c++/c++.exp: Don't use concat when setting
	ld_library_path.
	* testsuite/libgomp.fortran/fortran.exp: Likewise.

	2007-03-21  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
	dg-final cleanup-modules line.
	* testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
	* testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
	* testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
	* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
	* testsuite/libgomp.fortran/reduction5.f90: Likewise.
	* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
	* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.

	2007-10-25  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/33275
	* testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
	Make x and y integers rather than (implicit) reals.  Add private (j)
	clause to the last omp parallel.

From-SVN: r133114
2008-03-11 15:35:51 +00:00
GCC Administrator
3f0eda8084 Daily bump.
From-SVN: r133098
2008-03-11 00:17:00 +00:00
GCC Administrator
e5fc4df31a Daily bump.
From-SVN: r133068
2008-03-10 00:17:46 +00:00
Kaz Kojima
d6925f1b1d backport: re PR target/35225 (gcc segfaults when building GTK+ code with -O2 -fPIC for SH4)
Backport from mainline:
	PR target/35225
	* config/sh/sh.c (find_barrier): Don't go past 'from' argument.

From-SVN: r133066
2008-03-09 23:39:51 +00:00
Eric Botcazou
b9baa3ce05 frame_overflow.adb: Improve portability.
* gnat.dg/frame_overflow.adb: Improve portability.

From-SVN: r133056
2008-03-09 15:35:54 +00:00
GCC Administrator
5afafc1a9b Daily bump.
From-SVN: r133047
2008-03-09 00:18:29 +00:00
GCC Administrator
f624ffdc03 Daily bump.
From-SVN: r133019
2008-03-08 00:18:11 +00:00
Joseph Myers
436d4d09d0 * doc/include/texinfo.tex: Update to version 2008-03-07.10.
From-SVN: r133017
2008-03-07 22:56:12 +00:00
GCC Administrator
dba71b914c Daily bump.
From-SVN: r132996
2008-03-07 00:18:30 +00:00
Daniel Jacobowitz
e7d093b878 expmed.c (extract_bit_field): Always use adjust_address for MEM.
* expmed.c (extract_bit_field): Always use adjust_address for MEM.

	* gcc.c-torture/execute/20080222-1.c: New test.

From-SVN: r132990
2008-03-06 20:26:48 +00:00
GCC Administrator
8929de9758 Daily bump.
From-SVN: r132958
2008-03-06 00:17:39 +00:00
Kaveh R. Ghazi
b25d7b129c Backport:
2007-09-27  Matthias Klose  <doko@ubuntu.com>

	* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
	multilib osdirname if it exists.
	* config/rs6000/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.

From-SVN: r132904
2008-03-05 17:25:28 +00:00
GCC Administrator
253c3eaebf Daily bump.
From-SVN: r132879
2008-03-05 00:16:42 +00:00
GCC Administrator
48f18ec261 Daily bump.
From-SVN: r132848
2008-03-04 00:16:41 +00:00
Uros Bizjak
2bf3f7e019 vect-99.c: Include stdlib.h and tree-vect.h.
* gcc.dg/vect/vect-99.c: Include stdlib.h and tree-vect.h.
        (main): Call check_vect and foo.  Check array values after
        the call to foo.

From-SVN: r132833
2008-03-03 08:39:58 +01:00
GCC Administrator
1b50f67276 Daily bump.
From-SVN: r132826
2008-03-03 00:17:07 +00:00
GCC Administrator
e6c15fde2e Daily bump.
From-SVN: r132810
2008-03-02 00:16:51 +00:00
GCC Administrator
7f5f6f2f69 Daily bump.
From-SVN: r132787
2008-03-01 00:17:23 +00:00
GCC Administrator
54592e0680 Daily bump.
From-SVN: r132759
2008-02-29 00:16:53 +00:00
Uros Bizjak
26a204f072 fail8-frag.c: Adjust scan pattern for mudflap dead object.
* testsuite/libmudflap.c/fail8-frag.c: Adjust scan pattern for
	mudflap dead object.
	* testsuite/libmudflap.c/fail9-frag.c: Ditto.

From-SVN: r132741
2008-02-28 11:07:49 +01:00
GCC Administrator
058eac7b5a Daily bump.
From-SVN: r132732
2008-02-28 00:16:58 +00:00
GCC Administrator
30408d83b5 Daily bump.
From-SVN: r132696
2008-02-27 00:17:06 +00:00
Kaveh R. Ghazi
a9782409fd Backport:
2007-03-24  Uros Bizjak  <ubizjak@gmail.com>
	
	* testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
	Use 'volatile float sum' to create sum of floats to avoid false
	negative due to excess precision on ix86 targets.
	(main): Ditto.

From-SVN: r132686
2008-02-26 21:54:30 +00:00
GCC Administrator
015a76860f Daily bump.
From-SVN: r132657
2008-02-26 00:16:56 +00:00
Uros Bizjak
77351cc20c sse-18.c: Pass if CPU has no SSE2 support.
* gcc.target/i386/sse-18.c: Pass if CPU has no SSE2 support.

From-SVN: r132627
2008-02-25 16:00:14 +01:00
Jan Beulich
a7a5878baa netware-libgcc.exp: Add _Unwind_GetIPInfo.
gcc/
2008-02-25  Jan Beulich  <jbeulich@novell.com>

	* config/i386/netware-libgcc.exp: Add _Unwind_GetIPInfo.

From-SVN: r132626
2008-02-25 14:59:05 +00:00
GCC Administrator
b7bf1f37dd Daily bump.
From-SVN: r132605
2008-02-25 00:16:58 +00:00
GCC Administrator
c959da79ab Daily bump.
From-SVN: r132580
2008-02-24 00:17:04 +00:00
GCC Administrator
c945071380 Daily bump.
From-SVN: r132562
2008-02-23 00:16:33 +00:00
GCC Administrator
eb0732fad9 Daily bump.
From-SVN: r132533
2008-02-22 00:17:13 +00:00
Ralf Wildenhues
c36127c69e re PR bootstrap/35273 (Bootstrap of mingw32 using non-MSYS shell broken)
PR bootstrap/35273
* config.build (build_file_translate): Set to `CMD //c' only if
it works.
* Makefile.in (build_file_translate): Improve comment.

From-SVN: r132530
2008-02-21 20:05:11 +00:00
GCC Administrator
9951694326 Daily bump.
From-SVN: r132505
2008-02-21 00:16:53 +00:00
Ralf Wildenhues
2c886b8d14 re PR ada/15479 (Ada manual problems)
gcc/ada/:
PR documentation/15479
* gnat_ugn.texi: In non-code, avoid space before colon.
(Regular Expressions in gnatfind and gnatxref): Fix indentation.
(Examples of gnatxref Usage): Use @command{vi} instead of
@file{vi}.
(Character Set Control): Do not use @code for UTF-8.
(Validity Checking): Fix typo "NaNs" instead of "NaN's".  Do not
use @code for IEEE.
* gnat_rm.texi (Aggregates with static bounds): Fix typo in code
sample.
* gnat_rm.texi, gnat_ugn.texi: Fix typos.  Bump copyright years.

From-SVN: r132493
2008-02-20 19:48:55 +00:00
Richard Guenther
8424c07389 re PR middle-end/35265 (__builtin_popcount expansion bug)
2008-02-20  Richard Guenther  <rguenther@suse.de>

	PR middle-end/35265
	* builtins.c (validate_arg): If we want an INTEGER_TYPE,
	be happy with INTEGRAL_TYPE_P.

	* gcc.dg/builtins-66.c: New testcase.

From-SVN: r132487
2008-02-20 17:33:07 +00:00
Jason Merrill
bb78d95d3a re PR c++/34950 (ICE in svn boost math toolkit)
PR c++/34950
        * pt.c (resolve_overloaded_unification): Set processing_template_decl
        while we look for possible bindings.

From-SVN: r132470
2008-02-19 23:47:47 -05:00
GCC Administrator
7ea26a90db Daily bump.
From-SVN: r132459
2008-02-20 00:16:42 +00:00
Ralf Wildenhues
28f7c1ccc6 re PR bootstrap/35218 (build fails on mingw host)
PR bootstrap/35218
* Makefile.in (build_file_translate): New.
(gcc-vers.texi): Use it for translating $(abs_srcdir).
* config.build (build_file_translate): Set to `CMD //c' on MinGW.
* configure.ac (build_file_translate): Substitute it.
* configure: Regenerate.

From-SVN: r132445
2008-02-19 19:47:12 +00:00
GCC Administrator
fde1a05130 Daily bump.
From-SVN: r132399
2008-02-19 00:16:57 +00:00
GCC Administrator
a28183abf2 Daily bump.
From-SVN: r132386
2008-02-18 00:17:01 +00:00
GCC Administrator
2bd20743b4 Daily bump.
From-SVN: r132374
2008-02-17 00:17:01 +00:00
Manuel López-Ibáñez
e0c10f0de4 re PR c/28368 (-std=c89 doesn't warn about gcc's "?:" extension)
2008-02-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c/28368
	* doc/invoke.texi (-std): Clarify description of -std= and -ansi.

From-SVN: r132368
2008-02-16 18:15:20 +00:00
Kaveh R. Ghazi
21f28ed487 ivopts-1.C: Remove x86 XFAILs.
* g++.dg/tree-ssa/ivopts-1.C: Remove x86 XFAILs.

From-SVN: r132360
2008-02-16 01:47:00 +00:00
GCC Administrator
1719376e78 Daily bump.
From-SVN: r132357
2008-02-16 00:16:57 +00:00
GCC Administrator
e9ace9680c Daily bump.
From-SVN: r132327
2008-02-15 00:16:57 +00:00
Kaveh R. Ghazi
697bb8dbef 14320-1.cc: Check for "long long" and remove XFAIL.
* testsuite/27_io/fpos/14320-1.cc: Check for "long long" and
	remove XFAIL.

From-SVN: r132325
2008-02-15 00:12:02 +00:00
GCC Administrator
0227d1d371 Daily bump.
From-SVN: r132307
2008-02-14 00:16:52 +00:00
Alan Modra
40dc8882de re PR target/34393 (ICE: in extract_insn, at recog.c:1990)
PR target/34393
	* config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
	to a reg.

From-SVN: r132306
2008-02-14 10:46:29 +10:30
Ralf Wildenhues
7a8151737c re PR other/35148 (make pdf has missing file in 4.3-20080208)
PR other/35148
* Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
srcdir.

From-SVN: r132296
2008-02-13 20:25:47 +00:00
Jason Merrill
dcf254c3a4 re PR c++/34774 (templates, enumerations, overflow, ice)
PR c++/34774
        * pt.c (value_dependent_expression_p): Look into DECL_INITIAL
        of enumerators, too.

From-SVN: r132292
2008-02-13 13:43:34 -05:00
Manuel López-Ibáñez
fb3d7f508a re PR middle-end/29673 (no -fdump-tree-inlined output)
2008-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

        PR 29673
	* doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
	Add -fdump-ipa-inline.

From-SVN: r132285
2008-02-13 11:41:23 +00:00
GCC Administrator
2830203714 Daily bump.
From-SVN: r132279
2008-02-13 00:16:52 +00:00
Kaveh R. Ghazi
4de7841d3a bitfield-1.mm: Expect failures.
* obj-c++.dg/bitfield-1.mm: Expect failures.
	* obj-c++.dg/bitfield-4.mm: Likewise.
	* obj-c++.dg/cxx-ivars-2.mm: Likewise.
	* obj-c++.dg/encode-8.mm: Likewise.
	* obj-c++.dg/isa-field-1.mm: Likewise.
	* obj-c++.dg/layout-1.mm: Likewise.
	* obj-c++.dg/lookup-2.mm: Likewise.
	* obj-c++.dg/try-catch-2.mm: Likewise.
	* obj-c++.dg/try-catch-9.mm: Likewise.

From-SVN: r132272
2008-02-12 21:32:42 +00:00
Kaveh R. Ghazi
eda3ef56f3 re PR objc++/34193 (FAIL: obj-c++.dg/gnu-runtime-2.mm (test for excess errors))
PR objc++/34193
	* obj-c++.dg/gnu-runtime-2.mm: Fix signature of function main().

From-SVN: r132271
2008-02-12 21:31:21 +00:00
Jason Merrill
d700d4de87 re PR c++/34094 (Undefined static data member in anonymous namespace can acquire a definition anyway)
PR c++/34094
        * decl2.c (cp_write_global_declarations): Don't write out static
        data members with DECL_IN_AGGR_P set.

        PR c++/33916
        * Revert:
        2006-10-17  Mark Mitchell  <mark@codesourcery.com>
        PR c++/29039
        * typeck2.c (build_functional_cast): Don't zero-initialize
        non-PODs; instead, call their constructors.

From-SVN: r132254
2008-02-12 01:37:34 -05:00
GCC Administrator
f7b5e0776e Daily bump.
From-SVN: r132246
2008-02-12 00:16:54 +00:00
Ismail Dönmez
1846f0b341 inclhack.def: (bsd_stdio_attrs_conflict...
2008-02-10  Ismail Dönmez  <ismail@pardus.org.tr>

	* inclhack.def: (bsd_stdio_attrs_conflict, freebsd_gcc3_breakage,
	freebsd_gcc4_breakage, hpux11_abs, netbsd_extra_semicolon):  Add
	quotes around mach entries.
	* fixincl.x: Regenerate with latest autogen (5.9.4), updating license
	to GPLv3.

From-SVN: r132233
2008-02-11 04:19:00 +00:00
GCC Administrator
1c4f6f8dbf Daily bump.
From-SVN: r132229
2008-02-11 00:16:48 +00:00
H.J. Lu
3477ac418a backport: re PR target/31868 (Non-Linux DWARF EH x86-64 targets have broken crtend.o)
2008-02-10  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2007-08-06  H.J. Lu  <hongjiu.lu@intel.com>
		    Daniel Jacobowitz  <dan@codesourcery.com>

	PR target/31868
	* config.gcc (x86_64-*-freebsd*): Add i386/t-crtstuff to
	tmake_file.
	(x86_64-*-netbsd*): Likewise.
	(x86_64-*-linux*): Likewise.
	(x86_64-*-kfreebsd*-gnu): Likewise.
	(x86_64-*-knetbsd*-gnu): Likewise.
	(i[34567]86-*-solaris2.1[0-9]*): Likewise.

	* config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Removed.

	* config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Update comments.
	Add -fno-asynchronous-unwind-tables.

	* config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
	* config/t-libc-ok (CRTSTUFF_T_CFLAGS_S): Likewise.
	* config/t-lynx (CRTSTUFF_T_CFLAGS_S): Likewise.
	* config/t-netbsd (CRTSTUFF_T_CFLAGS_S): Likewise.
	* config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Likewise.

From-SVN: r132222
2008-02-10 14:25:24 -08:00
GCC Administrator
5774078324 Daily bump.
From-SVN: r132207
2008-02-10 00:16:54 +00:00
John David Anglin
a6f0ee0821 PR middle_end/34150
* pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
	pic_label_operand source.  Similarly, add a REG_LABEL note and
	update LABEL_NUSES during and after reload.

From-SVN: r132204
2008-02-09 20:42:17 +00:00
John David Anglin
675bb06dd3 Add missing '*' to log entry.
From-SVN: r132201
2008-02-09 14:53:27 +00:00
Steven Bosscher
d522121a5c re PR middle-end/34627 (Incorrect branching with -Ox on hppa)
PR middle-end/34627
	combine.c (simplify_if_then_else): Make sure the comparison is
	against const0_rtx when simplifying to (abs x) or (neg (abs X)).

From-SVN: r132194
2008-02-09 00:34:19 +00:00
GCC Administrator
e73173c452 Daily bump.
From-SVN: r132190
2008-02-09 00:17:00 +00:00
GCC Administrator
59de03ece4 Daily bump.
From-SVN: r132179
2008-02-08 00:16:53 +00:00
Richard Henderson
86d4776115 re PR rtl-optimization/33410 (ICE in iv_analyze_expr, at loop-iv.c:934)
PR rtl-opt/33410
        * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
        EXPR_LIST for the REG_EQUAL instead of a comparison with a 
        funny mode.

From-SVN: r132176
2008-02-07 13:58:42 -08:00
Manuel López-Ibáñez
7bcd17eeaf re PR other/32754 (The opt?-gen.awk file generators produce incorrect credits)
2008-02-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR other/32754
	* doc/options.texi (Options): Replace references to opts.sh with
	optc-gen.awk.
	* opts-common.c: Likewise.
	* optc-gen.awk: Likewise.
	* opth-gen.awk: Replace reference to opts.sh with
	opth-gen.awk.

From-SVN: r132175
2008-02-07 20:48:24 +00:00
Ralf Corsepius
27a6aba410 t-rtems (MULTILIB_OPTIONS, [...]): Add -m528x, -m5307, -m5407, -mcfv4e multilibs.
2008-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>

	* config/m68k/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS,
	MULTILIB_MATCHES): Add -m528x, -m5307, -m5407, -mcfv4e multilibs.

From-SVN: r132169
2008-02-07 17:21:51 +01:00
John David Anglin
fb7e15ca6a ivopts-1.C: Remove xfails for hppa*-*-*.
* g++.dg/tree-ssa/ivopts-1.C: Remove xfails for hppa*-*-*.

From-SVN: r132166
2008-02-07 00:29:55 +00:00
GCC Administrator
70cce538d2 Daily bump.
From-SVN: r132163
2008-02-07 00:16:41 +00:00
Ralf Corsepius
752e5115e4 rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add builtin_define ("__USE_INIT_FINI__").
2008-02-06  Ralf Corsepius  <ralf.corsepius@rtems.org>

	* config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add 
	builtin_define ("__USE_INIT_FINI__").
	* config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
	-msx multilibs.

From-SVN: r132142
2008-02-06 08:34:30 +01:00
Ralf Corsepius
b934581c08 gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
2008-02-06  Ralf Corsepius  <ralf.corsepius@rtems.org>

	* gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.

From-SVN: r132139
2008-02-06 04:39:18 +01:00
GCC Administrator
01be2ba8b2 Daily bump.
From-SVN: r132133
2008-02-06 00:16:57 +00:00
Richard Guenther
a9b2074047 backport: re PR tree-optimization/34825 (ICE with -funsafe-math-optimizations)
2008-05-02  Richard Guenther  <rguenther@suse.de>

        Backport from mainline:
        2008-01-17  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/34825
        * tree-ssa-math-opts.c (is_division_by): Do not recognize
        x / x as division to handle.

        * gcc.dg/pr34825.c: New testcase.

From-SVN: r132119
2008-02-05 12:31:50 +00:00
Richard Guenther
be56cf339f backport: re PR c++/33819 (Miscompiled shift of C++ bitfield)
2008-02-05  Richard Guenther  <rguenther@suse.de>

        Backport from mainline:
        2008-01-16  Richard Guenther  <rguenther@suse.de>

        PR c++/33819
        * typeck.c (is_bitfield_expr_with_lowered_type): Recurse
        for conversions to type variants.

        * g++.dg/torture/pr33819.C: New testcase.

From-SVN: r132118
2008-02-05 12:26:53 +00:00
Joseph Myers
80ebc5304b * doc/include/texinfo.tex: Update to version 2008-02-04.16.
From-SVN: r132117
2008-02-05 12:24:48 +00:00
GCC Administrator
6187cad78a Daily bump.
From-SVN: r132107
2008-02-05 00:17:00 +00:00
Daniel Franke
b5a61848ec where_operator_assign_4.f90: Fix typo in error message to match.
2008-02-04  Daniel Franke  <franke.daniel@gmail.com>

        * gfortran.dg/where_operator_assign_4.f90: Fix typo in error message
        to match.

From-SVN: r132103
2008-02-04 17:37:07 -05:00
Daniel Franke
de82624b1b resolve.c (resolve_where): Fix Typo in error message.
2008-02-04  Daniel Franke  <franke.daniel@gmail.com>

	* resolve.c (resolve_where): Fix Typo in error message.

From-SVN: r132100
2008-02-04 17:32:34 -05:00
Richard Guenther
f59a43f731 re PR middle-end/33631 (auto structure not initialized correctly)
2008-02-04  Richard Guenther  <rguenther@suse.de>

	PR middle-end/33631
	* expr.c (count_type_elements): Give for unions instead of
	guessing.

	* gcc.c-torture/execute/pr33631.c: New testcase.

From-SVN: r132097
2008-02-04 22:03:09 +00:00
Daniel Franke
b27eea4839 backport: re PR fortran/34661 (ice on where / ASSIGNMENT(=))
gcc/fortran:
2008-02-04  Daniel Franke  <franke.daniel@gmail.com>

        Backport from trunk:
        2008-01-25  Daniel Franke  <franke.daniel@gmail.com>
        PR fortran/34661
        * resolve.c (resolve_where): Added check if user-defined
        assignment operator is an elemental subroutine.

gcc/testsuite:
2008-02-04  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/34661
	* gfortran.dg/where_operator_assign_4.f90: New test.

From-SVN: r132094
2008-02-04 15:37:12 -05:00
Andreas Krebbel
944cf28731 fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange the overflow check to make it easier to read.
2008-02-04  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
	the overflow check to make it easier to read.
	(__fixtfdi): Change the type of the ll member in union
	long_double to UDItype_x.

2008-02-04  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/tf_to_di-1.c: New testcase.

From-SVN: r132089
2008-02-04 09:20:45 +00:00
GCC Administrator
3a40387f64 Daily bump.
From-SVN: r132084
2008-02-04 00:17:02 +00:00
John David Anglin
8e46899872 ChangeLog: Add missed log entry.
* ChangeLog: Add missed log entry.

From-SVN: r132081
2008-02-03 19:53:09 +00:00
GCC Administrator
00564de53f Daily bump.
From-SVN: r132075
2008-02-03 00:17:04 +00:00
Richard Henderson
09d9f9fa00 re PR c/34993 (ICE with attribute for array with unknown bound)
PR c/34993
        * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
        for unbounded arrays.

From-SVN: r132073
2008-02-02 12:42:10 -08:00
Richard Sandiford
0f77af16eb Add PR 34900 to CL for PR 31388
From-SVN: r132068
2008-02-02 10:01:38 +00:00
Richard Sandiford
5e75160e52 re PR target/34981 (Lazily-bound function called twice)
gcc/
	PR target/34981
	* config/mips/mips-protos.h (mips_expand_call): Return an rtx.
	(build_mips16_call_stub): Likewise.
	* config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
	to GOT_VERSION_REGNUM.
	(CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
	(EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_ABICALLS.
	* config/mips/mips.c (mips_emit_call_insn): New function.
	(mips_call_tls_get_addr): Call mips_expand_call directly.
	(mips_expand_call): Update the call to build_mips16_call_stub
	and remove a redundant condition.  Assert that MIPS16 stubs do not
	use lazy binding.  Use mips_emit_call_insn and return the call insn.
	(override_options): Allow SImode for GOT_VERSION_REGNUM.
	(build_mips16_call_stub): Use mips_emit_call_insn rather than
	emit_call_insn.  Return the call insn or null.
	(mips_avoid_hazard): Remove hazard_set handling.
	(mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
	TARGET_ABICALLS.
	* config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
	(UNSPEC_RESTORE_GP): ...this.
	(UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
	(FAKE_CALL_REGNO): Rename to...
	(GOT_VERSION_REGNUM): ...this.
	(type): Add "ghost" value.  Add an associated insn reservation.
	(hazard_set): Remove.
	(exception_receiver): Rename to...
	(restore_gp): ...this and update the unspec identifier accordingly.
	(exception_receiver, nonlocal_got_receiver): New expanders.
	(load_call<mode>): Use GOT_VERSION_REGNUM.  Don't set
	FAKE_CALL_REGNO.  Remove hazard_set attribute.
	(set_got_version, update_got_version): New patterns.

gcc/testsuite/
	PR target/34981
	* gcc.target/mips/lazy-binding-1.c: New test.
	* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_abi,
	mips_forced_gp, mips_forced_no_abicalls, mips_forced_no_shared
	and mips_forced_no_er.
	(dg-mips-options): Avoid using -mips16 -mhard-float for ABIs
	other than o32 and o64.  Avoid using -mabicalls with an implicit
	-mabi=eabi.  Avoid using small data with -mabicalls.  Skip
	-mabi=*, -G*, -mabicalls, -mshared and -mexplicit-relocs tests
	if the multilib forces the an incompatible option.

From-SVN: r132067
2008-02-02 09:55:42 +00:00
Richard Sandiford
0e2271bb1b re PR target/31388 (ICE building libiberty multilib for mips16 multilibs)
gcc/
	PR target/31388
	* config/mips/mips.md (load_const_gp_<mode>): New insns.
	* config/mips/mips.c (gen_load_const_gp): New function.
	(mips_split_symbol): Avoid using or creating the MIPS16 GP
	pseudo register if no_new_pseudos.
	(mips16_gp_pseudo_reg): Use gen_load_const_gp.

From-SVN: r132066
2008-02-02 09:44:21 +00:00
Kaveh R. Ghazi
d786f0d1d8 Backport:
2007-08-02  Nathan Froyd  <froydnj@codesourcery.com>

	PR middle-end/25445
	* varasm.c (default_binds_local_p_1): Consult flag_whole_program
	if we are compiling with -fPIC.

From-SVN: r132060
2008-02-02 01:42:03 +00:00
GCC Administrator
e5aee5f54e Daily bump.
From-SVN: r132056
2008-02-02 00:16:41 +00:00
Joseph Myers
1c559c8f10 BASE-VER: Bump.
* BASE-VER: Bump.
	* DEV-PHASE: Mark as prerelease.

From-SVN: r132054
2008-02-01 23:57:53 +00:00
Joseph Myers
413cfcdb1b Mark as release
From-SVN: r132045
2008-02-01 16:54:56 +00:00
Joseph Myers
29437a42db Mark ChangeLog
From-SVN: r132044
2008-02-01 16:54:49 +00:00
Joseph Myers
c3ef731371 Mark ChangeLog
From-SVN: r132043
2008-02-01 16:54:41 +00:00
Joseph Myers
a1ff28147f Mark ChangeLog
From-SVN: r132042
2008-02-01 16:54:33 +00:00
Joseph Myers
ddb28fb1f5 Mark ChangeLog
From-SVN: r132041
2008-02-01 16:54:25 +00:00
Joseph Myers
c8097fb998 Mark ChangeLog
From-SVN: r132040
2008-02-01 16:54:20 +00:00
Joseph Myers
f4ff3642a1 Mark ChangeLog
From-SVN: r132039
2008-02-01 16:54:11 +00:00
Joseph Myers
5f23212fa6 Mark ChangeLog
From-SVN: r132038
2008-02-01 16:54:05 +00:00
Joseph Myers
c04c22df94 Mark ChangeLog
From-SVN: r132037
2008-02-01 16:53:59 +00:00
Joseph Myers
56b02e33c3 Mark ChangeLog
From-SVN: r132036
2008-02-01 16:53:53 +00:00
Joseph Myers
976ad30a9b Mark ChangeLog
From-SVN: r132035
2008-02-01 16:53:49 +00:00
Joseph Myers
09cab3098f Mark ChangeLog
From-SVN: r132034
2008-02-01 16:53:41 +00:00
Joseph Myers
f1a379e157 Mark ChangeLog
From-SVN: r132033
2008-02-01 16:53:35 +00:00
Joseph Myers
4208765c22 Mark ChangeLog
From-SVN: r132032
2008-02-01 16:53:23 +00:00
Joseph Myers
a0e4eb3ba2 Mark ChangeLog
From-SVN: r132031
2008-02-01 16:53:13 +00:00
Joseph Myers
1a944ba075 Mark ChangeLog
From-SVN: r132030
2008-02-01 16:53:05 +00:00
Joseph Myers
280f64cab0 Mark ChangeLog
From-SVN: r132029
2008-02-01 16:52:55 +00:00
Joseph Myers
c904891ca4 Mark ChangeLog
From-SVN: r132028
2008-02-01 16:52:49 +00:00
Joseph Myers
2639b6ad9d Mark ChangeLog
From-SVN: r132027
2008-02-01 16:52:43 +00:00
Joseph Myers
77cdaca722 Mark ChangeLog
From-SVN: r132026
2008-02-01 16:52:38 +00:00
Joseph Myers
b3c585060d Mark ChangeLog
From-SVN: r132025
2008-02-01 16:52:35 +00:00
Joseph Myers
16bb5680a7 Mark ChangeLog
From-SVN: r132024
2008-02-01 16:52:32 +00:00
Joseph Myers
144b4fbb2d Mark ChangeLog
From-SVN: r132023
2008-02-01 16:52:28 +00:00
Joseph Myers
ba6b9820d6 Mark ChangeLog
From-SVN: r132022
2008-02-01 16:52:23 +00:00
Joseph Myers
fbd308f34e Mark ChangeLog
From-SVN: r132021
2008-02-01 16:52:19 +00:00
Joseph Myers
8c0aadd922 Mark ChangeLog
From-SVN: r132020
2008-02-01 16:52:15 +00:00
Joseph Myers
0df6feb9eb Mark ChangeLog
From-SVN: r132019
2008-02-01 16:52:11 +00:00
Joseph Myers
675ef3d351 Mark ChangeLog
From-SVN: r132018
2008-02-01 16:52:07 +00:00
Joseph Myers
5252e01dc2 Mark ChangeLog
From-SVN: r132017
2008-02-01 16:52:03 +00:00
Joseph Myers
2b763a9250 Mark ChangeLog
From-SVN: r132016
2008-02-01 16:52:00 +00:00
Joseph Myers
e0e8c2c571 Mark ChangeLog
From-SVN: r132015
2008-02-01 16:51:56 +00:00
Joseph Myers
fe55a8ee7b Mark ChangeLog
From-SVN: r132014
2008-02-01 16:51:52 +00:00
Joseph Myers
00384fc9dd Mark ChangeLog
From-SVN: r132013
2008-02-01 16:51:49 +00:00
Joseph Myers
8baf371e5b Mark ChangeLog
From-SVN: r132012
2008-02-01 16:51:45 +00:00
Joseph Myers
ddcc405884 Mark ChangeLog
From-SVN: r132011
2008-02-01 16:51:39 +00:00
Joseph Myers
b3a1705edc Mark ChangeLog
From-SVN: r132010
2008-02-01 16:51:34 +00:00
Joseph Myers
45f7303fb2 Mark ChangeLog
From-SVN: r132009
2008-02-01 16:51:25 +00:00
Joseph Myers
973f241dbb Mark ChangeLog
From-SVN: r132008
2008-02-01 16:51:22 +00:00
Joseph Myers
232d0ca6cc Mark ChangeLog
From-SVN: r132007
2008-02-01 16:51:19 +00:00
Joseph Myers
a9a9b39555 Mark ChangeLog
From-SVN: r132006
2008-02-01 16:51:15 +00:00
Joseph Myers
09f2935168 * gcc.pot: Regenerate.
From-SVN: r132003
2008-02-01 16:39:45 +00:00
Andrew Pinski
0b5be643e9 re PR c/29326 (__builtin_trap is not documented)
PR c/29326
	* doc/extend.texi (Other Builtins): Document.

Co-Authored-By: Ben Elliston <bje@au.ibm.com>
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r131995
2008-02-01 12:40:49 +11:00
GCC Administrator
1508751683 Daily bump.
From-SVN: r131992
2008-02-01 00:17:01 +00:00
John David Anglin
8c895b8336 compile: Make executable.
* compile: Make executable.

From-SVN: r131989
2008-02-01 00:08:04 +00:00
Manuel López-Ibáñez
53e3ebbe85 invoke.texi (-ansi): Mention explicitly corresponding -std= options.
2008-01-31  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
	options. Minor fixes.
	(-std): Move reference to standards closer to where language
	standards are first mentioned.

From-SVN: r131981
2008-01-31 18:40:58 +00:00
GCC Administrator
34e165b0e0 Daily bump.
From-SVN: r131972
2008-01-31 00:16:51 +00:00
GCC Administrator
e5ebf4470f Daily bump.
From-SVN: r131948
2008-01-30 00:17:10 +00:00
Jason Merrill
12eeb948e4 re PR c++/35007 (Firefox fails to build with affentry.cpp:94: error: ISO C++ forbids subscripting non-lvalue array)
PR c++/35007
        * class.c (build_base_path): Fix !want_pointer case.

From-SVN: r131932
2008-01-29 00:52:13 -05:00
GCC Administrator
75ab7544d2 Daily bump.
From-SVN: r131927
2008-01-29 00:17:08 +00:00
Joseph Myers
6ff1e217f9 gcc_release (build_sources): Pass --disable-multilib to gcc_build.
* gcc_release (build_sources): Pass --disable-multilib to
	gcc_build.
	(SVN): Don't use full path.

From-SVN: r131909
2008-01-28 16:39:16 +00:00
Jason Merrill
c5a67b3b8b re PR c++/27177 (ICE in build_simple_base_path, at cp/class.c:474)
PR c++/27177
        * class.c (build_base_path): Fix previous change.

        PR c++/27177
        * class.c (build_base_path): Don't mess with virtual access if
        skip_evaluation.
        * call.c (standard_conversion): Don't check whether source type
        is complete.

From-SVN: r131905
2008-01-28 11:18:56 -05:00
GCC Administrator
b068a4773b Daily bump.
From-SVN: r131895
2008-01-28 00:16:53 +00:00
Manuel López-Ibáñez
8fc04c7106 re PR c/32102 (-Wall stomps on -Wstrict-overflow)
2008-01-27  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR 32102
	* flags.h (warn_strict_aliasing): Remove.
	(warn_strict_overflow): Remove.
	* opts.c (warn_strict_aliasing): Remove.
	(warn_strict_overflow): Remove.
	* c-opts.c (c_common_handle_option): -Wall only sets
	-Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
	(c_common_post_options): Give default values to -Wstrict-aliasing
	and -Wstrict-overflow if they are uninitialized.
	* common.opt (Wstrict-aliasing): Specify Var and Init.
	(Wstrict-overflow): Likewise.

testsuite/
	* gcc.dg/Wstrict-overflow-21.c: New.
	* g++.dg/warn/Wstrict-aliasing-8.C: New.

From-SVN: r131887
2008-01-27 18:36:59 +00:00
GCC Administrator
1cb8ed9dcc Daily bump.
From-SVN: r131880
2008-01-27 00:16:56 +00:00
Kaveh R. Ghazi
9729e4120d pr29254.c (func1): Mark static when pic.
* gcc.dg/pr29254.c (func1): Mark static when pic.

From-SVN: r131856
2008-01-26 03:52:32 +00:00
GCC Administrator
52c3b32288 Daily bump.
From-SVN: r131852
2008-01-26 00:16:57 +00:00
Joseph Myers
6afafc932c re PR other/31955 (gcc_release does not generate HTML files from install manual)
PR other/31955
	* doc/install.texi2html: Generate gcc-vers.texi.

From-SVN: r131843
2008-01-25 21:36:51 +00:00
GCC Administrator
0183ce44aa Daily bump.
From-SVN: r131813
2008-01-25 00:17:13 +00:00
Kaveh R. Ghazi
07b78b8f89 backport: re PR tree-optimization/33826 (GCC generates wrong code for infinitely recursive functions)
Backport:
	2008-01-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* gcc.dg/pr33826.c: Require nonpic.
	
	2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
	
	PR middle-end/33826
	* ipa-pure-const (static_execute): Added code to keep recursive
	functions from being marked as pure or const.
	* ipa-utils (searchc): Fixed comment.
	
	2007-11-08  Kenneth Zadeck <zadeck@naturalbridge.com>
	
	PR middle-end/33826
	* gcc.dg/pr33826.c: New.
	* gcc.dg/tree-ssa/20030714-1.c: Removed two tests that depend on 
	recursive functions being marked pure or const.

From-SVN: r131805
2008-01-24 20:09:05 +00:00
John David Anglin
71e92a6c14 re PR middle-end/34931 (FAIL: gcc.dg/pr28796-[12].c (test for excess errors))
PR middle-end/34931
	Backport:
	2007-01-25  Steve Ellcey  <sje@cup.hp.com>

	PR other/30182
	* config/pa/pa.c (pa_init_builtins): Set asm names for finite routines.
	* config/ia64/ia64.c (ia64_init_builtins):  Ditto.

	2007-01-26  Steve Ellcey  <sje@cup.hp.com>

	PR other/30182
	* config/pa/pa.h (TARGET_HPUX_11): New.
	* config/pa/pa-hpux11.h (TARGET_HPUX_11): New.
	* config/pa/pa.c (pa_init_builtins): Use TARGET_HPUX_11.

From-SVN: r131797
2008-01-24 17:18:54 +00:00
Richard Guenther
7aa5d8b6ab re PR c++/34953 (ICE on destructor + noreturn-function at -O3)
2008-01-24  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34953
	* predict.c (apply_return_prediction): Check for empty blocks.
	(tree_estimate_probability): Likewise.

	* g++.dg/torture/pr34953.C: New testcase.

From-SVN: r131781
2008-01-24 15:59:18 +00:00
GCC Administrator
38a5729273 Daily bump.
From-SVN: r131771
2008-01-24 00:17:00 +00:00
Jason Merrill
f82eb1d160 one more tweak
From-SVN: r131766
2008-01-23 16:26:47 -05:00
Jason Merrill
e82a7782fe re PR c++/34944 (Tree check: at cp/typecheck.c)
PR bootstrap/34944

From-SVN: r131765
2008-01-23 16:23:32 -05:00
Jason Merrill
77ae054119 * pt.c (tsubst_aggr_type): Correct previous change.
From-SVN: r131764
2008-01-23 16:23:00 -05:00
Richard Guenther
d00a01e9ee backport: builtins.c (fold_builtin_classify): Fix typo.
2008-01-23  Richard Guenther  <rguenther@suse.de>

        Backport from mainline
        2006-10-21  Richard Guenther  <rguenther@suse.de>

        * builtins.c (fold_builtin_classify): Fix typo.

From-SVN: r131757
2008-01-23 10:38:21 +00:00
GCC Administrator
220d7253c6 Daily bump.
From-SVN: r131748
2008-01-23 00:16:51 +00:00
Eric Botcazou
9399effb27 re PR rtl-optimization/34628 (problems with inlining on ARM)
PR rtl-optimization/34628
	* combine.c (try_combine): Stop and undo after the first combination
	if an autoincrement side-effect on the first insn has effectively
	been lost.

From-SVN: r131745
2008-01-22 22:29:04 +00:00
John David Anglin
2ae691e464 re PR middle-end/33436 (Bad constant output with TARGET_ASM_ALIGNED_DI_OP)
PR middle-end/33436
	* expr.c (emit_group_load_1): Split constant double when destination
	length is half source length.

From-SVN: r131739
2008-01-22 19:39:39 +00:00
Kaveh R. Ghazi
25132397bd vect-ifcvt-9.c: Use inline.
* gcc.dg/vect/vect-ifcvt-9.c: Use inline.

From-SVN: r131736
2008-01-22 19:13:37 +00:00
Jason Merrill
d4175b9f4b re PR c++/33959 (ICE in instantiate_class_template, at cp/pt.c:6649)
PR c++/33959
        * pt.c (tsubst_aggr_type): Make sure our context is complete.

From-SVN: r131725
2008-01-22 10:59:57 -05:00
Richard Guenther
dab3cc758a Backport PRs 28796, 34070, 34739, 34768
2008-01-22  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34739
	Backport from mainline
	2008-01-16  Richard Guenther  <rguenther@suse.de>

	PR c/34768
	* c-typeck.c (common_pointer_type): Do not merge inconsistent
	type qualifiers for function types.

	2007-11-12  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34070
	* fold-const.c (fold_binary): If testing for non-negative
	operands with tree_expr_nonnegative_warnv_p make sure to
	use op0 which has all (sign) conversions retained.

	2006-10-24  Richard Guenther  <rguenther@suse.de>

	PR middle-end/28796
	* builtins.c (fold_builtin_classify): Use HONOR_INFINITIES
	and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS
	for deciding optimizations in consistency with fold-const.c
	(fold_builtin_unordered_cmp): Likewise.

From-SVN: r131723
2008-01-22 14:45:56 +00:00
GCC Administrator
53626aab5e Daily bump.
From-SVN: r131707
2008-01-22 00:16:56 +00:00
John David Anglin
1c2c303dbb re PR libfortran/34699 (FAIL: gfortran.fortran-torture/execute/intrinsic_set_exponent.f90 execution)
PR libfortran/34699
	Backport:
	2007-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/26253
	* intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate.

From-SVN: r131698
2008-01-21 17:24:30 +00:00
GCC Administrator
c03315727d Daily bump.
From-SVN: r131682
2008-01-21 00:16:53 +00:00
GCC Administrator
ccca8e6bb7 Daily bump.
From-SVN: r131666
2008-01-20 00:17:08 +00:00
John David Anglin
0fdb73dac5 ia64-2.C: Place "dg-do run" statement before "dg-require-weak" statement.
* g++.dg/eh/ia64-2.C: Place "dg-do run" statement before
	"dg-require-weak" statement.
	* g++.dg/eh/weak1.C: Likewise.

From-SVN: r131658
2008-01-19 21:55:47 +00:00
Kaveh R. Ghazi
bf1200f35f Backport:
2007-03-21  Richard Sandiford  <richard@codesourcery.com>
	 
	* gcc.target/i386/pr21291.c: Require nonpic or ! ilp32.

From-SVN: r131655
2008-01-19 18:49:34 +00:00
GCC Administrator
fff732d3ac Daily bump.
From-SVN: r131646
2008-01-19 00:16:46 +00:00
GCC Administrator
61b853992e Daily bump.
From-SVN: r131617
2008-01-18 00:17:05 +00:00
Eric Botcazou
abcf09e2b3 backport: re PR middle-end/31309 (reads/writes past end of structure)
Backport from mainline:

	2008-01-11  Eric Botcazou  <ebotcazou@adacore.com>
	PR middle-end/31309
	* expr.c (copy_blkmode_from_reg): Use a mode suited to the size
	when copying to memory.

From-SVN: r131599
2008-01-17 13:22:21 +00:00
Eric Botcazou
6a144b00b7 20080114-1.c: Use empty asm statements.
* gcc.c-torture/compile/20080114-1.c: Use empty asm statements.

From-SVN: r131597
2008-01-17 12:47:31 +00:00
John David Anglin
7b01151fe9 re PR libfortran/34699 (FAIL: gfortran.fortran-torture/execute/intrinsic_set_exponent.f90 execution)
PR libgfortran/34699
	* pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
	static links.
	* pa-hpux10.h (LINK_SPEC): Likewise.
	* pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.

From-SVN: r131587
2008-01-17 02:55:48 +00:00
GCC Administrator
a93a6498da Daily bump.
From-SVN: r131583
2008-01-17 00:16:55 +00:00
Kaveh R. Ghazi
a9a63439fb loop-19.c: Require nonpic.
* gcc.dg/tree-ssa/loop-19.c: Require nonpic.

From-SVN: r131581
2008-01-16 23:40:23 +00:00
GCC Administrator
543ed4dc3d Daily bump.
From-SVN: r131558
2008-01-16 00:16:58 +00:00
GCC Administrator
c74c72b774 Daily bump.
From-SVN: r131539
2008-01-15 00:17:00 +00:00
Eric Botcazou
ea6cbe1e33 re PR rtl-optimization/31944 (Endless loop while building a 64-bit 2.6.20 kernel)
2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>

	PR rtl-optimization/31944
	* cse.c (remove_pseudo_from_table): New function.
	(merge_equiv_classes): Use above function to remove pseudo-registers.
	(invalidate): Likewise.

From-SVN: r131523
2008-01-14 12:18:30 +00:00
GCC Administrator
9a608cdc4b Daily bump.
From-SVN: r131516
2008-01-14 00:16:59 +00:00
John David Anglin
f148351f10 re PR middle-end/34762 (internal compiler error: in delete_output_reload, at reload1.c:7958)
PR middle-end/34762
	* reload.c (find_reloads_toplev): Use rtx_equal_p to compare x and mem.

From-SVN: r131508
2008-01-13 16:53:02 +00:00
GCC Administrator
fa920f03fc Daily bump.
From-SVN: r131495
2008-01-13 00:16:53 +00:00
Kaveh R. Ghazi
3b06604d65 loadpre5.c: Use static.
* gcc.dg/tree-ssa/loadpre5.c: Use static.
       * gcc.dg/tree-ssa/loadpre8.c: Likewise.

       Backport:
       2007-09-04  Jan Hubicka  <jh@suse.cz>

       * gcc.dg/tree-ssa/loadpre8.c: Disable inlining.
       * gcc.dg/tree-ssa/loadpre5.c: Likewise.

From-SVN: r131486
2008-01-12 04:00:37 +00:00
GCC Administrator
e26b6e6f88 Daily bump.
From-SVN: r131482
2008-01-12 00:16:48 +00:00
Bob Wilson
b04169277f * config/xtensa/xtensa.c (override_options): Set flag_shlib.
From-SVN: r131479
2008-01-11 23:22:54 +00:00
GCC Administrator
c0e1fb2ba0 Daily bump.
From-SVN: r131454
2008-01-11 00:16:54 +00:00
GCC Administrator
19b151a56d Daily bump.
From-SVN: r131437
2008-01-10 00:16:55 +00:00
Richard Guenther
559ca9eb92 re PR tree-optimization/34679 (ICE: tree check: expected integer_type, have enumeral_type in host_integerp, at tree.c:4949 (predictive commoning))
2008-01-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34679
	* tree.c (host_integerp): Check for sizetype only if the
	type is an integer type.

From-SVN: r131427
2008-01-09 13:43:03 +00:00
Kaveh R. Ghazi
e68222cc2d chk.h: Don't check !__PIE__.
* gcc.c-torture/execute/builtins/chk.h: Don't check !__PIE__.
	* gcc.dg/assign-warn-3.c: Use "static inline" instead of "inline".
	
	Backport:
	
	2007-04-14  Kazu Hirata  <kazu@codesourcery.com>
	* gcc.c-torture/compile/pr27528.c: Require nonpic.

	2007-03-21  Richard Sandiford  <richard@codesourcery.com>
	* gcc.c-torture/execute/builtins/chk.h (LOCAL): Define.
	* gcc.c-torture/execute/builtins/sprintf-chk.c (s1): Make LOCAL.
	* gcc.c-torture/execute/builtins/stpcpy-chk.c (s1): Likewise.
	* gcc.c-torture/execute/builtins/strcpy-chk.c (s1): Likewise.

	2007-07-26  Nathan Froyd  <froydnj@codesourcery.com>
	PR/19232
	* gcc.dg/assign-warn-3.c (f0): Declare as inline.
	(f1): Likewise.

	2007-01-15  Dale Johannesen  <dalej@apple.com>
	* gcc.dg/tree-ssa/loop-3.c:  Disable with -fpic or -fPIC.
	
	2007-08-27  Uros Bizjak  <ubizjak@gmail.com>
	* gcc.target/i386/stack-prot-kernel.c: Require nonpic effective
	target.
	
	2007-03-21  Richard Sandiford  <richard@codesourcery.com>
	* lib/target-supports.exp (check_effective_target_nonpic): New
	procedure.

From-SVN: r131412
2008-01-09 04:47:27 +00:00
John David Anglin
91f9aeb333 re PR testsuite/30459 (FAIL: g++.dg/eh/ia64-2.C (test for excess errors))
PR testsuite/30459
	g++.dg/eh/ia64-2.C: Require weak support.

From-SVN: r131411
2008-01-09 03:26:10 +00:00
GCC Administrator
40d3b553a5 Daily bump.
From-SVN: r131407
2008-01-09 00:16:58 +00:00
GCC Administrator
c291d7b3d1 Daily bump.
From-SVN: r131390
2008-01-08 00:17:39 +00:00
Ted Phelps
a66e535f57 re PR c++/34152 (Erratic behaviour: Exception translation (throw from signal handlers))
PR c++/34152
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Check
	_GLIBCXX_HAVE_GETIPINFO instead of HAVE_GETIPINFO.

From-SVN: r131376
2008-01-07 17:05:27 +01:00
GCC Administrator
54b9589913 Daily bump.
From-SVN: r131368
2008-01-07 00:16:48 +00:00
Anatoly Sokolov
609cf8a362 avr.h (LINK_SPEC, [...]): Move AT90USB82 and AT90USB162 devices from 'avr5' to 'avr35' architecture.
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Move AT90USB82 
	and AT90USB162 devices from 'avr5' to 'avr35' architecture.
	(ASM_SPEC): Add 'avr35' architecture.
	* config/avr/avr.c (avr_mcu_types): Move AT90USB82 and AT90USB162 
	devices from 'avr5' to 'avr35' architecture.
	(avr_arch_types): Add "avr23" entries.
	(avr_arch): Add 'ARCH_AVR35'.
	* config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add 'avr35'.
	(MULTILIB_MATCHES): Move AT90USB82 and AT90USB162 devices from 'avr5'
	to 'avr35' architecture.

From-SVN: r131365
2008-01-07 01:28:41 +03:00
GCC Administrator
672b03d9cc Daily bump.
From-SVN: r131345
2008-01-06 00:17:01 +00:00
Paolo Carlini
e66ca872f6 revert: [multiple changes]
2008-01-05  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/34680

	Revert:
	2007-12-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
	* include/bits/locale_facets.tcc (has_facet, use_facet): Simplify
	RTTI checks.

	2007-12-14  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/30127
        PR libstdc++/34449
        * include/bits/locale_facets.tcc (use_facet): Check facet hierarchy.
        (has_facet): Same.
        * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: New.
        * testsuite/22_locale/global_templates/
        standard_facet_hierarchies.cc: New.

From-SVN: r131334
2008-01-05 11:04:43 +00:00
GCC Administrator
e537a1a492 Daily bump.
From-SVN: r131330
2008-01-05 00:17:04 +00:00
GCC Administrator
8b063d6e26 Daily bump.
From-SVN: r131313
2008-01-04 00:17:40 +00:00
GCC Administrator
9a7099c95b Daily bump.
From-SVN: r131271
2008-01-03 00:17:08 +00:00
Volker Reichelt
c4a84e5d66 Backport:
2007-10-31  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33494
	* cxx-pretty-print.c (pp_cxx_typeid_expression,
	pp_cxx_delete_expression): Change to static linkage.
	* cxx-pretty-print.h: Adjust declarations.
	* error.c (dump_expr, case SCOPE_REF, TYPEID_EXPR, DELETE_EXPR,
	VEC_DELETE_EXPR, MODOP_EXPR): Forward to pp_expression.

	* cxx-pretty-print.c (pp_cxx_expression, case NON_DEPENDENT_EXPR):
	Fix typo.

	* g++.dg/template/error35.C: New.

From-SVN: r131269
2008-01-02 23:52:17 +00:00
Volker Reichelt
d0f5333e84 Backport:
2007-11-02  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33495
	* error.c (dump_expr): Deal specially with statements.

	* g++.dg/other/error19.C: New.

From-SVN: r131268
2008-01-02 23:49:23 +00:00
Volker Reichelt
ea8198876c Backport:
2007-09-27  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33493
	* error.c (dump_expr): Deal with DELETE_EXPR and VEC_DELETE_EXPR.
	* cxx-pretty-print.c (pp_cxx_delete_expression): Add missing
	spaces in the formatting.
	* cxx-pretty-print.h (pp_cxx_delete_expression): Declare.

	* g++.dg/template/error31.C: New.

From-SVN: r131267
2008-01-02 23:47:08 +00:00
Volker Reichelt
18d4211a60 Backport:
2007-09-18  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33462
	* cxx-pretty-print.c (pp_cxx_va_arg_expression): Add.
	(pp_cxx_primary_expression): Use it.
	* cxx-pretty-print.h (pp_cxx_va_arg_expression): Declare.
	* error.c (dump_expr): Use it.

	* g++.dg/ext/va-arg1.C: New.

From-SVN: r131266
2008-01-02 23:44:10 +00:00
Volker Reichelt
f85ff68a08 Backport:
2007-09-18  Paolo Carlini  <pcarlini@suse.de>
 
	PR c++/33463
	* cxx-pretty-print.c (pp_cxx_postfix_expression): Split
	out case TYPEID_EXPR to...
	(pp_cxx_typeid_expression): ... here; use pp_cxx_left_paren
	and pp_cxx_right_paren.
	* cxx-pretty-print.h (pp_cxx_typeid_expression): Declare.
	* error.c (dump_expr): Use it.

	* g++.dg/rtti/typeid6.C: New.

From-SVN: r131265
2008-01-02 23:40:41 +00:00
GCC Administrator
4a71a50b15 Daily bump.
From-SVN: r131251
2008-01-02 00:16:49 +00:00
GCC Administrator
5a1d45dfb0 Daily bump.
From-SVN: r131241
2008-01-01 00:16:59 +00:00
John David Anglin
f5a6ddb9b4 re PR driver/33772 (collect2 doesn't strip .sl version)
PR driver/33772
	* collect2.c (SHLIB_SUFFIX): Define if not defined.
	(write_c_file_stat): Use SHLIB_SUFFIX.
	* som.h (SHLIB_SUFFIX): Define.
	* doc/tm.texi (SHLIB_SUFFIX): Document.

From-SVN: r131236
2007-12-31 16:04:26 +00:00
GCC Administrator
226b573ed6 Daily bump.
From-SVN: r131232
2007-12-31 00:17:00 +00:00
GCC Administrator
00a7bf9892 Daily bump.
From-SVN: r131226
2007-12-30 00:17:04 +00:00
GCC Administrator
49fdb77024 Daily bump.
From-SVN: r131215
2007-12-29 00:16:55 +00:00
GCC Administrator
b7f178aee5 Daily bump.
From-SVN: r131209
2007-12-28 00:16:59 +00:00
Gerald Pfeifer
9ba78e56df * config.gcc: Proactively add FreeBSD 10 and FreeBSD 11.
From-SVN: r131197
2007-12-27 09:45:20 +00:00
GCC Administrator
aab3815738 Daily bump.
From-SVN: r131191
2007-12-27 00:16:59 +00:00
John David Anglin
376f9d89b0 re PR c++/33640 (testsuite failure in g++.dg/other/unused1.C)
PR c++/33640
	* g++.dg/other/unused1.C: xfail scan for "class2" in assembler output.

From-SVN: r131187
2007-12-26 21:51:30 +00:00
GCC Administrator
332167d9ff Daily bump.
From-SVN: r131174
2007-12-26 00:17:00 +00:00
John David Anglin
72fab3a3de Add "PR testsuite/34499" to log.
From-SVN: r131172
2007-12-25 18:35:03 +00:00
John David Anglin
620bb3cb55 namespace2.C: Add missing argument to dg-require-visibility statement.
* g++.dg/ext/visibility/namespace2.C: Add missing argument to
	dg-require-visibility statement.

From-SVN: r131171
2007-12-25 18:24:55 +00:00
GCC Administrator
5a1faaa06b Daily bump.
From-SVN: r131164
2007-12-25 00:17:00 +00:00
GCC Administrator
d7263c136a Daily bump.
From-SVN: r131153
2007-12-24 00:16:55 +00:00
GCC Administrator
8e9acc9f40 Daily bump.
From-SVN: r131142
2007-12-23 00:17:19 +00:00
John David Anglin
55b6530b27 pa.c (hppa_legitimize_address): Use INT14_OK_STRICT in mask selection.
* pa.c (hppa_legitimize_address): Use INT14_OK_STRICT in mask selection.

From-SVN: r131132
2007-12-22 00:20:26 +00:00
GCC Administrator
d9a8b7db0d Daily bump.
From-SVN: r131128
2007-12-22 00:17:06 +00:00
GCC Administrator
0a9317ad89 Daily bump.
From-SVN: r131111
2007-12-21 00:17:17 +00:00
GCC Administrator
0a128a6ffa Daily bump.
From-SVN: r131093
2007-12-20 00:17:16 +00:00
Richard Sandiford
10161ebdbc 200x-xx-xx Kaz Kylheku <kaz@zeugmasystems.com>
gcc/
200x-xx-xx  Kaz Kylheku  <kaz@zeugmasystems.com>

	PR rtl-optimization/34456
	* resource.c (mark_set_resources): Use regs_invalidated_by_call
	rather than call_used_regs and global_regs.

gcc/testsuite/
	PR rtl-optimization/34456
	* gcc.c-torture/execute/pr34456.c: New test.

From-SVN: r131057
2007-12-19 10:04:28 +00:00
GCC Administrator
c4b526fb83 Daily bump.
From-SVN: r131049
2007-12-19 00:16:55 +00:00
Jakub Jelinek
ac2dbfde07 re PR bootstrap/34003 (gcc trunk unable to bootstrap itself; Unsatisfied symbols: ggc_free)
PR bootstrap/34003
	* c-decl.c (merge_decls): Copy RTL from olddecl to newdecl.
	* config/pa/pa.c (pa_encode_section_info): If !first, preserve
	SYMBOL_FLAG_REFERENCED flag.
	* gcc.dg/pr34003-1.c: New test.
	* gcc.dg/pr34003-2.c: New.

From-SVN: r131032
2007-12-18 05:05:43 +00:00
GCC Administrator
8b13ce7ee2 Daily bump.
From-SVN: r131027
2007-12-18 00:17:02 +00:00
Jonathan Wakely
7853a3769d locale_facets.tcc (has_facet, use_facet): Simplify RTTI checks.
2007-12-17  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/locale_facets.tcc (has_facet, use_facet): Simplify
	RTTI checks.

From-SVN: r131022
2007-12-17 23:56:23 +00:00
Benjamin Kosnik
52d1317184 standard_facet_hierarchies.cc: Fix for generic locale model.
2007-12-17  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/global_templates/
	standard_facet_hierarchies.cc: Fix for generic locale model.

From-SVN: r131015
2007-12-17 20:30:47 +00:00
GCC Administrator
a36082237c Daily bump.
From-SVN: r131000
2007-12-17 00:17:06 +00:00
GCC Administrator
827d064993 Daily bump.
From-SVN: r130983
2007-12-16 00:16:48 +00:00
GCC Administrator
dbd075364f Daily bump.
From-SVN: r130949
2007-12-15 00:16:57 +00:00
Benjamin Kosnik
c427535f8c re PR libstdc++/30127 (std::has_facet returns true for not installed derived facets)
2007-12-14  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/30127
        PR libstdc++/34449
        * include/bits/locale_classes.h (use_facet): Check facet hierarchy.
        (has_facet): Same.
        * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: New.
        * testsuite/22_locale/global_templates/
        standard_facet_hierarchies.cc: New.

From-SVN: r130944
2007-12-14 21:27:09 +00:00
GCC Administrator
ffbc467298 Daily bump.
From-SVN: r130924
2007-12-14 00:16:56 +00:00
Torbjorn Granlund
a6eed94baa i386.c (ix86_rtx_costs): Check op0 for ZERO_EXTEND when computing costs for widening multiplication.
* config/i386/i386.c (ix86_rtx_costs) [MULT]: Check op0 for
        ZERO_EXTEND when computing costs for widening multiplication.

From-SVN: r130810
2007-12-13 10:25:46 +01:00
GCC Administrator
41b6a44e70 Daily bump.
From-SVN: r130797
2007-12-13 00:17:01 +00:00
GCC Administrator
eebe85848a Daily bump.
From-SVN: r130782
2007-12-12 00:17:06 +00:00
GCC Administrator
3a6f2ad2d0 Daily bump.
From-SVN: r130763
2007-12-11 00:17:11 +00:00
Simon Martin
483a586f0d re PR c++/34059 (ICE with invalid base type for class member)
gcc/cp/

2007-12-10  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/34059
	* typeck.c (build_class_member_access_expr): Compute MEMBER_SCOPE from
	MEMBER's BASELINK_ACCESS_BINFO instead of its BASELINK_BINFO.

gcc/testsuite/

2007-12-10  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/34059
	* g++.dg/parse/crash40.C: New test.

From-SVN: r130756
2007-12-10 22:54:26 +00:00
John David Anglin
276103f103 re PR target/32889 (ICE in delete_output_reload, at reload1.c:7926)
PR middle-end/32889
	PR target/34091
	* pa.md: Consolidate HImode and QImode move patterns into one pattern
	each, eliminating floating-point alternatives.
	* pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p):
	Declare functions.
	* pa-64.h (SECONDARY_MEMORY_NEEDED): Define here.
	* pa.c (pa_secondary_reload): Use an intermediate general register
	for copies to/from floating-point register classes.  Simplify code
	SHIFT_REGS class.  Provide additional comments.
	(pa_cannot_change_mode_class, pa_modes_tieable_p): New functions.
	* pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p.
	(SECONDARY_MEMORY_NEEDED): Delete define.
	(INT14_OK_STRICT): Define.
	(MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using
	soft float.
	(MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise.
	(GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for
	SFmode and DFmode.
	(LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection.
	Align DImode offsets when generating 64-bit code.
	* pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
	(CANNOT_CHANGE_MODE_CLASS): Define.
	* pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
	(CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class.

From-SVN: r130735
2007-12-10 03:17:24 +00:00
GCC Administrator
a811d552d9 Daily bump.
From-SVN: r130729
2007-12-10 00:17:00 +00:00
GCC Administrator
bdfddff588 Daily bump.
From-SVN: r130715
2007-12-09 00:16:58 +00:00
GCC Administrator
52a542de47 Daily bump.
From-SVN: r130701
2007-12-08 00:16:49 +00:00
GCC Administrator
c9713f963f Daily bump.
From-SVN: r130667
2007-12-07 00:16:56 +00:00
GCC Administrator
848f341de7 Daily bump.
From-SVN: r130637
2007-12-06 00:16:56 +00:00
GCC Administrator
3e0846a1bb Daily bump.
From-SVN: r130612
2007-12-05 00:16:42 +00:00
GCC Administrator
cc0cc6fc9e Daily bump.
From-SVN: r130594
2007-12-04 00:16:57 +00:00
GCC Administrator
3af258e07b Daily bump.
From-SVN: r130576
2007-12-03 00:17:14 +00:00
GCC Administrator
5bb11a95f6 Daily bump.
From-SVN: r130563
2007-12-02 00:16:52 +00:00
Kostik Belousov
007608d020 re PR ada/33722 (putenv() is made posix-conformant on FreeBSD 7.x)
2007-12-01  Kostik Belousov  <kostikbel@ukr.net>

    gcc/ada/
	PR ada/33722
	* env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
	and its argument must not be free()ed.

From-SVN: r130556
2007-12-01 12:03:42 +00:00
GCC Administrator
23ad6cdc4d Daily bump.
From-SVN: r130551
2007-12-01 00:16:58 +00:00
GCC Administrator
90a07e895a Daily bump.
From-SVN: r130524
2007-11-30 00:17:07 +00:00
GCC Administrator
9d7a0a2e66 Daily bump.
From-SVN: r130503
2007-11-29 00:16:51 +00:00
Rask Ingemann Lambertsen
5cfb76af21 backport: re PR target/34174 (gcc produces erroneous asm for movdi)
Backport from mainline:
	2007-11-26  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/34174
	* config/fr30/fr30.c (fr30_move_double): Sanitize mem->reg case. Copy
	the address before it is clobbered.

testsuite/
	* gcc.dg/pr34174-1.c: New.

From-SVN: r130489
2007-11-28 01:44:10 +00:00
GCC Administrator
7a35656bd1 Daily bump.
From-SVN: r130480
2007-11-28 00:16:53 +00:00
Paolo Carlini
c99d515358 locale_facets.tcc (num_put<>::_M_insert_int): When ios_base::showpos and the type is signed and the value is zero, prepend +.
2007-11-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_put<>::_M_insert_int): When
	ios_base::showpos and the type is signed and the value is zero,
	prepend +.
	* testsuite/22_locale/num_put/put/char/12.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.

From-SVN: r130461
2007-11-27 01:59:59 +00:00
GCC Administrator
2a00da90be Daily bump.
From-SVN: r130456
2007-11-27 00:17:36 +00:00
Uros Bizjak
d3a8fba314 re PR target/34215 (ICE in assign_386_stack_local, at config/i386/i386.c:13481)
PR target/34215
	* config/i386/i386.md (truncdfsf2): Select SLOT_TEMP stack slot if
	virtual registers are instantiated.
	(truncxfsf2): Ditto.
	(truncxfdf2): Ditto.

testsuite/ChangeLog:

	PR target/34215
	* gcc.target/i386/pr34215.c: New test.

From-SVN: r130439
2007-11-26 15:22:59 +01:00
GCC Administrator
7a3c7eed6b Daily bump.
From-SVN: r130419
2007-11-26 00:17:01 +00:00
GCC Administrator
2a2ba2a595 Daily bump.
From-SVN: r130400
2007-11-25 00:17:03 +00:00
GCC Administrator
b49f363b47 Daily bump.
From-SVN: r130388
2007-11-24 00:17:05 +00:00
Matthias Klose
973ba6cfa3 configure.ac: Adjust makeinfo version check.
2007-11-23  Matthias Klose  <doko@ubuntu.com>

       * configure.ac: Adjust makeinfo version check.
       * configure: Regenerate.

From-SVN: r130368
2007-11-23 09:30:22 +00:00
GCC Administrator
f02b83fa6f Daily bump.
From-SVN: r130364
2007-11-23 00:16:53 +00:00
Matthias Klose
e72534af59 backport: re PR middle-end/34130 (the builtin abs() gives wrong result when used in some expression)
2007-11-22  Matthias Klose  <doko@ubuntu.com>

        Backport from mainline:
        2007-11-17  Richard Guenther  <rguenther@suse.de>

        PR middle-end/34130
        * fold-const.c (extract_muldiv_1): Do not move negative
        constants inside ABS_EXPR.

        PR middle-end/34130
        * gcc.c-torture/execute/pr34130.c: New testcase.

From-SVN: r130352
2007-11-22 15:34:03 +00:00
Richard Sandiford
6ec9ca44db re PR rtl-optimization/33848 (reference to non-existent label at -O1 on mips/mipsel)
gcc/
	PR rtl-optimization/33848
	* reload.c (subst_reloads): When replacing a LABEL_REF with a
	register, only add a REG_LABEL note if the label is the target
	of the jump.

gcc/testsuite/
	PR rtl-optimization/33848
	* gcc.dg/torture/pr33848.c: New test.

From-SVN: r130344
2007-11-22 09:27:55 +00:00
GCC Administrator
8e621bae82 Daily bump.
From-SVN: r130339
2007-11-22 00:17:12 +00:00
GCC Administrator
2081687c4b Daily bump.
From-SVN: r130326
2007-11-21 00:17:05 +00:00
GCC Administrator
0f4e72d434 Daily bump.
From-SVN: r130300
2007-11-20 00:17:00 +00:00
GCC Administrator
dff6ccf247 Daily bump.
From-SVN: r130282
2007-11-19 00:17:02 +00:00
GCC Administrator
be5888a439 Daily bump.
From-SVN: r130264
2007-11-18 00:16:49 +00:00
GCC Administrator
7a0ab39cde Daily bump.
From-SVN: r130251
2007-11-17 00:16:55 +00:00
Richard Guenther
e007d6308b re PR middle-end/34030 (ICE in in compare_values_warnv, at tree-vrp.c:701)
2007-11-16  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34030
	* fold-const.c (fold_binary): Use correct types for folding
	1 << X & Y to Y >> X & 1.

	* gcc.c-torture/compile/pr34030.c: New testcase.

From-SVN: r130240
2007-11-16 21:44:58 +00:00
GCC Administrator
af68634373 Daily bump.
From-SVN: r130215
2007-11-16 00:16:41 +00:00
GCC Administrator
0eefbe2f4b Daily bump.
From-SVN: r130190
2007-11-15 00:16:48 +00:00
GCC Administrator
cc64d35161 Daily bump.
From-SVN: r130164
2007-11-14 00:16:49 +00:00
GCC Administrator
b11138e811 Daily bump.
From-SVN: r130128
2007-11-13 00:17:01 +00:00
GCC Administrator
e40c6017f3 Daily bump.
From-SVN: r130089
2007-11-12 00:16:48 +00:00
GCC Administrator
87276fda58 Daily bump.
From-SVN: r130079
2007-11-11 00:16:42 +00:00
GCC Administrator
77259b7348 Daily bump.
From-SVN: r130062
2007-11-10 00:16:53 +00:00
GCC Administrator
257c2390fb Daily bump.
From-SVN: r130032
2007-11-09 00:16:56 +00:00
Uros Bizjak
620b8aaa5e re PR target/32787 (Sun Studio 12 Undefined symbol addl)
PR target/32787
	Backport from mainline:

	2007-11-06  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	* config/i386/driver-i386.c: Test for __GNUC__ instead of
	GCC_VERSION which is always defined.

From-SVN: r129993
2007-11-08 11:07:06 +01:00
GCC Administrator
2738245ce4 Daily bump.
From-SVN: r129979
2007-11-08 00:16:52 +00:00
Eric Botcazou
9306914fc4 re PR rtl-optimization/33822 (-g -O -mstrict-align causes an ICE in set_variable_part,)
PR rtl-optimization/33822
	* rtl.h (REG_OFFSET): Fix comment.
	* var-tracking.c (INT_MEM_OFFSET): New macro.
	(var_mem_set): Use it.
	(var_mem_delete_and_set): Likewise.
	(var_mem_delete): Likewise.
	(same_variable_part_p): Likewise.
	(vt_get_decl_and_offset): Likewise.
	(offset_valid_for_tracked_p): New predicate.
	(count_uses): Do not track locations with invalid offsets.
	(add_uses): Likewise.
	(add_stores): Likewise.

From-SVN: r129971
2007-11-07 20:48:38 +00:00
GCC Administrator
3a4cefb104 Daily bump.
From-SVN: r129951
2007-11-07 00:17:12 +00:00
GCC Administrator
7c50f2dba2 Daily bump.
From-SVN: r129915
2007-11-06 00:16:47 +00:00
GCC Administrator
c1f07b48f5 Daily bump.
From-SVN: r129890
2007-11-05 00:16:57 +00:00
GCC Administrator
c206fa99aa Daily bump.
From-SVN: r129877
2007-11-04 00:16:51 +00:00
GCC Administrator
5337352cba Daily bump.
From-SVN: r129865
2007-11-03 00:17:01 +00:00
Bob Wilson
e9308876ca xtensa.c (xtensa_expand_prologue): Put a REG_FRAME_RELATED_EXPR note on the last insn that sets up the stack...
* config/xtensa/xtensa.c (xtensa_expand_prologue): Put a
	REG_FRAME_RELATED_EXPR note on the last insn that sets up the stack
	pointer or frame pointer.
	* config/xtensa/xtensa.h (DWARF_UNWIND_INFO): Delete.
	(MUST_USE_SJLJ_EXCEPTIONS): Define.
	(DWARF2_UNWIND_INFO): Define.
	(INCOMING_RETURN_ADDR_RTX): Define.
	(DWARF_FRAME_RETURN_COLUMN): Define.

From-SVN: r129855
2007-11-02 16:13:29 +00:00
Eric Botcazou
ffed5704b6 re PR rtl-optimization/28062 (ICE in simplify_subreg, at simplify-rtx.c:4466)
PR rtl-optimization/28062
	* gcc.c-torture/compile/20071102-1.c: New test.

From-SVN: r129847
2007-11-02 11:57:28 +00:00
GCC Administrator
3e50d9f26f Daily bump.
From-SVN: r129840
2007-11-02 00:16:57 +00:00
GCC Administrator
fb71fe8ee6 Daily bump.
From-SVN: r129810
2007-11-01 00:16:54 +00:00
Richard Guenther
ca302abfa5 Makefile.in (targhooks.o): Add $(OPTABS_H) dependency.
2007-10-31  Richard Guenther  <rguenther@suse.de>

        * Makefile.in (targhooks.o): Add $(OPTABS_H) dependency.

From-SVN: r129802
2007-10-31 16:32:06 +00:00
GCC Administrator
b39cf29171 Daily bump.
From-SVN: r129789
2007-10-31 00:16:54 +00:00
Ed Schouten
21eae12e8f re PR tree-optimization/32500 (Loop optimization limits range to size of array used inside loop)
PR tree-optimization/32500
	* gcc.c-torture/execute/pr32500.c: Fix buffer overflow in testcase.

From-SVN: r129780
2007-10-30 20:29:22 +00:00
Ian Lance Taylor
2e84c07f06 ifcvt.c (noce_can_store_speculate_p): New static function.
* ifcvt.c (noce_can_store_speculate_p): New static function.
	(noce_process_if_block): Call it.
	(find_if_header): Only call find_if_case_1 and find_if_case_2 if
	life_data_ok is set.
	(if_convert): Always compute postdominators.

From-SVN: r129763
2007-10-30 04:32:06 +00:00
GCC Administrator
280ed215ff Daily bump.
From-SVN: r129758
2007-10-30 00:17:00 +00:00
Janis Johnson
8de412468a invoke.texi (Option Summary, [...]): Remove -fbounds-check.
* doc/invoke.texi (Option Summary, optimizations): Remove
	-fbounds-check.  Show that the value for options -falign-jumps,
	-falign-labels, -falign-loops, -falign-functions,
	-fsched-stalled-insns, and -fsched-stalled-insns-dep is optional.
	Break up a long line.  Add -ftree-vrp and -funit-at-a-time.
	(Option Summary, code gen options)  Add -fno-stack-limit.  Add
	missing @gol to the end of a line.
	* doc/invoke.texi (Option Summary, optimizations):
	(Optimization Options): Remove -fbounds-check, which is also
	documented under Code Generation Options.  In the descriptions for
	-fsched-stalled-insns and -fsched-stalled-insns-dep, show the
	options with and without values.  Change -fno-cprop-registers
	to -fcprop-registers to match other options, and say when it is
	enabled rather than disabled.  Remove extra index entry for
	-fno-cx-limited-range.  Add opindex for several optimization
	options, and fix typos in the opindex commands for several others.
	(Code Gen Options): Add index entry for -ftls-model.

From-SVN: r129724
2007-10-29 16:58:00 +00:00
GCC Administrator
3ffbf11191 Daily bump.
From-SVN: r129709
2007-10-29 00:17:04 +00:00
GCC Administrator
104d91a0de Daily bump.
From-SVN: r129689
2007-10-28 00:16:51 +00:00
GCC Administrator
ab91571ee0 Daily bump.
From-SVN: r129668
2007-10-27 00:17:00 +00:00
Jakub Jelinek
55c1e2275f re PR c++/33744 (function-style cast and '>' not allowed in template argument)
PR c++/33744
	* parser.c (cp_parser_parenthesized_expression_list): Set
	greater_than_is_operator_p to true in between the parens.

	* g++.dg/template/arg6.C: New test.

From-SVN: r129649
2007-10-26 14:04:57 +02:00
GCC Administrator
c5a7b20578 Daily bump.
From-SVN: r129641
2007-10-26 00:16:50 +00:00
GCC Administrator
a9acfb0692 Daily bump.
From-SVN: r129617
2007-10-25 00:16:51 +00:00
Richard Sandiford
05bba13ff7 re PR target/33755 (Gcc 4.2.2 broken for mips linux kernel builds)
gcc/
	PR target/33755
	* config/mips/mips.c (override_options): Always move
	flag_delayed_branch to mips_flag_delayed_branch.
	(mips_lo_sum_offset): New structure.
	(mips_hash_base, mips_lo_sum_offset_hash, mips_lo_sum_offset_eq)
	(mips_lo_sum_offset_lookup, mips_record_lo_sum)
	(mips_orphaned_high_part_p: New functions.
	(mips_avoid_hazard): Don't check INSN_P here.
	(mips_avoid_hazards): Rename to...
	(mips_reorg_process_insns): ...this.  Cope with
	!TARGET_EXPLICIT_RELOCS.  Delete orphaned high-part relocations,
	or turn them into nops.
	(mips_reorg): Remove TARGET_EXPLICIT_RELOCS check from calls to
	dbr_schedule and mips_avoid_hazards/mips_reorg_process_insns.

gcc/testsuite/
	PR target/33755
	* gcc.target/mips/pr33755.c: New test.

From-SVN: r129607
2007-10-24 17:54:40 +00:00
GCC Administrator
2109be313c Daily bump.
From-SVN: r129592
2007-10-24 00:17:00 +00:00
Eric Botcazou
00b6b39ffb rtl.texi (Flags): Fix MEM_SCALAR_P entry.
* doc/rtl.texi (Flags): Fix MEM_SCALAR_P entry.
	Document MEM_POINTER.  Replace mentions of "integrated"
	field with "return_val".  Delete outdated stuff.

From-SVN: r129585
2007-10-23 19:24:59 +00:00
David S. Miller
e237b8ddcc df-scan.c (df_get_call_refs): Mark global registers as both a DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.
gcc/:

2007-10-22  Seongbae Park <seongbae.park@gmail.com>
	David S. Miller  <davem@davemloft.net>

	* df-scan.c (df_get_call_refs): Mark global registers as both a
	DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.

gcc/testsuite/:

2007-10-22  David S. Miller  <davem@davemloft.net>

	* gcc.dg/globalreg-1.c: New test.

From-SVN: r129573
2007-10-22 21:37:02 -07:00
GCC Administrator
eb1f867d0d Daily bump.
From-SVN: r129567
2007-10-23 00:16:46 +00:00
Richard Sandiford
0c8685ea9c re PR target/33169 (Compiler generates two different relocs for the same symbol)
gcc/
	PR target/33169
	Backport from mainline:

	2006-10-29  Richard Sandiford  <richard@codesourcery.com>

	* config/mips/mips.c (mips_classify_symbol): Test DECL_WEAK as well
	as TREE_PUBLIC when deciding whether to return SYMBOL_GOT_GLOBAL.

From-SVN: r129559
2007-10-22 20:11:19 +00:00
Richard Sandiford
822ba114ef backport: mips.c (mips_expand_call): Use FAKE_CALL_REGNO.
gcc/
	Backport from mainline:

	2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>

	* config/mips/mips.c (mips_expand_call): Use FAKE_CALL_REGNO.
	(mips_avoid_hazard): Allow multiple sets for HAZARD_DELAY,
	and pick the first.
	* config/mips/mips.md (load_call<mode>): Don't make the unspec
	depend on FAKE_CALL_REGNO.  Set FAKE_CALL_REGNO.

From-SVN: r129558
2007-10-22 20:09:07 +00:00
GCC Administrator
02124776b7 Daily bump.
From-SVN: r129544
2007-10-22 00:16:49 +00:00
Joseph Myers
49c1c05466 * es.po, vi.po: Update.
From-SVN: r129538
2007-10-21 18:58:45 +01:00
Joseph Myers
4574692299 * de.po, es.po, zh_CN.po: Update.
From-SVN: r129536
2007-10-21 18:56:56 +01:00
Jakub Jelinek
fe332526da linux-unwind.h (ppc_fallback_frame_state): Point saved CR2 offset to low 32 bits of regs->ccr rather than the whole 64-bit...
* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Point
	saved CR2 offset to low 32 bits of regs->ccr rather than the whole
	64-bit register in 64-bit libgcc.

From-SVN: r129521
2007-10-21 02:51:31 +02:00
GCC Administrator
d63848f95b Daily bump.
From-SVN: r129517
2007-10-21 00:16:44 +00:00
Paolo Carlini
f6e4be8eca [multiple changes]
2007-10-20  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/random
	(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
	result_type, true_type)): Fix small thinko.

2007-10-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33815
	* include/tr1/random
	(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
	result_type, true_type)): Avoid the modulo (which uses the low-order
	bits).

From-SVN: r129508
2007-10-20 10:03:10 +00:00
Paolo Carlini
f3be87cd22 [multiple changes]
2007-10-20  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/random
	(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
	result_type, true_type)): Fix small thinko.

2007-10-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33815
	* include/tr1/random
	(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
	result_type, true_type)): Avoid the modulo (which uses the low-order
	bits).

From-SVN: r129507
2007-10-20 10:02:34 +00:00
GCC Administrator
e8103d8262 Daily bump.
From-SVN: r129501
2007-10-20 00:16:48 +00:00
GCC Administrator
41f81d415c Daily bump.
From-SVN: r129467
2007-10-19 00:16:42 +00:00
Paolo Carlini
2331440ba2 re PR libstdc++/33807 (Incorrect ambiguous overload)
2007-10-18  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33807
	* include/bits/allocator.h (operator==(const allocator<_Tp>&,
	const allocator<_Tp>&), operator!=(const allocator<_Tp>&,
	const allocator<_Tp>&)): Add.
	* testsuite/20_util/memory/allocator/33807.cc: New.

From-SVN: r129454
2007-10-18 17:58:13 +00:00
Uros Bizjak
1023089e41 re PR target/32961 (Gcc has different requirements for x86 shift xmm intrinsics)
PR target/32961
	* config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLLWI128,
	IX86_BUILTIN_PSLLDI128, BUILTIN_PSLLQI128, IX86_BUILTIN_PSRAWI128,
	IX86_BUILTIN_PSRADI128, IX86_BUILTIN_PSRLWI128,
	IX86_BUILTIN_PSRLDI128, IX86_BUILTIN_PSRLQI128]: Do not require
	immediate shift value.
	* config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
	_mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
	_mm_srli_epi32, _mm_srli_epi64):  Enable disabled functions and
	remove equivalent macro definitions.

testsuite/ChangeLog:

	PR target/32961
	* gcc.target/i386/pr32961.c: New testcase.

From-SVN: r129433
2007-10-18 11:12:30 +02:00
Uros Bizjak
24fd3b2d73 pr31167.c: Add i?86-*-* to target selector.
* gcc.target/i386/pr31167.c: Add i?86-*-* to target selector.
	Require lp64 effective target.

From-SVN: r129432
2007-10-18 10:59:31 +02:00
Chen Liqin
4c376c23ff Because we merge score3 and score7 into the same backend,
so make a lot of changes in the code structure.

Changelog:
        * config.gcc : update score-*-elf(extra_objs).
        * config/score/mac.md : Remove.
        * config/score/misc.md : Remove.
        * config/score/score7.md : Remove.
        * config/score/score-mdaux.h : Remove.
        * config/score/score-mdaux.c : Remove.
        * config/score/score-version.h : Remove.
        * config/score/score-generic.md : New.
        * config/score/score3.h : New.
        * config/score/score3.c : New.
        * config/score/score7.h : New.
        * config/score/score7.c : New.
        * config/score/mul-div.S : add flush_cache score3 support.
        * config/score/elf.h : Fix some typos.
        * config/score/score.md : merge score3 and score7 pattern.
        * config/score/score.c : use to seperate which target it used.
        * config/score/score.h : use to seperate the target macro.
        * config/score/score.opt : remove -mmac option , add -mscore3,
        -mscore3d and -march OPTION support.

From-SVN: r129430
2007-10-18 06:24:34 +00:00
GCC Administrator
f65618389b Daily bump.
From-SVN: r129425
2007-10-18 00:16:50 +00:00
GCC Administrator
d53437fec8 Daily bump.
From-SVN: r129395
2007-10-17 00:16:48 +00:00
Mark Mitchell
fb9bdffedb decl.c (start_decl_1): Call cp_apply_type_quals_to_decl after completing the type.
* decl.c (start_decl_1): Call cp_apply_type_quals_to_decl after
	completing the type.
	* g++.dg/opt/const5.C: New test.

From-SVN: r129388
2007-10-16 21:09:41 +00:00
GCC Administrator
08fee57014 Daily bump.
From-SVN: r129375
2007-10-16 00:16:43 +00:00
Thomas Koenig
862fecbe58 re PR fortran/32298 (MINLOC / MAXLOC: off-by one for PARAMETER arrays)
2007-10-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
	    Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32298
	PR fortran/31726
	PR fortran/33354
	Backport from trunk
	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate
	the offset between the loop counter and the position as
	defined. Add the offset within the loop so that the mask acts
	correctly.  Do not advance the location on the basis that it
	is zero.

2007-10-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/33354
	* gfortran.dg/minmaxloc_4.f90:  New test.



Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>

From-SVN: r129365
2007-10-15 18:23:39 +00:00
GCC Administrator
026b8ce174 Daily bump.
From-SVN: r129306
2007-10-15 00:16:55 +00:00
Jonathan Wakely
2c1720db8a * docs/html/Makefile: Follow up to libstdc++/14991, remove target.
From-SVN: r129301
2007-10-14 19:28:35 +01:00
Jonathan Wakely
7da496b06e valarray-inst.cc, [...]: Fix comment typos.
* src/valarray-inst.cc, include/ext/atomicity.h,
	include/ext/concurrence.h, include/bits/basic_string.h,
	include/bits/fstream.tcc, include/ext/vstring.h: Fix comment typos.

From-SVN: r129300
2007-10-14 19:22:22 +01:00
Jonathan Wakely
ef0c87b6f8 boost_shared_ptr.h: (__weak_ptr::lock()): Add missing template argument.
* include/tr1_impl/boost_shared_ptr.h: (__weak_ptr::lock()): Add
	missing template argument.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/
	explicit_instantiation/2.cc: New.
	* testsuite/tr1/2_general_utilities/memory/weak_ptr/
	explicit_instantiation/2.cc: New.

From-SVN: r129297
2007-10-14 18:40:50 +01:00
GCC Administrator
f324131848 Daily bump.
From-SVN: r129288
2007-10-14 00:16:50 +00:00
John David Anglin
f88ac0fb67 re PR boehm-gc/33442 (1938 unexpected fails in libjava testsuite)
PR boehm-gc/33442
	* pthread_support.c (GC_PTR GC_get_thread_stack_base): If stack grows
	up, return stack_addr instead of stack_addr - stack_size.

From-SVN: r129283
2007-10-13 15:01:29 +00:00
Simon Martin
59a85808a9 re PR c++/26698 (g++ accepts const-incorrect code due to conversion function)
gcc/cp/

2007-10-13  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/26698
	* call.c (build_user_type_conversion_1): Do not consider conversion
	functions to convert a (possibly cv-qualified) object to the (possibly
	cv-qualified) same object type (or a reference to it), to a (possibly
	cv-qualified) base class of that type (or a reference to it).

gcc/testsuite/

2007-10-13  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/26698
	* g++.dg/conversion/op4.C: New test.

From-SVN: r129282
2007-10-13 06:04:57 +00:00
GCC Administrator
5c8735d595 Daily bump.
From-SVN: r129279
2007-10-13 00:16:47 +00:00
Zdenek Dvorak
382bdc19ac re PR middle-end/33714 (ivopts miscompiles insn-output.c)
PR tree-optimization/33714
	* tree-ssa-loop-ivopts.c (constant_multiple_of): Pass the arguments to
	division in the correct order.

	* gcc.dg/tree-ssa/pr33714.c: New test.

From-SVN: r129277
2007-10-12 22:26:47 +00:00
GCC Administrator
c63c668312 Daily bump.
From-SVN: r129248
2007-10-12 00:16:49 +00:00
Paolo Carlini
9725e309bf re PR libstdc++/33734 (iconv_t must not be assumed to be a pointer)
2007-10-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33734
	* include/ext/codecvt_specializations.h (encoding_state::good,
	init, destroy): Use cast notation instead of reinterpret_cast.

From-SVN: r129235
2007-10-11 15:23:11 +00:00
GCC Administrator
dacc3223b0 Daily bump.
From-SVN: r129221
2007-10-11 00:16:45 +00:00
Joseph Myers
2aceefba15 re PR c/25309 (ICE on initialization of a huge array)
PR c/25309
	* c-common.c (complete_array_type): Diagnose too-large arrays and
	set type to error_mark_node.

testsuite:
	* gcc.dg/large-size-array-2.c: Expect diagnostic for too-large
	array.
	* gcc.dg/large-size-array-4.c: New.  Copy of large-size-array-2.c
	without -O2.

From-SVN: r129216
2007-10-10 21:46:11 +01:00
Joseph Myers
70c8f58bb3 re PR c/32295 (An invalid c code causes an ICE in create_tmp_var, at gimplify.c:489)
PR c/32295
	* c-typeck.c (default_conversion): Call require_complete_type
	before perform_integral_promotions.
	(build_unary_op): Call require_complete_type except for ADDR_EXPR.
	(build_c_cast): Call require_complete_type except for casts to
	void types.
	(convert_for_assignment): Call require_complete_type.

testsuite:
	* gcc.dg/enum-incomplete-1.c: New test.

From-SVN: r129215
2007-10-10 19:24:29 +01:00
Roger Sayle
8b801aeea8 backport: natPosixProcess.cc: Include <sys/time.h> before <sys/resource.h> to restore bootstrap on...
Backport from mainline.
	* java/lang/natPosixProcess.cc: Include <sys/time.h> before
	<sys/resource.h> to restore bootstrap on powerpc-apple-darwin7.9.0.

From-SVN: r129214
2007-10-10 17:51:17 +00:00
Joseph Myers
e7aaf364e0 be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	sv.po, tr.po, uk,po, vi.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r129207
2007-10-10 14:18:59 +01:00
Joseph Myers
f86e3bc117 be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r129205
2007-10-10 14:15:41 +01:00
Uros Bizjak
5247bb436c backport: re PR target/33438 (ICE in cselib_record_set, at cselib.c:1515 on x86)
Backport from mainline:
        2007-09-14  Uros Bizjak  <ubizjak@gmail.com>

        PR target/33438
        * config/i386/i386.md (fmodxf3): Copy operands[2] to temporary
        register when operands[2] equals operands[1].
        (dremxf3): Ditto.

        2007-09-10  Uros Bizjak  <ubizjak@gmail.com>

        PR target/33369
        * gcc/config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
        Use 'N' operand constraint for op2.
        (lshr<mode>3): Ditto.
        (ashl<mode>3): Ditto.
        (vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
        (vec_shr_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.

        * gcc/config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
        IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.

testsuite/ChangeLog:

        Backport from mainline:
        2007-09-14  Uros Bizjak  <ubizjak@gmail.com>

        PR target/33438
        * gcc.target/i386/pr33438.c: New test.

        2007-09-10  Uros Bizjak  <ubizjak@gmail.com>

        PR target/33369
        * gcc.dg/vect/pr33369.c: New test.

From-SVN: r129201
2007-10-10 12:01:53 +02:00
Richard Guenther
e85a7daad6 backport: re PR debug/31899 (-g and using declaration causing ICE in reference_to_unused)
2007-10-10  Richard Guenther  <rguenther@suse.de>

        Backport from mainline
        2007-10-03  Doug Kwan  <dougkwan@google.com>
                Richard Guenther  <rguenther@suse.de>

        PR debug/31899
        * dwarf2out.c (reference_to_unused): Disable sanity checking,
        be conservative instead.

        * g++.dg/debug/using3.C: New testcase.

From-SVN: r129199
2007-10-10 09:29:13 +00:00
Richard Guenther
855c9f3b86 re PR tree-optimization/33099 (Scalar evolutions confusing VRP with pointer values that wrap around)
2007-10-10  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/33099
	PR tree-optimization/33381
	* tree-vrp.c (adjust_range_with_scev): Do not adjust ranges
	from pointer typed chrecs.

	* gcc.c-torture/execute/pr33099.c: New testcase.
	* gcc.c-torture/execute/pr33381.c: Likewise.

From-SVN: r129197
2007-10-10 09:24:43 +00:00
GCC Administrator
1ebd608b9e Daily bump.
From-SVN: r129190
2007-10-10 00:16:42 +00:00
Jason Merrill
13eec67926 re PR c++/32470 (fvisibility=hidden without effect in some cases)
PR c++/32470
        * name-lookup.c (push_namespace_with_attrs): Fold back into...
        (push_namespace): Here.
        (handle_namespace_attrs): New fn for the attr code.
        (leave_scope): Don't pop_visibility.
        * name-lookup.h (struct cp_binding_level): Remove has_visibility.
        * parser.c (cp_parser_namespace_definition): Call
        handle_namespace_attrs and pop_visibility as appropriate.

        PR c++/33094
        * decl.c (make_rtl_for_nonlocal_decl): It's ok for a member
        constant to not have DECL_EXTERNAL if it's file-local.

From-SVN: r129180
2007-10-09 16:52:24 -04:00
Andreas Tobler
73bd117ddd gc_priv.h: Remove duplicate code for DARWIN.
2007-10-09  Andreas Tobler  <a.tobler@schweiz.org>

	* include/private/gc_priv.h: Remove duplicate code for DARWIN.

From-SVN: r129173
2007-10-09 21:42:40 +02:00
GCC Administrator
0f61eb22af Daily bump.
From-SVN: r129146
2007-10-09 00:16:44 +00:00
Mark Mitchell
25d1ab84ef BASE-VER: Bump.
* BASE-VER: Bump.
	* DEV-PHASE: Mark as prerelease.

From-SVN: r129142
2007-10-08 23:23:09 +00:00
GCC Administrator
84df71bf52 Daily bump.
From-SVN: r129118
2007-10-08 00:16:42 +00:00
Mark Mitchell
3655d3407c Mark as release
From-SVN: r129114
2007-10-07 21:20:55 +00:00
Mark Mitchell
6afcff70a7 Mark ChangeLog
From-SVN: r129113
2007-10-07 21:20:53 +00:00
Mark Mitchell
83fbddc88e Mark ChangeLog
From-SVN: r129112
2007-10-07 21:20:51 +00:00
Mark Mitchell
62f251b3d6 Mark ChangeLog
From-SVN: r129111
2007-10-07 21:20:49 +00:00
Mark Mitchell
e85cf60e7c Mark ChangeLog
From-SVN: r129110
2007-10-07 21:20:46 +00:00
Mark Mitchell
205a0e81a5 Mark ChangeLog
From-SVN: r129109
2007-10-07 21:20:44 +00:00
Mark Mitchell
6502077724 Mark ChangeLog
From-SVN: r129108
2007-10-07 21:20:42 +00:00
Mark Mitchell
567b2d738b Mark ChangeLog
From-SVN: r129107
2007-10-07 21:20:40 +00:00
Mark Mitchell
f86ecd5a12 Mark ChangeLog
From-SVN: r129106
2007-10-07 21:20:38 +00:00
Mark Mitchell
e16edf0064 Mark ChangeLog
From-SVN: r129105
2007-10-07 21:20:35 +00:00
Mark Mitchell
f15ff82c23 Mark ChangeLog
From-SVN: r129104
2007-10-07 21:20:33 +00:00
Mark Mitchell
780e4ab7eb Mark ChangeLog
From-SVN: r129103
2007-10-07 21:20:31 +00:00
Mark Mitchell
f5a5adc20c Mark ChangeLog
From-SVN: r129102
2007-10-07 21:20:30 +00:00
Mark Mitchell
8cdcb77bea Mark ChangeLog
From-SVN: r129101
2007-10-07 21:20:28 +00:00
Mark Mitchell
ec57b6ad02 Mark ChangeLog
From-SVN: r129100
2007-10-07 21:20:25 +00:00
Mark Mitchell
d9cc9c4164 Mark ChangeLog
From-SVN: r129099
2007-10-07 21:20:23 +00:00
Mark Mitchell
a32f7367ee Mark ChangeLog
From-SVN: r129098
2007-10-07 21:20:22 +00:00
Mark Mitchell
b449bf9326 Mark ChangeLog
From-SVN: r129097
2007-10-07 21:20:20 +00:00
Mark Mitchell
b92f9e7926 Mark ChangeLog
From-SVN: r129096
2007-10-07 21:20:18 +00:00
Mark Mitchell
82224f3f6e Mark ChangeLog
From-SVN: r129095
2007-10-07 21:20:16 +00:00
Mark Mitchell
df85497cd9 Mark ChangeLog
From-SVN: r129094
2007-10-07 21:20:14 +00:00
Mark Mitchell
074388cdc8 Mark ChangeLog
From-SVN: r129093
2007-10-07 21:20:11 +00:00
Mark Mitchell
a759948f95 Mark ChangeLog
From-SVN: r129092
2007-10-07 21:20:09 +00:00
Mark Mitchell
d69d059ff2 Mark ChangeLog
From-SVN: r129091
2007-10-07 21:20:08 +00:00
Mark Mitchell
c916f0d741 Mark ChangeLog
From-SVN: r129090
2007-10-07 21:20:05 +00:00
Mark Mitchell
9374589b30 Mark ChangeLog
From-SVN: r129089
2007-10-07 21:20:04 +00:00
Mark Mitchell
648fd76733 Mark ChangeLog
From-SVN: r129088
2007-10-07 21:20:02 +00:00
Mark Mitchell
9859ba7da6 Mark ChangeLog
From-SVN: r129087
2007-10-07 21:20:00 +00:00
Mark Mitchell
701f437b00 Mark ChangeLog
From-SVN: r129086
2007-10-07 21:19:57 +00:00
Mark Mitchell
6ca0ac8cc1 Mark ChangeLog
From-SVN: r129085
2007-10-07 21:19:56 +00:00
Mark Mitchell
01c00e2c89 Mark ChangeLog
From-SVN: r129084
2007-10-07 21:19:54 +00:00
Mark Mitchell
02d5689a1c Mark ChangeLog
From-SVN: r129083
2007-10-07 21:19:52 +00:00
Mark Mitchell
b7625145ab Mark ChangeLog
From-SVN: r129082
2007-10-07 21:19:50 +00:00
Mark Mitchell
c0a89cba0a Mark ChangeLog
From-SVN: r129081
2007-10-07 21:19:47 +00:00
Mark Mitchell
0a479f7bde Mark ChangeLog
From-SVN: r129080
2007-10-07 21:19:45 +00:00
Mark Mitchell
8e87595ebd Mark ChangeLog
From-SVN: r129079
2007-10-07 21:19:43 +00:00
Mark Mitchell
867ac41c34 Mark ChangeLog
From-SVN: r129078
2007-10-07 21:19:41 +00:00
Mark Mitchell
85887479ff Mark ChangeLog
From-SVN: r129077
2007-10-07 21:19:39 +00:00
Mark Mitchell
51dc4719ee Mark ChangeLog
From-SVN: r129076
2007-10-07 21:19:36 +00:00
Mark Mitchell
2116d3aa17 Mark ChangeLog
From-SVN: r129075
2007-10-07 21:19:35 +00:00
Mark Mitchell
b5a08c1d2e * gcc.pot: Regenerate.
From-SVN: r129074
2007-10-07 21:15:07 +00:00
Mark Mitchell
db50d02bec * cpplib.pot: Regenerate.
From-SVN: r129073
2007-10-07 21:14:45 +00:00
GCC Administrator
33fbae2fb9 Daily bump.
From-SVN: r129063
2007-10-07 00:17:14 +00:00
Benjamin Kosnik
b75544d1a6 re PR libstdc++/33678 (__do_catch, __do_upcast ABI change)
2007-10-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/33678	
	* libsupc++/typeinfo (typeinfo): Revert ordering of virtual components.

From-SVN: r129061
2007-10-06 23:48:31 +00:00
GCC Administrator
d47ad00de5 Daily bump.
From-SVN: r129044
2007-10-06 00:17:06 +00:00
GCC Administrator
71bba0782c Daily bump.
From-SVN: r129027
2007-10-05 00:16:49 +00:00
GCC Administrator
ba0afafecf Daily bump.
From-SVN: r128996
2007-10-04 00:16:50 +00:00
GCC Administrator
73fb9ec032 Daily bump.
From-SVN: r128969
2007-10-03 00:16:44 +00:00
GCC Administrator
5c3a4b35b9 Daily bump.
From-SVN: r128928
2007-10-02 00:16:43 +00:00
Jason Merrill
f52feed9e9 re PR c++/15745 (exception specification incorrectly changes the type of the exception thrown)
PR c++/15745
        * except.c (prepare_eh_type): Use type_decays_to.

From-SVN: r128917
2007-10-01 16:53:09 -04:00
GCC Administrator
2854cd570c Daily bump.
From-SVN: r128897
2007-10-01 00:16:50 +00:00
GCC Administrator
14a6e5e067 Daily bump.
From-SVN: r128887
2007-09-30 00:16:39 +00:00
GCC Administrator
4e796182b4 Daily bump.
From-SVN: r128877
2007-09-29 00:16:46 +00:00
GCC Administrator
dcecd3eb50 Daily bump.
From-SVN: r128851
2007-09-28 00:16:46 +00:00
GCC Administrator
0aee6337fa Daily bump.
From-SVN: r128827
2007-09-27 00:16:39 +00:00
GCC Administrator
af03dc0f11 Daily bump.
From-SVN: r128775
2007-09-26 00:16:51 +00:00
Jakub Jelinek
5e73024af3 re PR tree-optimization/32694 (ICE with long long arithmetic)
PR tree-optimization/32694
	2006-11-08  Roger Sayle  <roger@eyesopen.com>
	* tree-ssa-propagate.c (set_rhs): Verify tcc_comparison the same way
	as tcc_binary.
	* tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify
	the condition after calling fold_binary.

	* gcc.c-torture/compile/20070925-1.c: New test.

From-SVN: r128766
2007-09-25 17:14:42 +02:00
GCC Administrator
d9e0ee8888 Daily bump.
From-SVN: r128737
2007-09-25 00:16:51 +00:00
Jakub Jelinek
785d062ea3 re PR debug/33316 (ICE on valid variable-length automatic array in const struct)
PR debug/33316
	* dwarf2out.c (modified_type_die): Handle TYPE_DECL with NULL
	DECL_NAME.
	* dbxout.c (dbxout_type): Likewise.

	* gcc.dg/debug/pr33316.c: New test.

From-SVN: r128709
2007-09-24 11:17:10 +02:00
GCC Administrator
c105370bb5 Daily bump.
From-SVN: r128706
2007-09-24 00:16:50 +00:00
H.J. Lu
e037ed9789 configure.ac (ld_vers): Support GNU linker version xx.xx.*
2007-09-23  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac (ld_vers): Support GNU linker version xx.xx.*
	* configure: Regenerated.

From-SVN: r128703
2007-09-23 14:08:04 -07:00
Jakub Jelinek
842a8faf38 configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
* configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
	* configure: Regenerated.

From-SVN: r128694
2007-09-23 19:45:39 +02:00
GCC Administrator
44492c44f4 Daily bump.
From-SVN: r128678
2007-09-23 00:16:50 +00:00
GCC Administrator
b8768fdcf8 Daily bump.
From-SVN: r128658
2007-09-22 00:16:43 +00:00
GCC Administrator
54c65ebe61 Daily bump.
From-SVN: r128639
2007-09-21 00:16:48 +00:00
Paolo Carlini
ddbe91ab5a re PR c++/33459 (ICE on reference member in union)
cp/
2007-09-20  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33459
	* init.c (build_zero_init): If, recursively, build_zero_init
	returns a NULL_TREE, do not append it to the VEC of constructors.

testsuite/
2007-09-20  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33459
	* g++.dg/init/ref14.C: New.

From-SVN: r128616
2007-09-20 10:04:19 +00:00
GCC Administrator
caa530d7e8 Daily bump.
From-SVN: r128610
2007-09-20 00:16:43 +00:00
GCC Administrator
ed55291752 Daily bump.
From-SVN: r128592
2007-09-19 00:16:49 +00:00
GCC Administrator
e487f845a1 Daily bump.
From-SVN: r128566
2007-09-18 00:16:48 +00:00
GCC Administrator
fd2cd0a56d Daily bump.
From-SVN: r128534
2007-09-17 00:16:55 +00:00
GCC Administrator
6fea7ccc8d Daily bump.
From-SVN: r128520
2007-09-16 00:16:36 +00:00
Alan Modra
fbb0ef40f6 configure.in: Correct makeinfo version check.
* configure.in: Correct makeinfo version check.
	* configure: Regenerate.

From-SVN: r128510
2007-09-15 10:12:24 +09:30
GCC Administrator
b91c937907 Daily bump.
From-SVN: r128507
2007-09-15 00:16:42 +00:00
GCC Administrator
b06e38a457 Daily bump.
From-SVN: r128483
2007-09-14 00:16:41 +00:00
H.J. Lu
578de4cbeb re PR bootstrap/33418 ([4.1/4.2/4.3]: Gcc failed to detect HJL's binutils linker)
2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/33418
	* configure.ac (ld_vers): Support Linux linker.
	* configure: Regenerated.

From-SVN: r128478
2007-09-13 12:12:30 -07:00
Seongbae Park
5ec0ede84c common.opt (femit-class-debug-always): Turn off by default.
2007-09-13  Seongbae Park <seongbae.park@gmail.com>

	* common.opt (femit-class-debug-always): Turn off by default.

From-SVN: r128476
2007-09-13 18:28:16 +00:00
Jason Merrill
21f643029a re PR c++/15097 (code generator problem with ::delete and multiple inheritance and virtual deconstructs)
PR c++/15097
        * init.c (build_delete): Use build_headof to get the address of the
        complete object if we aren't using the deleting destructor.
        * rtti.c (build_headof): No longer static.
        * cp-tree.h: Declare it.

From-SVN: r128464
2007-09-13 09:42:11 -04:00
John David Anglin
4140075a72 re PR testsuite/33153 (FAIL: gcc.dg/pr32912-[12].c (test for excess errors))
PR testsuite/33153
	* gcc.dg/pr32912-1.c: Add -fno-common to options on hppa*-*-hpux*.
	* gcc.dg/pr32912-2.c: Delete declaration of a, b, c, d, e and f.

From-SVN: r128456
2007-09-13 03:45:16 +00:00
GCC Administrator
15c19244bf Daily bump.
From-SVN: r128451
2007-09-13 00:16:41 +00:00
Bob Wilson
faa186b202 xtensa.c (machine_function): Add vararg_a7_copy.
* config/xtensa/xtensa.c (machine_function): Add vararg_a7_copy.
        (xtensa_copy_incoming_a7): Use start_sequence instead of
        push_to_sequence.  Stash insns in vararg_a7_copy for builtin_saveregs.
        (xtensa_builtin_saveregs): Place code from vararg_a7_copy at the start
        of the saveregs sequence.

From-SVN: r128447
2007-09-12 21:47:59 +00:00
Richard Guenther
bdb567c7f6 re PR middle-end/33382 (internal compiler error: in get_constraint_for_component_ref, at tree-ssa-structalias.c:2454)
2007-09-12  Richard Guenther  <rguenther@suse.de>

	PR middle-end/33382
	* tree-ssa-structalias.c (get_constraint_for_component_ref):
	Note that accesses to a whole flexible array member may not lead
	to a subvariable.

	* gcc.c-torture/compile/pr33382.c: New testcase.
	* gcc.c-torture/execute/pr33382.c: Likewise.

From-SVN: r128417
2007-09-12 07:54:17 +00:00
GCC Administrator
f1d2fed216 Daily bump.
From-SVN: r128401
2007-09-12 00:16:41 +00:00
Jason Merrill
bbe61471dd re PR c++/31419 (template user defined conversion operator instantiated for conversion to self)
PR c++/31419
        * call.c (reference_binding): Don't look for user-defined conversions
        to the same type.

From-SVN: r128383
2007-09-11 11:40:51 -04:00
Jason Merrill
7569b5eaaa re PR c++/15745 (exception specification incorrectly changes the type of the exception thrown)
PR c++/15745
        * except.c (prepare_eh_type): Use type_decays_to.

        * except.c (initialize_handler_parm): Use
        fold_build_cleanup_point_expr.

        PR c++/31411
        * except.c (initialize_handler_parm): Put a CLEANUP_POINT_EXPR inside
        the MUST_NOT_THROW_EXPR.

From-SVN: r128382
2007-09-11 11:20:47 -04:00
GCC Administrator
cb99eed436 Daily bump.
From-SVN: r128355
2007-09-11 00:16:37 +00:00
Bob Wilson
66fe944ef0 xtensa.c (xtensa_output_literal): Mask out high bits for floating-point values if HOST_BITS_PER_LONG > 32.
* config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits
	for floating-point values if HOST_BITS_PER_LONG > 32.  Use
	split_double instead of operand_subword.

From-SVN: r128352
2007-09-10 21:41:50 +00:00
Bob Wilson
f7141a9eea xtensa.md (adddi3, [...]): Delete.
* config/xtensa/xtensa.md (adddi3, adddi_carry): Delete.
	(subdi3, subdi_carry): Delete.

From-SVN: r128351
2007-09-10 21:41:08 +00:00
GCC Administrator
1c6ec5fc78 Daily bump.
From-SVN: r128316
2007-09-10 00:16:43 +00:00
Jason Merrill
4da7cb74e3 re PR c++/33342 (ICE in dependent_type_p, at cp/pt.c:15081)
PR c++/33342
        * pt.c (most_specialized_class): Set processing_template_decl
        while tsubsting partial spec args.

From-SVN: r128304
2007-09-09 14:58:52 -04:00
GCC Administrator
ab4f5e0d81 Daily bump.
From-SVN: r128280
2007-09-09 00:16:49 +00:00
GCC Administrator
b7dc9c271d Daily bump.
From-SVN: r128259
2007-09-08 00:16:55 +00:00
Tobias Burnus
612f9d5f2e re PR middle-end/33321 (gcc manpage contains "@option<-Wstrict-overflow=1>")
2007-09-07  Tobias Burnus  <burnus@net-b.de>

	PR middle-end/33321
	* doc/invoke.texi: Fix -Wstrict-overflow= table.

From-SVN: r128237
2007-09-07 12:45:50 +02:00
Jason Merrill
6be4a97931 * decl2.c (get_guard): Copy visibility from the guarded variable.
From-SVN: r128227
2007-09-06 23:57:35 -04:00
GCC Administrator
a8fe8ba1e0 Daily bump.
From-SVN: r128214
2007-09-07 00:16:48 +00:00
Paolo Carlini
763e303a73 re PR c++/32674 (ICE in lvalue_p_1 initialising static variable inside template class)
/cp
2007-09-06  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32674
	* decl.c (cp_finish_decl): When processing_template_decl,
	deal correctly with init as TREE_LIST.

/testsuite
2007-09-06  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32674
	* g++.dg/template/static31.C: New.

From-SVN: r128205
2007-09-06 19:19:15 +00:00
Richard Sandiford
9e31f6b05e re PR target/33256 (internal compiler error: in print_operand_reloc, at config/mips/mips.c:5579)
gcc/
	PR target/33256
	* config/mips/mips.c (mips_classify_symbolic_expression): New function.
	(mips_classify_address): Use it instead of mips_symbolic_constant_p.
	(print_operand_reloc): Likewise.

gcc/testsuite/
200x-xx-xx  David Daney  <ddaney@avtrex.com>
	    Richard Sandiford  <richard@codesourcery.com>

	PR target/33256
	* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_forced_le.
	(dg-mips-options): Skip -EB and -meb tests when $mips_forced_le.
	* gcc.target/mips/pr33256.c: New test.

From-SVN: r128197
2007-09-06 18:04:51 +00:00
GCC Administrator
45ad170cb9 Daily bump.
From-SVN: r128166
2007-09-06 00:16:43 +00:00
Philipp Thomas
ae76ef3a48 Update to the latest submitted translations
From-SVN: r128138
2007-09-05 15:39:04 +00:00
Philipp Thomas
a2f0ab2709 Update to latest version
From-SVN: r128137
2007-09-05 15:35:39 +00:00
Paolo Carlini
29ea8de0c0 re PR c++/33210 (Broken diagnostics: 'bound_template_template_parm' not supported by pp_cxx_unqualified_id/dump_decl)
/cp
2007-09-05  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33210
	* cxx-pretty-print.c (pp_cxx_unqualified_id): Deal with
	BOUND_TEMPLATE_TEMPLATE_PARM.

/testsuite
2007-09-05  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33210
	* g++.dg/template/error30.C: New.

From-SVN: r128125
2007-09-05 10:40:29 +00:00
GCC Administrator
80d5820ffa Daily bump.
From-SVN: r128111
2007-09-05 00:17:07 +00:00
Jason Merrill
0dac7ee6ef re PR c++/14032 (Specialization of inner template using outer template argument doesn't work)
PR c++/14032
        * pt.c (most_specialized_class): Substitute outer template
        arguments into the arguments of a member template partial
        specialization.
        (strip_innermost_template_args): New fn.

From-SVN: r128090
2007-09-04 11:43:00 -04:00
GCC Administrator
98721230b6 Daily bump.
From-SVN: r128063
2007-09-04 00:16:51 +00:00
Anatoly Sokolov
bd3b92123e re PR target/28902 (Fix for "alingment of XXX is greater than maximum object alignment" on AVR)
PR target/28902
 	* config/avr/avr.h (TARGET_VTABLE_ENTRY_ALIGN): Define.

From-SVN: r128060
2007-09-04 01:03:50 +04:00
Nick Clifton
358e3f5750 Make-lang.in: Change copyright header to refer to version 3 of the GNU General Public License...
* Make-lang.in: Change copyright header to refer to version 3 of the GNU
  General Public License and to point readers at the COPYING3 file and 
  the FSF's license web page.
* ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
  Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
  namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
  treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c: Likewise.

From-SVN: r128042
2007-09-03 13:11:02 +00:00
GCC Administrator
4d6071a4f2 Daily bump.
From-SVN: r128030
2007-09-03 00:16:55 +00:00
GCC Administrator
64c787bfac Daily bump.
From-SVN: r128020
2007-09-02 00:16:45 +00:00
Nick Clifton
c7b83199e9 Change GPLv2 files (which do not have exceptions or additions) over to GPLv3.
From-SVN: r128013
2007-09-01 15:28:30 +00:00
GCC Administrator
c44bdc6741 Daily bump.
From-SVN: r128007
2007-09-01 00:16:52 +00:00
Paolo Carlini
c1fca6dfb7 re PR c++/32113 (ICE with invalid template parameter)
/cp
2007-08-31  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32113
	* search.c (lookup_member): Check the name argument for
	error_mark_node.

/testsuite
2007-08-31  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32113
	* g++.dg/template/crash70.C: New.

From-SVN: r127966
2007-08-31 09:57:50 +00:00
Nick Clifton
c12a229d49 Switch to GPLv3
From-SVN: r127961
2007-08-31 08:27:50 +00:00
Jakub Jelinek
76327e0e70 re PR rtl-optimization/33148 (ICE in trunc_int_for_mode, at explow.c:56 during combine)
PR rtl-optimization/33148
	* simplify-rtx.c (simplify_unary_operation_1): Only optimize
	(neg (lt X 0)) if X has scalar int mode.

	* gcc.c-torture/compile/20070827-1.c: New test.

From-SVN: r127959
2007-08-31 09:27:40 +02:00
Jakub Jelinek
db8b3d46a3 re PR debug/32914 (ICE in rtl_for_decl_init with -g option)
PR debug/32914
	* dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
	initializer, use build_vector_from_ctor if possible to create
	VECTOR_CST out of it.  If vector initializer is not VECTOR_CST
	even after this, return NULL.

	* d++.dg/debug/const3.C: New test.
	* d++.dg/debug/const4.C: New test.

From-SVN: r127958
2007-08-31 09:25:20 +02:00
GCC Administrator
d41c5933ab Daily bump.
From-SVN: r127943
2007-08-31 00:16:47 +00:00
GCC Administrator
9b3958c1d3 Daily bump.
From-SVN: r127915
2007-08-30 00:16:58 +00:00
GCC Administrator
3759b55130 Daily bump.
From-SVN: r127873
2007-08-29 00:17:09 +00:00
Paolo Carlini
7169587a7c re PR libstdc++/33128 (std::tr1::uniform_int returns value out of range)
2007-08-28  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33128
	* include/tr1_impl/random (uniform_int<>::_M_call): Deal with
	__urng() returning negative values.
	* testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
	New.

From-SVN: r127850
2007-08-28 08:48:54 +00:00
GCC Administrator
de9618f549 Daily bump.
From-SVN: r127843
2007-08-28 00:17:14 +00:00
Jason Merrill
ffef818294 re PR c++/31337 (ICE with statement expression)
PR c++/31337
        * gimplify.c (gimplify_modify_expr): Discard the assignment of
        zero-sized types after calling gimplify_modify_expr_rhs.

From-SVN: r127840
2007-08-27 18:04:37 -04:00
GCC Administrator
1e6b8c4419 Daily bump.
From-SVN: r127821
2007-08-27 00:16:49 +00:00
GCC Administrator
df630eb0e7 Daily bump.
From-SVN: r127804
2007-08-26 00:16:48 +00:00
GCC Administrator
a859bec4a2 Daily bump.
From-SVN: r127792
2007-08-25 00:16:55 +00:00
Jakub Jelinek
d97911b915 re PR middle-end/32912 (ICE with vector code)
PR middle-end/32912
	* fold-const.c (fold_binary): Only optimize X | ~X and X ^ ~X for
	integral types.

	* gcc.dg/pr32912-1.c: New test.
	* gcc.dg/pr32912-2.c: New test.

From-SVN: r127779
2007-08-24 19:15:51 +02:00
Jakub Jelinek
77379503c5 re PR c++/31941 ("confused by earlier errors" message without earlier error message)
PR c++/31941
	* error.c (resolve_virtual_fun_from_obj_type_ref): Handle
	TARGET_VTABLE_USES_DESCRIPTORS targets properly.

	* g++.dg/parse/crash37.C: New test.

From-SVN: r127778
2007-08-24 19:12:41 +02:00
Jakub Jelinek
d15fc80264 re PR c++/32898 (Definition of variable N::i outside namespace N not rejected)
PR c++/32898
	* name-lookup.c (set_decl_namespace): lookup_qualified_name failure
	is error_mark_node rather than NULL_TREE.
	* pt.c (check_explicit_specialization): Likewise.

	* g++.dg/lookup/ns3.C: New test.

From-SVN: r127777
2007-08-24 19:09:50 +02:00
Jakub Jelinek
4733a59e42 re PR debug/32610 (ICE in gen_tagged_type_instantiation_die, at dwarf2out.c:12762)
PR debug/32610
	* dwarf2out.c (gen_decl_die): Don't call
	gen_tagged_type_instantiation_die if decl doesn't have tagged type.

	* gcc.dg/debug/pr32610.c: New test.

From-SVN: r127776
2007-08-24 19:06:59 +02:00
Richard Guenther
9ee03c7035 expr.c (get_inner_reference): Remove unused variable.
2007-08-24  Richard Guenther  <rguenther@suse.de>

        * expr.c (get_inner_reference): Remove unused variable.

From-SVN: r127768
2007-08-24 11:24:34 +00:00
Richard Guenther
774fee44bf expr.c (get_inner_reference): Do computation of bitoffset from offset in a way we can detect overflow reliably.
2007-08-23  Richard Guenther  <rguenther@suse.de>

	* expr.c (get_inner_reference): Do computation of bitoffset
	from offset in a way we can detect overflow reliably.

From-SVN: r127767
2007-08-24 11:22:44 +00:00
GCC Administrator
768253601f Daily bump.
From-SVN: r127753
2007-08-24 00:17:02 +00:00
GCC Administrator
73f6f400fd Daily bump.
From-SVN: r127722
2007-08-23 00:17:01 +00:00
Jason Merrill
38b57f797f re PR c++/29365 (Unnecessary anonymous namespace warnings)
PR c++/29365
        * pt.c (outermost_tinst_level): New function.
        * lex.c (in_main_input_context): New function.
        * decl2.c (constrain_class_visibility): Use it to avoid warning
        about uses of the anonymous namespace in the main input file.

From-SVN: r127716
2007-08-22 16:40:30 -04:00
Krister Walfridsson
35597e28f7 env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for NetBSD.
* env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
	NetBSD.

From-SVN: r127712
2007-08-22 17:54:43 +00:00
Richard Guenther
f6f914602e re PR tree-optimization/33142 (wrong code with VRP through ABS_EXPR)
2007-08-22  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/33142
	* gcc.c-torture/execute/pr33142.c: New testcase.

From-SVN: r127692
2007-08-22 08:45:58 +00:00
Richard Guenther
cd9bf45c47 re PR debug/32563 (ICE on pointer arithmetic)
2007-08-22  Richard Guenther  <rguenther@suse.de>

	PR middle-end/32563
	* tree.c (host_integerp): Treat sizetype as signed as it is
	sign-extended.

	* g++.dg/torture/pr32563.C: New testcase.

        Backport from mainline:
        2007-05-30  Richard Guenther  <rguenther@suse.de>

        * g++.dg/dg.exp: Prune torture/.
        * g++.dg/torture/dg-torture.exp: New testsuite.

From-SVN: r127689
2007-08-22 08:07:11 +00:00
GCC Administrator
1f9740d517 Daily bump.
From-SVN: r127682
2007-08-22 00:16:46 +00:00
Joseph Myers
4c43f12340 be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po: Update.
	* uk.po: New.

From-SVN: r127665
2007-08-21 12:47:20 +01:00
Joseph Myers
847e3c7aca be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r127663
2007-08-21 12:43:10 +01:00
Adam Nemet
3c89e61f8d predicates.md (const_call_insn_operand): Invoke SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.
* config/mips/predicates.md (const_call_insn_operand): Invoke
	SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.

From-SVN: r127658
2007-08-21 00:50:59 +00:00
GCC Administrator
a8d92f860d Daily bump.
From-SVN: r127655
2007-08-21 00:16:56 +00:00
Jakub Jelinek
c00d7caf0a re PR c++/32992 (Incorrect code generated for anonymous union and return)
PR c++/32992
	* typeck.c (check_return_expr): Don't NRV optimize vars in
	anonymous unions.
	* decl.c (finish_function): Comment fix.

	* g++.dg/opt/nrv14.C: New test.

From-SVN: r127640
2007-08-20 10:10:54 +02:00
GCC Administrator
914de893ae Daily bump.
From-SVN: r127631
2007-08-20 00:16:49 +00:00
GCC Administrator
c9972b81f5 Daily bump.
From-SVN: r127617
2007-08-19 00:18:26 +00:00
Paolo Carlini
35a262577c re PR c++/32112 (#'unbound_class_template' not supported by dump_decl#)
/cp
2007-08-18  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32112
	* error.c (dump_decl): Deal with UNBOUND_CLASS_TEMPLATE.
	* cxx-pretty-print.c (pp_cxx_unqualified_id): Likewise.

/testsuite
2007-08-18  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32112
	* g++.dg/template/error26.C: New.

From-SVN: r127609
2007-08-18 10:07:42 +00:00
GCC Administrator
74339b6c59 Daily bump.
From-SVN: r127605
2007-08-18 00:17:29 +00:00
Paolo Carlini
2978df6bea re PR c++/32190 (wrong error recovery on parsing template arguments)
2007-08-17  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32190
	* g++.dg/parse/error31.C: New.

From-SVN: r127599
2007-08-17 21:38:40 +00:00
Paolo Carlini
1089abe7db re PR c++/32190 (wrong error recovery on parsing template arguments)
2007-08-17  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32190
	* g++.dg/parse/error31.C: New.

From-SVN: r127598
2007-08-17 21:38:19 +00:00
Johannes Willkomm
af55bd09cc re PR libstdc++/33084 (Small typo in valarray header)
2007-08-17  Johannes Willkomm  <willkomm@sc.rwth-aachen.de>

	PR libstdc++/33084
	* include/std/valarray (operator _Op(const _Tp&,
	const valarray<>&)): Fix typo.
	* testsuite/26_numerics/numeric_arrays/valarray/33084.cc: New.

From-SVN: r127580
2007-08-17 09:28:09 +00:00
Chen Liqin
3b202bd9d2 score.md: Update pattern tablejump.
2007-08-17  Chen liqin  <liqin@sunnorth.com.cn>

        * config/score/score.md : Update pattern tablejump.
        * config/score/score.c : Update score_initialize_trampoline 
        function.
        * config/score/score.h (TRAMPOLINE_TEMPLATE): Added macro.
        (TRAMPOLINE_INSNS, TRAMPOLINE_SIZE) Update macro.
        * doc/contrib.texi: Add my entry.

From-SVN: r127576
2007-08-17 01:52:08 +00:00
GCC Administrator
9db3773b68 Daily bump.
From-SVN: r127573
2007-08-17 00:17:06 +00:00
GCC Administrator
71595c112a Daily bump.
From-SVN: r127529
2007-08-16 00:17:07 +00:00
GCC Administrator
21c775d440 Daily bump.
From-SVN: r127501
2007-08-15 00:16:50 +00:00
GCC Administrator
683f465c0a Daily bump.
From-SVN: r127401
2007-08-14 00:16:54 +00:00
GCC Administrator
57844f834f Daily bump.
From-SVN: r127387
2007-08-13 00:19:23 +00:00
GCC Administrator
5f9c96ce9a Daily bump.
From-SVN: r127367
2007-08-12 00:17:11 +00:00
GCC Administrator
137e03fc1f Daily bump.
From-SVN: r127354
2007-08-11 00:16:55 +00:00
Paolo Carlini
bb56df19b9 re PR c++/17763 (Wrong context in error message for template parameter)
/cp
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

	PR c++/17763
	* error.c (dump_expr): Consistently use the *_cxx_*
	variants of the pretty-print functions.

/testsuite
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

	PR c++/17763
	* g++.dg/other/error16.C: New.

From-SVN: r127345
2007-08-10 18:04:46 +00:00
GCC Administrator
3e16abdb41 Daily bump.
From-SVN: r127328
2007-08-10 00:16:57 +00:00
GCC Administrator
cfbb1163a3 Daily bump.
From-SVN: r127309
2007-08-09 00:17:19 +00:00
GCC Administrator
9f43e7d526 Daily bump.
From-SVN: r127286
2007-08-08 00:16:48 +00:00
GCC Administrator
21c77239bc Daily bump.
From-SVN: r127262
2007-08-07 00:17:06 +00:00
GCC Administrator
b697b140d4 Daily bump.
From-SVN: r127231
2007-08-06 00:17:01 +00:00
GCC Administrator
27036c06a3 Daily bump.
From-SVN: r127219
2007-08-05 00:16:46 +00:00
GCC Administrator
9be7fe1302 Daily bump.
From-SVN: r127193
2007-08-04 00:16:54 +00:00
GCC Administrator
ab1433dad8 Daily bump.
From-SVN: r127171
2007-08-03 00:16:57 +00:00
Andreas Krebbel
2d73fc22d6 s390.md ("*xordi3_cconly"): Change xr to xg.
2007-08-02  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md ("*xordi3_cconly"): Change xr to xg.

From-SVN: r127150
2007-08-02 08:13:15 +00:00
GCC Administrator
7c7a669361 Daily bump.
From-SVN: r127142
2007-08-02 00:17:01 +00:00
Philipp Thomas
0695fd0643 Update to latest version
From-SVN: r127123
2007-08-01 12:08:25 +00:00
Andreas Krebbel
5125cd1ad8 s390.md (TF in GPR splitter): Change operand_subword parameter to TFmode.
2007-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md (TF in GPR splitter): Change operand_subword
	parameter to TFmode.

2007-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/20070801-1.c: New testcase.

From-SVN: r127115
2007-08-01 08:43:06 +00:00
GCC Administrator
e80da97763 Daily bump.
From-SVN: r127110
2007-08-01 00:17:00 +00:00
Philipp Thomas
31012fc21d Update de.po to lastest version.
From-SVN: r127089
2007-07-31 12:36:53 +00:00
GCC Administrator
b34d311c88 Daily bump.
From-SVN: r127076
2007-07-31 00:16:50 +00:00
Mark Mitchell
f220f59d5c BASE-VER: Bump.
* BASE-VER: Bump.
	* DEV-PHASE: Mark as prerelease.

From-SVN: r127068
2007-07-30 19:14:58 +00:00
Paolo Carlini
6dc5da8e47 re PR c++/32108 (ICE with __label__ outside of block scope)
cp/
2007-07-30  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32108
	* semantics.c (finish_label_stmt): Reject the __label__
	extension outside function scopes.

testsuite/
2007-07-30  Paolo Carlini  <pcarlini@suse.de>

	PR c++/32108
	* g++.dg/ext/label6.C: New.

From-SVN: r127064
2007-07-30 15:38:39 +00:00
Steve Ellcey
e0e6d79a73 re PR target/32218 (segfault with -O1 -ftree-vectorize)
PR target/32218
	* tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type.

From-SVN: r127062
2007-07-30 15:15:54 +00:00
GCC Administrator
f189308a16 Daily bump.
From-SVN: r127053
2007-07-30 00:16:39 +00:00
Daniel Franke
3b6caa9930 backport: [multiple changes]
2007-07-29  Daniel Franke  <franke.daniel@gmail.com>

	Backport from trunk:
	2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
	* invoke.texi: Removed -w from option summary.

	2007-07-29  Daniel Franke  <franke.daniel@gmail.com>
	PR fortran/32879
	* intrinsic.texi (IRAND, RAND, RANDOM_NUMBER): Document
	algorithm used for random number generator.

	2007-07-13  Daniel Franke  <franke.daniel@gmail.com>
	* invoke.texi: Unified upper- and lower-case in menus.
	(-w, -W): Removed, documented by gcc.
	* intrinsic.texi: Unified Class-section entries, added
	subroutine/function warning where appropiate.

	2007-05-01  Daniel Franke  <franke.daniel@gmail.com>
	* intrinsic.texi (MVBITS): Changed class to elemental subroutine.
	(RANDOM_NUMBER): Changed class to subroutine.
	(HUGE, TINY): Changed class to inquiry function.

From-SVN: r127042
2007-07-29 06:49:11 -04:00
GCC Administrator
714ee81b99 Daily bump.
From-SVN: r127033
2007-07-29 00:16:49 +00:00
Simon Martin
437ff9ff22 re PR c++/30917 (ICE with friend in local class (to a function))
gcc/cp/

2007-07-28  Simon Martin  <simartin@users.sourceforge.net>
            Mark Mitchell  <mark@codesourcery.com>

        PR c++/30917
        * name-lookup.c (lookup_name_real): Non namespace-scope bindings can be
        hidden due to friend declarations in local classes.

gcc/testsuite/

2007-07-28  Simon Martin  <simartin@users.sourceforge.net>

        PR c++/30917
        * g++.dg/lookup/friend11.C: New test.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r127023
2007-07-28 20:12:42 +00:00
GCC Administrator
88bd817576 Daily bump.
From-SVN: r127007
2007-07-28 00:16:50 +00:00
Mark Mitchell
5a37af8533 re PR c++/32346 (long long bitfield passed to int argument incorrectly)
PR c++/32346
	* call.c (convert_for_arg_passing): Only widen bitfields to their
	declared types if necessary.
	PR c++/32346
	* g++.dg/expr/bitfield9.C: New test.

From-SVN: r126999
2007-07-27 21:46:33 +00:00
GCC Administrator
7128703163 Daily bump.
From-SVN: r126966
2007-07-27 00:16:36 +00:00
GCC Administrator
592f07f0cf Daily bump.
From-SVN: r126939
2007-07-26 00:16:53 +00:00
Dorit Nuzman
d5e0784096 re PR target/25413 (wrong alignment or incorrect address computation in vectorized code on Pentium 4 SSE)
2007-07-25  Dorit Nuzman  <dorit@il.ibm.com>
            Devang Patel  <dpatel@apple.com>

        PR tree-optimization/25413
        * targhooks.c (default_builtin_vector_alignment_reachable): New.
        * targhooks.h (default_builtin_vector_alignment_reachable): New.
        * tree.h (contains_packed_reference): New.
        * expr.c (contains_packed_reference): New.
        * tree-vect-analyze.c (vector_alignment_reachable_p): New.
        (vect_enhance_data_refs_alignment): Call
        vector_alignment_reachable_p.
        * target.h (vector_alignment_reachable): New builtin.
        * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
        * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New.
        (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.

2007-07-25  Dorit Nuzman  <dorit@il.ibm.com>
            Devang Patel  <dpatel@apple.com>
            Uros Bizjak  <ubizjak@gmail.com>

        PR tree-optimization/25413
        * lib/target-supports.exp (check_effective_target_vect_aligned_arrays):
        New procedure to check if arrays are naturally aligned to the vector
        alignment boundary.
        * gcc.dg/vect/vect-align-1.c: New.
        * gcc.dg/vect/vect-align-2.c: New.
        * gcc.dg/vect/pr25413.c: New.
        * gcc.dg/vect/pr25413a.c: New.


Co-Authored-By: Devang Patel <dpatel@apple.com>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r126904
2007-07-25 08:51:12 +00:00
GCC Administrator
0945a2a3b9 Daily bump.
From-SVN: r126895
2007-07-25 00:16:42 +00:00
Richard Guenther
e6f45cd293 backport: tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond" before forcing it to gimple operand.
2007-07-24  Richard Guenther  <rguenther@suse.de>

        Backport from mainline:
        2007-07-16  Richard Guenther  <rguenther@suse.de>
                    Uros Bizjak  <ubizjak@gmail.com>

        * tree-if-conv.c (find_phi_replacement_condition): Unshare
        "*cond" before forcing it to gimple operand.

From-SVN: r126874
2007-07-24 12:30:10 +00:00
Paolo Carlini
266cb8c284 re PR c++/30535 (ICE with invalid template operator)
/cp
2007-07-24  Paolo Carlini  <pcarlini@suse.de>

	PR c++/30535
	* pt.c (unify): Never pass error_mark_node to template_decl_level.

/testsuite
2007-07-24  Paolo Carlini  <pcarlini@suse.de>

	PR c++/30535
	* g++.dg/template/operator10.C: New.

From-SVN: r126871
2007-07-24 09:18:39 +00:00
Richard Guenther
0ac13af32c re PR tree-optimization/32723 (memory hog in solve_graph)
2007-07-24  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32723
	Backport from mainline:
	2007-03-09  Daniel Berlin  <dberlin@dberlin.org>

        * tree-ssa-structalias.c (shared_bitmap_info_t): New structure.
        (shared_bitmap_table): New variable.
        (shared_bitmap_hash): New function.
        (shared_bitmap_eq): Ditto
        (shared_bitmap_lookup): Ditto.
        (shared_bitmap_add): Ditto.
        (find_what_p_points_to): Rewrite to use shared bitmap hashtable.
        (init_alias_vars): Init shared bitmap hashtable.
        (delete_points_to_sets): Delete shared bitmap hashtable.

From-SVN: r126867
2007-07-24 07:30:47 +00:00
GCC Administrator
6a19b977f3 Daily bump.
From-SVN: r126863
2007-07-24 00:16:47 +00:00
Bernd Schmidt
4312302033 reload1.c (choose_reload_regs): Set reload_spill_index for regs chosen during find_reloads.
* reload1.c (choose_reload_regs): Set reload_spill_index for regs
	chosen during find_reloads.

From-SVN: r126854
2007-07-23 17:22:34 +00:00
Rainer Orth
6da0e74138 configure.ac (mips-sgi-irix6*): Override SYSTEMSPEC.
* configure.ac (mips-sgi-irix6*): Override SYSTEMSPEC.
	* configure: Regenerate.

From-SVN: r126848
2007-07-23 12:54:02 +00:00
GCC Administrator
2ee1ce2ccc Daily bump.
From-SVN: r126831
2007-07-23 00:16:48 +00:00
Jerry DeLisle
a62716cbcf re PR fortran/32678 ([4.2, 4.1]GFortan works incorrectly when writing with FORMAT Tx)
2007-07-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32678
	* gfortran.dg/fmt_t_5.f90: New test.

From-SVN: r126823
2007-07-22 04:05:00 +00:00
Jerry DeLisle
66e035199b re PR libfortran/32752 (Segfault on WRITE with modified unix_stream structure)
2007-07-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32752
	PR libgfortran/32678
	Backport from trunk.
	* io/transfer.c (formatted_transfer_scalar): If stream I/O, set
	bytes_used to zero. Fix off by one error in calculation of pos and
	skips. Don't allow pending_spaces to go negative.

From-SVN: r126822
2007-07-22 04:02:57 +00:00
GCC Administrator
461c794009 Daily bump.
From-SVN: r126819
2007-07-22 00:16:42 +00:00
Kaveh R. Ghazi
bef2a00be6 re PR target/32641 (C99 fpclassify, isinf, isfinite, isnormal may raise FP exceptions)
fixincludes:
	PR target/32641

	* inclhack.def (solaris_math_4, solaris_math_5, solaris_math_6,
	solaris_math_7): Constify and make FP exception-safe.
	* tests/base/iso/math_c99.h: Update.

	* fixincl.x: Regenerate.

gcc/testsuite:
	* gcc.dg/c99-math-double-1.c: Mark test variables as volatile.
	Test negative numbers also.
	* gcc.dg/c99-math-float-1.c: Likewise.
	* gcc.dg/c99-math-long-double-1.c: Likewise.
	* gcc.dg/c99-math.h: Check for FP exceptions.  Update for negative
	test inputs.

From-SVN: r126815
2007-07-21 21:57:21 +00:00
GCC Administrator
d3757e145c Daily bump.
From-SVN: r126806
2007-07-21 00:16:50 +00:00
GCC Administrator
d9e99fac16 Daily bump.
From-SVN: r126793
2007-07-20 00:16:40 +00:00
Mark Mitchell
0d5acec7b6 Mark as release
From-SVN: r126786
2007-07-19 14:31:06 +00:00
Mark Mitchell
2c25e2cf3e Mark ChangeLog
From-SVN: r126785
2007-07-19 14:31:04 +00:00
Mark Mitchell
6bf50764e8 Mark ChangeLog
From-SVN: r126784
2007-07-19 14:31:02 +00:00
Mark Mitchell
49a6acfaff Mark ChangeLog
From-SVN: r126783
2007-07-19 14:31:00 +00:00
Mark Mitchell
6cdb82b721 Mark ChangeLog
From-SVN: r126782
2007-07-19 14:30:52 +00:00
Mark Mitchell
dbef433b57 Mark ChangeLog
From-SVN: r126781
2007-07-19 14:30:47 +00:00
Mark Mitchell
c2d65dc88c Mark ChangeLog
From-SVN: r126780
2007-07-19 14:30:44 +00:00
Mark Mitchell
bd87f76c6e Mark ChangeLog
From-SVN: r126779
2007-07-19 14:30:40 +00:00
Mark Mitchell
180157c827 Mark ChangeLog
From-SVN: r126778
2007-07-19 14:30:32 +00:00
Mark Mitchell
5baa6e64ff Mark ChangeLog
From-SVN: r126777
2007-07-19 14:30:28 +00:00
Mark Mitchell
5a46e6b675 Mark ChangeLog
From-SVN: r126776
2007-07-19 14:30:25 +00:00
Mark Mitchell
088cd79d8d Mark ChangeLog
From-SVN: r126775
2007-07-19 14:30:22 +00:00
Mark Mitchell
0cc353e532 Mark ChangeLog
From-SVN: r126774
2007-07-19 14:30:19 +00:00
Mark Mitchell
8ac6f096cd Mark ChangeLog
From-SVN: r126773
2007-07-19 14:30:16 +00:00
Mark Mitchell
fba207b8ae Mark ChangeLog
From-SVN: r126772
2007-07-19 14:30:13 +00:00
Mark Mitchell
53cd264d54 Mark ChangeLog
From-SVN: r126771
2007-07-19 14:30:09 +00:00
Mark Mitchell
8963abe97a Mark ChangeLog
From-SVN: r126770
2007-07-19 14:30:05 +00:00
Mark Mitchell
29e4193439 Mark ChangeLog
From-SVN: r126769
2007-07-19 14:30:01 +00:00
Mark Mitchell
b74c4202be Mark ChangeLog
From-SVN: r126768
2007-07-19 14:29:58 +00:00
Mark Mitchell
e8ce3887d0 Mark ChangeLog
From-SVN: r126767
2007-07-19 14:29:56 +00:00
Mark Mitchell
e4aad0a0e0 Mark ChangeLog
From-SVN: r126766
2007-07-19 14:29:53 +00:00
Mark Mitchell
f498d73198 Mark ChangeLog
From-SVN: r126765
2007-07-19 14:29:51 +00:00
Mark Mitchell
8e595ba28e Mark ChangeLog
From-SVN: r126764
2007-07-19 14:29:48 +00:00
Mark Mitchell
e4b231bcbf Mark ChangeLog
From-SVN: r126763
2007-07-19 14:29:45 +00:00
Mark Mitchell
9a2689d08e Mark ChangeLog
From-SVN: r126762
2007-07-19 14:29:37 +00:00
Mark Mitchell
de2e8fa1ce Mark ChangeLog
From-SVN: r126761
2007-07-19 14:29:35 +00:00
Mark Mitchell
8f7aa7fcf0 Mark ChangeLog
From-SVN: r126760
2007-07-19 14:29:33 +00:00
Mark Mitchell
a6b108862b Mark ChangeLog
From-SVN: r126759
2007-07-19 14:29:31 +00:00
Mark Mitchell
81b642723f Mark ChangeLog
From-SVN: r126758
2007-07-19 14:29:29 +00:00
Mark Mitchell
ebd630a17d Mark ChangeLog
From-SVN: r126757
2007-07-19 14:29:26 +00:00
Mark Mitchell
76dc1e110d Mark ChangeLog
From-SVN: r126756
2007-07-19 14:29:23 +00:00
Mark Mitchell
8f66e480a1 Mark ChangeLog
From-SVN: r126755
2007-07-19 14:29:21 +00:00
Mark Mitchell
5219b6de10 Mark ChangeLog
From-SVN: r126754
2007-07-19 14:29:19 +00:00
Mark Mitchell
9005c0ea89 Mark ChangeLog
From-SVN: r126753
2007-07-19 14:29:16 +00:00
Mark Mitchell
d0575fd9f5 Mark ChangeLog
From-SVN: r126752
2007-07-19 14:29:14 +00:00
Mark Mitchell
5e6247f142 Mark ChangeLog
From-SVN: r126751
2007-07-19 14:29:11 +00:00
Mark Mitchell
271af4b309 Mark ChangeLog
From-SVN: r126750
2007-07-19 14:29:09 +00:00
Mark Mitchell
0da80b7c56 Mark ChangeLog
From-SVN: r126749
2007-07-19 14:29:06 +00:00
Mark Mitchell
66dbb58243 Mark ChangeLog
From-SVN: r126748
2007-07-19 14:29:04 +00:00
Mark Mitchell
b3b4e23b66 Mark ChangeLog
From-SVN: r126747
2007-07-19 14:28:59 +00:00
Mark Mitchell
21a5e756d7 gcc.pot: Regenerate.
* gcc.pot: Regenerate.

	* cpplib.pot: Regenerate.

From-SVN: r126741
2007-07-19 04:20:26 +00:00
Paolo Bonzini
f8f8b7b688 Revert:
2007-07-09  Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/32004
	* function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.

	2007-07-06  Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/32004
	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
	pass_match_asm_constraints): New.
	* passes.c (init_optimization_passes): Add new pass.
	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
	* function.h (struct function): Add has_asm_statement bit.
	(current_function_has_asm_statement): New.
	* tree-pass.h (pass_match_asm_constraints): New.

From-SVN: r126740
2007-07-19 03:25:32 +00:00
GCC Administrator
c8754a012d Daily bump.
From-SVN: r126737
2007-07-19 00:16:40 +00:00
GCC Administrator
1fb1bdfbb9 Daily bump.
From-SVN: r126709
2007-07-18 00:16:50 +00:00
John David Anglin
2c7a52e832 fptr.c: Update license header.
* config/pa/fptr.c: Update license header.
	* config/pa/milli64.S: Likewise.

From-SVN: r126707
2007-07-17 22:30:59 +00:00
GCC Administrator
bf0c80291d Daily bump.
From-SVN: r126696
2007-07-17 00:16:39 +00:00
Paul Brook
a277fc85de re PR target/32753 (building a crosscompiler for arm-elf fails because of an error in cirrus.md)
2007-07-16  Paul Brook  <paul@codesourcery.com>

	PR target/32753
	gcc/
	* config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.

From-SVN: r126680
2007-07-16 13:03:07 +00:00
GCC Administrator
68f4f0d337 Daily bump.
From-SVN: r126665
2007-07-16 00:16:48 +00:00
GCC Administrator
56e5c4e698 Daily bump.
From-SVN: r126649
2007-07-15 00:16:49 +00:00
GCC Administrator
f040679e2f Daily bump.
From-SVN: r126633
2007-07-14 00:16:40 +00:00
GCC Administrator
af3c7cc424 Daily bump.
From-SVN: r126608
2007-07-13 00:16:36 +00:00
GCC Administrator
ac5187042d Daily bump.
From-SVN: r126563
2007-07-12 00:16:35 +00:00
Paolo Carlini
7981f9605c re PR c++/31027 (Compiler segfaults in simple virtual inheritance situation)
2007-07-11  Paolo Carlini  <pcarlini@suse.de>

	PR c++/31027
	* g++.dg/inherit/virtual4.C: New.

From-SVN: r126559
2007-07-11 21:54:36 +00:00
Brooks Moses
683b1c9686 backport: re PR fortran/31823 (COMPLEX not documented)
Backport from trunk:
PR fortran/31823
* intrinsic.texi (CMPLX): Document result kind.
(COMPLEX): Add documentation.

From-SVN: r126538
2007-07-10 23:25:47 -07:00
GCC Administrator
f585225084 Daily bump.
From-SVN: r126531
2007-07-11 00:16:35 +00:00
Rainer Orth
c4b4202294 re PR target/32538 (All libgomp tests fail to link on IRIX 6: copysignl undefined)
PR target/32538
	* config/mips/iris6.h (LIBGCC_SPEC): Add libm.

From-SVN: r126521
2007-07-10 18:03:28 +00:00
Rainer Orth
62bfdc5307 re PR libgcj/28190 (libjava bootstrap failure on IRIX 6.5: stdint.h misdetection)
PR libgcj/28190
	* inclhack.def (irix_stdint_c99): New fix.
	* fixincl.x: Regenerate.
	* tests/base/stdint.h: New test.

From-SVN: r126518
2007-07-10 17:55:20 +00:00
Rainer Orth
2951f1ca78 re PR libgcj/32651 (libjava fails to build on IRIX 6.5)
PR libgcj/32651
	* configure.host (mips-sgi-irix6*): Set sysdeps_dir.
	Disable interpreter.

From-SVN: r126516
2007-07-10 17:02:57 +00:00
GCC Administrator
24b771bee0 Daily bump.
From-SVN: r126502
2007-07-10 00:16:47 +00:00
Paolo Bonzini
37f78d4a0a re PR middle-end/32004 (can't find a register in class 'GENERAL_REGS' while reloading 'asm')
2007-07-09  Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/32004
	* function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.

From-SVN: r126487
2007-07-09 15:37:32 +00:00
Uros Bizjak
bf4b8ba8d7 re PR tree-optimization/32681 (ice for legal C code with flags -ffast-math -O3 -ftree-vectorize)
PR tree-optimization/32681
	* tree-if-conv.c (find_phi_replacement_condition): Use the condition
	saved in second_edge->aux when first_bb is a loop header.

From-SVN: r126484
2007-07-09 15:31:46 +02:00
GCC Administrator
ef29b199c1 Daily bump.
From-SVN: r126475
2007-07-09 00:16:49 +00:00
Kaveh R. Ghazi
53915efa1a c99-math-double-1.c, [...]: Test subnormals.
* gcc.dg/c99-math-double-1.c, gcc.dg/c99-math-float-1.c,
	c99-math-long-double-1.c, c99-math.h: Test subnormals.

From-SVN: r126464
2007-07-08 20:22:34 +00:00
Laurent Guerby
cf115318a4 s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
2007-07-05  Joel Sherrill <joel.sherrill@oarcorp.com>

        * s-osinte-rtems.ads: Correct prototype of pthread_sigmask.

From-SVN: r126459
2007-07-08 14:18:34 +00:00
Jerry DeLisle
a1d01bf58c re PR fortran/32554 ([4.2 Only] Bug in P formatting)
2007-07-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32554
	* gfortran.dg/fmt_p_1.f90: New test.

From-SVN: r126457
2007-07-08 02:24:37 +00:00
Jerry DeLisle
a1b5aa34a5 re PR fortran/32554 ([4.2 Only] Bug in P formatting)
2007-07-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32554
	Backport from trunk.
	* io/write.c (output_float): Set edigits to a fixed size, avoiding
	variation in field width calculation and eliminate buffer overrun.

From-SVN: r126456
2007-07-08 02:20:10 +00:00
GCC Administrator
a0ba114fd1 Daily bump.
From-SVN: r126453
2007-07-08 00:16:41 +00:00
Anatoly Sokolov
cbe5f52ee6 re PR target/31331 ([avr] ICE on function attribute syntax for main())
PR target/31331
	* config/avr/avr.c (avr_naked_function_p): Handle receiving a type
	rather than a decl. 
	(avr_attribute_table): Make "naked" attribute apply to function types
	rather than to decls.
	(avr_handle_fntype_attribute): New function.

From-SVN: r126446
2007-07-07 23:30:37 +04:00
Joseph Myers
1f4560ab28 * zh_CN.po: Update.
From-SVN: r126445
2007-07-07 20:20:55 +01:00
Mark Mitchell
ea0023d6d0 re PR c++/32232 (ICE in resolve_overloaded_unification)
PR c++/32232
	* pt.c (resolve_overloaded_unification): Robustify.  Return a
	bool, not an int.
	(type_unification_real): Adjust accordingly.
	PR c++/32232
	* g++.dg/template/overload9.C: New test.

From-SVN: r126443
2007-07-07 19:16:09 +00:00
Mark Mitchell
3852497b1b re PR c++/32245 (wrong POD type initialization with pointer to member)
PR c++/32245
	* init.c (build_zero_init): Always build an initializer for
	non-static storage.
	* typeck2.c (build_functional_cast): Use build_zero_init.

	PR c++/32251
	* init.c (build_new_1): Always pass the allocation function to
	build_op_delete_call.
	* call.c (build_op_delete_call): Handle operator delete with a
	variable-argument list.  Do not issue an error when no matching
	deallocation function is available for a new operator.

	PR c++/31992
	* cp-tree.h (any_value_dependent_elements_p): Declare it.
	* decl.c (value_dependent_init_p): New function.
	(cp_finish_decl): Use it.
	* pt.c (value_dependent_expression_p): Use
	any_value_dependent_elements_p.
	* parser.c (cp_parser_primary_expression): Add comment about
	treating dependent qualified names as integral
	constant-expressions.

	PR c++/32245
	* g++.dg/init/ptrmem4.C: New test.

	PR c++/32251
	* g++.dg/init/new21.C: Likewise.

	PR c++/31992
	* g++.dg/template/static30.C: Likewise.

From-SVN: r126433
2007-07-07 02:02:37 +00:00
GCC Administrator
2e9e45a45e Daily bump.
From-SVN: r126430
2007-07-07 00:16:50 +00:00
Paolo Bonzini
57776900e4 re PR middle-end/32004 (can't find a register in class 'GENERAL_REGS' while reloading 'asm')
2007-07-06  Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/32004
	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
	pass_match_asm_constraints): New.
	* passes.c (init_optimization_passes): Add new pass.
	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
	* function.h (struct function): Add has_asm_statement bit.
	(current_function_has_asm_statement): New.
	* tree-pass.h (pass_match_asm_constraints): New.

From-SVN: r126418
2007-07-06 15:10:10 +00:00
Uros Bizjak
ab6393bb55 re PR rtl-optimization/32450 (-pg causes miscompilation)
PR rtl-optimization/32450
        * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
        to ensure that instructions are not moved into the prologue when
        profiling is on.

testsuite/ChangeLog:

        PR rtl-optimization/32450
        * gcc.dg/pr32450.c: New runtime test.

From-SVN: r126407
2007-07-06 11:49:52 +02:00
GCC Administrator
d1596e8415 Daily bump.
From-SVN: r126394
2007-07-06 00:16:42 +00:00
Rainer Orth
aab1f05fb5 MAINTAINERS (OS Port Maintainers): Add myself as IRIX, Tru64 UNIX maintainer.
* MAINTAINERS (OS Port Maintainers): Add myself as IRIX, Tru64 UNIX
	maintainer.

From-SVN: r126379
2007-07-05 18:52:58 +00:00
Mark Mitchell
80b42b7963 Fix typo
From-SVN: r126375
2007-07-05 18:11:48 +00:00
Joerg Richter
afbf6b063e re PR libstdc++/31957 (Build of compiler fails with 'error: #endif without #if')
2007-07-05  Joerg Richter  <joerg.richter@pdv-fs.de>

	PR libstdc++/31957
	* include/Makefile.am: Work around an AIX sed oddity.
	* include/Makefile.in: Regenerate.

From-SVN: r126363
2007-07-05 11:46:00 +00:00
GCC Administrator
9479c78058 Daily bump.
From-SVN: r126341
2007-07-05 00:16:58 +00:00
Mark Mitchell
11432d4839 re PR target/31388 (ICE building libiberty multilib for mips16 multilibs)
PR c++/31388
	* cp-tree.h (ARITHMETIC_TYPE): Include COMPLEX_TYPE.
	* typeck.c (type_after_usual_arithmetic_conversions): Adjust, as
	COMPLEX_TYPE is now an ARITHMETIC_TYPE.
	* init.c (build_zero_init): Adjust, as
	COMPLEX_TYPE is now a SCALAR_TYPE.
	* typeck2.c (digest_init): Allow brace-enclosed initializers for
	COMPLEX_TYPE, even though that is now a SCALAR_TYPE.

	PR c++/31338
	* g++.dg/ext/complex2.C: New test.

From-SVN: r126329
2007-07-04 17:18:22 +00:00
Richard Guenther
ff0685c51a re PR tree-optimization/32500 (Loop optimization limits range to size of array used inside loop)
2007-07-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32500
	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
	Only use basic blocks that are always executed to infer loop bounds.

	* gcc.c-torture/execute/pr32500.c: New testcase.

From-SVN: r126315
2007-07-04 12:38:23 +00:00
Uros Bizjak
69132506e9 re PR tree-optimization/31966 (Miscompiles valid code with -ftree-vectorize)
PR tree-optimization/31966
	PR tree-optimization/32533
	* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
	"basic_block" description as its third argument.  Update function
	calls to get destination bb from "edge" argument.  Save "cond" into
	aux field of the edge.  Update prototype for changed arguments.
	(if_convertible_loop_p): Clear aux field of incoming edges if bb
	contains phi node.
	(find_phi_replacement_condition): Operate on incoming edges, not
	on predecessor blocks.  If there is a condition saved in the
	incoming edge aux field, AND it with incoming bb predicate.
	Return source bb of the first edge.
	(clean_predicate_lists): Clean aux field of outgoing node edges.
	(tree_if_conversion): Do not initialize cond variable. Move
	variable declaration into the loop.
	(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
	initializations of new_stmt, arg0 and arg1 variables.

testsuite/ChangeLog:

	PR tree-optimization/31966
	PR tree-optimization/32533
	* gcc.dg/tree-ssa/pr31966.c: New runtime test.
	* gfortran.dg/pr32533.f90: Ditto.

From-SVN: r126301
2007-07-04 07:40:58 +02:00
Kaz Kojima
51757042a3 re PR target/32506 (cross compile sh64-superh-linux-gnu internal compiler error: in change_address_1, at emit-rtl.c:1800)
PR target/32506
	Backport from mainline.
	* config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
	predicate instead of target_operand.
	(divsi3_i1_media, divsi3_media_2): Likewise.

From-SVN: r126299
2007-07-04 04:57:59 +00:00
GCC Administrator
0229510e33 Daily bump.
From-SVN: r126289
2007-07-04 00:16:54 +00:00
Richard Guenther
9a57cdbd6f re PR c++/32609 (ICE in htab_clear_slot at libiberty/hashtab.c:722)
2007-07-03  Richard Guenther  <rguenther@suse.de>

	PR c++/32609
	* class.c (fixed_type_or_null): Re-lookup the hashtable slot
	after recursing.

From-SVN: r126261
2007-07-03 15:26:59 +00:00
Richard Guenther
5b37cd331e backport: re PR rtl-optimization/30113 (ICE in trunc_int_for_mode)
2007-07-03  Richard Guenther  <rguenther@suse.de>

        Backport from mainline:
        2006-12-11  Zdenek Dvorak <dvorakz@suse.cz>

        PR rtl-optimization/30113
        * loop-iv.c (implies_p): Require the mode of the operands to be
        scalar.

From-SVN: r126259
2007-07-03 14:33:16 +00:00
Rainer Orth
505bd2aa8e re PR target/28307 (pthread functions in libgcc not weak any more on Tru64 UNIX)
PR target/28307
	* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
	(__gthrw_pragma): Provide default definition.
	(__gthrw2): Use it.
	* gthr-posix.c (__gthrw_pragma): Define.

From-SVN: r126254
2007-07-03 13:43:01 +00:00
GCC Administrator
97f8dbca0f Daily bump.
From-SVN: r126240
2007-07-03 00:16:39 +00:00
Kaveh R. Ghazi
a403de52c8 c99-math.h: Fix typo.
* gcc.dg/c99-math.h: Fix typo.

From-SVN: r126236
2007-07-02 21:37:02 +00:00
Jakub Jelinek
4da74871e1 re PR libgomp/32468 (number of threads in a parallel region depends on number of SECTIONs and MAX_THREADS)
PR libgomp/32468
	* omp-low.c (check_combined_parallel): New function.
	(lower_omp_parallel): Call it via walk_stmts, set
	OMP_PARALLEL_COMBINED if appropriate.
	(determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
	isn't the only statement in WS_ENTRY_BB or OMP_RETURN
	the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
	don't consider it as combined parallel.

	* gcc.dg/gomp/pr32468-1.c: New test.

From-SVN: r126228
2007-07-02 21:27:28 +02:00
Jakub Jelinek
6d1af2c24f re PR libgomp/32468 (number of threads in a parallel region depends on number of SECTIONs and MAX_THREADS)
PR libgomp/32468
	* sections.c (GOMP_parallel_sections_start): Only decrease
	number of threads to COUNT if dyn_var is true.
	* testsuite/libgomp.c/pr32468.c: New test.

From-SVN: r126227
2007-07-02 21:26:25 +02:00
Rainer Orth
ab1bac726f re PR boehm-gc/21940 (boehm-gc gctest fails on Solaris 10/x86)
PR boehm-gc/21940
	PR boehm-gc/21942
	* configure.ac (GC_SOLARIS_THREADS): Don't define on *-*-solaris*.
	Use alternate thread library in /usr/lib/lwp.
	* configure: Regenerate.
	* dyn_load.c: Use GC_SOLARIS_PTHREADS.
	* include/gc_config_macros.h (GC_SOLARIS_THREADS): Don't define.
	* include/private/gcconfig.h: Handle 64-bit Solaris 2/x86.
	(GC_SOLARIS_THREADS): Don't define.
	* include/private/solaris_threads.h: Remove.
	* pthread_support.c (GC_thr_init) [GC_SOLARIS_PTHREADS]: Determine
	GC_nprocs via sysconf().
	* Makefile.am (libgcjgc_la_SOURCES): Remove solaris_pthreads.c and
	solaris_threads.c.
	(gctest_LDADD): Use THREADLIBS instead of THREADDLLIBS.
	* Makefile.in: Regenerate.	 
	* solaris_pthreads.c: Remove.
	* solaris_threads.c: Remove.

From-SVN: r126212
2007-07-02 14:59:47 +00:00
Rainer Orth
385412cde4 re PR libgomp/26308 (libgomp bootstrap failure on Tru64 UNIX V4.0F)
PR libgomp/26308
	* config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.

From-SVN: r126209
2007-07-02 14:41:03 +00:00
Jakub Jelinek
d1d4c97f60 re PR c++/31748 (bad diagnostic for invalid private clause)
PR c++/31748
	* semantics.c (finish_omp_clauses): Use %qD instead of %qE for
	DECL_P in not a variable and appears more than once error messages.

	* g++.dg/gomp/pr31748.C: New test.

From-SVN: r126202
2007-07-02 15:01:37 +02:00
GCC Administrator
e3fdfe0946 Daily bump.
From-SVN: r126181
2007-07-02 00:16:49 +00:00
GCC Administrator
99cb3621e2 Daily bump.
From-SVN: r126159
2007-07-01 00:16:48 +00:00
Alexandre Oliva
4cc2af7908 dwarf2out.c (dwarf2out_finish): Accept namespaces as context of limbo die nodes.
gcc/ChangeLog:
* dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
limbo die nodes.
gcc/testsuite/ChangeLog:
* g++.dg/ext/interface4.C, g++.dg/ext/interface4.h: New.

From-SVN: r126138
2007-06-30 04:53:21 +00:00
GCC Administrator
31597eedd1 Daily bump.
From-SVN: r126133
2007-06-30 00:16:42 +00:00
GCC Administrator
19115cd1d7 Daily bump.
From-SVN: r126100
2007-06-29 00:16:54 +00:00
Paolo Carlini
7b2384d587 re PR libstdc++/32509 (unable to explicitely configure with a given locale model)
2007-06-28  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/32509
	* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Carry out the checks
	involving the de_DE locale only if an auto locale config is
	used for a target suitable for the gnu locale model.
	* docs/html/install.html: Update.
	* configure: Regenerated.

From-SVN: r126098
2007-06-28 23:02:05 +00:00
Paolo Carlini
767c172a94 re PR libstdc++/32509 (unable to explicitely configure with a given locale model)
2007-06-28  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/32509
	* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Carry out the checks
	involving the de_DE locale only if an auto locale config is
	used for a target suitable for the gnu locale model.
	* docs/html/install.html: Update.
	* configure: Regenerated.

From-SVN: r126097
2007-06-28 22:59:00 +00:00
Seongbae Park
7b9b2d2152 arm.c (arm_get_frame_offsets): Set offsets->locals_base to avoid negative stack size.
gcc/ChangeLog:

2007-06-28  Seongbae Park  <seongbae.park@gmail.com>

	* config/arm/arm.c (arm_get_frame_offsets): Set
	offsets->locals_base to avoid negative stack size.
	(thumb_expand_prologue): Assert on negative stack size.

gcc/testsuite/ChangeLog:

2007-06-28  Seongbae Park  <seongbae.park@gmail.com>

	* gcc.target/arm/stack-corruption.c: New test.

From-SVN: r126095
2007-06-28 20:48:57 +00:00
Mike Stump
431e37c238 * gcc_release: Update for Objective-C++.
From-SVN: r126086
2007-06-28 19:15:00 +00:00
Mike Stump
d1d5027ae0 * gcc_release: Update for Objective-C++.
From-SVN: r126085
2007-06-28 19:13:36 +00:00
Jakub Jelinek
75cea00b30 [multiple changes]
2007-06-28  Jakub Jelinek  <jakub@redhat.com>

	* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
	decl is non-external for AIX ABI.

2007-06-28  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/predicates.md (current_file_function_operand):
	Ensure the symbol is non-external for AIX ABI.

From-SVN: r126077
2007-06-28 13:28:54 +02:00
GCC Administrator
5a05ae70c5 Daily bump.
From-SVN: r126070
2007-06-28 00:16:58 +00:00
Simon Martin
5c328591c2 re PR c++/27492 (ICE on invalid covariant return type)
gcc/cp/

2007-06-27  Simon Martin  <simartin@users.sourceforge.net>
        
	PR c++/27492
	* decl.c (duplicate_decls): Don't reset DECL_INVALID_OVERRIDER_P for
	function decls.

gcc/testsuite/

2007-06-27  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/27492
	* g++.dg/inherit/covariant15.C: New test.

From-SVN: r126061
2007-06-27 19:53:45 +00:00
GCC Administrator
17e046a29f Daily bump.
From-SVN: r126047
2007-06-27 00:16:43 +00:00
Joseph Myers
fd339963fa be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	rw.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r126042
2007-06-26 21:06:08 +01:00
Joseph Myers
82284232f5 be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	ru.po, rw.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r126038
2007-06-26 21:03:07 +01:00
Benjamin Kosnik
7a57e2fb34 throw_allocator.h: Fixes for -fno-exceptions.
2007-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/throw_allocator.h: Fixes for -fno-exceptions.
	* testsuite/util/testsuite_shared.cc: Same.
	* testsuite/util/io/illegal_input_error.hpp: Same.
	* testsuite/util/io/verified_cmd_line_input.cc: Same.

	* libsupc++/typeinfo (type_info): Correct comment formatting,
	clarify member access and public interface.
	* libsupc++/exception: Less compressed comments.
	* libsupc++/new: Same.

From-SVN: r126030
2007-06-26 15:35:42 +00:00
GCC Administrator
4f82b9c251 Daily bump.
From-SVN: r126009
2007-06-26 00:16:38 +00:00
GCC Administrator
1c1c0e03d8 Daily bump.
From-SVN: r125993
2007-06-25 00:16:36 +00:00
GCC Administrator
d11d1c9117 Daily bump.
From-SVN: r125979
2007-06-24 00:16:38 +00:00
GCC Administrator
fc3e11742b Daily bump.
From-SVN: r125961
2007-06-23 00:16:41 +00:00
Jakub Jelinek
4dc53f2733 pthread_support.c (GC_get_thread_stack_base): Handle pthread_getattr_np failures.
* pthread_support.c (GC_get_thread_stack_base): Handle
	pthread_getattr_np failures.

From-SVN: r125958
2007-06-22 22:07:20 +02:00
GCC Administrator
eec9aa2e03 Daily bump.
From-SVN: r125935
2007-06-22 00:16:37 +00:00
H.J. Lu
add4577730 i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI.
gcc/

2007-06-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI.
	(ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi.
	(ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI.

gcc/testsuite/

2007-06-21  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/sse2-vec-5.c: Restored.

From-SVN: r125923
2007-06-21 08:47:40 -07:00
H.J. Lu
7108dea517 sse2-vec-5.c: Removed.
2007-06-21  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/sse2-vec-5.c: Removed.

From-SVN: r125921
2007-06-21 06:18:10 -07:00
Jakub Jelinek
b3561ad885 re PR middle-end/32362 (ICE: in lookup_decl_in_outer_ctx, at omp-low.c:1508)
PR middle-end/32362
	* omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
	but decl is a global var, instead return decl.
	* gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
	even for is_global_var decls, if they are private in some outer
	context.

	* testsuite/libgomp.c/pr32362-1.c: New test.
	* testsuite/libgomp.c/pr32362-2.c: New test.
	* testsuite/libgomp.c/pr32362-3.c: New test.

From-SVN: r125918
2007-06-21 14:15:53 +02:00
Uros Bizjak
cbffd8352e re PR target/32389 (ICE in extract_constrain_insn_cached when using -msse)
PR target/32389
        * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
        * config/i386/i386.c (assign_386_stack_local): Assert that
        SLOT_VIRTUAL is valid only before virtual regs are instantiated.
        (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
        Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
        * config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto.

testsuite/ChangeLog:

        PR target/32389
        * gcc.target/i386/pr32389.c New test.

From-SVN: r125911
2007-06-21 09:06:29 +02:00
GCC Administrator
42c92ffa13 Daily bump.
From-SVN: r125903
2007-06-21 00:16:35 +00:00
Mike Stump
8e99abba50 acx.m4 (NCN_STRICT_CHECK_TARGET_TOOLS): Fix incremental builds.
* acx.m4 (NCN_STRICT_CHECK_TARGET_TOOLS): Fix incremental builds.
	(ACX_HAVE_GCC_FOR_TARGET): Likewise.

From-SVN: r125899
2007-06-20 23:07:21 +00:00
Daniel Franke
f3e122bd99 backport: re PR fortran/32002 (insufficient conformance check when assigning the result of an elemental function to an array)
gcc/fortran:
2007-07-20  Daniel Franke  <franke.daniel@gmail.com>

        Backport from trunk:
        PR fortran/32002
        * resolve.c (resolve_actual_arglist): Resolve actual argument after
        being identified as variable.

gcc/testsuite:
2007-06-20  Daniel Franke  <franke.daniel@gmail.com>

	Backport from trunk:
	PR fortran/32002
        * gfortran.dg/compliant_elemental_intrinsics_2.f90: New test.

From-SVN: r125898
2007-06-20 17:35:04 -04:00
Jakub Jelinek
ddba42a335 re PR inline-asm/32109 (ICE with inline-asm and class with destructor)
PR inline-asm/32109
	* gimplify.c (gimplify_asm_expr): Issue error if type is addressable
	and !allows_mem.

	* g++.dg/ext/asm10.C: New test.

From-SVN: r125878
2007-06-20 08:46:31 +02:00
Jakub Jelinek
1fb9342df5 re PR middle-end/32285 (Miscompilation with pure _Complex returning call inside another fn's argument list)
PR middle-end/32285
	* calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
	if ACCUMULATE_OUTGOING_ARGS.

	* gcc.c-torture/execute/20070614-1.c: New test.

From-SVN: r125877
2007-06-20 08:44:26 +02:00
Kaz Kojima
d2ad7fd7a6 re PR rtl-optimization/28011 ([SH] g++ generates wrong code, if '-fno-exceptions' and '-O' options are specified)
PR rtl-optimization/28011
	Backport from mainline.
	* reload.c (push_reload): Set dont_share if IN appears in OUT
	also when IN is a PLUS rtx.
	(reg_overlap_mentioned_for_reload_p): Return true if X and IN
	are same PLUS rtx.

From-SVN: r125871
2007-06-20 05:47:09 +00:00
Paul Thomas
6e3b32900e re PR fortran/32302 (Incorrect result with -O2)
2007-06-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32302
	* trans-common.c (build_common_decl): If resizing of common
	decl is needed, update the TREE_TYPE.

2007-06-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32302
	* gfortran.dg/common_resize_1.f90: New test.

From-SVN: r125870
2007-06-20 05:02:39 +00:00
GCC Administrator
73f7668eec Daily bump.
From-SVN: r125866
2007-06-20 00:16:37 +00:00
Richard Guenther
e6cb838e11 re PR c++/30252 (miscompilation of sigc++-2.0 based code with -fstrict-aliasing)
2007-06-19  Richard Guenther  <rguenther@suse.de>
	Michael Matz  <matz@suse.de>

	PR tree-optimization/30252
	* tree-ssa-structalias.c (solution_set_add): Make sure to
	preserve all relevant vars.
	(handle_ptr_arith): Make sure to only handle positive
	offsets.
	(push_fields_onto_fieldstack): Create fields for empty
	bases.

	* g++.dg/opt/pr30252.C: New testcase.

Co-Authored-By: Michael Matz <matz@suse.de>

From-SVN: r125844
2007-06-19 09:24:35 +00:00
Jakub Jelinek
4f0e4109bf re PR tree-optimization/32353 (Miscompilation with RESULT_DECL)
PR tree-optimization/32353
	* tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.

	* g++.dg/opt/nrv13.C: New test.

From-SVN: r125842
2007-06-19 11:11:22 +02:00
Mark Mitchell
2ce43a383b cp-tree.h (DECL_VAR_MARKED_P): Remove.
* cp-tree.h (DECL_VAR_MARKED_P): Remove.
	(DECL_ANON_UNION_VAR_P): New macro.
	* class.c (fixed_type_or_null): Tidy.  Use a hash table, rather
	than DECL_VAR_MARKED_P, to keep track of which variables we have
	seen.
	* decl.c (redeclaration_error_message): Complain about redeclaring
	anonymous union members at namespace scope.
	* decl2.c (build_anon_union_vars): Set DECL_ANON_UNION_VAR_P.
	* g++.dg/lookup/anon6.C: New test.

From-SVN: r125839
2007-06-19 00:40:30 +00:00
GCC Administrator
dd14841e8d Daily bump.
From-SVN: r125836
2007-06-19 00:16:45 +00:00
GCC Administrator
4a2bc038f7 Daily bump.
From-SVN: r125785
2007-06-18 00:16:38 +00:00
Eric Botcazou
a5cada90a4 sparc.c (sparc_vis_init_builtins): Retrieve the return mode from the builtin itself.
* config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the
	return mode from the builtin itself.
	(sparc_fold_builtin): Fix cast of zero constant.

From-SVN: r125769
2007-06-17 11:17:39 +00:00
GCC Administrator
3bd11d9c01 Daily bump.
From-SVN: r125763
2007-06-17 00:16:38 +00:00
GCC Administrator
29bbc8cd48 Daily bump.
From-SVN: r125750
2007-06-16 00:16:39 +00:00
Diego Novillo
de89a618e9 re PR middle-end/32327 (Incorrect stack sharing causing removal of live code)
PR 32327
	* tree-ssa-operands.c (build_ssa_operands): Initially assume
	that the statement does not take any addresses.
 

testsuite/ChangeLog

	PR 32327
	* g++.dg/tree-ssa/pr32327-1.C: New test.
	* g++.dg/tree-ssa/pr32327.C: New test.

From-SVN: r125748
2007-06-15 18:10:09 -04:00
GCC Administrator
7bcd6cc13c Daily bump.
From-SVN: r125728
2007-06-15 00:16:37 +00:00
GCC Administrator
fb4a6325b6 Daily bump.
From-SVN: r125691
2007-06-14 00:16:44 +00:00
Eric Botcazou
bc485e487c sparc.c (sparc_override_options): Initialize fpu mask correctly.
* config/sparc/sparc.c (sparc_override_options): Initialize
	fpu mask correctly.

From-SVN: r125675
2007-06-13 13:59:45 +00:00
GCC Administrator
c256970471 Daily bump.
From-SVN: r125663
2007-06-13 00:16:35 +00:00
GCC Administrator
a6c7a5463b Daily bump.
From-SVN: r125630
2007-06-12 00:16:49 +00:00
GCC Administrator
d021efb9c3 Daily bump.
From-SVN: r125608
2007-06-11 00:16:39 +00:00
GCC Administrator
c66de9a3a1 Daily bump.
From-SVN: r125597
2007-06-10 00:16:35 +00:00
Ian Lance Taylor
9c16d364b4 re PR tree-optimization/32169 (Ice in set_value_range, at tree-vrp.c:326)
./:	PR tree-optimization/32169
	* tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
	CONVERT_EXPR, check whether min and max both converted to an
	overflow infinity representation.
testsuite/:
	PR tree-optimization/32169
	* gcc.c-torture/compile/pr32169.c: New test.

From-SVN: r125592
2007-06-09 16:31:11 +00:00
Paolo Carlini
f4e39ecab8 install.html: Adjust consistently with libstdc++/31717.
2007-06-08  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/install.html: Adjust consistently with libstdc++/31717.

From-SVN: r125588
2007-06-09 00:55:58 +00:00
GCC Administrator
afb9e8b7f8 Daily bump.
From-SVN: r125584
2007-06-09 00:16:39 +00:00
Dirk Mueller
89e473e122 backport: [multiple changes]
2007-06-08  Dirk Mueller  <dmueller@suse.de>

       PR c++/31809
       PR c++/31806
       Backport from mainline:
       2007-05-31  Jakub Jelinek  <jakub@redhat.com>

       * decl.c (cp_finish_decl): Also clear was_readonly if a static var
       needs runtime initialization.

       2007-05-30  Jakub Jelinek  <jakub@redhat.com>

       * decl.c (cp_finish_decl): Clear TREE_READONLY flag on TREE_STATIC
       variables that need runtime initialization.

       PR c++/31809
       Backport from mainline:
       2007-05-30  Jakub Jelinek  <jakub@redhat.com>

       * g++.dg/opt/static5.C: New test.

From-SVN: r125580
2007-06-08 21:48:34 +00:00
Francesco Palagi
329a6492bc fstream: Add Table 92 in comment.
2007-06-08  Francesco Palagi  <palagi@arcetri.astro.it>

	* include/std/fstream: Add Table 92 in comment.

From-SVN: r125572
2007-06-08 14:27:56 +00:00
Kaz Kojima
fe7b0e375b re PR target/32163 (Compiling with stack protector causes reigster spill failure)
PR target/32163
	Backport from mainline.
	* config/sh/sh.md (symGOT_load): Don't schedule insns when
	the symbol is generated with the stack protector.

From-SVN: r125558
2007-06-08 05:53:57 +00:00
GCC Administrator
1069936395 Daily bump.
From-SVN: r125548
2007-06-08 00:16:47 +00:00
GCC Administrator
e04b78fae9 Daily bump.
From-SVN: r125513
2007-06-07 00:16:37 +00:00
Benjamin Kosnik
c16412d2e9 debug.html: Correct link.
2007-06-06  Benjamin Kosnik  <bkoz@redhat.com>
	    Frank Mori Hess  <frank.hess@nist.gov>
	
	* docs/html/debug.html: Correct link.


Co-Authored-By: Frank Mori Hess <frank.hess@nist.gov>

From-SVN: r125489
2007-06-06 13:58:20 +00:00
Ian Lance Taylor
1fcef71126 fold-const.c (merge_ranges): If range_successor or range_predecessor fail, just return 0.
./:	* fold-const.c (merge_ranges): If range_successor or
	range_predecessor fail, just return 0.
testsuite/:
	* g++.dg/conversion/enum1.C: New test.

From-SVN: r125487
2007-06-06 13:56:46 +00:00
GCC Administrator
9007e1370e Daily bump.
From-SVN: r125349
2007-06-06 00:16:36 +00:00
Ian Lance Taylor
e596a3130b tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a PLUS_EXPR or MINUS_EXPR node before setting...
./:	* tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
	PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
	(extract_range_from_assert): Set TREE_NO_WARNING when creating an
	expression.
	(test_for_singularity): Likewise.
testsuite/:
	* gcc.dg/Wstrict-overflow-19.c: New test.

From-SVN: r125335
2007-06-05 13:18:59 +00:00
GCC Administrator
57eed70974 Daily bump.
From-SVN: r125324
2007-06-05 00:16:56 +00:00
Ian Lance Taylor
7097eb3937 tree-vrp.c (adjust_range_with_scev): When loop is not expected to overflow, reduce overflow infinity to regular infinity.
./:	* tree-vrp.c (adjust_range_with_scev): When loop is not expected
	to overflow, reduce overflow infinity to regular infinity.
	(vrp_var_may_overflow): New static function.
	(vrp_visit_phi_node): Check vrp_var_may_overflow.
testsuite/:
	* gcc.dg/Wstrict-overflow-18.c: New test.

From-SVN: r125320
2007-06-04 21:58:42 +00:00
GCC Administrator
c9b0efc6dd Daily bump.
From-SVN: r125304
2007-06-04 00:16:50 +00:00
GCC Administrator
d2c179412e Daily bump.
From-SVN: r125287
2007-06-03 00:16:38 +00:00
GCC Administrator
7417d6dc28 Daily bump.
From-SVN: r125272
2007-06-02 00:16:51 +00:00
Benjamin Kosnik
e11fceb21b re PR libstdc++/31717 (libstdc++-v3 - Make fails with: ./c++locale.h:69: error: '__locale_t' does not name a type)
2007-05-28  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/31717 
	* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Re-organize. Sanity check
	gnu locale model requests to make sure it will work for the requested
	target. Add checks for strxfrm_l, strerror_l when in gnu locale,
	and strerror_r everywhere.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.
	* config.h.in: Regenerated.

From-SVN: r125266
2007-06-01 16:35:34 +00:00
H.J. Lu
1826c50a50 backport: i386.c (__builtin_ia32_vec_ext_v2df): Mark it with MASK_SSE2.
gcc/

2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
	with MASK_SSE2.
	(__builtin_ia32_vec_ext_v2di): Likewise.
	(__builtin_ia32_vec_ext_v4si): Likewise.
	(__builtin_ia32_vec_ext_v8hi): Likewise.
	(__builtin_ia32_vec_set_v8hi): Likewise.

gcc/testsuite/

2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/sse2-check.h: New.
	* gcc.target/i386/sse2-vec-1.c: Likewise.
	* gcc.target/i386/sse2-vec-2.c: Likewise.
	* gcc.target/i386/sse2-vec-3.c: Likewise.
	* gcc.target/i386/sse2-vec-4.c: Likewise.
	* gcc.target/i386/sse2-vec-5.c: Likewise.
	* gcc.target/i386/sse2-vec-6.c: Likewise.

From-SVN: r125257
2007-05-31 20:07:10 -07:00
John David Anglin
639d32d08d Add change ommitted in last commit to this branch.
From-SVN: r125252
2007-06-01 00:41:55 +00:00
GCC Administrator
54bfc2ce94 Daily bump.
From-SVN: r125248
2007-06-01 00:16:47 +00:00
John David Anglin
48fc660824 backport: pa.md: Split tgd_load, tld_load and tie_load into pic and non-pic versions.
Backport from mainline:
	2007-05-05  Aurelien Jarno  <aurelien@aurel32.net>

	* config/pa/pa.md: Split tgd_load, tld_load and tie_load
	into pic and non-pic versions. Mark r19 as used for 
	tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used 
	for tgd_load, tld_load and tie_load .
	* config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
	version of tgd_load, tld_load and tie_load depending on the 
	value of flag_pic.

From-SVN: r125245
2007-06-01 00:02:45 +00:00
Paul Thomas
cd06938f76 Backport PRs 31483, 31540, 31867, 31994
2007-05-31  Paul Thomas  <pault@gcc.gnu.org>

	backport from trunk

	PR fortran/31483
	* trans-expr.c (gfc_conv_function_call): Give a dummy
	procedure the correct type if it has alternate returns.
	

	PR fortran/31540
	* resolve.c (resolve_fl_procedure): Resolve constant character
	lengths.

	PR fortran/31867
	PR fortran/31994
	* trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
	offset for non-descriptor, source arrays and correct for stride
	not equal to one before writing to field of output descriptor.

2007-05-31  Paul Thomas  <pault@gcc.gnu.org>

	backport from trunk

	PR fortran/31483
	* gfortran.dg/altreturn_5.f90: New test.

	PR fortran/31540
	* gfortran.dg/char_result_5.f90: New test.

	PR fortran/31867
	* gfortran.dg/char_length_5.f90: New test.

	PR fortran/31994
	* gfortran.dg/array_reference_1.f90: New test.

From-SVN: r125235
2007-05-31 18:50:56 +00:00
Daniel Berlin
36168f84fb Fix PR/30052 Backport PTA solver from mainline
2007-05-27  Daniel Berlin <dberlin@dberlin.org>

	Fix PR/30052
	Backport PTA solver from mainline

	* pointer-set.c: Copy from mainline
	* pointer-set.h: Ditto.
	* tree-ssa-structalias.c: Copy solver portions from mainline.
	* Makefile.in (tree-ssa-structalias.o): Update dependencies

From-SVN: r125227
2007-05-31 15:37:38 +00:00
Andrew Haley
7e55d48701 natClassLoader.cc (_Jv_NewClassFromInitializer): Clear INTERPRETED access modifier.
2007-05-31  Andrew Haley  <aph@redhat.com>

        * java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Clear
        INTERPRETED access modifier.

From-SVN: r125221
2007-05-31 09:43:55 +00:00
GCC Administrator
ca9b8e1f21 Daily bump.
From-SVN: r125207
2007-05-31 00:16:37 +00:00
Ralf Wildenhues
01e2bca8f5 * tree-vrp.c (compare_names): Initialize sop.
From-SVN: r125204
2007-05-30 22:52:02 +00:00
Jakub Jelinek
506966b0ca re PR tree-optimization/31769 (ICE with OpenMP and exceptions)
PR tree-optimization/31769
	* except.c (duplicate_eh_regions): Clear prev_try if
	ERT_MUST_NOT_THROW region is inside of ERT_TRY region.

	* g++.dg/gomp/pr31769.C: New test.

From-SVN: r125185
2007-05-30 15:49:06 +02:00
Jakub Jelinek
d5197a3b41 re PR bootstrap/29382 (Bootstrap comparison failure!)
PR bootstrap/29382
	* configure.in: Don't use -fkeep-inline-functions for GCC < 3.3.1.
	* configure: Rebuilt.

From-SVN: r125184
2007-05-30 15:48:07 +02:00
GCC Administrator
40cb7ef887 Daily bump.
From-SVN: r125175
2007-05-30 00:16:44 +00:00
GCC Administrator
3ef831361b Daily bump.
From-SVN: r125153
2007-05-29 00:17:21 +00:00
Mark Mitchell
fd27d88df6 * gcc_release: Adjust placement of release candidates.
From-SVN: r125150
2007-05-28 22:14:30 +00:00
Andrew Pinski
45ad17221d re PR tree-optimization/32100 (vrp bitfield miscompilation)
2007-05-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32100
        * fold-const.c (tree_expr_nonnegative_warnv_p): Don't
        return true when truth_value_p is true and the type
        is of signed:1.

2007-05-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32100
         * gcc.c-torture/execute/vrp-7.c: New test.

From-SVN: r125140
2007-05-28 12:47:53 -07:00
GCC Administrator
805b4905b9 Daily bump.
From-SVN: r125121
2007-05-28 00:16:49 +00:00
H.J. Lu
a9d90e7c60 backport: [multiple changes]
2007-05-27  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2007-05-25  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
	"memory" attribute for "sseishft" type insn without operands[2].

	2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.

From-SVN: r125115
2007-05-27 10:27:00 -07:00
GCC Administrator
7f0a5b93bb Daily bump.
From-SVN: r125104
2007-05-27 00:16:48 +00:00
GCC Administrator
56c0a6112a Daily bump.
From-SVN: r125082
2007-05-26 00:17:31 +00:00
GCC Administrator
4e426c5fdf Daily bump.
From-SVN: r125050
2007-05-25 00:17:32 +00:00
Paolo Carlini
ad14c694d9 ostream.tcc: Do not inhibit implicit instantiation of __ostream_insert here...
2007-05-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/ostream.tcc: Do not inhibit implicit instantiation
	of __ostream_insert here...
	* include/bits/ostream_insert.h: ... do it here.

From-SVN: r125038
2007-05-24 19:21:32 +00:00
Jerry DeLisle
3879c2dda0 re PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument)
2007-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31964
	* gfortran.fortran-torture/execute/intrinsic_bitops.f90: Update.

From-SVN: r125015
2007-05-24 05:50:46 +00:00
Jerry DeLisle
efe5b0969a re PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument)
2007-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31964
	Backport from trunk.
	* intrinsics/ishftc.c (ishftc4, ishftc8, ishftc16): Fix mask to handle
	shift of bit-size number of bits.

From-SVN: r125014
2007-05-24 05:22:32 +00:00
GCC Administrator
9dc59b0874 Daily bump.
From-SVN: r125009
2007-05-24 00:17:04 +00:00
Tobias Burnus
f5b8b373af re PR fortran/31917 ([4.1 only] GFORTRAN_CONVERT_UNIT is ignored)
2007-05-23  Tobias Burnus <burnus@net-b.de>

        PR fortran/31917
        Backport from trunk.
        * runtime/environ.c (mark_range): Fix setting default convert unit.

From-SVN: r124984
2007-05-23 09:44:23 +02:00
Ian Lance Taylor
1a067a8001 tree-vrp.c (avoid_overflow_infinity): New static function, broken out of set_value_range_to_value.
* tree-vrp.c (avoid_overflow_infinity): New static function,
	broken out of set_value_range_to_value.
	(set_value_range_to_value): Call avoid_overflow_infinity.
	(extract_range_from_assert): Likewise.

From-SVN: r124982
2007-05-23 05:53:29 +00:00
Chen Liqin
f249e8a3e4 re PR target/30987 (Problem while compiling gcc for score)
2007-05-23  Chen Liqin  <liqin@sunnorth.com.cn>

	PR target/30987
	* config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove.
	* config/score/predicate.md (const_pow2, const_npow2): remove.
	* config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef.
	PR target/30474
	* config/score/score.c (score_print_operand): makes sure that only lower 
        bits are used.

From-SVN: r124980
2007-05-23 05:49:50 +00:00
Jerry DeLisle
f177efd39d re PR fortran/31051 ([4.2 Only] gfortran bug with x and t format descriptors.)
2007-05-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31051
	* gfortran.dg/fmt_t_3.f90: New.

From-SVN: r124978
2007-05-23 03:14:35 +00:00
Jerry DeLisle
f806b30fd9 re PR fortran/31051 ([4.2 Only] gfortran bug with x and t format descriptors.)
2007-05-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31051
	Backport from trunk.
	* io/transfer.c (formatted_transfer_scalar): Adjust position for pending
	spaces when in writing mode.  Clean up some formatting.

From-SVN: r124977
2007-05-23 02:24:31 +00:00
GCC Administrator
6913158b1a Daily bump.
From-SVN: r124972
2007-05-23 00:17:56 +00:00
Andreas Tobler
5168375094 [multiple changes]
2007-05-22  Andreas Tobler  <a.tobler@schweiz.org>

	* Backport r124870 from main.

	2007-05-20  Andreas Tobler  <a.tobler@schweiz.org>

	* configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin.
	* configure: Regenerate.
	* Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin
	targets. Remove comments. Prepare ppc64 support for Darwin.

From-SVN: r124956
2007-05-22 21:48:05 +02:00
Tobias Burnus
8f56a0cccb re PR libfortran/31915 (Failure with unf_io_convert_3.f90)
libgfortran/
2007-05-22  Tobias Burnus  <burnus@net-b.de>

       PR libfortran/31915
       Backport from trunk.
       * io/transfer.c (unformatted_read): Use proper size for real(10).
         (unformatted_write): Ditto.

testsuite/
2007-05-22  Dominique d'Humieres  <dominiq@lps.ens.fr>

       * gfortran.dg/unf_io_convert_3.f90: Fix dg directive.

From-SVN: r124944
2007-05-22 16:27:53 +02:00
Tobias Burnus
0f69f8d6a6 re PR fortran/31559 ([4.1 only] Assigning to an EXTERNAL leads to ICE)
fortran/
2007-05-22  Tobias Burnus  <burnus@net-b.de>

       PR fortran/31559
       Backport from mainline.
       * primary.c (match_variable): External functions
       are no variables.

testsuite/
2007-05-22  Tobias Burnus  <burnus@net-b.de>

       PR fortran/31559
       Backport from mainline.
       * func_assign.f90: New test.

From-SVN: r124943
2007-05-22 16:09:42 +02:00
GCC Administrator
3f7c9e9b5d Daily bump.
From-SVN: r124932
2007-05-22 00:17:44 +00:00
Uros Bizjak
dbc635a5df re PR target/31167 (ICE wnen using __int128_t on x86_64)
PR target/31167
       Backport from mainline.
       * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
       x86_64_general_operand as operand[2] predicate.  Remove "iF"
       from operand constraints and use "e" constraint instead.
       (*subti3_1, *subti3_1 splitter): Ditto.
       (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
       operand[1] predicate.

       PR target/30041
       Backport from mainline.
       * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
       operands[1] in insn constraint.  Correct type attribute to sselog1.

testsuite/ChangeLog

       Backport from mainline.
       * gcc.target/i386/pr31167.c: New test.

From-SVN: r124900
2007-05-21 13:31:14 +02:00
Paolo Carlini
68dedc7df9 re PR libstdc++/31621 (libstdc++ uses -xc++ which can cause exceptions to show up which causes __gxx_personality_v0 to be referenced)
2007-05-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31621
	* acinclude.m4 ([GLIBCXX_CHECK_LINKER_FEATURES]): Use the C compiler.
	* configure: Regenerate.

From-SVN: r124897
2007-05-21 10:26:49 +00:00
GCC Administrator
1151cb7b84 Daily bump.
From-SVN: r124889
2007-05-21 00:18:11 +00:00
Jerry DeLisle
a84717ba23 re PR fortran/31395 ([4.2 Only] Colon edit descriptor is ignored unless preceded by a comma or a slash)
2007-05-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31395
	* gfortran.dg/fmt_colon.f90: New test.

From-SVN: r124887
2007-05-21 00:06:46 +00:00
Jerry DeLisle
9b0a2880d2 re PR fortran/31395 ([4.2 Only] Colon edit descriptor is ignored unless preceded by a comma or a slash)
2007-05-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31395
	* io/format.c (parse_format_list): Fix parsing. Regression against g77.
	Backport from 4.3.

From-SVN: r124886
2007-05-21 00:04:43 +00:00
Kaz Kojima
5138170228 re PR target/31701 (SH: wrong epilogue for sibling calls)
PR target/31701
	Backport from mainline.
	* config/sh/sh.c (output_stack_adjust): Avoid using the frame
	register itself to hold the offset constant.  Tell flow the use
	of r4 and r5 when they are used.

From-SVN: r124882
2007-05-20 23:27:22 +00:00
Kaz Kojima
c22504397c re PR target/31480 (ICE with -O -fomit-frame-pointer on SH)
PR target/31480
	Backport from mainline.
	* config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
	is null.

From-SVN: r124881
2007-05-20 23:25:03 +00:00
Kaz Kojima
85523758be re PR target/31022 ([SH4] internal compiler error with inline)
PR target/31022
	Backport from mainline.
	* config/sh/sh.c (sh_adjust_cost): Use the result of single_set
	instead of PATTERN.

From-SVN: r124880
2007-05-20 23:22:46 +00:00
Kaz Kojima
89af2c3574 re PR target/27405 (gcc.c-torture/execute/960209-1.c ICEs on sh64-* with -O3)
PR target/27405
	Backport from mainline.
	* config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
	(cmpsi{eq,gt,gtu}{si,di}_media): Rename to
	cmp{eq,gt,gtu}{si,di}_media.
	(*cmpne0si_media): Remove.
	(*movsicc_umin): Adjust gen_cmp*_media call.
	(unordered): Change the mode of unordered and operands[1] to
	SImode.
	(seq): Adjust gen_cmp*_media calls.  Make the mode of
	a temporary result of compare SImode if needed.  If the mode
	of operands[0] is DImode, extend the temporary result to DImode.
	(slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
	(sunorderd): Change the mode of match_operand and unorderd to
	SImode.
	(cmpeq{sf,df}_media): Remove.
	(cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
	(cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
	and compare operation to SImode.

From-SVN: r124879
2007-05-20 23:13:48 +00:00
Thomas Koenig
40174b6f84 re PR fortran/31618 ([4.2, 4.1 only] backspace intrinsic is not working on an unformatted file)
2007-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/31618
	Backport from trunk.
	* io/transfer.c (read_block_direct):  Instead of calling us_read,
	set dtp->u.p.current_unit->current_record = 0 so that pre_position
	will read the record marker.
	(data_transfer_init):  For different error conditions, call
	generate_error, then return.

2007-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/31618
	Backport from trunk.
	* gfortran.dg/backspace_8.f:  New test case.

From-SVN: r124878
2007-05-20 21:07:14 +00:00
Thomas Koenig
994aac320d re PR fortran/31196 ([4.1 only] wrong code generated with RESHAPE/TRANSPOSE)
2007-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/31196
	Backport from trunk.
	* intrinsics/reshape_generic.c (reshape_internal):  Increment
	correct variable.

2007-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/31196
	Backport from trunk.
	* gfortran.dg/reshape_transpose_1.f90:  New test.

From-SVN: r124872
2007-05-20 12:28:29 +00:00
GCC Administrator
67b428abb7 Daily bump.
From-SVN: r124863
2007-05-20 00:18:08 +00:00
Andreas Tobler
5dbc87b02d [multiple changes]
2007-05-19  Andreas Tobler  <a.tobler@schweiz.org>

	* Backport r120684, 120801, 120853, 120874 and 120977 from main.

	2007-01-19  Andreas Tobler  <a.tobler@schweiz.org>

	* os_dep.c (defined(MPROTECT_VDB) && defined(DARWIN)): Moved recently
	added defines to include/private/gc_priv.h
	* darwin_stop_world.c: Removed the above defines.
	(catch_exception_raise): Added THREAD_FLD in exc_state for POWERPC too.
	* include/private/gc_priv.h: Moved definitions from darwin_stop_world.c
	and os_dep.c to here. Fixed THREAD definition fixes for ppc64.

	2007-01-17  Mike Stump  <mrs@apple.com>

	* os_dep.c: Fix i686-apple-darwin9 builds.

	2007-01-17  Andreas Tobler  <a.tobler@schweiz.org>

	* include/gc_config.h.in: Regenerate.

	2007-01-15  Andreas Tobler  <a.tobler@schweiz.org>

	* os_dep.c (defined(MPROTECT_VDB) && defined(DARWIN)): Adjust mail
	reference.
	(catch_exception_raise): Fix typo in the I386 exc_state.

	2007-01-11  Andreas Tobler  <a.tobler@schweiz.org>

	* configure.ac: Replaced HAS_I386_THREAD_STATE_* with
	HAS_X86_THREAD_STATE32_* and HAS_X86_THREAD_STATE64_* respectively.
	* configure: Regenerated.
	* include/private/gcconfig.h (DARWIN): Added X86_64 define for Darwin.
	Added base definitions for the X86_64 Darwin port.
	* include/private/gc_priv.h: Added definitions for Darwin MACH thread
	operations. Moved existing THREAD_STATE info from darwin_stop_world.c.
	* darwin_stop_world.c: Removed THREAD_STATE info. Added
	HAS_X86_THREAD_STATE64___RAX. And replaced HAS_I386_THREAD_STATE___EAX
	with HAS_X86_THREAD_STATE32___EAX.
	(GC_push_all_stacks): Use GC_MACH_THREAD_STATE_COUNT. Add code for
	X86_64 Darwin.
	* dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER.
	(GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION.
	Distinguish between getsectbynamefromheader_64 and
	getsectbynamefromheader.
	(GC_dyld_image_remove): Likewise.
	* os_dep.c (GC_dirty_init): Use GC_MACH_THREAD_STATE.
	(catch_exception_raise): Introduce exception information for I386 and
	X86_64 Darwin. Add X86_64 for exc_state.faultvaddr.

From-SVN: r124855
2007-05-19 14:18:32 +02:00
GCC Administrator
69d069aa60 Daily bump.
From-SVN: r124842
2007-05-19 00:17:21 +00:00
Joseph Myers
94849c76fd double.h, [...]: Update from glibc CVS.
* config/soft-fp/double.h, config/soft-fp/extended.h,
	config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
	config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
	config/soft-fp/op-2.h, config/soft-fp/op-4.h,
	config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
	glibc CVS.

From-SVN: r124834
2007-05-18 22:23:17 +01:00
Ian Lance Taylor
a5fba5fb7c re PR tree-optimization/31953 (ICE in set_value_range, at tree-vrp.c:305)
./:	PR tree-optimization/31953
	* tree-vrp.c (set_value_range_to_value): Add equiv parameter.
	Change all callers.
	(set_value_range_to_null): Call set_value_range_to_value.
	(extract_range_from_comparison): Likewise.
testsuite/:
	PR tree-optimization/31953
	* gcc.c-torture/compile/pr31953.c: New test.

From-SVN: r124824
2007-05-18 05:40:21 +00:00
GCC Administrator
a602458372 Daily bump.
From-SVN: r124815
2007-05-18 00:17:45 +00:00
Eric Botcazou
1b4203ef0a re PR rtl-optimization/31691 (optimized code taking the wrong branch)
PR rtl-optimization/31691
	* combine.c (simplify_set): Build a new src pattern instead of
	substituting its operands in the COMPARE case.

From-SVN: r124798
2007-05-17 13:29:38 +00:00
Tobias Burnus
afe660da07 gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation.
2007-05-17  Tobias Burnus  <burnus@net-b.de>

	* gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation.

From-SVN: r124789
2007-05-17 10:43:04 +02:00
GCC Administrator
a202abc70c Daily bump.
From-SVN: r124780
2007-05-17 00:18:11 +00:00
Francois-Xavier Coudert
7cbfba8b31 re PR fortran/31725 ([4.1 only] substring bound evaluated multiple times: wrong code for string(function():) = 'X')
PR fortran/31725

	* trans-expr.c (gfc_conv_substring): Evaluate substring bounds
	only once.

	* gfortran.dg/substr_4.f: New test.

From-SVN: r124769
2007-05-16 13:36:03 +00:00
GCC Administrator
cb76cc0bdf Daily bump.
From-SVN: r124751
2007-05-16 00:17:25 +00:00
GCC Administrator
4603bd43a5 Daily bump.
From-SVN: r124735
2007-05-15 00:17:15 +00:00
Mark Mitchell
10c0a7db54 BASE-VER: Set to 4.2.1.
* BASE-VER: Set to 4.2.1.
	* DEV-PHASE: Set to prerelease.

From-SVN: r124719
2007-05-14 19:13:57 +00:00
Mark Mitchell
bfbec2aae3 Mark as release
From-SVN: r124706
2007-05-14 03:15:24 +00:00
Mark Mitchell
e4c23de2ae Mark ChangeLog
From-SVN: r124705
2007-05-14 03:15:17 +00:00
Mark Mitchell
c5f33ef010 Mark ChangeLog
From-SVN: r124704
2007-05-14 03:15:09 +00:00
Mark Mitchell
d99437c5e6 Mark ChangeLog
From-SVN: r124703
2007-05-14 03:15:03 +00:00
Mark Mitchell
1ebbbd39c4 Mark ChangeLog
From-SVN: r124702
2007-05-14 03:14:59 +00:00
Mark Mitchell
4124357da0 Mark ChangeLog
From-SVN: r124701
2007-05-14 03:14:53 +00:00
Mark Mitchell
b0d27fc0ed Mark ChangeLog
From-SVN: r124700
2007-05-14 03:14:50 +00:00
Mark Mitchell
dfd8d970d0 Mark ChangeLog
From-SVN: r124699
2007-05-14 03:14:47 +00:00
Mark Mitchell
1075d4457f Mark ChangeLog
From-SVN: r124698
2007-05-14 03:14:42 +00:00
Mark Mitchell
10f6d148e8 Mark ChangeLog
From-SVN: r124697
2007-05-14 03:14:36 +00:00
Mark Mitchell
820cfdd576 Mark ChangeLog
From-SVN: r124696
2007-05-14 03:14:32 +00:00
Mark Mitchell
0f1b1a7e81 Mark ChangeLog
From-SVN: r124695
2007-05-14 03:14:28 +00:00
Mark Mitchell
7c158c5cdb Mark ChangeLog
From-SVN: r124694
2007-05-14 03:14:23 +00:00
Mark Mitchell
5919f5bcd6 Mark ChangeLog
From-SVN: r124693
2007-05-14 03:14:18 +00:00
Mark Mitchell
f5f5391cb0 Mark ChangeLog
From-SVN: r124692
2007-05-14 03:14:13 +00:00
Mark Mitchell
47bdbd1788 Mark ChangeLog
From-SVN: r124691
2007-05-14 03:14:03 +00:00
Mark Mitchell
55dc79a9f7 Mark ChangeLog
From-SVN: r124690
2007-05-14 03:13:57 +00:00
Mark Mitchell
8f3cce2bbb Mark ChangeLog
From-SVN: r124689
2007-05-14 03:13:50 +00:00
Mark Mitchell
562e3cfcea Mark ChangeLog
From-SVN: r124688
2007-05-14 03:13:45 +00:00
Mark Mitchell
8d0afc58d1 Mark ChangeLog
From-SVN: r124687
2007-05-14 03:13:40 +00:00
Mark Mitchell
677a2019ad Mark ChangeLog
From-SVN: r124686
2007-05-14 03:13:35 +00:00
Mark Mitchell
6d17116478 Mark ChangeLog
From-SVN: r124685
2007-05-14 03:13:30 +00:00
Mark Mitchell
8abbf8d755 Mark ChangeLog
From-SVN: r124684
2007-05-14 03:13:26 +00:00
Mark Mitchell
45c4e55fd5 Mark ChangeLog
From-SVN: r124683
2007-05-14 03:13:21 +00:00
Mark Mitchell
6504b3530f Mark ChangeLog
From-SVN: r124682
2007-05-14 03:13:16 +00:00
Mark Mitchell
66118d57b3 Mark ChangeLog
From-SVN: r124681
2007-05-14 03:13:13 +00:00
Mark Mitchell
940af46ecc Mark ChangeLog
From-SVN: r124680
2007-05-14 03:13:09 +00:00
Mark Mitchell
218e435295 Mark ChangeLog
From-SVN: r124679
2007-05-14 03:13:03 +00:00
Mark Mitchell
5ea858a77e Mark ChangeLog
From-SVN: r124678
2007-05-14 03:12:56 +00:00
Mark Mitchell
87e34ae6a4 Mark ChangeLog
From-SVN: r124677
2007-05-14 03:12:51 +00:00
Mark Mitchell
ad6114e2cf Mark ChangeLog
From-SVN: r124676
2007-05-14 03:12:47 +00:00
Mark Mitchell
35bad65f48 Mark ChangeLog
From-SVN: r124675
2007-05-14 03:12:41 +00:00
Mark Mitchell
c28acd9b98 Mark ChangeLog
From-SVN: r124674
2007-05-14 03:12:37 +00:00
Mark Mitchell
1fa22ce4a0 Mark ChangeLog
From-SVN: r124673
2007-05-14 03:12:33 +00:00
Mark Mitchell
086d16b8e1 Mark ChangeLog
From-SVN: r124672
2007-05-14 03:12:28 +00:00
Mark Mitchell
787fe5d204 Mark ChangeLog
From-SVN: r124671
2007-05-14 03:12:23 +00:00
Mark Mitchell
f0199e9e18 Mark ChangeLog
From-SVN: r124670
2007-05-14 03:12:20 +00:00
Mark Mitchell
d589f36394 Mark ChangeLog
From-SVN: r124669
2007-05-14 03:12:17 +00:00
Mark Mitchell
3325424942 Mark ChangeLog
From-SVN: r124668
2007-05-14 03:12:12 +00:00
Mark Mitchell
2d30bea6b1 Mark ChangeLog
From-SVN: r124667
2007-05-14 03:12:09 +00:00
Mark Mitchell
63a25b9c83 cpplib.pot: Regenerate.
* cpplib.pot: Regenerate.
	* gcc.pot: Regenerate.

From-SVN: r124666
2007-05-14 02:54:53 +00:00
Mark Mitchell
8d0caa6241 gcc.pot: Regenerate.
* gcc.pot: Regenerate.

	* cpplib.pot: Regenerate.

From-SVN: r124665
2007-05-14 02:52:36 +00:00
Mark Mitchell
37686f55ee * gennews (files): Reference GCC 4.2 web pages.
From-SVN: r124663
2007-05-14 00:31:19 +00:00
GCC Administrator
5aa33fce66 Daily bump.
From-SVN: r124660
2007-05-14 00:17:24 +00:00
GCC Administrator
afba150b1b Daily bump.
From-SVN: r124644
2007-05-13 00:16:53 +00:00
Richard Guenther
04e907fe7d re PR tree-optimization/31797 (infinite loop in tree-ssa-pre or ICE)
2007-05-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/31797
	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
	propagate into a stmt that has volatile ops.

	* gcc.c-torture/compile/pr31797.c: New testcase.

From-SVN: r124636
2007-05-12 17:19:25 +00:00
GCC Administrator
37d5b42420 Daily bump.
From-SVN: r124630
2007-05-12 00:17:17 +00:00
Jerry DeLisle
478bbfcd12 re PR libfortran/31880 ([4.2 only] silent data corruption in gfortran read statement)
2007-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31880
	* gfortran.dg/unf_read_corrupted_2.f90: New test.

From-SVN: r124627
2007-05-11 21:57:05 +00:00
Jerry DeLisle
2385af2a1c re PR libfortran/31880 ([4.2 only] silent data corruption in gfortran read statement)
2007-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31880
	* io/unix.c (fd_alloc_r_at): Fix calculation of physical offset.

From-SVN: r124626
2007-05-11 21:53:52 +00:00
GCC Administrator
87ea40006e Daily bump.
From-SVN: r124606
2007-05-11 00:17:19 +00:00
GCC Administrator
81605584f4 Daily bump.
From-SVN: r124585
2007-05-10 00:17:41 +00:00
GCC Administrator
401d26016e Daily bump.
From-SVN: r124561
2007-05-09 00:16:57 +00:00
Ian Lance Taylor
e974785db0 re PR java/31842 (r124338 causes java Divide_1 and pr6388 to fail)
PR java/31842
	* java/lang/natString.cc (_Jv_FormatInt): Avoid undefined signed
	overflow.

From-SVN: r124531
2007-05-08 00:30:27 +00:00
GCC Administrator
c04c5348ef Daily bump.
From-SVN: r124526
2007-05-08 00:17:14 +00:00
GCC Administrator
559d8b3e63 Daily bump.
From-SVN: r124484
2007-05-06 23:17:17 +00:00
GCC Administrator
05959964ae Daily bump.
From-SVN: r124464
2007-05-05 23:16:51 +00:00
GCC Administrator
0a8f42ffe1 Daily bump.
From-SVN: r124453
2007-05-04 23:16:49 +00:00
Mark Mitchell
88b521af7a * demangle.h: Change license to LGPL + exception.
From-SVN: r124425
2007-05-04 15:03:17 +00:00
GCC Administrator
1783c7af50 Daily bump.
From-SVN: r124394
2007-05-03 23:16:48 +00:00
GCC Administrator
34bd92b749 Daily bump.
From-SVN: r124366
2007-05-02 23:17:00 +00:00
Ian Lance Taylor
fe68a87dac re PR tree-optimization/31739 (ICE at tree.c:902 compiling g-regexp.adb)
PR tree-optimization/31739
	* tree-vrp.c (vrp_val_is_max): New static function.
	(vrp_val_is_min): New static function.
	(set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
	copying the node.
	(set_value_range): Use vrp_val_is_{max,min}.
	(extract_range_from_assert): Likewise.
	(extract_range_from_binary_expr): Likewise.
	(extract_range_from_unary_expr): Likewise.
	(dump_value_range, vrp_meet): Likewise.
	(vrp_visit_phi_node): Likewise.
	* tree.c (build_distinct_type_copy): Revert change of 2007-04-27.

From-SVN: r124338
2007-05-01 19:23:47 +00:00
Joseph Myers
5fecc3fa0f * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
From-SVN: r124331
2007-05-01 18:39:16 +01:00
GCC Administrator
72b4b106f0 Daily bump.
From-SVN: r124310
2007-04-30 23:16:40 +00:00
Daniel Franke
e3554df1fe intrinsic.texi (IERRNO): Changed class to non-elemental function.
2007-04-30  Daniel Franke  <franke.daniel@gmail.com>

        * intrinsic.texi (IERRNO): Changed class to non-elemental function.
        (LOG10): Removed COMPLEX as accepted argument type.
        (NEW_LINE): Changed class from elemental to inquiry function.
        (SIGN): Removed requirement of scalar arguments.
        (SNGL): Changed class to elemental function.

From-SVN: r124296
2007-04-30 11:04:26 -04:00
GCC Administrator
b1ba78c150 Daily bump.
From-SVN: r124289
2007-04-29 23:17:00 +00:00
Daniel Franke
5775f0df57 gfortran.texi: Cleaned up keyword index.
2007-04-29  Daniel Franke  <franke.daniel@gmail.com>

        * gfortran.texi: Cleaned up keyword index.
        * invoke.texi: Likewise.
        * intrinsic.texi: Likewise.

From-SVN: r124276
2007-04-29 06:49:14 -04:00
Andrew Pinski
222d199c13 re PR c++/30221 (internal compiler error: in reshape_init_r, at cp/decl.c:4632)
2007-04-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C++/30221
        * decl.c (reshape_init_r): Don't reshape the first element if it
        is a pointer to member function.

2007-04-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C++/30221
        * g++.dg/init/ptrfn2.C: New test.
        * g++.dg/init/ptrfn3.C: New test.

From-SVN: r124272
2007-04-28 23:27:27 -07:00
Paul Thomas
9d5833a6fe re PR fortran/31711 (was "rhs array is changed while assiging to same lhs array")
2007-04-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31711
	* trans-array.c (gfc_conv_resolve_dependencies): Create a temp
	whenever a dependency is found.

2007-04-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31711
	* gfortran.dg/dependency_21.f90: New test.

From-SVN: r124270
2007-04-29 06:16:45 +00:00
GCC Administrator
d7f3a4ed79 Daily bump.
From-SVN: r124263
2007-04-28 23:17:10 +00:00
GCC Administrator
2c9cc47bfc Daily bump.
From-SVN: r124245
2007-04-27 23:16:50 +00:00
Anatoly Sokolov
10655e669d avr.c (avr_mcu_types): Add support for ATmega8HVA and ATmega16HVA devices.
* config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and 
	ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture.
	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).

From-SVN: r124239
2007-04-28 00:53:57 +04:00
Ian Lance Taylor
2e0bf5de87 re PR middle-end/31710 (ICE in in set_value_range, at tree-vrp.c:278)
./:	PR middle-end/31710
	* tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
	TYPE_MAX_VALUE exist, convert them to the new type.
testsuite/:
	PR middle-end/31710
	* gcc.c-torture/compile/pr31710.c: New test.

From-SVN: r124238
2007-04-27 20:48:55 +00:00
Brooks Moses
eaf8ebdea7 * intrinsic.texi (Transfer): Improve documentation.
From-SVN: r124233
2007-04-27 13:14:31 -07:00
Brooks Moses
251384ceeb gfortran.texi (Option Index): Add @samp as needed.
* gfortran.texi (Option Index): Add @samp as needed.
* invoke.texi: Removed extraneous line.
(-fshort-enums): Fixed intexing.

From-SVN: r124231
2007-04-27 12:34:08 -07:00
Daniel Franke
cecaff8eb9 backport: intrinsic.texi (NULL, [...]): New.
2007-04-27  Daniel Franke  <franke.daniel@gmail.com>

	Backport from trunk:
	* intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE, 
	SIZE, TRANSPOSE, TRIM, VERIFY): New.
	(ADJUSTL, ADJUSTR, INDEX): Added cross references.
	(INT, INT2, INT8, LONG): Enabled section header.

	* intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM, 
	SYSTEM_CLOCK, TRANSFER, UNPACK): New.
	(DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references.

	* intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT,
	XOR): Fixed examples.

	* gfortran.texi: Added node and menu entry for an option index.
	* invoke.texi: Moved command line option related entries of the
	concept index to the option index.

From-SVN: r124225
2007-04-27 13:26:12 -04:00
Ian Lance Taylor
19ea458ac0 re PR target/28675 (ICE in extract_insn, at recog.c:2084 (unrecognizable insn) [arm])
./:	PR target/28675
	* reload.c (find_reloads_subreg_address): If the address was valid
	in the original mode but not in the new mode, reload the whole
	address.
testsuite/:
	PR target/28675
	* gcc.c-torture/compile/pr28675.c: New test.

From-SVN: r124212
2007-04-27 04:20:02 +00:00
Andrew Pinski
4a13c3cd6d re PR c++/30016 (internal compiler error: in convert_move, at expr.c:362)
2007-04-26  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C++/30016
        * typeck.c (build_reinterpret_cast_1): Only allow conversion to
        integeral types from vectors types.

2007-04-26  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C++/30016
        * g++.dg/ext/vector6.C: New test.

From-SVN: r124209
2007-04-26 18:37:02 -07:00
GCC Administrator
d0e4014640 Daily bump.
From-SVN: r124205
2007-04-26 23:16:52 +00:00
Ulrich Weigand
8e0cd7a52c re PR middle-end/30761 (Error: unsupported relocation against sfp)
PR middle-end/30761
	* reload1.c (eliminate_regs_in_insn): In the single_set special
	case, attempt to re-recognize the insn before falling back to
	having reload fix it up.

From-SVN: r124199
2007-04-26 21:10:09 +00:00
Richard Guenther
b614885101 re PR tree-optimization/30567 (-O3 optimizer bug)
2007-04-26  Richard Guenther  <rguenther@suse.de>
	Daniel Berlin  <dberlin@dberlin.org>

	PR tree-optimization/30567
	* tree-ssa-structalias.c (update_alias_info): Record dereference
	also if ESCAPE_STORED_IN_GLOBAL.

	* g++.dg/other/pr30567.C: New testcase.

Co-Authored-By: Daniel Berlin <dberlin@dberlin.org>

From-SVN: r124184
2007-04-26 11:15:16 +00:00
Jakub Jelinek
34ac0de0ed re PR c++/31598 (g++ does not accept some OpenMP code)
PR c++/31598
	* tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.

	* semantics.c (finish_omp_clauses): Don't create CP_OMP_CLAUSE_INFO
	for type dependent OMP_CLAUSE_DECLs.

	* g++.dg/gomp/pr31598.C: New test.

From-SVN: r124180
2007-04-26 09:39:25 +02:00
Jakub Jelinek
6c99e6de8a re PR tree-optimization/30558 (ICE with OpenMP and exceptions)
PR tree-optimization/30558
	* tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
	clear this_state.prev_try.

	* g++.dg/gomp/pr30558.C: New test.

From-SVN: r124179
2007-04-26 09:35:28 +02:00
GCC Administrator
e337aafb38 Daily bump.
From-SVN: r124167
2007-04-25 23:17:02 +00:00
Anatoly Sokolov
927d5e202f re PR target/18989 (A few potentially ominous, and several likely harmless warnings during 4.0 build)
PR target/18989
 	* config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.

From-SVN: r124159
2007-04-25 22:38:32 +04:00
Andrew Pinski
b6faac20c0 re PR target/30222 (gcc.target/i386/vectorize1.c ICEs)
2007-04-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
            Roger Sayle  <roger@eyesopen.com>

        PR middle-end/30222
        * expmed.c (make_tree): Use the correct type, i.e. the inner
        type, when constructing the individual elements of a CONST_VECTOR.


Co-Authored-By: Roger Sayle <roger@eyesopen.com>

From-SVN: r124140
2007-04-24 22:43:32 -07:00
GCC Administrator
6d0c046263 Daily bump.
From-SVN: r124132
2007-04-24 23:16:52 +00:00
Paolo Carlini
94987f9022 re PR c++/30500 (pragma GCC system_header vs templates)
2007-04-24  Paolo Carlini  <pcarlini@suse.de>

	PR c++/30500
	* pt.c (instantiate_decl): Set in_system_header.

2007-04-24  Paolo Carlini  <pcarlini@suse.de>

	PR c++/30500
	* g++.dg/warn/pragma-system_header3.C: New test.
	* g++.dg/warn/pragma-system_header3.h. New.

From-SVN: r124130
2007-04-24 22:36:53 +00:00
Ian Lance Taylor
b39a98f195 re PR tree-optimization/31605 (VRP eliminates a useful test due with conversion from unsigned int to int)
./ChangeLog:	PR tree-optimization/31605
	* tree-vrp.c (set_value_range): Check that min and max are not
	both overflow infinities.
	(set_value_range_to_value): New static function.
	(extract_range_from_binary_expr): Call set_value_range_to_value.
	(extract_range_from_expr): Likewise.
	(extract_range_from_unary_expr): Likewise.  Don't create a range
	which overflows on both sides.
	(vrp_meet): Check for a useless range.
	(vrp_visit_phi_node): If we see a constant which looks like an
	overflow infinity, turn off the TREE_OVERFLOW flag.
testsuite/ChangeLog:
	PR tree-optimization/31605
	* gcc.c-torture/execute/pr31605.c: New test.

From-SVN: r124129
2007-04-24 22:26:25 +00:00
Ian Lance Taylor
3578c2f331 re PR tree-optimization/31602 (Overflow warning causes GDB -Werror build failure)
PR tree-optimization/31602
	* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
	conditionals in the copied loop header.
	* tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
	warnings if TREE_NO_WARNING is set.
	* doc/invoke.texi (Warning Options): Clarify that
	-Wstrict-overflow does not warn about loops.

From-SVN: r124127
2007-04-24 21:54:22 +00:00
Andreas Krebbel
16003f7c85 re PR target/31641 (ICE in s390_expand_setmem, at config/s390/s390.c:3618)
2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	PR target/31641
	* config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
	argument of 0 for memset.
	(s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
	unsigned shift instead of the signed variant.

2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	PR target/31641
	* gcc.c-torture/compile/pr31641.c: New testcase.

From-SVN: r124101
2007-04-24 12:21:22 +00:00
Daniel Franke
d89c1733ad invoke.texi: Removed leading '-' from option index entries.
2007-04-24  Daniel Franke  <franke.daniel@gmail.com>

       * doc/invoke.texi: Removed leading '-' from option index entries.

From-SVN: r124093
2007-04-23 20:04:26 -04:00
GCC Administrator
d6d3311c00 Daily bump.
From-SVN: r124088
2007-04-23 23:16:48 +00:00
Tom Tromey
bcdb4b71c4 re PR preprocessor/30468 (-M not fully chops dirname)
PR preprocessor/30468:
	* mkdeps.c (apply_vpath): Strip successive '/'s if we stripped
	'./'.

From-SVN: r124068
2007-04-23 14:26:51 +00:00
Andrew Pinski
545c543d01 re PR middle-end/31448 (ICE in expand_shift with bit fields and expand inlining constants)
2007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/31448
        * expr.c (reduce_to_bit_field_precision): Handle
        CONST_INT rtx's.

2007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/31448
        * gcc.c-torture/execute/pr31448.c: New testcase.

From-SVN: r124055
2007-04-22 18:57:48 -07:00
GCC Administrator
ff851fda75 Daily bump.
From-SVN: r124048
2007-04-22 23:16:42 +00:00
Richard Henderson
c4ffa13be8 re PR target/28623 (ICE in extract_insn, at recog.c:2077 (nrecognizable insn) [alpha])
PR target/28623
        * config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
        argument; update all callers.
        (get_unaligned_offset): New.
        * config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
        get_unaligned_address, just pass on the address directly.
        (unaligned_extendqidi): Use gen_lowpart instead of open-coding
        the subreg in the helper patterns.
        (unaligned_extendqidi_le): Use get_unaligned_offset.
        (unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
        (unaligned_extendhidi_be): Likewise.
        (unaligned_extendhidi): Tidy.
        * config/alpha/alpha-protos.h: Update.

From-SVN: r124034
2007-04-21 18:30:31 -07:00
GCC Administrator
d48815d862 Daily bump.
From-SVN: r124028
2007-04-21 23:16:46 +00:00
Richard Guenther
c1064e6565 re PR tree-optimization/31136 (FRE ignores bit-field truncation (C and C++ front-end don't produce bit-field truncation)
2007-04-21  Richard Guenther  <rguenther@suse.de>

	PR middle-end/31136
	* fold-const.c (fold_unary): Call fold_convert_const on the
	original tree.

	* gcc.c-torture/execute/pr31136.c: New testcase.

From-SVN: r124019
2007-04-21 17:43:57 +00:00
Joseph Myers
497c805a16 * sv.po: Update.
From-SVN: r124017
2007-04-21 13:44:51 +01:00
GCC Administrator
bdcf051416 Daily bump.
From-SVN: r124009
2007-04-20 23:17:01 +00:00
Richard Henderson
6ee3e65a4c configure.ac (alpha*-*-*): Define HAVE_LONG_DOUBLE.
* configure.ac (alpha*-*-*): Define HAVE_LONG_DOUBLE.
        * configure: Regenerate.
        * include/ffi.h.in (ffi_type_longdouble): Define as ffi_type_double
        if HAVE_LONG_DOUBLE is false.
        * src/alpha/ffi.c (ffi_prep_cif_machdep): Support the 128-bit
        long double type.
        (ffi_call_osf, ffi_closure_osf): Likewise.
        * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
        * src/types.c (ffi_type_longdouble): For alpha, always generate
        for the 128-bit long double type.

From-SVN: r124004
2007-04-20 13:35:37 -07:00
Richard Henderson
3e8a9f09b6 * config/alpha/linux.h (CPP_SPEC): Undef before redefine.
From-SVN: r124001
2007-04-20 12:29:02 -07:00
Bernd Schmidt
70f3971ea3 reload.c (combine_reloads): When trying to use a dying register...
* reload.c (combine_reloads): When trying to use a dying register,
	check whether it's uninitialized and don't use if so.

From-SVN: r123995
2007-04-20 12:55:15 +00:00
Jakub Jelinek
fcb8ef7ec9 i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED for __builtin_ia32_cmpordss.
* config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
	for __builtin_ia32_cmpordss.

	* gcc.target/i386/ordcmp-1.c: New test.
	* gcc.target/i386/unordcmp-1.c: New test.

From-SVN: r123991
2007-04-20 13:48:00 +02:00
Jakub Jelinek
90e6ddb5aa re PR tree-optimization/31632 (ICE in compare_values)
PR tree-optimization/31632
	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
	and arg1 for optimizations of comparison against min/max values.
	Fold arg0 to arg1's type for optimizations of comparison against
	min+1 and max-1 values.

	* gcc.c-torture/compile/20070419-1.c: New test.

From-SVN: r123990
2007-04-20 13:46:06 +02:00
GCC Administrator
25728f70ff Daily bump.
From-SVN: r123982
2007-04-19 23:17:00 +00:00
Eric Botcazou
759a2de39a re PR rtl-optimization/29841 (ICE with scheduling and __builtin_trap)
PR rtl-optimization/29841
	* cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
	trap instructions.
	* sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
	that may cause control flow transfer from being moved.

From-SVN: r123971
2007-04-19 11:19:39 +00:00
GCC Administrator
80d9a7af7d Daily bump.
From-SVN: r123962
2007-04-18 23:16:48 +00:00
Anatoly Sokolov
6a411cd1f9 avr.c (ptrreg_to_str): Replace error() with output_operand_lossage().
* config/avr/avr.c (ptrreg_to_str): Replace error() with
	output_operand_lossage().

From-SVN: r123950
2007-04-18 20:32:44 +04:00
Jerry DeLisle
53dbde5743 re PR fortran/31366 ([4.2 only] Last record truncated for read after short write, direct access file)
2007-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31366
	* gfortran.dg/direct_io_6.f90: New test.

From-SVN: r123941
2007-04-18 04:37:12 +00:00
Jerry DeLisle
89e6efff8a re PR fortran/31366 ([4.2 only] Last record truncated for read after short write, direct access file)
2007-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31366
	* io/transfer.c (read_block_direct): Do not generate error when reading
	past EOF on a short record that is less than the RECL= specified.

From-SVN: r123940
2007-04-18 04:35:41 +00:00
GCC Administrator
395b509269 Daily bump.
From-SVN: r123935
2007-04-17 23:16:42 +00:00
Anatoly Sokolov
be4a8a0845 re PR target/30483 (Internal compiler error with inline volatile assembly on AVR)
PR target/30483
	* config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
	error().

From-SVN: r123927
2007-04-18 00:13:29 +04:00
Simon Martin
5f4a9d838a re PR c++/31517 (ICE on invalid initialization of static member of a template class)
2007-04-17  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/31517
	* pt.c (value_dependent_expression_p): Handle MODOP_EXPRs.

From-SVN: r123925
2007-04-17 19:41:12 +00:00
Jan Hubicka
ca5fadad64 re PR middle-end/30700 (YA bogus undefined reference error to static func with -g and -O)
PR middle-end/30700
	* dwarf2out.c (reference_to_unused): Ask cgraph for functions
	availablility; add more sanity checking; ask varpool only about
	VAR_DECL.

From-SVN: r123922
2007-04-17 18:02:09 +00:00
H.J. Lu
17641f3032 [multiple changes]
2007-04-17  H.J. Lu  <hongjiu.lu@intel.com>

	* Backport from mainline:
	2007-04-17  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
	on "0".
	(sse_vmmulv4sf3): Likewise.
	(sse2_vmaddv2df3): Likewise.
	(sse2_vmmulv2df3): Likewise.

From-SVN: r123921
2007-04-17 10:32:07 -07:00
Mark Mitchell
e53ebec609 re PR c++/31513 (Miscompilation of Function Passing Bit Field Value to Function)
PR c++/31513
	* call.c (convert_for_arg_passing): Convert bitfields to their
	declared types.
	PR c++/31513
	* g++.dg/expr/bitfield8.C: New test.

From-SVN: r123902
2007-04-16 23:28:21 +00:00
GCC Administrator
78676653b2 Daily bump.
From-SVN: r123899
2007-04-16 23:16:39 +00:00
Matthias Klose
4d943dd777 linux.h (CPP_SPEC): Define.
2007-04-16  Matthias Klose  <doko@debian.org>

        * gcc/config/alpha/linux.h (CPP_SPEC): Define.
        * gcc/config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.

From-SVN: r123891
2007-04-16 20:16:13 +00:00
Anatoly Sokolov
c63d3c2b89 avr.c (avr_arch_types): Rearranging array.
* config/avr/avr.c (avr_arch_types): Rearranging  array.
	(enum avr_arch): Add.
	(avr_mcu_types): Use avr_arch enumeration constants instead of 
	numbers.
	* config/avr/avr.h (LINK_SPEC): Simplify.

From-SVN: r123883
2007-04-16 22:00:42 +04:00
Jan Hubicka
a22491c19e re PR target/27869 ("-O -fregmove" handles SSE scalar instructions incorrectly)
PR target/27869
	* config/i386/sse.md
	(sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
	(sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
	(sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
	(sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.

From-SVN: r123876
2007-04-16 16:07:19 +00:00
H.J. Lu
b3a8266ecc Fix a typo in comments in revision 123868.
From-SVN: r123870
2007-04-16 07:01:14 -07:00
H.J. Lu
794b03139b [multiple changes]
2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>

	* Backport from mainline:
	2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/31582
	* config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
	copy of source, pass it to ix86_expand_vector_set and return
	it as target.

From-SVN: r123868
2007-04-16 06:57:37 -07:00
GCC Administrator
fc4b9e646c Daily bump.
From-SVN: r123858
2007-04-15 23:17:07 +00:00
Andrew Pinski
095dc34fea re PR testsuite/31578 (FAIL: gcc.dg/gnu89-init-4.c (test for excess errors))
2007-04-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR testsuite/31578
        * gcc.dg/gnu89-init-4.c: Change to a compile only test.

From-SVN: r123855
2007-04-15 14:40:30 -07:00
Andrew Pinski
0dd451f026 re PR c/31520 (Latent bug in finish_decl causing an errorous "array subscript is above array bounds")
2007-04-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR c/31520
        * c-del.c (finish_decl): Grab the type of the decl after the call
        to store_init_value.
2007-04-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C/31520
        * testsuite/gcc.dg/gnu89-init-4.c: New testcase.

From-SVN: r123836
2007-04-14 18:10:22 -07:00
GCC Administrator
3c825574e5 Daily bump.
From-SVN: r123832
2007-04-14 23:17:04 +00:00
Jakub Jelinek
420168d81d re PR c++/25874 ([gomp] ICE in calc_dfs_tree())
PR c++/25874
	* omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
	post dominators and cleanup cfg before returning.

	* gcc.dg/gomp/pr25874.c: Add dg-options.
	* g++.dg/gomp/pr25874.C: Add dg-options.

From-SVN: r123818
2007-04-14 19:43:13 +02:00
Jason Merrill
45fe570dfc re PR c++/31074 (Reference casting involving multiple inheritance produces bad pointer)
PR c++/31074
        * call.c (reference_binding): Add c_cast_p parm.  If true,
        add quals to TO as needed to make it reference-compatible.

From-SVN: r123808
2007-04-13 21:29:29 -04:00
GCC Administrator
f438a94bf2 Daily bump.
From-SVN: r123802
2007-04-13 23:16:49 +00:00
Francois-Xavier Coudert
598ba7b270 re PR libfortran/31335 (Calls lstat(), stat() and fstat() in libgfortran should be protected by autoconf HAVE_{L,,F}STAT macros)
PR libfortran/31335

	* intrinsics/stat.c: Only provide STAT and FSTAT library routines
	if stat() and fstat() library functions are available. When lstat()
	is not available, use stat() instead.
	* configure.ac: Add checks for stat, fstat and lstat.
	* configure: Regenerate.
	* config.h.in: Regenerate.

From-SVN: r123796
2007-04-13 19:56:19 +00:00
Joseph Myers
6efa23de5f re PR tree-optimization/29598 (FAIL: gcc.dg/tree-ssa/loadpre1.c and loadpre1[45].c scan-tree-dump-times Eliminated: 1 1)
PR tree-optimization/29598
	* gcc.dg/tree-ssa/loadpre1.c, gcc.dg/tree-ssa/loadpre14.c,
	gcc.dg/tree-ssa/loadpre15.c: XFAIL.

From-SVN: r123795
2007-04-13 20:47:39 +01:00
GCC Administrator
a74a8c2ee5 Daily bump.
From-SVN: r123772
2007-04-12 23:16:46 +00:00
Paolo Carlini
9cd4c35efb PR libstdc++/28277 (partial: vstring bits)
2007-04-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: vstring bits)
	* include/bits/ostream_insert.h: New.
	* include/Makefile.am: Add.
	* include/ext/vstring.h (operator<<(basic_ostream<>&,
	const __versa_string<>&): Forward to __ostream_insert.
	* include/bits/basic_string.h (operator<<(basic_ostream<>&,
	const string<>&)): Likewise.
	* include/std/std_ostream.h (operator<<(basic_ostream<>&, _CharT),
	operator<<(basic_ostream<char,>&, char), operator<<(basic_ostream<>&,
	const _CharT*), operator<<(basic_ostream<char,>&, const char*)):
	Likewise.
	* include/ext/vstring.tcc (operator<<(basic_ostream<>&,
	const __versa_string<>&)): Remove.
	(class basic_ostream): Remove friend declarations.
	(basic_ostream<>::_M_write(char_type, streamsize),
	_M_insert(const char_type*, streamsize)): Remove.
	* include/bits/ostream.tcc (_M_insert(const char_type*, streamsize)):
	Remove definition.
	(operator<<(basic_ostream<>&, const char*)): Use __ostream_insert.
	* include/ext/vstring_util.h: Include <bits/ostream_insert.h>.
	* include/std/std_string.h: Likewise.
	* config/abi/pre/gnu.ver: Adjust.
	* src/ostream-inst.cc: Add __ostream_insert instantiations.
	* include/Makefile.in: Rebuild.
	* testsuite/ext/vstring/inserters_extractors/char/28277.cc: New.
	* testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: New.

From-SVN: r123770
2007-04-12 23:06:37 +00:00
Mike Stump
d49ef953d1 class.c (dfs_accumulate_vtbl_inits): Slam the vtbl type back to vtbl_ptr_type_node to ensure the mode is correct.
* class.c (dfs_accumulate_vtbl_inits): Slam the vtbl type back to
	vtbl_ptr_type_node to ensure the mode is correct.

testsuite:
	* g++.dg/tree-ssa/pr29585.C: Don't die on an expected warning.

From-SVN: r123766
2007-04-12 19:39:09 +00:00
Daniel Franke
8d76ee41a6 re PR fortran/31234 (Thread-safety of random_number should be documented.)
2007-04-12  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/31234
	* intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.

From-SVN: r123761
2007-04-12 14:27:07 -04:00
John David Anglin
f137295fca pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not null before emitting a .nsubspa directive.
* pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
	null before emitting a .nsubspa directive.

From-SVN: r123734
2007-04-12 00:50:45 +00:00
GCC Administrator
76aeddb408 Daily bump.
From-SVN: r123728
2007-04-11 23:16:51 +00:00
GCC Administrator
7868e8ae0b Daily bump.
From-SVN: r123705
2007-04-10 23:17:01 +00:00
Mark Mitchell
5b197a708f re PR c++/31449 ([4.1] static_cast can remove const-ness)
PR c++/31449
	* class.c (build_base_path): Ensure that the converted pointer has
	the same cv-qualification as the input.
	PR c++/31449
	* g++.dg/init/const5.C: New test.

From-SVN: r123690
2007-04-10 03:01:08 +00:00
GCC Administrator
4102f42ce5 Daily bump.
From-SVN: r123684
2007-04-09 23:16:49 +00:00
GCC Administrator
ff996c5c41 Daily bump.
From-SVN: r123667
2007-04-08 23:16:45 +00:00
Anatoly Sokolov
7765712ead re PR target/29932 (avr-gcc wrongly optimizes bit sets/resets for IO register 0x20)
PR target/29932
	* config/avr/predicates.md (io_address_operand): Delete predicate.
	(low_io_address_operand): Don't use 'mode' argument.
	(higth_io_address_operand): Rename ...
	(high_io_address_operand): ... to this. Don't use 'mode' argument.
	* config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
	for above change.

From-SVN: r123659
2007-04-08 18:39:59 +04:00
GCC Administrator
b31c7d1b0d Daily bump.
From-SVN: r123652
2007-04-07 23:16:44 +00:00
Anatoly Sokolov
9601a68bd0 re PR target/30289 (avr-gcc: builtin memset(): wrong code)
PR target/30289
	* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as 
	earlyclobber.

From-SVN: r123648
2007-04-08 02:14:51 +04:00
Paolo Carlini
f5294c77ff re PR libstdc++/31481 (GCC 4.2.0 incompatible with STLport 5.1.3)
2007-04-07  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31481
	* include/ext/type_traits.h (__numeric_traits): Move...
	* include/ext/numeric_traits.h: ... here; fix type of
	__max_digits10.
	* include/Makefile.am: Add.
	* include/ext/pb_ds/detail/type_utils.hpp: Include 
	<ext/numeric_traits.h> too.
	* include/tr1/random: Likewise.
	* testsuite/ext/type_traits/numeric_traits.cc: Move...
	* testsuite/ext/numeric_traits/numeric_traits.cc: ... here.
	* include/Makefile.in: Regenerate.
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc:
	Adjust dg-error line number.
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc:
	Likewise.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc:
	Likewise.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc:
	Likewise.

From-SVN: r123637
2007-04-07 08:38:39 +00:00
GCC Administrator
858e05a663 Daily bump.
From-SVN: r123632
2007-04-06 23:16:59 +00:00
GCC Administrator
f7fc08a9ff Daily bump.
From-SVN: r123532
2007-04-05 23:17:02 +00:00
Anatoly Sokolov
993d46527d re PR target/25448 (Unfounded warnings from the AVR backend)
PR target/25448
	* config/avr/avr.c (avr_handle_fndecl_attribute): Use the 
	DECL_ASSEMBLER_NAME, not the DECL_NAME.

From-SVN: r123520
2007-04-05 19:50:27 +04:00
Eric Christopher
86875983bb backport: [multiple changes]
2007-04-04  Eric Christopher  <echristo@apple.com>

        Backport from mainline:
        2007-04-04  Zack Weinberg  <zack@mrtock.ucsd.edu>

        * texi2pod.pl: Correct handling of @itemize with no argument.

        2007-02-16  Matthias Klose  <doko@debian.org>

        * texi2pod.pl: Handle @subsubsection, ignore @anchor.

        2007-02-06  Richard Sandiford  <richard@codesourcery.com>

        * texi2pod.pl: Handle @multitable.

From-SVN: r123515
2007-04-05 07:10:01 +00:00
GCC Administrator
6dc4f7aae9 Daily bump.
From-SVN: r123507
2007-04-04 23:16:40 +00:00
Richard Henderson
806b4a82a7 re PR target/31361 (SSE2 generation bug with shifts)
PR target/31361
        * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
        v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di.  Use like-types for
        the variable shift builtins.
        (ix86_expand_builtin): Properly expand the variable shift builtins.
        * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
        operand 2 be TImode.
        * config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
        _mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
        _mm_srli_epi32, _mm_srli_epi64): Turn into macros.
        (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
        (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
        _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
        two-vector shift builtins.

From-SVN: r123505
2007-04-04 15:13:13 -07:00
Chen Liqin
a106a3173f crti.asm: Change _bss_start to __bss_start.
2007-04-04 Chen Liqin <liqin@sunnorth.com.cn>

        * config/score/crti.asm: Change _bss_start to __bss_start.
        * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
        (OUTGOING_REG_PARM_STACK_SPACE) update.
        * config/score/score.opt: add options to make backend support
        score5, score5u, score7 and score7d.
        * config/score/score.md: Likewise.
        * config/score/misc.md: Likewise.
        * config/score/mac.md: Likewise.
        * doc/invoke.texi: Likewise.
        * doc/md.texi: update constraints define.

From-SVN: r123489
2007-04-04 01:24:10 +00:00
GCC Administrator
bd9ef1e4ca Daily bump.
From-SVN: r123486
2007-04-03 23:16:41 +00:00
Eric Christopher
44c2130254 pr29902.C: Require ilp32.
2007-04-03  Eric Christopher  <echristo@apple.com>

	    * g++.dg/tree-ssa/pr29902.C: Require ilp32.

From-SVN: r123483
2007-04-03 21:46:17 +00:00
Stuart Hastings
b2fa9bd256 re PR objc/31281 (ICE on ObjC try-catch blocks with next runtime)
PR 31281
	* objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl.
	* cse.c (record_jump_equiv): Bail out on CCmode comparisons.
	* testsuite/objc/execute/exceptions/pr31281.m: New.

From-SVN: r123478
2007-04-03 16:43:15 +00:00
Jakub Jelinek
ed986fdb62 re PR c++/30847 (ICE with invalid statement expression)
PR c++/30847
	* typeck.c (build_modify_expr): For COND_EXPR on LHS, if RHS has void
	type issue error and return early.

	* g++.dg/parse/cond3.C: New test.

From-SVN: r123461
2007-04-03 11:25:31 +02:00
Jakub Jelinek
569866e301 re PR middle-end/30704 (Incorrect constant generation for long long)
PR middle-end/30704
	* fold-const.c (native_encode_real): Encode real.c provided longs
	as a series of 32-bit native integers.
	(native_interpret_real): Interpret buffer as a series of 32-bit
	native integers.

	* gcc.c-torture/execute/ieee/pr30704.c: New test.

From-SVN: r123460
2007-04-03 11:23:03 +02:00
Paolo Carlini
0d5da847bc stl_map.h (map<>::insert(iterator, const value_type&): Uglify parameter.
2007-04-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_map.h (map<>::insert(iterator, const value_type&):
	Uglify parameter.

From-SVN: r123454
2007-04-03 08:50:25 +00:00
Eric Christopher
926fc64608 invoke.texi (i386 and x86-64 Options): Document -m64 limitations on darwin.
2007-04-02  Eric Christopher  <echristo@apple.com>

	    * doc/invoke.texi (i386 and x86-64 Options): Document -m64
	    limitations on darwin.

From-SVN: r123448
2007-04-03 01:06:07 +00:00
GCC Administrator
746c7aea2e Daily bump.
From-SVN: r123443
2007-04-02 23:16:46 +00:00
Anatoly Sokolov
48fb9f06b8 re PR target/31137 (missing "break" in switch for MULT in avr_rtx_costs)
PR target/31137
	* config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.

From-SVN: r123438
2007-04-03 01:53:14 +04:00
Jason Merrill
e25f31fb29 re PR c++/31187 (extern declaration of variable in anonymous namespace prevents use of its address as template argument)
PR c++/31187                                                               
        * typeck.c (cp_type_readonly): New fn.                                         
        * cp-tree.h: Declare it.                                                       
        * decl.c (start_decl): Set implicit DECL_THIS_STATIC here.                     
        (cp_finish_decl): Not here.                                                    
                                                                                       
        * g++.dg/ext/visibility/anon3.C: New test.

From-SVN: r123434
2007-04-02 15:12:15 -04:00
H.J. Lu
5c64c0687b [multiple changes]
2007-04-02  H.J. Lu  <hongjiu.lu@intel.com>

	* Backport from mainline:
	2007-03-28  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>

	PR target/31380
	* config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.

From-SVN: r123428
2007-04-02 07:53:48 -07:00
Paolo Carlini
138c866541 PR libstdc++/31401 (vstring bits)
2007-04-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31401 (vstring bits)
	* include/ext/vstring.tcc (find(const _CharT*, size_type,
	size_type)): Avoid unsigned overflow.

From-SVN: r123423
2007-04-02 10:09:07 +00:00
GCC Administrator
ab84b93f0a Daily bump.
From-SVN: r123412
2007-04-01 23:16:46 +00:00
GCC Administrator
ce6ad3052b Daily bump.
From-SVN: r123393
2007-03-31 23:16:54 +00:00
Diego Novillo
9b44fb8cb0 re PR tree-optimization/29585 (tree check: expected ssa_name, have var_decl in is_old_name, at tree-into-ssa.c:558)
2007-03-31  Diego Novillo  <dnovillo@redhat.com>
	    Mark Mitchell  <mark@codesourcery.com>

	PR 29585
	* class.c (dfs_accumulate_vtbl_inits): Use build_address
	to build the vtbl entry.

testsuite/ChangeLog

	PR 29585
	* g++.dg/tree-ssa/pr29585.C: New test.


Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r123386
2007-03-31 14:21:46 -04:00
GCC Administrator
a24dc9ad91 Daily bump.
From-SVN: r123376
2007-03-30 23:17:02 +00:00
Anatoly Sokolov
6176a7b084 avr.c (avr_override_options): Clear 'flag_delete_null_pointer_checks'.
* config/avr/avr.c (avr_override_options): Clear 
	'flag_delete_null_pointer_checks'.

From-SVN: r123368
2007-03-31 00:37:35 +04:00
Paolo Carlini
c3fd2af415 re PR libstdc++/31401 (string find behaves strange when searching from npos)
2007-03-30  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31401
	* include/bits/basic_string.tcc (find(const _CharT*, size_type,
	size_type)): Avoid unsigned overflow.
	* testsuite/21_strings/basic_string/find/char/4.cc: New.
	* testsuite/21_strings/basic_string/find/wchar_t/4.cc: Likewise.

From-SVN: r123362
2007-03-30 17:11:22 +00:00
Kazu Hirata
4b37286601 * gcc.c-torture/execute/mayalias-2.x: New.
From-SVN: r123360
2007-03-30 15:43:36 +00:00
GCC Administrator
ee0a336d28 Daily bump.
From-SVN: r123348
2007-03-29 23:17:00 +00:00
Mike Stump
dabf23d400 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Fix typo.
From-SVN: r123340
2007-03-29 18:37:33 +00:00
Michael Matz
9f6c113564 builtins.c (expand_builtin_sync_operation, [...]): Care for extending CONST_INTs correctly.
* builtins.c (expand_builtin_sync_operation,
        expand_builtin_compare_and_swap,
        expand_builtin_lock_test_and_set): Care for extending CONST_INTs
        correctly.

        * config/i386/sync.md (sync_double_compare_and_swapdi_pic,
        sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
        for operand 3.

From-SVN: r123338
2007-03-29 16:19:32 +00:00
Mike Stump
3211dc0c0e * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
From-SVN: r123335
2007-03-29 16:15:43 +00:00
Mike Stump
710ac06a7f darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
* config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
	* config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.

testsuite:
	* gcc.dg/darwin-comm.c: Add.

From-SVN: r123322
2007-03-29 02:38:44 +00:00
GCC Administrator
8864394526 Daily bump.
From-SVN: r123316
2007-03-28 23:16:57 +00:00
GCC Administrator
894b87df5a Daily bump.
From-SVN: r123279
2007-03-27 23:16:49 +00:00
Anatoly Sokolov
6fdb8b4643 avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' architecture.
* config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' 
	architecture.

From-SVN: r123274
2007-03-28 02:52:07 +04:00
Ian Lance Taylor
485d8ee616 re PR tree-optimization/31345 (ICE in set_value_range, at tree-vrp.c:269)
./:	PR tree-optimization/31345
	* tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
	[+INF, +INF(OVF)] into VARYING.
testsuite/:
	PR tree-optimization/31345
	* gcc.c-torture/compile/pr31345-1.c: New test.

From-SVN: r123254
2007-03-27 05:46:56 +00:00
GCC Administrator
3966d30d9c Daily bump.
From-SVN: r123246
2007-03-26 23:16:38 +00:00
David Daney
52a55497c8 re PR libgcj/31228 (Race condition between setting close-on-exec and Runtime.exec())
PR libgcj/31228
	* configure.ac: Add checks for getrlimit and sys/resource.h.
	* include/posix.h (_Jv_platform_close_on_exec): Remove.
	* include/config.h.in: Regenerate.
	* configure: Regenerate.
	* gnu/java/nio/channels/natFileChannelPosix.cc (open): Remove call to
	_Jv_platform_close_on_exec;
	* gnu/java/net/natPlainSocketImplPosix.cc (create): Likewise.
	(accept): Likewise.
	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (create):Likewise.
	* java/lang/natPosixProcess.cc: Include sys/resource.h.
	(nativeSpawn): Close all file descriptors.  Don't set FD_CLOEXEC on
	pipes.

From-SVN: r123208
2007-03-26 06:07:13 +00:00
GCC Administrator
5226bd9b69 Daily bump.
From-SVN: r123202
2007-03-25 23:17:07 +00:00
GCC Administrator
2a9d9e4e64 Daily bump.
From-SVN: r123189
2007-03-25 00:17:03 +00:00
Brooks Moses
c40baf71c8 invoke.texi: Misc.
* invoke.texi: Misc. small typo fixes.
(-Wcharacter-truncation): Add.
(-Wnonstd-intrinsics): Correct spelling.
(-std=): Edit.

From-SVN: r123179
2007-03-24 00:13:12 -07:00
GCC Administrator
854fb2ca17 Daily bump.
From-SVN: r123175
2007-03-24 00:16:52 +00:00
Martin Michlmayr
2b89ddf05d Update documentation to reflect that the -fforce-mem option will be
removed in 4.3 rather than 4.2.

From-SVN: r123155
2007-03-23 08:06:40 +00:00
Mark Mitchell
5f3e8b7cb1 re PR c++/30863 (Unsigned templatized struct treated as unsigned int)
PR c++/30863
	* parser.c (cp_parser_parse_and_diagnose_invalid_type_name): Do
	not consume tokens when failing.
	PR c++/30863
	* g++.dg/template/error24.C: New test.
	* g++.dg/parse/tmpl-outside1.C: Tweak error markers.

From-SVN: r123151
2007-03-23 04:36:33 +00:00
Mark Mitchell
cb3c849a4e Mark Mitchell <mark@codesourcery.com> PR c++/31273
Mark Mitchell  <mark@codesourcery.com>
	PR c++/31273
	* call.c (standard_conversion): Use type_decays_to.  Keep FCODE
	consistent with FROM.
	PR c++/31273
	* g++.dg/expr/bitfield7.C: New test.

From-SVN: r123149
2007-03-23 04:26:13 +00:00
GCC Administrator
0da2d3b6d1 Daily bump.
From-SVN: r123141
2007-03-23 00:17:02 +00:00
GCC Administrator
715b4e1142 Daily bump.
From-SVN: r123121
2007-03-22 00:17:31 +00:00
Mike Stump
baeaf1ed47 * c.opt: Fixup for Objective-C/C++.
From-SVN: r123115
2007-03-21 18:46:44 +00:00
Richard Henderson
16bd243943 re PR target/31245 (SSE2 generation bug with 4.1.2 and -O3)
PR target/31245
        * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
        * config/i386/mmintrin.h (__m64): Likewise.
        * config/i386/xmmintrin.h (__m128): Likewise.

From-SVN: r123111
2007-03-21 08:50:01 -07:00
GCC Administrator
e29bf4a9f3 Daily bump.
From-SVN: r123099
2007-03-21 00:17:57 +00:00
Seongbae Park
beda60385d re PR tree-optimization/30590 (tree-nrv optimization clobbers return variable)
2007-03-20  Seongbae Park <seongbae.park@gmail.com>

	PR tree-optimization/30590
	* g++.dg/opt/pr30590.C: New testcase.

From-SVN: r123089
2007-03-20 16:44:00 +00:00
GCC Administrator
fd248f85c4 Daily bump.
From-SVN: r123079
2007-03-20 00:17:18 +00:00
Jakub Jelinek
37b73ee6e1 unix.c (regular_file): For ACTION_UNSPECIFIED retry with O_RDONLY even if errno is EROFS.
* io/unix.c (regular_file): For ACTION_UNSPECIFIED retry with
	O_RDONLY even if errno is EROFS.

From-SVN: r123076
2007-03-20 00:30:22 +01:00
Jakub Jelinek
da1b080247 re PR c/30762 (IMA messes up with inlining)
PR c/30762
	* c-typeck.c (convert_for_assignment): Call comptypes for
	RECORD_TYPE or UNION_TYPE.

	* gcc.dg/pr30762-1.c: New test.
	* gcc.dg/pr30762-2.c: New test.

From-SVN: r123075
2007-03-20 00:28:33 +01:00
Jakub Jelinek
9eed712e59 re PR inline-asm/30505 (asm operand has impossible constraints.)
PR inline-asm/30505
	* reload1.c (reload): Do invalid ASM checking after
	cleanup_subreg_operands.

	* gcc.target/i386/pr30505.c: New test.

From-SVN: r123074
2007-03-20 00:27:34 +01:00
Mark Shinwell
fd415d0050 register-variables.c: New.
gcc/testsuite/
        * gcc.target/arm/register-variables.c: New.

From-SVN: r123070
2007-03-19 20:33:55 +00:00
Jeff Law
e716fa32ea re PR tree-optimization/30984 (ICE with computed goto and constants)
2007-03-19  Jeff Law  <law@redhat.com>

        * tree-cfg.c (find_taken_edge): Tighten conditions for
        optimizing computed gotos.

2007-03-19  Jeff Law  <law@redhat.com>

        * PR tree-optimization/30984
        * gcc.c-torture/pr30984.c: New test.

From-SVN: r123069
2007-03-19 14:04:04 -06:00
GCC Administrator
ab69d2510f Daily bump.
From-SVN: r123045
2007-03-19 00:17:00 +00:00
Andreas Schwab
8cacdd99e3 acinclude.m4: Adjust regular expression for ld version extraction.
* acinclude.m4: Adjust regular expression for ld version
	extraction.
	* configure: Regenerate.

From-SVN: r123036
2007-03-18 13:45:56 +00:00
GCC Administrator
d635e3d41a Daily bump.
From-SVN: r123031
2007-03-18 00:17:00 +00:00
Francois-Xavier Coudert
14ea2a66ea re PR fortran/31184 (gfortran option description wrong)
PR fortran/31184
	* invoke.texi: Fix typo.

From-SVN: r123019
2007-03-17 11:31:52 +00:00
Mark Mitchell
39e691717c Make-lang.in (java.srcextra): Remove dependency.
* Make-lang.in (java.srcextra): Remove dependency.
	(java_parse_c): New variable.
	(java/parse.c): Replace with ...
	($(java_parse_c)): ... this.
	(java/parse.o): Depend on $(java_parse_c).

From-SVN: r123014
2007-03-17 05:04:01 +00:00
GCC Administrator
0c743fb689 Daily bump.
From-SVN: r123008
2007-03-17 00:17:19 +00:00
John David Anglin
7c7870f68f pa.c (attr_length_call): Partially revert change of 2007-03-09.
* pa.c (attr_length_call): Partially revert change of 2007-03-09.
	(output_call): Likewise.

From-SVN: r123003
2007-03-16 23:14:29 +00:00
Alexandre Oliva
81648ad0e2 re PR debug/29906 (-g option creates internal compiler error)
gcc/ChangeLog:
PR debug/29906
* dwarf2out.c (force_type_die): Adjust comment.
(dwarf2out_imported_module_or_decl): Handle base AT_import types.
gcc/testsuite/ChangeLog:
PR debug/29906
* g++.dg/debug/pr29906.C: New

From-SVN: r122977
2007-03-16 05:08:47 +00:00
Jerry DeLisle
649827fb4d re PR libfortran/31099 (Runtime error on legal code using RECL)
2007-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31099
	* gfortran.dg/unformatted_recl.f90: Update test.

From-SVN: r122974
2007-03-16 01:54:25 +00:00
Jerry DeLisle
09473453ce re PR libfortran/31099 (Runtime error on legal code using RECL)
2007-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31099
	* io/file_pos.c (st_rewind): Don't set bytes_left to zero.

From-SVN: r122973
2007-03-16 01:11:01 +00:00
GCC Administrator
cffed9923c Daily bump.
From-SVN: r122966
2007-03-16 00:17:19 +00:00
Seongbae Park
385b2d3170 re PR tree-optimization/30590 (tree-nrv optimization clobbers return variable)
2007-03-15  Seongbae Park <seongbae.park@gmail.com>

	PR tree-optimization/30590
	* tree-nrv.c (tree_nrv): Check for the partial update
	of the return value.

From-SVN: r122964
2007-03-15 23:48:13 +00:00
Andrew Pinski
842b7c4fa3 re PR c++/31165 (Error: symbol `an_empty_string' is already defined)
2007-03-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR c++/31165
        * call.c  (convert_default_arg): Instead of copying the node,
        unshare it.
2007-03-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C++/31165
        * g++.dg/other/default7.C: New test.

From-SVN: r122943
2007-03-14 18:31:40 -07:00
GCC Administrator
fcc6952f5e Daily bump.
From-SVN: r122937
2007-03-15 00:16:56 +00:00
Jakub Jelinek
0f11bcdd6c module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
* module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.

	* gfortran.dg/module_implicit_conversion.f90: New test.

From-SVN: r122916
2007-03-14 13:18:02 +01:00
Ian Lance Taylor
c42f6eef74 * tree-vrp.c (value_inside_range): Ignore fold warnings.
From-SVN: r122912
2007-03-14 08:46:56 +00:00
Brooks Moses
5e0aafb86f Fixed PR number in last ChangeLog entry.
From-SVN: r122907
2007-03-13 21:48:32 -07:00
Brooks Moses
b226a1901e Correcting my email address in the previous ChangeLog entry.
From-SVN: r122906
2007-03-13 21:39:31 -07:00
Brooks Moses
e5fdf5d4e4 re PR fortran/30922 (IMPORT fails for same symbol in multiple interface bodies of same interface block)
PR fortran/30922
PR fortran/30948
PR fortran/30953
* intrinsics.texi (CHDIR): Fix argument names, note
that STATUS must be a default integer.
(CTIME): Fix argument names, note that RESULT must
be a default integer.
(EXIT): Note that STATUS must be a default integer.

From-SVN: r122904
2007-03-13 21:37:15 -07:00
Brooks Moses
5b6ba6080f re PR fortran/28068 (Non-standard intrinsics should be documented)
PR fortran/28068
* intrinsic.texi: General whitespace cleanup, remove
comment about missing intrinsics.
(menu): Add lines for new entries listed below.
(ACOSH): Mention specific function DACOSH, correct
description phrasing.
(ASINH): Mention specific function DASINH, correct
description phrasing.
(ATANH): Mention specific function DATANH, correct
description phrasing.
(COS): Add index entry for CCOS.
(CPU_TIME): Correct "REAL" to "REAL(*)".
(EXP): Add index entry for CEXP.
(INT): Correct argument name to "A".
(INT2): New entry.
(INT8): New entry.
(LONG): New entry.
(MAX): Add index entries for specific variants.
(MCLOCK): New entry.
(MCLOCK8): New entry.
(SECNDS): Adjust to a more standard form.
(SECOND): New entry.
(TIME): Add cross-reference to MCLOCK.
(TIME8): Add cross-reference to MCLOCK8.

From-SVN: r122903
2007-03-13 19:45:14 -07:00
Ian Lance Taylor
15004f9703 * gcc.dg/vmx/vmx.exp: Add -fgnu89-inline to DEFAULT_VMXCFLAGS.
From-SVN: r122899
2007-03-14 01:30:55 +00:00
GCC Administrator
2358d1c33e Daily bump.
From-SVN: r122893
2007-03-14 00:16:51 +00:00
John David Anglin
27fa2f397e re PR target/31123 (FAIL: gcc.c-torture/execute/builtin-bitops-1.c compilation, -O3 ...)
PR target/31123
	* pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
	two unamed patterns.

From-SVN: r122891
2007-03-14 00:06:26 +00:00
Mark Mitchell
70f7483476 re PR bootstrap/30899 (build failure with --enable-generated-files-in-srcdir)
PR bootstrap/30899
	* Make-lang.in (doc/g++.1): Use $< to specify the location from
	which to copy.

From-SVN: r122888
2007-03-13 23:48:49 +00:00
Mark Mitchell
682455bd9c Make-lang.in (doc/g++.1): Use $< to specify the location from which to copy.
* Make-lang.in (doc/g++.1): Use $< to specify the location from
	which to copy.

From-SVN: r122881
2007-03-13 18:41:53 +00:00
GCC Administrator
99fc4f1078 Daily bump.
From-SVN: r122873
2007-03-13 00:17:09 +00:00
Brooks Moses
b5fe77667b extend.texi: Edit "gnu_inline" documentation.
* doc/extend.texi: Edit "gnu_inline" documentation.
* doc/invoke.texi: Edit "-fgnu89-inline" documentation.

From-SVN: r122870
2007-03-12 15:10:12 -07:00
Brooks Moses
1fe378ede9 extend.texi: Fix cpp.info cross-reference.
* doc/extend.texi: Fix cpp.info cross-reference.
* doc/invoke.texi: Fix cpp.info cross-reference.
* doc/passes.texi: Fix gcc.info cross-reference.

From-SVN: r122868
2007-03-12 15:02:00 -07:00
Daniel Berlin
774f97d260 re PR tree-optimization/28544 (ICE in add_virtual_operand, at tree-ssa-operands.c:1309)
2007-03-12  Daniel Berlin  <dberlin@dberlin.org>
	
	Fix PR tree-optimization/28544
	* tree-ssa-operands.c (add_virtual_operand):
	Move assert triggering on aliasing violations into
	debugging define

From-SVN: r122857
2007-03-12 19:09:05 +00:00
Ian Lance Taylor
0a2094e815 c.opt (fgnu89-inline): New option.
./:	* c.opt (fgnu89-inline): New option.
	* c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline.
	* c-common.c (c_common_attributes): Add gnu_inline attribyte.
	(handle_gnu_inline_attribute): New static function.
	* c-decl.c (start_function): Warn if we see a non-static inline
	function in C99 mode.
	* c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__.
	* doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
	(C Dialect Options): Document -fgnu89-inline.
	* doc/extend.texi (Function Attributes): Document gnu_inline.
	(Inline): Mention that C99 inline will be implemented in 4.3.
	Refer to ways to get the old handling.
	* doc/cpp.texi (Common Predefined Macros): Document
	__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
testsuite/:
	* gcc.dg/inline-7.c: Add -fgnu89-inline.
	* gcc.dg/inline-13.c: New test.
	* gcc.dg/inline-17.c: New test.
	* gcc.dg/inline-18.c: New test.
	* gcc.dg/inline-19.c: New test.
	* gcc.dg/inline-21.c: New test.

From-SVN: r122853
2007-03-12 18:50:38 +00:00
Richard Henderson
ac65faf88e alpha.c (alpha_elf_section_type_flags): New.
* config/alpha/alpha.c (alpha_elf_section_type_flags): New.
	(TARGET_SECTION_TYPE_FLAGS): New.

From-SVN: r122849
2007-03-12 11:14:16 -07:00
Mark Mitchell
75242a439e re PR c++/30108 (internal compiler error: in make_decl_rtl, at varasm.c:890)
PR c++/30108
	* call.c (convert_default_arg): Copy non-constant arguments.
	PR c++/30108
	* g++.dg/other/default6.C: New test.

From-SVN: r122848
2007-03-12 18:07:33 +00:00
Richard Henderson
69c45b177e darwin.c (machopic_reloc_rw_mask): New.
* config/darwin.c (machopic_reloc_rw_mask): New.
        (machopic_select_section): Use decl_readonly_section.
        * config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
        * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.

From-SVN: r122845
2007-03-12 09:43:01 -07:00
Richard Guenther
37b275d31c backport: flags.h (issue_strict_overflow_warning): Convert to a macro.
2007-02-14  Richard Guenther  <rguenther@suse.de>
 
        Backport from mainline:
        * flags.h (issue_strict_overflow_warning): Convert to a macro.

From-SVN: r122841
2007-03-12 15:14:43 +00:00
Ian Lance Taylor
e56fb4bbf0 backport: tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and the *_DIV_EXPR codes correctly with overflow infinities.
gcc/ChangeLog:
2007-03-11  Ian Lance Taylor  <iant@google.com>

	Backport -fstrict-overflow/-Wstrict-overflow from mainline:
	2007-03-11  Ian Lance Taylor  <iant@google.com>

	* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
	the *_DIV_EXPR codes correctly with overflow infinities.

	2007-03-09  Ian Lance Taylor  <iant@google.com>

	* opts.c (common_handle_option): Treat -Wstrict-overflow (with no
	argument) like -Wstrict-overflow=2.
	* doc/invoke.texi (Warning Options): Update documentation.

	2007-03-08  Ian Lance Taylor  <iant@google.com>

	* tree-vrp.c: Include "toplev.h" and "intl.h".
	(usable_range_p): New static function.
	(compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
	overflowed values, juts set *strict_overflow_p.
	(compare_values): Only return -2 if one of the operands is not a
	constant.
	(compare_ranges): Call usable_range_p.
	(compare_range_with_value): Likewise.
	(vrp_evaluate_conditional_warnv): Rename from
	vrp_evaluate_conditional.  Make static.  Change all callers.
	(vrp_evaluate_conditional): New function.
	(simplify_div_or_mod_using_ranges): Issue warning about reliance
	on signed overflow.
	(simplify_abs_using_ranges): Likewise.
	(simplify_stmt_for_jump_threading): Add within_stmt parameter.
	* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
	within_stmt parameter.
	* tree-ssa-propagate.c (fold_predicate_in): Update call to
	vrp_evaluate_conditional.
	* tree-ssa-threadedge.c
	(record_temporary_equivalences_from_stmts_at_dest): Change
	simplify parameter to take a second tree parameter.
	(simplify_control_stmt_condition): Likewise.
	(thread_across_edge): Likewise.
	* tree-flow.h (vrp_evaluate_conditional): Update declaration.
	(thread_across_edge): Likewise.
	* gcc/Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h.

	2007-03-05  Ian Lance Taylor  <iant@google.com>

	* tree-vrp.c (extract_range_from_assert): Don't try to handle a
	half-range if the other side is an overflow infinity.

	2007-03-02  Ian Lance Taylor  <iant@google.com>

	Used signed infinities in VRP.
	* tree-vrp.c (uses_overflow_infinity): New static function.
	(supports_overflow_infinity): New static function.
	(make_overflow_infinity): New static function.
	(negative_overflow_infinity): New static function.
	(positive_overflow_infinity): New static function.
	(is_negative_overflow_infinity): New static function.
	(is_positive_overflow_infinity): New static function.
	(is_overflow_infinity): New static function.
	(overflow_infinity_range_p): New static function.
	(compare_values_warnv): New function split out of compare_values.
	(compare_value): Call it.
	(set_value_range_to_nonnegative): Add overflow_infinity
	parameter.  Change caller.
	(vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
	Change callers.
	(vrp_expr_computes_nonzero): Likewise.
	(compare_ranges, compare_range_with_value): Likewise.
	(compare_name_with_value, compare_names): Likewise.
	(vrp_evaluate_conditional): Likewise.
	(set_value_range): Handle infinity
	(vrp_operand_equal_p, operand_less_p): Likewise.
	(extract_range_from_assert): Likewise.
	(vrp_int_const_binop): Likewise.
	(extract_range_from_binary_expr): Likewise.
	(extract_range_from_unary_expr): Likewise.
	(extract_range_from_comparison): Likewise.
	(extract_range_from_expr): Likewise.
	(dump_value_range): Likewise.
	(vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
	(test_for_singularity): Likewise.
	(vrp_int_const_binop): Remove inline qualifier.
	(adjust_range_with_scev): Add comment.
	* tree-flow.h (vrp_evaluate_conditional): Update declaration.

	2007-02-13  Ian Lance Taylor  <iant@google.com>

	* common.opt: Add Wstrict-overflow and Wstrict-overflow=.
	* flags.h (warn_strict_overflow): Declare.
	(enum warn_strict_overflow_code): Define.
	(issue_strict_overflow_warning): New static inline function.
	* opts.c (warn_strict_overflow): New variable.
	(common_handle_option): Handle OPT_Wstrict_overflow and
	OPT_Wstrict_overflow_.
	* c-opts.c (c_common_handle_option): Set warn_strict_overflow for
	OPT_Wall.
	* fold-const.c: Include intl.h.
	(fold_deferring_overflow_warnings): New static variable.
	(fold_deferred_overflow_warning): New static variable.
	(fold_deferred_overflow_code): New static variable.
	(fold_defer_overflow_warnings): New function.
	(fold_undefer_overflow_warnings): New function.
	(fold_undefer_and_ignore_overflow_warnings): New function.
	(fold_deferring_overflow_warnings_p): New function.
	(fold_overflow_warning): New static function.
	(make_range): Add strict_overflow_p parameter.  Change all
	callers.
	(extract_muldiv, extract_muldiv_1): Likewise.
	(fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
	tree_expr_nonnegative_p.
	(fold_negate_expr): Call fold_overflow_warning.
	(fold_range_test): Likewise.
	(fold_comparison): Likewise.
	(fold_binary): Likewise.  Call tree_expr_nonnegative_warnv_p
	instead of tree_expr_nonnegative_p.
	(tree_expr_nonnegative_warnv_p): Rename from
	tree_expr_nonnegative_p, add strict_overflow_p parameter.
	(tree_expr_nonnegative_p): New function.
	(tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
	strict_overflow_p parameter.
	(tree_expr_nonzero_p): New function.
	* passes.c (verify_interpass_invariants): New static function.
	(execute_one_pass): Call it.
	* tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
	warnings.
	(number_of_iterations_exit, loop_niter_by_eval): Likewise.
	(estimate_numbers_of_iterations): Likewise.
	(scev_probably_wraps_p): Likewise.
	* tree-ssa-ccp.c: Include "toplev.h".
	(evaluate_stmt): Defer fold overflow warnings until we know we are
	going to optimize.
	(struct fold_stmt_r_data): Add stmt field.
	(fold_stmt_r): Defer fold overflow warnings until we know we
	optimized.
	(fold_stmt): Initialize stmt field of fold_stmt_r_data.
	(fold_stmt_inplace): Likewise.
	* tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
	(cleanup_control_expr_graph): Defer fold overflow warnings until
	we know we are going to optimize.
	* tree-cfg.c (fold_cond_expr_cond): Likewise.
	* tree-ssa-threadedge.c (simplify_control_stmt_condition):
	Likewise.
	* tree-vrp.c (vrp_expr_computes_nonnegative): Call
	tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
	* tree-ssa-loop-manip.c (create_iv): Likewise.
	* c-typeck.c (build_conditional_expr): Likewise.
	(build_binary_op): Likewise.
	* tree-vrp.c (vrp_expr_computes_nonzero): Call
	tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
	(extract_range_from_unary_expr): Likewise.
	* simplify-rtx.c (simplify_const_relational_operation): Warn when
	assuming that signed overflow does not occur.
	* c-common.c (pointer_int_sum): Ignore fold overflow warnings.
	* tree.h (tree_expr_nonnegative_warnv_p): Declare.
	(fold_defer_overflow_warnings): Declare.
	(fold_undefer_overflow_warnings): Declare.
	(fold_undefer_and_ignore_overflow_warnings): Declare.
	(fold_deferring_overflow_warnings_p): Declare.
	(tree_expr_nonzero_warnv_p): Declare.
	* doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
	of warning options.
	(Warning Options): Document -Wstrict-overflow.
	* Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
	(tree-ssa-ccp.o): Likewise.
	(tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
	(fold-const.o): Depend on intl.h.

	2007-01-27  Ian Lance Taylor  <iant@google.com>

	* common.opt: Add fstrict-overflow.
	* opts.c (decode_options): Set flag_strict_overflow if -O2.
	* flags.h (TYPE_OVERFLOW_WRAPS): Define.
	(TYPE_OVERFLOW_UNDEFINED): Define.
	(TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
	Replace all uses.
	* tree.h (TYPE_TRAP_SIGNED): Don't define.
	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
	(fold_negate_expr): Likewise.
	(make_range): Likewise.
	(extract_muldiv_1): Likewise.
	(fold_comparison): Likewise.
	(fold_binary): Likewise.
	(tree_expr_nonnegative_p): Likewise.
	(tree_expr_nonzero_p): Likewise.
	* tree-vrp.c (compare_values): Likewise.
	(extract_range_from_binary_expr): Likewise.
	(extract_range_from_unary_expr): Likewise.
	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
	Likewise.
	(nowrap_type_p): Likewise.
	* tree-scalar-evolution.c (simple_iv): Likewise.
	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
	(build_range_check): Likewise.
	(extract_muldiv_1): Likewise.
	(fold_comparison): Likewise.
	* tree-vrp.c (vrp_int_const_binop): Likewise.
	(extract_range_from_unary_expr): Likewise.
	* convert.c (convert_to_integer): Likewise.
	* fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
	(fold_comparison): Likewise.
	(fold_binary): Likewise.
	* optabs.c (optab_for_tree_code): Likewise.
	* tree-vectorizer.c (vect_is_simple_reduction): Likewise.
	* simplify-rtx.c (simplify_const_relational_operation): Check
	flag_strict_overflow and flag_trapv.
	(simplify_const_relational_operation): Likewise.
	* doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
	(Optimize Options): Add -fstrict-overflow to -O2 list.  Document
	-fstrict-overflow.

	2007-01-17  Ian Lance Taylor  <iant@google.com>

	* vec.h (VEC_reserve_exact): Define.
	(vec_gc_p_reserve_exact): Declare.
	(vec_gc_o_reserve_exact): Declare.
	(vec_heap_p_reserve_exact): Declare.
	(vec_heap_o_reserve_exact): Declare.
	(VEC_OP (T,A,reserve_exact)): New static inline function, three
	versions.
	(VEC_OP (T,A,reserve)) [all versions]: Remove handling of
	negative parameter.
	(VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact.
	(VEC_OP (T,A,copy)) [all versions]: Likewise.
	(VEC_OP (T,a,safe_grow)) [all versions]: Likewise.
	* vec.c (calculate_allocation): Add exact parameter.  Change all
	callers.
	(vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve.
	(vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1.
	(vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions.
	(vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve.
	(vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1.
	(vec_heap_p_reserve_exact): New function.
	(vec_heap_o_reserve_exact): New function.

gcc/cp/ChangeLog:
2007-03-11  Ian Lance Taylor  <iant@google.com>

	Backported -fstrict-overflow/-Wstrict-overflow from mainline:
	2007-01-17  Ian Lance Taylor  <iant@google.com>

	* class.c (add_method): Call VEC_reserve_exact rather than passing
	a negative size to VEC_reserve.

gcc/testsuite/ChangeLog:
2007-03-11  Ian Lance Taylor  <iant@google.com>

	Backported -fstrict-overflow/-Wstrict-overflow from mainline:
	2007-03-08  Ian Lance Taylor  <iant@google.com>

	* gcc.dg/no-strict-overflow-5.c: New test.
	* gcc.dg/no-strict-overflow-6.c: New test.

	2007-02-13  Ian Lance Taylor  <iant@google.com>

	* gcc.dg/Wstrict-overflow-1.c: New test.
	* gcc.dg/Wstrict-overflow-2.c: New test.
	* gcc.dg/Wstrict-overflow-3.c: New test.
	* gcc.dg/Wstrict-overflow-4.c: New test.
	* gcc.dg/Wstrict-overflow-6.c: New test.
	* gcc.dg/Wstrict-overflow-7.c: New test.
	* gcc.dg/Wstrict-overflow-8.c: New test.
	* gcc.dg/Wstrict-overflow-9.c: New test.
	* gcc.dg/Wstrict-overflow-10.c: New test.

	2007-01-27  Ian Lance Taylor  <iant@google.com>

	* gcc.dg/strict-overflow-1.c: New test.
	* gcc.dg/no-strict-overflow-1.c: New test.
	* gcc.dg/strict-overflow-2.c: New test.
	* gcc.dg/no-strict-overflow-2.c: New test.
	* gcc.dg/no-strict-overflow-3.c: New test.
	* gcc.dg/strict-overflow-4.c: New test.
	* gcc.dg/no-strict-overflow-4.c: New test.
	* gcc.dg/fold-mod-1.c: Add -fstrict-overflow option.
	* gcc.dg/pr15784-1.c: Likewise.
	* gcc.dg/pr20922-1.c: Likewise.
	* gcc.dg/pr20922-3.c: Likewise.
	* gcc.dg/pr20922-4.c: Likewise.
	* gcc.dg/pr20922-6.c: Likewise.
	* gcc.dg/compare-4.c: Likewise.
	* gcc.dg/torture/pr26898-1.c: Likewise.
	* gcc.dg/tree-ssa/divide-1.c: Likewise.
	* gcc.dg/tree-ssa/divide-2.c: Likewise.
	* gcc.dg/tree-ssa/divide-3.c: Likewise.
	* gcc.dg/tree-ssa/divide-4.c: Likewise.
	* gcc.dg/tree-ssa/pr14490-1.c: Likewise.
	* gcc.dg/tree-ssa/pr14490-3.c: Likewise.
	* gcc.dg/tree-ssa/pr21082.c: Likewise.
	* gcc.dg/tree-ssa/pr26899.c: Likewise.
	* g++.dg/tree-ssa/pr21082.C: Likewise.

From-SVN: r122831
2007-03-12 04:40:09 +00:00
Mark Mitchell
a1ffdf28d0 re PR c++/31038 (ICE with C99 style compound literal vs templates vs instantiation)
PR c++/31038
	* parser.c (cp_parser_postfix_expression): Disallow compound
	literals in constant expressions.

	PR c++/30328
	* semantics.c (finish_typeof): Use unlowered_expr_type.

	PR c++/31038
	* g++.dg/template/complit2.C: New test.

	PR c++/30328
	* g++.dg/ext/bitfield1.C: New test.

From-SVN: r122830
2007-03-12 01:52:45 +00:00
GCC Administrator
238e5730f3 Daily bump.
From-SVN: r122826
2007-03-12 00:16:56 +00:00
Roger Sayle
7cb391756b re PR middle-end/30433 (no longer folding __complex__(0.0, 1.0) == __complex__(1.0, 0.0))
2007-03-11  Roger Sayle  <roger@eyesopen.com>
	    Andrew Pinski  <andrew_pinski@playstation.sony.com>

	PR middle-end/30433
	* fold-const.c (fold_relational_const): Add back compile-time
	evaluation of complex constant equality/inequality comparisons.

	* gcc.c-torture/compile/pr30433.c: New testcase to check
	that complex constant comparisions are folded.

From-SVN: r122823
2007-03-11 20:37:40 +00:00
Ira Rosen
e84fbacdf4 re PR tree-optimization/29925 (Wrong code with -ftree-vectorize)
PR tree-optimization/29925
	* tree-data-ref.c (analyze_offset): Add a return value (bool) to
	indicate success/failure of the analysis. Add negation to subtrahend
	in case of subtraction. Fail if both operands contain constants.
	(create_data_ref): Fail if analyze_offset fails.

From-SVN: r122819
2007-03-11 13:47:40 +00:00
Mark Mitchell
b9e8e53824 re PR c++/30274 (bool bit-field: wrong increment and decremenet)
PR c++/30274
	* cp-tree.h (unlowered_expr_type): New function.
	* typeck.c (is_bitfield_expr_with_lowered_type): Handle
	COMPOUND_EXPR, MODIFY_EXPR, and SAVE_EXPR.
	(unlowered_expr_type): New function.
	(build_unary_op): Disallow predecrements of bool bitfields.
	* call.c (build_conditional_expr): Use unlowered_expr_type.
	* pt.c (type_unification_real): Likewise.
	PR c++/30274
	* g++.dg/expr/bitfield3.C: New test.
	* g++.dg/expr/bitfield4.C: Likewise.
	* g++.dg/expr/bitfield5.C: Likewise.
	* g++.dg/expr/bitfield6.C: Likewise.

From-SVN: r122814
2007-03-11 03:09:32 +00:00
GCC Administrator
c5bfdfc482 Daily bump.
From-SVN: r122809
2007-03-11 00:16:42 +00:00
Mark Mitchell
96aba1485c Fix PR number.
From-SVN: r122803
2007-03-10 19:47:33 +00:00
Mark Mitchell
f8b9dfa321 re PR target/20924 (inline float divide does not set correct fpu status flags)
PR c++/20924
	* tree.c (walk_type_fields): Recurse into the element type of
	ARRAY_TYPEs if there is a pointer set.

	PR c++/20924
	* g++.dg/template/array18.C: New test.

From-SVN: r122802
2007-03-10 19:44:11 +00:00
John David Anglin
a6edb525b7 pa.c (attr_length_call): Revise condition for long pc-relative branch.
* pa.c (attr_length_call): Revise condition for long pc-relative branch.
	(output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
	calls on the SOM target.  Don't use "LONG_PIC_PCREL" call sequence on
	SOM target.

From-SVN: r122785
2007-03-10 01:37:22 +00:00
Richard Henderson
535b44964b re PR target/26090 (IA-64 creates DT_TEXTREL binaries)
PR target/26090
	* target.h (targetm.asm.out.reloc_rw_mask): New.
	* target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
	(TARGET_ASM_OUT): Use it.
	* targhooks.c, targhooks.h (default_reloc_rw_mask): New.
	* varasm.c (categorize_decl_for_section): Remove shlib argument;
	use the new reloc_rw_mask target hook instead.
	(default_section_type_flags_1): Merge into...
	(default_section_type_flags): ... here.
	(decl_readonly_section_1): Merge into...
	(decl_readonly_section): ... here.
	(default_elf_select_section_1): Merge into...
	(default_elf_select_section): ... here.
	(default_unique_section_1): Merge into...
	(default_unique_section): ... here.
	(compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
	(default_select_rtx_section): Use it.
	(default_elf_select_rtx_section): Likewise.
	* output.h: Update to match.
	* doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
	* config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
	(TARGET_ASM_RELOC_RW_MASK): New.
	* config/i386/i386.c (x86_64_elf_select_section): Adjust call
	to categorize_decl_for_section.
	(x86_64_elf_unique_section): Likewise.
	* config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
	TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
	(TARGET_ASM_RELOC_RW_MASK): New.
	* config/ia64/ia64.c (ia64_rwreloc_select_section,
	ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
	(ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
	(TARGET_RWRELOC): Remove.
	(ia64_section_type_flags): Adjust call to default_section_type_flags.
	* config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
	(rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
	(rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
	(rs6000_xcoff_select_section): Use decl_readonly_section.
	(rs6000_xcoff_section_type_flags): Use default_section_type_flags.
	* config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
	(TARGET_SECTION_TYPE_FLAGS): Remove.
	* config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.

From-SVN: r122782
2007-03-09 16:59:15 -08:00
GCC Administrator
df6f992c85 Daily bump.
From-SVN: r122778
2007-03-10 00:17:26 +00:00
Jerry DeLisle
96a6dce1aa re PR libfortran/31099 (Runtime error on legal code using RECL)
2007-03-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31099
	* gfortran.dg/unformatted_recl.f90: New test.

From-SVN: r122775
2007-03-10 00:00:21 +00:00
Geoffrey Keating
bfe62cd358 re PR objc/31013 (objc PCH is broken on powerpc-darwin again)
PR 31013
	* gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
	is declared.
	* config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
	passed, use shared libgcc.

From-SVN: r122774
2007-03-10 00:00:09 +00:00
Jerry DeLisle
10d156a034 re PR libfortran/31099 (Runtime error on legal code using RECL)
2007-03-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31099
	* io/open.c (new_unit): Initialize bytes_left and recl_subrecord.
	* io/transfer.c (next_record_w): Set bytes left to record length for
	sequential unformatted I/O.
	(next_record_r): Ditto.
	(read_block_direct): Fix test for exceeding bytes_left.

From-SVN: r122773
2007-03-09 23:55:17 +00:00
Alexandre Oliva
59a3baf2be re PR rtl-optimization/30643 (CSE pessimization)
gcc/ChangeLog:
PR rtl-optimization/30643
* cse.c (cse_insn): Recompute dest_hash after insert_regs for
dest_addr_elt.
gcc/testsuite/ChangeLog:
PR rtl-optimization/30643
* gcc.dg/pr30643.c: New.

From-SVN: r122771
2007-03-09 23:29:51 +00:00
Andrew Pinski
bcb52f6a36 re PR tree-optimization/30045 (ICE in nonnull_arg_p with the CHAIN decl)
2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/30045
        * tree-vrp.c (nonnull_arg_p): Treat the static decl as always
        non null.

2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/30045
        * gcc.dg/pr30045.c: New test.

From-SVN: r122770
2007-03-09 15:24:53 -08:00
Andrew Pinski
2175b089ce re PR middle-end/30729 (value computed is not used warning with unused result of va_arg)
2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/30729
        * stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
        effects unknown to this function, return early.

2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/30729
        * gcc.dg/Wunused-value-2.c: New testcase.

From-SVN: r122769
2007-03-09 15:20:28 -08:00
Andrew Pinski
ad0dc99a72 re PR tree-optimization/28624 (latent segfault in remove_phi_node)
2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/28624
        * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
        bitmap for EXECUTE_IF_SET_IN_BITMAP.

From-SVN: r122768
2007-03-09 15:09:13 -08:00
Andrew Pinski
b678910cd0 [multiple changes]
2007-03-08  Andrew Pinski  <pinskia@gmail.com>

        PR C++/30168
        * optimize.c (update_cloned_parm): Copy DECL_COMPLEX_GIMPLE_REG_P also.

2007-03-09  Andrew Pinski  <pinskia@gmail.com>

        PR C++/30168
        * g++.dg/opt/complex6.C: New test.

From-SVN: r122766
2007-03-09 15:02:28 -08:00
Mark Shinwell
ae0b7c23f0 re PR tree-optimization/29877 (out of SSA (TER) extends variable life of variable beyond original declared)
2006-03-09  Mark Shinwell  <shinwell@codesourcery.com>
	    Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/29877
	* tree-outof-ssa.c (check_replaceable): Don't allow TER to replace
	an expression if the RHS is a register variable.

	testsuite
	* gcc.dg/pr16194.c: Skip test entirely if we don't know the name of
	a hard register for the target concerned.


Co-Authored-By: Andrew MacLeod <amacleod@redhat.com>

From-SVN: r122754
2007-03-09 18:11:40 +00:00
Andrew Pinski
870a589a97 re PR c/31072 ([4.2 Rgression] Wrong code for volatile var with initalization and optimization)
2007-03-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C/31072
        * c-decl.c (merge_decls): Don't call make_var_volatile.
        * varasm.c (make_var_volatile): Remove.
        * output.h (make_var_volatile): Remove.
2007-03-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C/31072
        * gcc.c-torture/execute/pr31072.c: New test.

From-SVN: r122739
2007-03-08 18:50:22 -08:00
GCC Administrator
f30359ecf2 Daily bump.
From-SVN: r122733
2007-03-09 00:17:02 +00:00
Brooks Moses
35dbc8ab02 backport: intrinsic.texi: minor typo fixes, removed prologue.
Backport from trunk:
* intrinsic.texi: minor typo fixes, removed prologue.
(FSEEK): moved to correct place in alphabetical order.
(LINK) Document function form.
(RENAME): Likewise.
(SYMLNK): Likewise.
(SYSTEM): Likewise.
(UNLINK): Likewise.
(ICHAR) Improve internal I/O note.
(ACHAR): Reference it.
(CHAR): Reference it.
(IACHAR): Reference it.

From-SVN: r122730
2007-03-08 15:19:00 -08:00
Kaveh R. Ghazi
9c1b826da7 builtins.def (lceil, [...]): Mark with ATTR_CONST_NOTHROW_LIST.
* builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
	llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
	ATTR_CONST_NOTHROW_LIST.
	
	* fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR.
	
testsuite:
	* gcc.dg/builtins-55.c: Test *lceil* and *lfloor*.
	* gcc.dg/torture/builtin-attr-1.c: Likewise.
	* gcc.dg/torture/builtin-convert-1.c: Likewise.  Also test *lrint* and *lround*.
	* gcc.dg/torture/builtin-convert-2.c: Test ceil->lceil and floor->lfloor.
	* gcc.dg/torture/builtin-convert-3.c: Test *lceil* and *lfloor*.
	* gcc.dg/torture/builtin-integral-1.c: Likewise.
	* gcc.dg/torture/builtin-nonneg-1.c: Likewise.
	* gcc.dg/torture/builtin-rounding-1.c: Likewise.

From-SVN: r122727
2007-03-08 22:55:25 +00:00
Ben Elliston
f002566861 decContext.c, [...]: Add libgcc-style license exception clause.
* decContext.c, decContext.h, decDPD.h, decimal128.c,
	decimal128.h, decimal32.c, decimal32.h, decimal64.c, decimal64.h,
	decLibrary.c, decNumber.c, decNumber.h, decNumberLocal.h,
	decRound.c, decRound.h, decUtility.c, decUtility.h: Add
	libgcc-style license exception clause.

From-SVN: r122721
2007-03-09 09:22:12 +11:00
Brooks Moses
c48ea1b482 backport: reduction1.f90: Add -fmax-errors=100 to dg-options.
Backport from trunk.
* gfortran.dg/gomp/reduction1.f90: Add -fmax-errors=100 to
dg-options.

From-SVN: r122720
2007-03-08 14:11:57 -08:00
Daniel Franke
1dbc22030f backport: re PR fortran/30947 (intrinsic: ALARM)
2007-03-08  Daniel Franke  <franke.daniel@gmail.com>

        Backport from trunk:
        PR fortran/30947
        * intrinsics/signal.c (alarm_sub_int): Avoid SEGFAULT with
        integer arguments.

From-SVN: r122719
2007-03-08 16:53:02 -05:00
Daniel Franke
db54cc2ced backport: re PR fortran/30947 (intrinsic: ALARM)
2007-03-08  Daniel Franke  <franke.daniel@gmail.com>

        Backport from trunk:
        PR fortran/30947
        * check.c (gfc_check_alarm_sub): Added check for default integer
        kind of status argument.
        * iresolve.c (gfc_resolve_alarm_sub): Removed conversion of
        status argument.
        * intrinsic.texi (ALARM): Extended documentation.

From-SVN: r122717
2007-03-08 16:49:59 -05:00
Daniel Franke
9f8b8ba798 backport: intrinsic.texi (GERROR, [...]): New.
2007-03-08  Daniel Franke  <franke.daniel@gmail.com>

        Backport from trunk:
        * intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
        (ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
        * intrinsic.c (add_subroutines): Adjusted dummy argument names
        of GERROR and TTYNAM.

From-SVN: r122714
2007-03-08 16:43:28 -05:00
Paul Thomas
e0857aa75d re PR fortran/30873 ([4.1 only] ENTRY without explict RESULT does not work for recursive functions)
2007-03-08  Paul Thomas  <pault@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/30873
        * decl.c (gfc_match_entry): Remove erroneous entry result check.

2007-03-08  Paul Thomas  <pault@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/30873
        * gfortran.dg/entry_9.f90: New test.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r122711
2007-03-08 22:06:37 +01:00
Thomas Koenig
de73fd96d0 re PR fortran/30981 ([4.1 only] a ** exp fails for integer exponents if exp is "-huge()-1" (endless loop))
2007-03-08  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30981
	Backport from trunk.
	* m4/pow_m4: Use appropriate unsigned int type for u.
	* generated/pow_c10_i16.c: Regenerated.
	* generated/pow_c10_i4.c: Regenerated.
	* generated/pow_c10_i8.c: Regenerated.
	* generated/pow_c16_i16.c: Regenerated.
	* generated/pow_c16_i4.c: Regenerated.
	* generated/pow_c16_i8.c: Regenerated.
	* generated/pow_c4_i16.c: Regenerated.
	* generated/pow_c4_i4.c: Regenerated.
	* generated/pow_c4_i8.c: Regenerated.
	* generated/pow_c8_i16.c: Regenerated.
	* generated/pow_c8_i4.c: Regenerated.
	* generated/pow_c8_i8.c: Regenerated.
	* generated/pow_i16_i16.c: Regenerated.
	* generated/pow_i16_i4.c: Regenerated.
	* generated/pow_i16_i8.c: Regenerated.
	* generated/pow_i4_i16.c: Regenerated.
	* generated/pow_i4_i4.c: Regenerated.
	* generated/pow_i4_i8.c: Regenerated.
	* generated/pow_i8_i16.c: Regenerated.
	* generated/pow_i8_i4.c: Regenerated.
	* generated/pow_i8_i8.c: Regenerated.
	* generated/pow_r10_i16.c: Regenerated.
	* generated/pow_r10_i4.c: Regenerated.
	* generated/pow_r10_i8.c: Regenerated.
	* generated/pow_r16_i16.c: Regenerated.
	* generated/pow_r16_i4.c: Regenerated.
	* generated/pow_r16_i8.c: Regenerated.
	* generated/pow_r4_i16.c: Regenerated.
	* generated/pow_r4_i4.c: Regenerated.
	* generated/pow_r4_i8.c: Regenerated.
	* generated/pow_r8_i16.c: Regenerated.
	* generated/pow_r8_i4.c: Regenerated.
	* generated/pow_r8_i8.c: Regenerated.
	
2007-03-08  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30981
	Backport from trunk.
	* gfortran.dg/integer_exponentiation_1.f90:  New test.

From-SVN: r122708
2007-03-08 19:26:55 +00:00
François-Xavier Coudert
1edda9d84f re PR target/30406 ([4.1 only] ICE in LOGICAL(8) functions)
PR target/30406
	* config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
	instead of precision.
	* gfortran.dg/logical_3.f90: New test.

	PR libfortran/31001
	* intrinsics/pack_generic.c (pack_internal): Add special checks
	for zero-sized arrays.
	* gfortran.dg/zero_sized_3.f90: New test.

From-SVN: r122697
2007-03-08 12:34:59 +00:00
Joseph Myers
885f3bb106 * sr.po: New.
From-SVN: r122694
2007-03-08 11:48:38 +00:00
Volker Reichelt
2c83f941d5 re PR c++/30852 (Trouble with __builtin_offsetof and volatile)
PR c++/30852
	* c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.

	* semantics.c (finish_offsetof): Handle COMPOUND_EXPR.

	* g++.dg/ext/offsetof1.C: Add cases with volatile.

From-SVN: r122687
2007-03-08 07:36:17 +00:00
GCC Administrator
499b6f28d6 Daily bump.
From-SVN: r122679
2007-03-08 00:17:04 +00:00
Paolo Carlini
7310276b45 PR libstdc++/28080 (partial)
2007-03-06  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/tr1/random (class random_device): Rework to use simple
	<cstdio> input, do not include <fstream>.
	* include/tr1/random.tcc (all inserters and extractors): Refer
	to ios_base as base class of basic_istream or basic_ostream.

From-SVN: r122676
2007-03-07 22:59:24 +00:00
Manuel López-Ibáñez
6d9b21a10c c.opt (Waddress): New.
2007-03-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* c.opt (Waddress): New.
	* common.opt (Walways-true): Delete.
	(Wstring-literal-comparison): Delete.
	* doc/invoke.texi (Warning Options): Delete -Walways-true and
	-Wstring-literal-comparison. Add -Waddress.
	(Waddress): New.
	(Walways-true): Delete.
	(Wstring-literal-comparison): Delete.
	* doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
	consistently instead of -Walways-true in example.
	* c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
	* c-typeck.c (parser_build_binary_op): Replace
	-Wstring-literal-comparison and -Walways-true with -Waddress.
	(build_binary_op): Likewise.
	* c-common.c (c_common_truthvalue_conversion): Likewise.
cp/
	* typeck.c (build_binary_op): Replace -Wstring-literal-comparison
	and -Walways-true with -Waddress.
	* cvt.c (convert_to_void): Replace unconditional warning with
	-Waddress.
testsuite/
	* gcc.dg/20031012-1.c: Replace -Walways-true with -Waddress.
	* gcc.dg/warn-addr-cmp.c: Likewise.
	* gcc.dg/weak/weak-3.c: Likewise.
	* gcc.dg/Werror-1.c: Likewise.
	* gcc.dg/Werror-3.c: Likewise.
	* gcc.dg/Werror-4.c: Likewise.
	* gcc.dg/Werror-5.c: Likewise.
	* gcc.dg/Werror-6.c: Likewise.
	* gcc.dg/Werror-7.c: Likewise.
	* gcc.dg/Werror-8.c: Likewise.
	* gcc.dg/Werror-9.c: Likewise.
	* gcc.dg/Werror-10.c: Likewise.
	* gcc.dg/Werror-11.c: Likewise.
	* gcc.dg/Werror-12.c: Likewise.
	* g++.old-deja/g++.mike/warn8.C: Likewise.
	* g++.dg/warn/noeffect8.C: Warn only with -Waddress.
	* gcc.dg/Wstring-literal-comparison-1.C: Replace
	-Wstring-literal-comparison with -Waddress.
	* gcc.dg/Wstring-literal-comparison-4.c: Likewise.
	* g++.dg/warn/Wstring-literal-comparison-1.C: Likewise.
	* g++.dg/warn/Wstring-literal-comparison-4.c: Likewise.

From-SVN: r122673
2007-03-07 20:24:37 +00:00
Richard Henderson
ea2c0888e2 re PR target/30848 (ICE with invalid constraint in asm statement)
PR target/30848
        * reg-stack.c (emit_swap_insn): If a malformed asm was seen,
        silently fix up the stack in the case of a missing register.

From-SVN: r122672
2007-03-07 11:18:22 -08:00
Joseph Myers
75d91c8598 * gcc.pot: Regenerate.
From-SVN: r122665
2007-03-07 17:52:57 +00:00
David Daney
c5db027408 install.texi (mips-*-*): Change recommended binutils version.
* doc/install.texi (mips-*-*): Change recommended binutils
	version.

From-SVN: r122649
2007-03-07 05:04:26 +00:00
GCC Administrator
37660b7ec0 Daily bump.
From-SVN: r122643
2007-03-07 00:16:46 +00:00
Daniel Franke
90bfa872cc re PR fortran/30950 (intrinsic: CPU_TIME)
2007-03-06  Daniel Franke  <franke.daniel@gmail.com>

        PR documentation/30950
        * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
        (FREE): Fix call syntax.

From-SVN: r122641
2007-03-06 16:57:09 -05:00
Manuel López-Ibáñez
699fd48374 invoke.texi (Warning Options): Replace -Werror- with -Werror=.
2007-03-06  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* doc/invoke.texi (Warning Options): Replace -Werror- with
	-Werror=.
	* opts.c (common_handle_option): Likewise.

From-SVN: r122638
2007-03-06 21:04:35 +00:00
Anatoly Sokolov
33cedfad9f avr.c (avr_mcu_types): Add support for ATmega325P...
* config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
	ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162 
	devices.
	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).

From-SVN: r122636
2007-03-06 23:14:25 +03:00
Roger Sayle
951935438c re PR middle-end/30744 (ICE in compare_values, at tree-vrp.c:466)
PR middle-end/30744
	* fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency
	when transforming ~X op C to X op' ~C.

	* gcc.dg/pr30744-1.c: New test case.

From-SVN: r122622
2007-03-06 16:30:12 +00:00
Brooks Moses
26e65f6adc * invoke.texi: Corrected -Wtabs documentation.
From-SVN: r122618
2007-03-06 01:41:01 -08:00
Brooks Moses
836dd80ae7 * invoke.texi: Backported typo fixes from trunk.
From-SVN: r122617
2007-03-06 01:34:55 -08:00
Brooks Moses
787c9dfa2b * intrinsic.texi: Backported typo fixes from trunk.
From-SVN: r122616
2007-03-06 01:27:58 -08:00
Brooks Moses
3f13dc0e28 * intrinsic.texi: Limit column widths to a total of .85.
From-SVN: r122614
2007-03-06 01:24:18 -08:00
Brooks Moses
2cccc4ae10 * gfortran.texi (GFortran and G77): Rewrite completely.
From-SVN: r122603
2007-03-06 00:17:34 -08:00
Brooks Moses
e145ea124d * match.c (gfc_match_name): Expanded comment.
From-SVN: r122600
2007-03-06 00:11:01 -08:00
Brooks Moses
b949b253f7 gfortran.texi (Old-style kind specifications): Document special handling of old-style kind specifiers for COMPLEX.
* gfortran.texi (Old-style kind specifications): Document
special handling of old-style kind specifiers for COMPLEX.
* decl.c (gfc_match_old_kind_spec): Document kind/bytesize
assumptions for COMPLEX in comment.

From-SVN: r122598
2007-03-05 23:58:42 -08:00
John David Anglin
406e8dfd1a pa.md: In unamed move patterns...
* pa.md: In unamed move patterns, disparge copies between general
	and floating point registers using '?' modifier.  Don't include 'f'
	constraint for register preferences in DImode, SImode, HImode and
	QImode patterns.  Likewise for 'r' in DFmode and SFmode patterns.
	Remove constraints for copies between general and floating registers
	in soft-float DFmode pattern.
	(movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
	floating register.
	(movsf): Likewise.

From-SVN: r122594
2007-03-06 02:49:19 +00:00
Kaveh R. Ghazi
42534dd050 convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint conversion.
* convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
	conversion.

testsuite:
	* gcc.dg/torture/builtin-convert-4.c: New test.

From-SVN: r122589
2007-03-06 00:41:28 +00:00
GCC Administrator
dc7d91735f Daily bump.
From-SVN: r122586
2007-03-06 00:16:46 +00:00
Steve Ellcey
fe7cdf217a backport: re PR debug/29614 (DWARF information for function static variable is missing after unrelated code addition)
Backported from mainline
	PR debug/29614
	* cgraph.h (cgraph_varpool_last_needed_node): Make global.
	* cgraph.c (cgraph_varpool_last_needed_node): Ditto.
	* cgraphunit.c (cgraph_varpool_assemble_pending_decls):
	Set cgraph_varpool_last_needed_node to NULL.

From-SVN: r122583
2007-03-05 23:52:09 +00:00
Simon Martin
301cd37ffa re PR c++/30895 (ICE with complex values in template parameter)
2007-03-05  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/30895
	* tree.c (cp_tree_equal): Properly handle COMPLEX_CST trees.

From-SVN: r122579
2007-03-05 23:05:29 +00:00
Joseph Myers
d841861ad4 re PR libstdc++/30675 (libstdc++ testsuite hardcodes "ar" and "ranlib")
PR libstdc++/30675
	* testsuite/lib/libstdc++.exp (v3-build_support): Use [transform
	"ar"] and [transform "ranlib"].

From-SVN: r122577
2007-03-05 22:08:03 +00:00
Brooks Moses
18a27c76bf gfortranspec.c (lang_specific_driver): Update program name and copyright date.
* gfortranspec.c (lang_specific_driver): Update program
name and copyright date.

From-SVN: r122575
2007-03-05 13:31:26 -08:00
David Taylor
4b2a92b56c re PR other/31050 ([4.1] gcc --version reports wrong year.)
PR 31050
* gcc.c: Correct copyright date in --version output.

From-SVN: r122574
2007-03-05 12:37:05 -08:00
Brooks Moses
fae529c35b re PR fortran/30437 (-Wno-all is rejected (even when fortran is not included))
fortran/
PR fortran/30437
Backport from trunk:
2007-01-25  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
* lang.opt (Wall): Remove RejectNegative.
* options.c (gfc_handle_option): Wall can be disabled.
(set_Wall): Add a parameter for disabling Wall.

testsuite/
PR fortran/30437
Backport from trunk:
2007-01-25  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
* gcc.dg/Wall.c: New.
* gcc.dg/Wno-all.c: New.
* gfortran.dg/Wall.f90: New.
* gfortran.dg/Wno-all.f90: New.

From-SVN: r122572
2007-03-05 12:17:23 -08:00
Brooks Moses
8db76147c9 lang.opt: Add -fmax-errors= option.
fortran/
* lang.opt: Add -fmax-errors= option.
* gfortran.h (gfc_option_t): Add max_errors element.
* options.c (gfc_init_options): Set max_errors default value
to 25.
(gfc_handle_options): Check -fmax_errors value, assign to
gfc_option.max_errors.
* error.c (gfc_increment_error_count): New function, which
also checks whether the error count exceeds max_errors.
(gfc_notify_std): Use it.
(gfc_error): Use it.
(gfc_error_now): Use it.
(gfc_error_check): Use it.
(gfc_warning): Reorder to match trunk.
* invoke.texi: Added documentation for -fmax-errors option.

testsuite/
* gfortran.dg/io_constraints_3.f90: Add -fmax-errors=50 option.

From-SVN: r122570
2007-03-05 12:12:53 -08:00
Brooks Moses
aceec9f74c check.c (gfc_check_kill_sub): Add checks for non-scalar arguments.
* check.c (gfc_check_kill_sub): Add checks for non-scalar
arguments.

From-SVN: r122569
2007-03-05 12:04:23 -08:00
Brooks Moses
dc89902b42 lang.opt (-fmodule-private): Remove option.
* lang.opt (-fmodule-private): Remove option.
* gfortran.h (gfc_option_t): Remove module_access_private flag.
* options.c (gfc_init_options): Remove initialization for it.
(gfc_process_option): Remove handling for -fmodule-private.
* module.c (gfc_check_access): Add comments, remove check for
gfc_option.flag_module_access_private.

From-SVN: r122568
2007-03-05 12:02:53 -08:00
Brooks Moses
605b05c212 c.opt: Remove -ffixed-form, -ffixed-line-length-none, and -ffixed-line-length-* options.
* c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
-ffixed-line-length-* options.

From-SVN: r122563
2007-03-05 10:20:08 -08:00
David Edelsohn
b18a6edc59 t-ppccomm: Always build libgcc2 for GNU/Linux with -mlong-double-128, except SPE.
* config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux
        with -mlong-double-128, except SPE.

        * config/rs6000/darwin-ldouble.c: Only build new functions for
        __LONG_DOUBLE_128__.

        Backport from mainline:
        2007-01-16  David Edelsohn  <edelsohn@gnu.org>

        * config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
        (strong_alias): Define.
        (__gcc_qmul): Provide non-FMA for soft-float.
        (__gcc_qdiv): Same.
        (__gcc_qneg): New.
        (__gcc_qeq): New.
        (__gcc_qle): New.
        (__gcc_qge): New.
        (__gcc_qunord): New.
        (__gcc_stoq): New.
        (__gcc_dtoq): New.
        (__gcc_qtos): New.
        (__gcc_qtod): New.
        (__gcc_qtoi): New.
        (__gcc_qtou): New.
        (__gcc_itoq): New.
        (__gcc_utoq): New.
        (fmsub): New.
        * config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
        soft-float functions.
        * config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
        * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
        about long double soft float.

From-SVN: r122557
2007-03-05 11:54:00 -05:00
Richard Guenther
36633a9fbc backport: acinclude.m4: Adjust regular expression for ld version
2007-03-05  Richard Guenther  <rguenther@suse.de>

        Backport from mainline:
        2007-02-27  Richard Guenther  <rguenther@suse.de>

        * acinclude.m4: Adjust regular expression for ld version
        * extraction.
        * configure: Regenerate.

From-SVN: r122556
2007-03-05 16:44:44 +00:00
Paolo Carlini
f9e87a3160 re PR libstdc++/31031 (ostream ambiguous operator&&)
2007-03-05  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31031
	* include/bits/istream.tcc: Inhibit implicit instantiation of
	the _M_insert helpers.
	* include/bits/ostream.tcc: Likewise for _M_extract.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
	31031.cc: New.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
	31031.cc: Likewise.

From-SVN: r122549
2007-03-05 14:12:29 +00:00
Richard Guenther
567ec609c2 backport: re PR middle-end/30364 (Wrong variable ranges due to constant folding)
2007-03-05  Richard Guenther  <rguenther@suse.de>

	Backport from mainline:
	2007-02-28  Richard Guenther  <rguenther@suse.de>

	PR middle-end/30364
	* fold-const.c (fold_binary): Do not associate expressions
	with more than one variable for integer types that do not wrap.

	* gcc.dg/torture/pr30364-1.c: New testcase.
	* gcc.dg/torture/pr30364-2.c: Likewise.
	* gcc.dg/torture/pr30364-3.c: Likewise.

From-SVN: r122548
2007-03-05 13:15:25 +00:00
Tobias Burnus
d21100c100 re PR fortran/30968 ([4.1 only] Bogus warning with continued lines of concatenated strings)
2007-03-05  Tobias Burnus  <burnus@net-b.de>

	PR fortran/30968
	* primary.c (next_string_char): Correct reading a character
	after the delimiter.
	(match_string_constant): Print warning message only once.

2007-03-05  Tobias Burnus  <burnus@net-b.de>

	PR fortran/30968
	* gfortran.dg/continuation_7.f90: New test.

From-SVN: r122547
2007-03-05 13:58:14 +01:00
Brooks Moses
9d2868c93f simplify.c (gfc_simplify_ibclr): Fix POS comparison.
* simplify.c (gfc_simplify_ibclr): Fix POS comparison.
(gfc_simplify_ibset): Same.

From-SVN: r122542
2007-03-05 00:41:11 -08:00
Brooks Moses
aec9fe6a13 * check.c (same_type_check): Typo fix in comment.
From-SVN: r122540
2007-03-05 00:12:58 -08:00
GCC Administrator
e05743ca67 Daily bump.
From-SVN: r122536
2007-03-05 00:16:53 +00:00
Eric Botcazou
8db560036d re PR ada/26797 (ACATS cxh1001 fails)
PR ada/26797
	* doc/invoke.texi (-O2): Document that Tree-VRP is not turned on
	for the Ada compiler.
ada/
	* lang.opt: Accept -ftree-vrp for Ada.
	* misc.c (OPT_ftree_vrp): New case.
	(gnat_post_options): Disable Tree-VRP unless explicitly turned on.

From-SVN: r122524
2007-03-04 10:05:44 +00:00
Paolo Carlini
9b2aba4444 PR libstdc++/28080 (partial)
2007-03-03  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/tr1/functional: Split out hash bits to...
	* include/tr1/functional_hash.h: ...here.
	* include/Makefile.am: Add.
	* include/tr1/unordered_set: Include the latter instead.
	* include/tr1/unordered_map: Likewise.
	* include/Makefile.in: Regenerate.

	* include/tr1/utility (get(std::pair<>&), get(const std::pair<>&)):
	Mark inline.

From-SVN: r122519
2007-03-04 00:23:23 +00:00
Paolo Carlini
16bdb42495 PR libstdc++/28080 (partial)
2007-03-03  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28080 (partial)
	* include/tr1/functional: Split out hash bits to...
	* include/tr1/functional_hash.h: ...here.
	* include/Makefile.am: Add.
	* include/tr1/unordered_set: Include the latter instead.
	* include/tr1/unordered_map: Likewise.
	* include/Makefile.in: Regenerate.

	* include/tr1/utility (get(std::pair<>&), get(const std::pair<>&)):
	Mark inline.

From-SVN: r122518
2007-03-04 00:20:26 +00:00
GCC Administrator
7d8d359db3 Daily bump.
From-SVN: r122515
2007-03-04 00:16:53 +00:00
Eric Botcazou
d89a25810a backport: re PR other/16513 (Libiberty doesn't honor the multi-os-directory settings)
Backport from mainline:
	2007-03-01  Peter Breitenlohner  <peb@mppmu.mpg.de>

	PR other/16513
	* Makefile.in: Install library under $(MULTIOSDIR), not $(MULTISUBDIR).
	Install headers in multilib independent location.

From-SVN: r122512
2007-03-03 19:29:51 +00:00
Zdenek Dvorak
a82a315b1e re PR tree-optimization/29902 (ICE in coalesce_abnormal_edges, at tree-outof-ssa.c:644)
PR tree-optimization/29902
	* tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
	any involved ssa name appears in abnormal phi node.

	* g++.dg/tree-ssa/pr29902.C: New test.

From-SVN: r122501
2007-03-03 00:38:56 +00:00
GCC Administrator
0072f127ed Daily bump.
From-SVN: r122498
2007-03-03 00:17:03 +00:00
Eric Botcazou
27e0bcf0d9 tree-sra.c (sra_walk_fns): Document new restriction.
* tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
	(sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
	if the lhs has side-effects.
	<lhs_elt>: Treat the reference as a use if the rhs has side-effects.

From-SVN: r122493
2007-03-02 22:31:29 +00:00
Paul Brook
97df49ba28 arm.c (arm_legitimate_index_p): Limit iWMMXt addressing modes to LDRD for DImode.
2007-03-02  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
	modes to LDRD for DImode.
	(output_move_double): Fixup out of range ldrd/strd.
	(vfp_secondary_reload_class): Rename...
	(coproc_secondary_reload_class): ... to this.  Add wb argument.
	* config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
	coproc_secondary_reload_class for CLASS_IWMMXT.
	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
	* arm-protos.h (coproc_secondary_reload_class): Update prototype.

From-SVN: r122489
2007-03-02 22:03:44 +00:00
Eric Botcazou
aaaf639f0d alpha.c (alpha_gp_save_rtx): Insert the insns at the entry by means of emit_insn_at_entry.
* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
	entry by means of emit_insn_at_entry.

From-SVN: r122481
2007-03-02 18:02:48 +00:00
GCC Administrator
15cbd9edb0 Daily bump.
From-SVN: r122459
2007-03-02 00:17:12 +00:00
Manuel López-Ibáñez
39ad7f49e6 invoke.texi (Wextra): Delete outdated paragraph.
2007-03-01  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* doc/invoke.texi (Wextra): Delete outdated paragraph.

From-SVN: r122436
2007-03-01 22:37:34 +00:00
Tobias Schlüter
46d1a21fef backport: re PR fortran/29441 ([4.1/4.2 only] non-constant parameter (constant) accepted)
fortran/
Backport from trunk
PR fortran/29441
* intrinsic.c (gfc_intrinsic_func_interface): Always check if
intrinsic is allowed in initialization expression.
testsuite/
* gfortran.dg/initialization_4.f90: New test.

From-SVN: r122431
2007-03-01 16:52:28 +01:00
Paul Thomas
a612d833dc backport: re PR fortran/30660 (Allocatable components of a derived type "require" the SAVE attribute.)
fortran/
2007-03-01  Paul Thomas <pault@gcc.gnu.org>

       Backport from trunk
       PR fortran/30660
       * resolve.c (pure_function, resolve_function): Initialize name to
       null to clear up build warnings.
       (has_default_initializer): New function.
       (resolve_fl_variable): Call has_default_initializer to determine if
       the derived type has a default initializer to its ultimate
       components.

testsuite/
2007-03-01  Paul Thomas <pault@gcc.gnu.org>

       Backport from trunk
       PR fortran/30660
       * gfortran.dg/alloc_comp_basics_4.f90: New test.

       PR fortran/29820
       * gfortran.dg/actual_array_interface_1.f90: Copy source to empty
       file.

From-SVN: r122427
2007-03-01 10:43:53 +01:00
Eric Botcazou
db8583cf06 Backport comment.
From-SVN: r122425
2007-03-01 09:07:43 +00:00
GCC Administrator
a6c99f25bf Daily bump.
From-SVN: r122418
2007-03-01 00:16:58 +00:00
Thomas Koenig
8a8b6fccb4 backport: re PR fortran/30869 ([4.1 only] Rejects pointer to integer as loop variable)
2007-02-28  Thomas Koenig  <Thomas.Koenig@online.de>

	Backport from trunk
	PR fortran/30869
	PR libfortran/30533
        PR libfortran/30765
	* match.c(gfc_match_iterator):  Remove conflict between
	loop variable and pointer.
	* fortran/iresolve.c(gfc_resolve_maxloc):  Remove coercion of
	argument to default integer.
        (gfc_resolve_minloc):  Likewise.

2007-02-28  Thomas Koenig  <Thomas.Koenig@online.de>

	Backport from trunk
	PR libfortran/30533
        PR libfortran/30765
	* Makefile.am: Add $(srcdir) too all files in generated/.
	(i_maxloc0_c): Add maxloc0_4_i1.c, maxloc0_8_i1.c,
	maxloc0_16_i1.c, maxloc0_4_i2.c, maxloc0_8_i2.c and
	maxloc0_16_i2.c.
	(i_maxloc1_c): Add maxloc1_4_i1.c, maxloc1_8_i1.c,
	maxloc1_16_i1.c, maxloc1_4_i2.c, maxloc1_8_i2.c and
	maxloc1_16_i2.c.
	(i_maxval_c): Add maxval_i1.c and maxval_i2.c.
	(i_minloc0_c):  Add minloc0_4_i1.c, minloc0_8_i1.c,
	minloc0_16_i1.c, minloc0_4_i2.c, minloc0_8_i2.c and
	minloc0_16_i2.c.
	(i_minloc_1.c): Add minloc1_4_i1.c, minloc1_8_i1.c,
	minloc1_16_i1.c, minloc1_4_i2.c, minloc1_8_i2.c and
	minloc1_16_i2.c.
	(i_minval_c):  Add minval_i1.c and minval_i2.c.
	(i_sum_c):  Add sum_i1.c and sum_i2.c.
	(i_product_c):  Add product_i1.c and product_i2.c.
	(i_matmul_c):  Add matmul_i1.c and matmul_i2.c.
	(gfor_built_specific_src):  Remove $(srcdir) from target.
	(gfor_bulit_specific2_src):  Likewise.
	Use $(M4) instead of m4.
	Makefile.in:  Regenerated.
	libgfortran.h:  Add GFC_INTEGER_1_HUGE and GFC_INTEGER_2_HUGE.
	Add gfc_array_i1 and gfc_array_i2.
	* generated/matmul_i1.c: New file.
	* generated/matmul_i2.c: New file.
	* generated/maxloc0_16_i1.c: New file.
	* generated/maxloc0_16_i2.c: New file.
	* generated/maxloc0_4_i1.c: New file.
	* generated/maxloc0_4_i2.c: New file.
	* generated/maxloc0_8_i1.c: New file.
	* generated/maxloc0_8_i2.c: New file.
	* generated/maxloc1_16_i1.c: New file.
	* generated/maxloc1_16_i2.c: New file.
	* generated/maxloc1_4_i1.c: New file.
	* generated/maxloc1_4_i2.c: New file.
	* generated/maxloc1_8_i1.c: New file.
	* generated/maxloc1_8_i2.c: New file.
	* generated/maxval_i1.c: New file.
	* generated/maxval_i2.c: New file.
	* generated/minloc0_16_i1.c: New file.
	* generated/minloc0_16_i2.c: New file.
	* generated/minloc0_4_i1.c: New file.
	* generated/minloc0_4_i2.c: New file.
	* generated/minloc0_8_i1.c: New file.
	* generated/minloc0_8_i2.c: New file.
	* generated/minloc1_16_i1.c: New file.
	* generated/minloc1_16_i2.c: New file.
	* generated/minloc1_4_i1.c: New file.
	* generated/minloc1_4_i2.c: New file.
	* generated/minloc1_8_i1.c: New file.
	* generated/minloc1_8_i2.c: New file.
	* generated/minval_i1.c: New file.
	* generated/minval_i2.c: New file.
	* generated/product_i1.c: New file.
	* generated/product_i2.c: New file.
	* generated/sum_i1.c: New file.
	* generated/sum_i2.c: New file.

2007-02-28  Thomas Koenig  <Thomas.Koenig@online.de>

	Backport from trunk
	PR fortran/30869
	PR libfortran/30533
        PR libfortran/30765
	* gfortran.dg/intrinsic_intkinds_1.f90:  New test.
	* gfortran.dg/do_pointer_1.f90:  New test.

From-SVN: r122412
2007-02-28 21:36:31 +00:00
Andreas Schwab
0ed82d5f3e Make-lang.in (doc/gnat_ugn_unw.texi): Depend on $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
* Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
	$(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
	(doc/gnat-style.info): Likewise.

From-SVN: r122403
2007-02-28 10:01:04 +00:00
GCC Administrator
574599a328 Daily bump.
From-SVN: r122391
2007-02-28 00:17:09 +00:00
John David Anglin
f56e1d0808 predicates.md (move_src_operand): Allow zero for mode.
* pa/predicates.md (move_src_operand): Allow zero for mode.
	* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
	move pattern.

From-SVN: r122390
2007-02-28 00:16:43 +00:00
Mike Stump
1ccfa385e0 darwin-crt3.c: Avoid compilation when compiling for a kext multilib.
* config/darwin-crt3.c: Avoid compilation when compiling for a
	kext multilib.

From-SVN: r122386
2007-02-27 20:49:58 +00:00
Andreas Schwab
a28cfa6e1a * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
From-SVN: r122369
2007-02-27 10:46:53 +00:00
Brooks Moses
b28d9631dc * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
From-SVN: r122365
2007-02-27 02:15:00 -08:00
Brooks Moses
bd0452b6a6 * gcj.texi: Standardize title page.
From-SVN: r122361
2007-02-27 00:09:03 -08:00
Brooks Moses
946744790f gcc/ChangeLog ---------------------------------------------------------
gcc/ChangeLog ---------------------------------------------------------
	* doc/include/gcc-common.texi (versionsubtitle): New macro.
	* doc/cpp.texi: Standardize title page.
	* doc/cppinternals.texi: Likewise.
	* doc/gcc.texi: Standardize title page, remove version number
	from copyright page.
	* doc/gccint.texi: Likewise.
	* doc/install.texi: Standardize title page, add table of
	contents.

ada/ChangeLog ---------------------------------------------------------
	* gnat-style.texi: Standardize title page.
	* gnat_rm.texi: Likewise.
	* gnat_ugn.texi: Likewise.

fortran/ChangeLog -----------------------------------------------------
	* gfortran.texi: Standardize title page, remove version number
	from copyright page.

treelang/ChangeLog ----------------------------------------------------
	* treelang.texi: Standardize title page, remove version number
	from copyright page.

From-SVN: r122359
2007-02-26 22:10:34 -08:00
Geoffrey Keating
856c6c5905 stabs-attrib-vect-darwin.c: Allow for more builtin types.
* gcc.target/powerpc/stabs-attrib-vect-darwin.c: Allow
	for more builtin types.

From-SVN: r122354
2007-02-27 00:30:49 +00:00
GCC Administrator
f30208f83f Daily bump.
From-SVN: r122351
2007-02-27 00:16:52 +00:00
Geoffrey Keating
45a4a946e2 class1.C: Port to Darwin.
* g++.dg/ext/visibility/class1.C: Port to Darwin.
	* g++.dg/ext/visibility/noPLT.C: Likewise.

From-SVN: r122349
2007-02-27 00:15:37 +00:00
Eric Botcazou
67b522614b Fix formatting nits.
From-SVN: r122333
2007-02-26 14:12:32 +00:00
GCC Administrator
82f39bc900 Daily bump.
From-SVN: r122325
2007-02-26 00:16:52 +00:00
Jerry DeLisle
cfad1e2613 re PR libfortran/30918 (Failure to skip commented out NAMELIST)
2007-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30918
	* io/listread.c (namelist_read): Eat comment line.

2007-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30918
	* gfortran.dg/namelist_26.f90: New test.

From-SVN: r122309
2007-02-25 03:39:19 +00:00
GCC Administrator
ffc340151c Daily bump.
From-SVN: r122304
2007-02-25 00:17:19 +00:00
Mike Stump
d3d15b801a Fix typo.
From-SVN: r122300
2007-02-24 23:06:23 +00:00
Mike Stump
685333ab29 i386.c (output_pic_addr_const): Stubify optimized symbols.
* config/i386/i386.c (output_pic_addr_const): Stubify optimized
	symbols.

From-SVN: r122298
2007-02-24 22:32:09 +00:00
John David Anglin
ec9004c2b1 pa.md (muldi3): Force subregs to registers in 64-bit expander.
* pa.md (muldi3): Force subregs to registers in 64-bit expander.

From-SVN: r122296
2007-02-24 20:25:02 +00:00
Roger Sayle
c6031a071b re PR fortran/30400 (ANY not accepted as mask in FORALL)
2007-02-24  Roger Sayle  <roger@eyesopen.com>
	    Paul Thomas <pault@gcc.gnu.org>

        PR fortran/30400
        * match.c (match_forall_iterator): Use gfc_match_expr instead
	of gfc_match_variable to match the iterator variable.  Return
	MATCH_NO if not a variable.  Remove the reset of the symbol's
	flavor in cleanup.

        * gfortran.dg/forall_10.f90: New test case.


Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>

From-SVN: r122289
2007-02-24 15:09:50 +00:00
Mike Stump
472606b8fc tlink.c (scan_linker_output): Parse linker messages from darwin9's linker better.
* tlink.c (scan_linker_output): Parse linker messages from
	darwin9's linker better.

From-SVN: r122287
2007-02-24 07:25:25 +00:00
GCC Administrator
63e9952224 Daily bump.
From-SVN: r122280
2007-02-24 00:17:05 +00:00
Jerry DeLisle
a643a79077 re PR fortran/30681 ("obsolescent" vs. "obsolete")
2007-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30681
	* gfortran.dg/pr17229.f: Change "Obsolete" to "Obsolescent".

From-SVN: r122269
2007-02-23 18:20:01 +00:00
Jerry DeLisle
43c1bc3a04 re PR fortran/30681 ("obsolescent" vs. "obsolete")
2007-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30681
	* options.c (set_default_std_flags): New function to consolidate
	setting the flags. Relax warning level for obsolescent.
	(gfc_init_options): Use new function.
	(gfc_handle_option): Use new function.
	* match.c (match_arithmetic_if): Change to obsolescent from deleted.
	(gfc_match_if): Same.

From-SVN: r122267
2007-02-23 18:16:54 +00:00
Jerry DeLisle
b84beeaf5a re PR fortran/30910 ([Regression 4.2, 4.3] Gfortran: ES format not quite right...)
2007-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30910	
	* gfortran.dg/fmt_zero_precision.f90: Update test.

From-SVN: r122266
2007-02-23 18:15:27 +00:00
Jerry DeLisle
602cc6d1c8 re PR fortran/30910 ([Regression 4.2, 4.3] Gfortran: ES format not quite right...)
2007-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30910
	* io/write.c (output_float): Add condition of format F only for
	special case rounding with zero precision.

From-SVN: r122265
2007-02-23 18:13:16 +00:00
Tobias Burnus
ae3fa61062 re PR fortran/30793 (Segfault on calling a function returning a pointer)
fortran/
2007-02-23  Tobias Burnus  <burnus@net-b.de>

       PR fortran/30793
       * trans-decl.c (gfc_generate_function_code): Do not initialize
         pointers to derived components.

testsuite/
2007-02-23  Tobias Burnus  <burnus@net-b.de>

       PR fortran/30793
       * gfortran.dg/func_derived_4.f90: New test.

From-SVN: r122256
2007-02-23 15:12:44 +01:00
GCC Administrator
6385f32303 Daily bump.
From-SVN: r122243
2007-02-23 00:17:09 +00:00
Brooks Moses
abecd9cf25 gfortran.texi (Old-style kind specifications): Document special handling of old-style kind specifiers for COMPLEX.
* gfortran.texi (Old-style kind specifications): Document
special handling of old-style kind specifiers for COMPLEX.
* decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
assumptions in comment.

From-SVN: r122239
2007-02-22 13:13:28 -08:00
Simon Martin
0c9bbd3703 re PR c++/29475 (incomplete template diagnostics.)
2007-02-22  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/29475
	* cp-tree.h (struct deferred_access_check): New structure to represent a
	deferred access check. It replaces the previous representation as a tree.
	(get_deferred_access_checks): Return a vector of struct
	deferred_access_check instead of a tree list.
	(perform_access_checks): Take a vector of struct deferred_access_check
	instead of a tree list.
	(enforce_access, perform_or_defer_access_check): Added an
	extra argument that represents the declaration to use to print
	potential error messages.
	* semantics.c (struct deferred_access): Store the deferred access checks
	as a vector of struct deferred_access_check instead of a tree list.
	(push_deferring_access_checks): Handle the change in struct
	deferred_access.
	(get_deferred_access_checks): Likewise.
	(pop_to_parent_deferring_access_checks): Likewise.
	(perform_or_defer_access_check): Likewise.
	(perform_access_checks): Take a vector of struct deferred_access_check
	instead of a tree list.
	(finish_non_static_data_member, check_accessibility_of_qualified_id,
	finish_id_expression): Adjusted the call to perform_or_defer_access_check.
	(pop_to_parent_deferring_access_checks, perform_access_checks,
	perform_or_defer_access_check): Adjusted the call to enforce_access.
	* parser.c (struct tree_check): New structure to store various data
	associated with a CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID token.
	(struct cp_token): Changed the value field to be a union with a pointer to
	a struct tree_check for CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID
	tokens and a tree field for all other tokens.
	(eof_token): Adjusted due to the change in struct cp_token.
	(cp_lexer_get_preprocessor_token): Likewise.
	(cp_lexer_purge_token): Likewise.
	(cp_lexer_purge_tokens_after): Likewise.
	(cp_lexer_print_token): Likewise.
	(cp_parser_error): Likewise.
	(cp_parser_identifier): Likewise.
	(cp_parser_string_literal): Likewise.
	(cp_parser_primary_expression): Likewise.
	(cp_parser_unqualified_id): Likewise.
	(cp_parser_parenthesized_expression_list): Likewise.
	(cp_parser_storage_class_specifier_opt): Likewise.
	(cp_parser_function_specifier_opt): Likewise.
	(cp_parser_type_specifier): Likewise.
	(cp_parser_simple_type_specifier): Likewise.
	(cp_parser_initializer_list): Likewise.
	(cp_parser_member_specification_opt): Likewise.
	(cp_parser_attribute_list): Likewise.
	(cp_parser_objc_expression): Likewise.
	(cp_parser_objc_protocol_qualifiers): Likewise.
	(cp_parser_objc_selector): Likewise.
	(cp_parser_objc_declaration): Likewise.
	(cp_parser_objc_statement): Likewise.
	(cp_parser_omp_clause_name): Likewise.
	(cp_parser_omp_clause_default): Likewise.
	(cp_parser_omp_clause_schedule): Likewise.
	(cp_parser_omp_parallel): Likewise.
	(cp_parser_initial_pragma): Likewise.
	(pragma_lex): Likewise.
	(cp_parser_pre_parsed_nested_name_specifier): Likewise.
	(cp_parser_nested_name_specifier_opt): Likewise.
	Use cp_token::u::tree_check_value to save the token's value, the
	associated deferred checks and its qualifying scope.
	(cp_parser_template_id): Likewise.
	(cp_parser_template_declaration_after_export): Adjusted the call to
	get_deferred_access_checks.
	(cp_parser_init_declarator): Take the access checks as a vector of struct
	deferred_access_check instead of a tree list.
	(cp_parser_single_declaration): Likewise.
	(cp_parser_perform_template_parameter_access_checks): Likewise.
	(cp_parser_simple_declaration): Adjusted the call to
	cp_parser_init_declarator.
	(cp_parser_explicit_specialization): Adjusted the call to
	cp_parser_single_declaration.
	(cp_parser_template_id, cp_parser_pre_parsed_nested_name_specifier):
	Adjusted the call to perform_or_defer_access_check.
	* init.c (build_offset_ref): Adjusted the call to
	perform_or_defer_access_check.
	* class.c (alter_access, resolve_address_of_overloaded_function):
	Likewise.
	* decl.c (make_typename_type, make_unbound_class_template): Likewise.
	* search.c (lookup_member): Likewise.
	* friend.c (add_friend): Likewise.
	* call.c (enforce_access): Use the new extra argument to build the
	error message.
	(build_op_delete_call): Adjusted the call to
	perform_or_defer_access_check.
	(build_over_call): Likewise.

From-SVN: r122236
2007-02-22 19:57:55 +00:00
Mark Mitchell
6902858359 wrapper.exp (${tool}_maybe_build_wrapper): Allow the caller to set options for compiling testglue.
* lib/wrapper.exp (${tool}_maybe_build_wrapper): Allow the caller
	to set options for compiling testglue.
	* lib/g++.exp (g++_init): Compile testglue with -fexceptions.
	* lib/obj-c++.exp (obj-c++_init): Likewise.

	* testsuite/lib/libstdc++.exp (libstdc++_init): Compile testglue
	with -fexceptions.

From-SVN: r122218
2007-02-22 04:42:08 +00:00
GCC Administrator
2e34531e5d Daily bump.
From-SVN: r122214
2007-02-22 00:17:24 +00:00
Eric Botcazou
8f5f28bb8a re PR ada/18819 (ACATS cdd2a02 fail at runtime)
PR ada/18819
	* sem_ch3.adb (Create_Constrained_Components): for a subtype of an
	untagged derived type, add hidden components to keep discriminant
	layout consistent, when a given discriminant of the derived type
	constraints several discriminants of the parent type.

From-SVN: r122209
2007-02-21 23:00:01 +00:00
Ira Rosen
90d68a041b tree-ssa-alias.c: Include pointer-set.h
* tree-ssa-alias.c: Include pointer-set.h
	* Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h.

From-SVN: r122193
2007-02-21 09:29:43 +00:00
Jakub Jelinek
6e43847416 backport: re PR middle-end/30143 ([4.2 only] OpenMP can produce invalid gimple)
Backported from mainline
	2006-12-20  Andrew Pinski  <pinskia@gmail.com>
	PR middle-end/30143
	* omp-low.c (init_tmp_var): New function.
	(save_tmp_var): New function.
	(lower_omp_1): Use them for VAR_DECL.

	* gcc.dg/gomp/complex-1.c: New testcase.

From-SVN: r122192
2007-02-21 10:12:14 +01:00
Jakub Jelinek
118151ca11 [multiple changes]
2007-02-21  Bernhard Fischer  <aldot@gcc.gnu.org>

	* parse.c (next_free): Gooble spaces after OpenMP sentinel.

2007-02-21  Jakub Jelinek  <jakub@redhat.com>

	* gfortran.dg/gomp/omp_parse1.f90: New test.
	* gfortran.dg/gomp/omp_parse2.f: New test.

From-SVN: r122191
2007-02-21 09:40:29 +01:00
GCC Administrator
c4d13c6a1f Daily bump.
From-SVN: r122186
2007-02-21 00:17:26 +00:00
Mark Mitchell
ec5e693802 call.c (build_new_method_call): Ensure that explicit calls of destructors have type "void".
* call.c (build_new_method_call): Ensure that explicit calls of
	destructors have type "void".

From-SVN: r122155
2007-02-20 07:34:25 +00:00
Alan Modra
436e0fa72c re PR middle-end/29943 (gcc generate incorrect alias symbols for PPC)
PR target/29943
	* varasm.c (use_blocks_for_decl_p): Return false for decls with
	alias attribute.

From-SVN: r122149
2007-02-20 11:58:01 +10:30
GCC Administrator
f0212edf45 Daily bump.
From-SVN: r122145
2007-02-20 00:17:27 +00:00
Eric Botcazou
10b1d9bf4c gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap due to calls to functions taking pointers as parameters.
* gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
	due to calls to functions taking pointers as parameters.

From-SVN: r122134
2007-02-19 19:13:34 +00:00
Richard Henderson
904e6ddb29 re PR debug/29558 (ICE in set_variable_part, at var-tracking.c:2140)
PR debug/29558
        * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
        in memory.

From-SVN: r122130
2007-02-19 08:10:49 -08:00
GCC Administrator
4c3d1f0dc7 Daily bump.
From-SVN: r122113
2007-02-19 00:17:12 +00:00
Brooks Moses
9c8c2fbef7 re PR fortran/30235 ([4.1 only] missing alternate return argument with explicit interface causes segfault)
2007-02-18  Brooks Moses  <brooks.moses@codesourcery.com>

	PR 30235
	* interface.c (compare_actual_formal): check for
	alternate returns when iterating over non-present
	arguments.

2007-02-18  Brooks Moses  <brooks.moses@codesourcery.com>

	PR 30235
	* gfortran.dg/altreturn_2.f90: new test.

From-SVN: r122105
2007-02-18 21:18:28 +00:00
Eric Botcazou
ad2df22e16 tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
* tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.

From-SVN: r122098
2007-02-18 14:04:11 +00:00
Eric Botcazou
737261b096 calls.c (mem_overlaps_already_clobbered_arg_p): Return true for arg pointer based indexed addressing.
* calls.c (mem_overlaps_already_clobbered_arg_p): Return true
	for arg pointer based indexed addressing.

From-SVN: r122096
2007-02-18 13:54:10 +00:00
Eric Botcazou
152402ac8c gnat.exp (gnat_target_compile): Pass -f to the driver.
* lib/gnat.exp (gnat_target_compile): Pass -f to the driver.

From-SVN: r122094
2007-02-18 13:44:07 +00:00
Ira Rosen
452ee1f4f0 tree-ssa-alias.c (may_aliases_intersect): New function.
* tree-ssa-alias.c (may_aliases_intersect): New function.
	* tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect 
	for different tags.
	* tree-flow.h (may_aliases_intersect): Add function declaration.

From-SVN: r122092
2007-02-18 12:14:23 +00:00
GCC Administrator
f08c90ad64 Daily bump.
From-SVN: r122077
2007-02-18 00:17:11 +00:00
Paul Thomas
238d418917 re PR fortran/30554 ([4.1 only] ICE in mio_pointer_ref at module.c:1945)
2007-02-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30554
	* module.c (find_symtree_for_symbol): New function to return
	a symtree that is not a "unique symtree" given a symbol.
	(read_module): Do not automatically set pointer_info to
	referenced, if the symbol has a namespace, because this
	inhibits the generation of a unique symtree.  Recycle the
	symtree if possible by calling find_symtree_for_symbol. If a
	symbol is excluded by an ONLY clause, check to see if there is
	a symtree already loaded. If so, attach the symtree to the
	pointer_info.

	PR fortran/30319
	* decl.c (add_init_expr_to_sym): Make new charlen for an array
	constructor initializer.

2007-02-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30554
	* gfortran.dg/used_dummy_types_6.f90: New test.
	* gfortran.dg/used_dummy_types_7.f90: New test..

	PR fortran/30617
	* gfortran.dg/intrinsic_actual_2.f90: Make this legal fortran
	by getting rid of recursive I/O and providing functions with
	results.

	PR fortran/30319
	* gfortran.dg/char_array_constructor_2.f90

From-SVN: r122074
2007-02-17 17:16:56 +00:00
Alexandre Oliva
dcf9cd3990 re PR tree-optimization/30823 (ICE on cpu2006/453.povray with -O1 and above)
PR tree-optimization/30823
* tree-sra.c (sra_build_assignment): Drop type-checking assert.

From-SVN: r122070
2007-02-17 07:07:26 +00:00
GCC Administrator
1807a14622 Daily bump.
From-SVN: r122062
2007-02-17 00:17:26 +00:00
Jerry DeLisle
7f9298e9b8 re PR fortran/30779 ([4.1, 4.2 only] incomplete file triggers ICE)
2007-02-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30779
	* scanner.c (gfc_next_char_literal): Add check for end of file after
	call to advance_line.

2007-02-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30779
	* gfortran.dg/error_recovery_3.f90: New test.

From-SVN: r122059
2007-02-16 23:42:11 +00:00
Tobias Burnus
13f9809375 re PR fortran/30512 ([4.1 only] MAXVAL() incorrect for zero-size int arrays, and for -HUGE-1 maximum values.)
fortran/
2007-02-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/30512
        * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
          gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.

testsuite/
2007-02-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/30512
        * gfortran.dg/maxlocval_1.f90: New test.

libgfortran/
2007-02-16  Thomas Koenig  <Thomas.Koenig@online.de>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/30512
        * m4/iparm.m4: Use HUGE-1 for most negative integer.
        * generated/maxloc1_8_i4.c: Regenerate.
        * generated/maxloc0_8_i8.c: Regenerate.
        * generated/maxloc1_16_i4.c: Regenerate.
        * generated/maxloc0_16_i8.c: Regenerate.
        * generated/maxval_i4.c: Regenerate.
        * generated/maxloc1_4_i8.c: Regenerate.
        * generated/maxloc0_16_i16.c: Regenerate.
        * generated/maxloc1_4_i16.c: Regenerate.
        * generated/maxloc0_8_i16.c: Regenerate.
        * generated/maxloc0_4_i4.c: Regenerate.
        * generated/maxloc1_8_i8.c: Regenerate.
        * generated/maxloc0_8_i4.c: Regenerate.
        * generated/maxloc0_16_i4.c: Regenerate.
        * generated/maxloc1_16_i8.c: Regenerate.
        * generated/maxloc1_4_i4.c: Regenerate.
        * generated/maxval_i8.c: Regenerate.
        * generated/maxloc0_4_i16.c: Regenerate.
        * generated/maxloc1_8_i16.c: Regenerate.
        * generated/maxloc0_4_i8.c: Regenerate.
        * generated/maxloc1_16_i16.c: Regenerate.
        * generated/maxval_i16.c: Regenerate.

From-SVN: r122043
2007-02-16 15:15:36 +01:00
François-Xavier Coudert
bbd150fc1e [multiple changes]
2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR fortran/30720
	* trans-array.c (gfc_trans_create_temp_array): Remove use of the
	function argument. Always generate code for negative extent.
	Simplify said code.
	* trans-array.h (gfc_trans_create_temp_array): Change prototype.
	* trans-expr.c (gfc_conv_function_call): Remove use of last argument
	of gfc_trans_create_temp_array.
	* trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
	* trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.

2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR fortran/30611
	* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
	arguments only once. Generate check that NCOPIES argument is not
	negative.

2007-02-16  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30389
	* gfortran.h:  Remove gfc_simplify_init_1.
	* arith.h:  Remove third argument from gfc_compare_string.
	* arith.c(gfc_compare_expression):  Remove third argument
	from call to gfc_compare_string.
	(gfc_compare_string):  Remove third argument xcoll_table.
	Remove use of xcoll_table.
	* misc.c(gfc_init_1):  Remove call to gfc_simplify_init_1.
	* simplify.c(ascii_table):  Remove.
	(xascii_table): Likewise.
	(gfc_simplify_achar):  ICE if extract_int fails.  Remove use of
	ascii_table.  Warn if -Wsurprising and value < 0 or > 127.
	(gfc_simplify_char):  ICE if extract_int fails. Error if
	value < 0 or value > 255.
	(gfc_simplify_iachar):  Remove use of xascii_table.
	Char values outside of 0..255 are an ICE.
	(gfc_simplify_lge):  Remove use of xascii_table.
	(gfc_simplify_lgt):  Likewise.
	(gfc_simplify_lle):  Likewise.
	(gfc_simplify_llt):  Likewise.
	(invert_table):  Remove.
	(gfc_simplify_init_1):  Remove.

2007-02-16  Brooks Moses  <brooks.moses@codesourcery.com>

	PR 30381
	PR 30420
	* simplify.c (convert_mpz_to_unsigned): New function.
	(convert_mpz_to_signed): New function, largely based on
	twos_complement().
	(twos_complement): Removed.
	(gfc_simplify_ibclr): Add conversions to and from an
	unsigned representation before bit-twiddling.
	(gfc_simplify_ibset): Same.
	(gfc_simplify_ishftc): Add checks for overly large
	constant arguments, only check the third argument if
	it's present, carry over high bits into	the result as
	appropriate, and perform the final conversion back to
	a signed representation using the correct sign bit.
	(gfc_simplify_not): Removed unnecessary masking.

2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR fortran/30720
	* gfortran.dg/array_function_1.f90: New test.

2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR fortran/30611
	* gcc/testsuite/gfortran.dg/repeat_1.f90: New test.

2007-02-16  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30389
	* gfortran.dg/achar_2.f90:  New test.
	* gfortran.dg/achar_3.f90:  New test.

2007-02-16  Brooks Moses  <brooks.moses@codesourcery.com>

	* gfortran.dg/chkbits.f90: Added IBCLR tests; test calls
	for different integer kinds.
	* gfortran.dg/ishft.f90: Renamed to ishft_1.f90...
	* gfortran.dg/ishft_1.f90: ...Renamed from ishft.f90.
	* gfortran.dg/ishft_2.f90: New test.
	* gfortran.dg/ishft_3.f90: New test.

2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR fortran/30611
	* intrinsics/string_intrinsics.c (string_repeat): Don't check
	if ncopies is negative.

From-SVN: r122039
2007-02-16 12:19:01 +00:00
Ralf Wildenhues
e971921d1a re PR other/27843 (gcc-4.2-20060527 make install fails on alphaev68-dec-osf5.1b)
2007-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR other/27843
	* Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
	nested double- and backquotes.

From-SVN: r122033
2007-02-16 09:06:05 +00:00
GCC Administrator
c05b4402ab Daily bump.
From-SVN: r122022
2007-02-16 00:17:18 +00:00
Alexandre Oliva
e116388d4c tree-sra.c (instantiate_missing_elements): Canonicalize bit-field types.
gcc/ChangeLog:
* tree-sra.c (instantiate_missing_elements): Canonicalize
bit-field types.
(sra_build_assignment): New.
(generate_copy_inout, generate_element_copy,
generate_element_zero, generate_one_element_init): Use it.
gcc/testsuite/ChangeLog:
* g++.dg/tree-ssa/sra-1.C: New.

From-SVN: r122009
2007-02-15 17:33:55 +00:00
Kaz Kojima
70c48f7e03 re PR rtl-optimization/29599 (ICE when building the kernel on SH4)
PR rtl-optimization/29599
	Backport from mainline.
	* reload1.c (eliminate_regs_in_insn): Take the destination
	mode into account when computing the offset.

From-SVN: r121985
2007-02-15 07:26:30 +00:00
Kaveh R. Ghazi
b9af85b81f nothrow-1.C: Skip test if -fpic/-fPIC is used.
* g++.dg/tree-ssa/nothrow-1.C: Skip test if -fpic/-fPIC is used.

From-SVN: r121977
2007-02-15 03:23:52 +00:00
Steven G. Kargl
d4c1c2a518 re PR fortran/30799 (Inconsistent handling of bad (invalid) LOGICAL kinds)
2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/30799
	* primary.c (match_logical_constant): Return MATCH_ERROR on invalid kind.
	* gfortran.dg/logical_2.f90: New test.

From-SVN: r121975
2007-02-15 02:02:56 +00:00
GCC Administrator
4be8b7ad0f Daily bump.
From-SVN: r121971
2007-02-15 00:17:26 +00:00
Gerald Pfeifer
cad1bae1f6 * ltconfig (freebsd*): Default to elf.
From-SVN: r121952
2007-02-14 17:08:35 +00:00
GCC Administrator
c60cf7a5cc Daily bump.
From-SVN: r121899
2007-02-14 00:17:29 +00:00
Joseph Myers
b9e7fb8163 invoke.texi, [...]: Refer to gcc-4.2/c99status.html.
* doc/invoke.texi, doc/standards.texi: Refer to
	gcc-4.2/c99status.html.

From-SVN: r121896
2007-02-13 23:55:19 +00:00
Richard Henderson
360795f332 pr29302-1.c: Moved from...
* gcc.c-torture/execute/ieee/pr29302-1.c: Moved from...
        * gcc.c-torture/execute/pr29302-1.c: ... here.

From-SVN: r121888
2007-02-13 10:55:33 -08:00
Andreas Krebbel
3f7f360053 ffi.c (ffi_prep_args, [...]): Add long double handling.
2007-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>

	* src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
	ffi_closure_helper_SYSV): Add long double handling.

From-SVN: r121880
2007-02-13 08:00:50 +00:00
GCC Administrator
4d2f99b9d1 Daily bump.
From-SVN: r121872
2007-02-13 00:17:32 +00:00
Joseph Myers
9a115c947f * sv.po: Update.
From-SVN: r121858
2007-02-12 20:50:30 +00:00
Daniel Franke
0432250a9b backport: intrinsic.texi (HOSTNM): Fix typographical error in syntax.
2007-02-12  Daniel Franke  <franke.daniel@gmail.com>

        Backport from trunk:
        2007-02-11  Daniel Franke  <franke.daniel@gmail.com>
        * intrinsic.texi (HOSTNM): Fix typographical error in syntax.
        (SLEEP): Added section and documentation.

From-SVN: r121856
2007-02-12 14:13:54 -05:00
Jakub Jelinek
054b551f8b re PR classpath/23566 (Need to regenerate TimeZone data against tzdata2006a)
2007-02-09  Jakub Jelinek  <jakub@redhat.com>

        PR 23566
        * java/util/TimeZone.java (timezones): Regenerate from tzdata2007a.

From-SVN: r121850
2007-02-12 17:01:14 +00:00
Paul Thomas
8ceddab3e5 BACKPORTS FROM TRUNK
2007-02-12  Paul Thomas  <pault@gcc.gnu.org>

	BACKPORTS FROM TRUNK

	PR fortran/30284
	PR fortran/30626
	* trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
	from function and make sure that substring lengths are
	translated.
	(is_aliased_array): Remove static attribute.
	* trans.c : Add prototypes for gfc_conv_aliased_arg and
	is_aliased_array.
	* trans-io.c (set_internal_unit): Add the post block to the
	arguments of the function.  Use is_aliased_array to check if
	temporary is needed; if so call gfc_conv_aliased_arg.
	(build_dt): Pass the post block to set_internal_unit and
	add to the block after all io activiy is done.

	PR fortran/30407
	* trans-expr.c (gfc_conv_operator_assign): New function.
	* trans.h : Add prototype for gfc_conv_operator_assign.
	* trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
	a potential operator assignment subroutine.  If it is non-NULL
	call gfc_conv_operator_assign instead of the first assignment.
	( gfc_trans_where_2): In the case of an operator assignment,
	extract the argument expressions from the code for the
	subroutine call and pass the symbol to gfc_trans_where_assign.
	resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
	gfc_resolve_forall_body): Resolve the subroutine call for
	operator assignments.

	PR fortran/30514
	* array.c (match_array_element_spec): If the length of an array is
	negative, adjust the upper limit to make it zero length.

2007-02-12  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30284
	* gfortran.dg/arrayio_11.f90: New test.

	PR fortran/30626
	* gfortran.dg/arrayio_12.f90: New test.

	PR fortran/30407
	* gfortran.dg/where_operator_assign_1.f90: New test.
	* gfortran.dg/where_operator_assign_2.f90: New test.
	* gfortran.dg/where_operator_assign_3.f90: New test.

	PR fortran/30514
	* gfortran.dg/zero_sized_2.f90: New test.

2007-02-12  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30284
	PR fortran/30626
	* io/transfer.c (init_loop_spec, next_array_record): Change to
	lbound rather than unity base.

From-SVN: r121841
2007-02-12 07:34:51 +00:00
Tobias Schlüter
99cab52f62 re PR fortran/30478 (FAIL: gfortran.dg/enum_2.f90 -O (internal compiler error))
2007-02-10  Tobias Schlueter  <tobi@gcc.gnu.org>

PR fortran/30478
fortran/
* decl.c (create_enum_history, gfc_free_enum_history): Formatting
fixes.
(add_init_expr_to_sym): Remove ENUM-specific code-path.
(variable_decl): Likewise.  Formatting fix.
(match_attr_spec): Remove ENUM-specific codepath.
(gfc_match_enum): Fix typo in error message.
(enumerator_decl): New.
(gfc_match_enumerator_def): Strip down to code necessary for
ENUMs, use enumerator_decl.
testsuite/
* gfortran.dg/enum_4.f90: Update expected error message.

From-SVN: r121837
2007-02-12 01:51:43 +01:00
GCC Administrator
f6a8ae3890 Daily bump.
From-SVN: r121834
2007-02-12 00:17:03 +00:00
Mark Mitchell
eedb0fab79 re PR c++/26988 (template constructor in template class derived from virtual base can not be specialized)
PR c++/26988
	* pt.c (determine_specialization): Use skip_artificial_parms_for.
	(fn_type_unificiation): Likewise.
	(get_bindings): Likewise.
	PR c++/26988
	* g++.dg/template/spec34.C: New test

From-SVN: r121826
2007-02-11 21:40:56 +00:00
GCC Administrator
e4dcec70a5 Daily bump.
From-SVN: r121809
2007-02-11 00:17:47 +00:00
Bernhard Fischer
261f2c820a backport: re PR fortran/24783 ([4.1 and 4.2 only] Implicit none in module overwrite explicit in procedure)
2007-02-10  Bernhard Fischer  <aldot@gcc.gnu.org>

	Backport from trunk:
	PR fortran/24783
	* gfortran.dg/implicit_10.f90: New test.

From-SVN: r121806
2007-02-10 23:30:38 +00:00
Bernhard Fischer
2888c8d492 backport: re PR fortran/24783 ([4.1 and 4.2 only] Implicit none in module overwrite explicit in procedure)
2007-02-10  Bernhard Fischer  <aldot@gcc.gnu.org>

	Backport from trunk
	PR fortran/24783
	* resolve.c (resolve_variable): Get the implicit type from the
	symbols namespace rather than the default namespace. Fix whitespace.
	(resolve_formal_arglist, resolve_equivalence): Fix typo.

From-SVN: r121804
2007-02-10 23:25:55 +00:00
John David Anglin
887ab8335d re PR target/30634 (FAIL: gfortran.fortran-torture/execute/intrinsic_set_exponent.f90)
PR target/30634
	* pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
	CONST_DOUBLE and operand 0 is a hard register.
	(movdi): For 64-bit target, remove code to force CONST_DOUBLE to
	memory.  Fail if operand 1 is a non-zero CONST_INT and operand 0
	is a hard floating-point register.

From-SVN: r121803
2007-02-10 19:54:33 +00:00
Mark Mitchell
4b2ab38cc6 re PR target/29487 (Shared libstdc++ fails to link)
2007-02-06  Mark Mitchell  <mark@codesourcery.com>

	PR target/29487
	* tree.h (DECL_REPLACEABLE_P): New macro.
	* except.c (set_nothrow_function_flags): Likewise.

2007-02-06  Mark Mitchell  <mark@codesourcery.com>

	PR target/29487
	* decl.c (finish_function): Use DECL_REPLACEABLE.
	* tree.c (cp_cannot_inline_tree_fn): Likewise.

2007-02-06  Mark Mitchell  <mark@codesourcery.com>

	PR c++/29487
	* g++.dg/eh/weak1-C: New test.
	* g++.dg/eh/weak1-a.cc: Likewise.
	* g++.dg/eh/comdat1.C: Likewise.

From-SVN: r121788
2007-02-10 01:02:30 +00:00
GCC Administrator
2e729688c3 Daily bump.
From-SVN: r121784
2007-02-10 00:17:12 +00:00
Joseph Myers
edb230882a * libiberty.h (pex_write_input): Remove prototype.
From-SVN: r121756
2007-02-09 15:29:21 +00:00
GCC Administrator
90780013f5 Daily bump.
From-SVN: r121730
2007-02-09 00:17:23 +00:00
GCC Administrator
84c21aa1e5 Daily bump.
From-SVN: r121703
2007-02-08 00:17:20 +00:00
Jakub Jelinek
b48faf7c7d re PR c++/30703 (ICE Segmentation fault on using OpenMP)
PR c++/30703
	* gimplify.c (gimplify_scan_omp_clauses): Remove special casing
	of INDIRECT_REF <RESULT_DECL>.

	* cp-gimplify.c (cp_genericize_r): Don't dereference invisiref
	parameters and result decls in omp clauses.
	(cxx_omp_privatize_by_reference): Pass also invisiref PARM_DECLs
	by reference.

	* testsuite/libgomp.c++/pr30703.C: New test.

From-SVN: r121690
2007-02-07 14:37:29 +01:00
Hans-Peter Nilsson
6619bcd074 re PR testsuite/28870 (configuring, over-riding timeout values in testsuite)
PR testsuite/28870
	* testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Use only
	10000 iterations for simulator targets.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Use only 5
	iterations for simulator targets.
	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Ditto.
	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Ditto.
	* testsuite/23_containers/set/modifiers/16728.cc: Use only 10
	iterations for simulator targets.

From-SVN: r121686
2007-02-07 10:12:21 +00:00
Hans-Peter Nilsson
bb9f9510e4 * lib/target-supports.exp (check_effective_target_simulator): New.
From-SVN: r121685
2007-02-07 10:11:36 +00:00
GCC Administrator
27eec87cbf Daily bump.
From-SVN: r121675
2007-02-07 00:17:47 +00:00
Rask Ingemann Lambertsen
22f5b41f5d re PR target/30370 (Build failure in libgcc2 powitf2 with ICE in gen_reg_rtx)
PR 30370 
	* config/rs6000/t-ppccomm: Correct Makefile typo.

From-SVN: r121669
2007-02-06 21:06:36 +00:00
Daniel Franke
b583861ff0 backport: re PR libgomp/30546 (build fail in libgomp when building from SVN because makeinfo is missing)
2007-02-07  Daniel Franke <franke.daniel@gmail.com>

        Backport from mainline:
	2007-01-31  Daniel Franke <franke.daniel@gmail.com>

        PR libgomp/30546
        * configure.ac: Add check for makeinfo
        * Makefile.am: Redefined target libgomp.info, build libgomp.info only
        if an appropiate version of makeinfo is found.
        * aclocal.m4: Regenerated.
        * configure: Regenerated.
        * Makefile.in: Regenerated.
        * testsuite/Makefile.in: Regenerated.

From-SVN: r121662
2007-02-06 13:49:55 -05:00
Daniel Franke
f5847978cb backport: re PR libgomp/30546 (build fail in libgomp when building from SVN because makeinfo is missing)
2007-02-07  Daniel Franke  <franke.daniel@gmail.com>

        Backport from mainline:
	2007-01-31  Daniel Franke <franke.daniel@gmail.com>

	PR libgomp/30546
	* acx.m4 (ACX_PROG_CHECK_VER): Locate a program and check that its
	version is acceptable.

From-SVN: r121661
2007-02-06 13:48:11 -05:00
Daniel Franke
be742a2b7c backport: re PR target/30272 (Build failure under SGI Irix (GFortran))
2007-02-07  Daniel Franke  <franke.daniel@gmail.com>

	Backport from mainline:
	2007-01-25  Daniel Franke  <franke.daniel@gmail.com>

	PR target/30272
	* inclhack.def(broken_cabs): Also remove definition of cabsl.
	* fixincl.x: Regenerate.
	* tests/base/math.h: Update.

From-SVN: r121658
2007-02-06 13:12:22 -05:00
Daniel Franke
8a7a4e92e4 backport: [multiple changes]
2007-02-07  Daniel Franke  <franke.daniel@gmail.com>

        Backport from mainline:
	2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* libgomp.texi: Fix spacing after abbreviations.

	Backport from mainline:
	2007-01-29  Daniel Franke  <franke.daniel@gmail.com>

	PR libgomp/30540
	* libgomp.texi: More about implementation-dependent settings.

From-SVN: r121657
2007-02-06 13:11:30 -05:00
Roger Sayle
56d7ff82b3 re PR libgomp/28296 (libgomp fails to configure on Tru64 UNIX)
PR libgomp/28296
	Backport from mainline.
	Revert:
	2006-07-05  Eric Christopher  <echristo@apple.com>
	* configure.ac: Depend addition of -pthread on host OS.
	* configure: Regenerate.

From-SVN: r121650
2007-02-06 15:15:33 +00:00
Roger Sayle
4527e3ce89 re PR libgomp/28296 (libgomp fails to configure on Tru64 UNIX)
PR libgomp/28296
	Backport from mainline.
	* config/darwin.h (CPP_SPEC): Handle -pthread, transforming
	it into -D_REENTRANT.

From-SVN: r121649
2007-02-06 15:09:17 +00:00
Alexandre Oliva
2041f58574 re PR debug/30189 (ICE on modified_type_die)
gcc/ChangeLog:
PR debug/30189
* dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
even if cv-qualification is the same.
gcc/testsuite/ChangeLog:
PR debug/30189
* gcc.dg/pr30189.c: New test.

From-SVN: r121637
2007-02-06 01:34:37 +00:00
Geoffrey Keating
1a813b4767 darwin-tramp.asm (__trampoline_setup): Call __enable_execute_stack on completion.
* config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
	__enable_execute_stack on completion.

From-SVN: r121634
2007-02-06 00:35:36 +00:00
Steven G. Kargl
1c49f86553 [multiple changes]
2007-02-05  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/30605
	* fortran/invoke.texi: Update documentation.
	* fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
	and -pedantic.

2007-02-04  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/30605
	* gfortran.dg/spread_shape_1.f90: Remove tabs.
	* gfortran.dg/derived_init_2.f90: Ditto.
	* gfortran.dg/elemental_subroutine_3.f90: Ditto.
	* gfortran.dg/array_initializer_1.f90: Ditto.
	* gfortran.dg/do_2.f90: Ditto.
	* gfortran.dg/proc_assign_1.f90: Ditto.

From-SVN: r121631
2007-02-06 00:28:14 +00:00
GCC Administrator
971cebcb18 Daily bump.
From-SVN: r121628
2007-02-06 00:17:30 +00:00
Bob Wilson
9b18fd3f46 * config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
From-SVN: r121623
2007-02-05 23:00:38 +00:00
Steve Ellcey
fd4eab53f0 backport: re PR fortran/30432 ([4.1 only] gfortran.dg/c_by_val_1.f fails on ia64-*-*, problem with %VAL)
Backport from trunk
	PR fortran/30432
	* trans-types.c (gfc_get_function_type):  Do not add void_type_node
	to empty arg list.
	* trans-decl.c (create_function_arglist): Change assert.

From-SVN: r121615
2007-02-05 21:28:46 +00:00
Maxim Kuvyrkov
fa5c4be55a re PR target/29682 (ICE: in change_pattern, at haifa-sched.c:4066 with -O3 -msched-control-spec)
PR target/29682
	* config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to
	general or fp registers.  Add comments.
	* config/ia64/ia64.md (reg_pred_prefix): Add comment.

	PR target/29682
	* gcc-target/ia64/pr29682.c: New test.

From-SVN: r121599
2007-02-05 13:14:20 +00:00
Paolo Carlini
0fa5c21ae5 stl_deque.h (operator<): Qualify call.
2007-02-05  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_deque.h (operator<): Qualify call.

From-SVN: r121598
2007-02-05 12:58:30 +00:00
Mike Stump
cda58ffd57 * mkheaders.in: Allow optional isysroot parameter.
From-SVN: r121591
2007-02-05 00:53:48 +00:00
GCC Administrator
000a4f33c8 Daily bump.
From-SVN: r121587
2007-02-05 00:17:19 +00:00
Richard Guenther
083d001675 backport: re PR middle-end/27657 (bogus undefined reference error to static var with -g and -O)
2007-02-04  Richard Guenther  <rguenther@suse.de>

	Backport from mainline:
	2007-01-30  Richard Guenther  <rguenther@suse.de>

	PR middle-end/27657
	* dwarf2out.c (reference_to_unused): Query varpool if the
	variable was output.

	* g++.dg/debug/pr27657.C: New testcase.

From-SVN: r121576
2007-02-04 15:27:53 +00:00
GCC Administrator
8695f29972 Daily bump.
From-SVN: r121558
2007-02-04 00:17:23 +00:00
Steven G. Kargl
35aef911ea re PR fortran/30683 ([4.2 only] internal compiler error: Segmentation fault)
2007-02-02  Steven G. Kargl <kargl@gcc.gnu.org>

	PR fortran/30683
	* resolve.c (resolve_generic_f): Check for non-NULL sym.
	* gfortran.dg/interface_10.f

From-SVN: r121548
2007-02-03 18:59:53 +00:00
Mike Stump
836bf894ca config.gcc (*-*-darwin*): Backport darwin9.h bits.
* config.gcc (*-*-darwin*): Backport darwin9.h bits.
	* config/darwin9.h: Add.
	* config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
	(output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
	generate a branch island.
Radar 4967371

From-SVN: r121535
2007-02-03 05:25:20 +00:00
GCC Administrator
2fd9a2e498 Daily bump.
From-SVN: r121527
2007-02-03 00:17:14 +00:00
Hui-May Chang
c98f628e70 revert: i386.c (ix86_function_arg_regno_p): Put back the code before the following patch under TARGET_MACHO.
2007-02-02  Hui-May Chang  <hm.chang@apple.com>

	Revert for x86 darwin:
	2005-06-19  Uros Bizjak  <uros@kss-loka.si>
	
	* config/i386/i386.c (ix86_function_arg_regno_p): Put back the
	code before the following patch under TARGET_MACHO.
	(ix86_function_value_regno_p): Likewise.

From-SVN: r121516
2007-02-02 18:36:31 +00:00
Simon Martin
19beae8ab5 re PR c++/28266 (ICE on invalid default variable)
PR c++/28266
        * gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
        expanded only once even if an error occurs.

From-SVN: r121514
2007-02-02 13:01:22 -05:00
Jakub Jelinek
ad329bf5b1 re PR c++/30536 (ICE with __thread and register)
PR c++/30536
	* decl.c (grokdeclarator): If __thread is used together with
	a storage class other than extern and static, clear thread_p
	after issuing diagnostics and fall through to checking the
	storage class.

	* g++.dg/tls/diag-5.C: New test.

From-SVN: r121505
2007-02-02 16:23:58 +01:00
Jakub Jelinek
39b0fe152a re PR middle-end/30473 (Internal Compiler Error with a sprintf with few arguments for format %s)
PR middle-end/30473
	* builtins.c (fold_builtin_sprintf): Do not attempt to optimize
	sprintf (str, "%s").  Do not optimize sprintf (str, "nopercent", p++).

	* gcc.dg/pr30473.c: New test.
	* gcc.c-torture/execute/20070201-1.c: New test.

From-SVN: r121503
2007-02-02 16:22:50 +01:00
Guy Martin
b62d2548ac pa.md (tp_load): Correct mfctl instruction syntax.
* pa.md (tp_load): Correct mfctl instruction syntax.

From-SVN: r121488
2007-02-02 02:55:50 +00:00
Geoffrey Keating
bb53e71d6a rs6000.c (rs6000_stack_info): Correct altivec_padding_size calculation on AIX.
* config/rs6000/rs6000.c (rs6000_stack_info): Correct
	altivec_padding_size calculation on AIX.  Improve comment, add
	assert to verify that it's right.

From-SVN: r121486
2007-02-02 01:49:35 +00:00
GCC Administrator
f06523d34b Daily bump.
From-SVN: r121480
2007-02-02 00:17:26 +00:00
Paolo Carlini
339f076ef1 re PR libstdc++/14493 (std::bad_alloc::what() does not explain what happened)
2007-02-01  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14493
	* libsupc++/typeinfo (bad_cast::what, bad_typeid::what): Declare.
	* libsupc++/tinfo.cc: Define.	
	* libsupc++/exception (bad_exception::what): Declare.
	* libsupc++/eh_exception.cc: Define.
	(exception::what): Adjust, don't use typeid.
	* libsupc++/new (bad_alloc::what): Declare.
	* libsupc++/new_handler.cc: Define.
	* config/abi/pre/gnu.ver: Export the new methods @3.4.9.
	* testsuite/18_support/14493.cc: New.

2007-02-01  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29496
	* include/debug/safe_base.h (_Safe_sequence_base::_M_get_mutex,
	_Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
	New.
	* src/debug.cc: Define the latter.
	(_Safe_sequence_base::_M_detach_all, _M_detach_singular,
	_M_revalidate_singular, _M_swap): Use the mutex.
	(_Safe_iterator_base::_M_attach, _M_detach): Adjust, forward to the
	*_single version.
	* include/debug/safe_iterator.h (_Safe_iterator<>::_M_attach_single,
	_M_invalidate_single): New.
 	* include/debug/safe_iterator.tcc: Define.
	(_Safe_iterator<>::_M_invalidate): Adjust, forward to
	_M_invalidate_single.
	* include/debug/safe_sequence.h (_Safe_sequence<>::_M_invalidate_if,
	_M_transfer_iter): Use the mutex, adjust, forward to the *_single
	versions of _M_invalidate and _M_attach.
	* config/abi/pre/gnu.ver (_Safe_sequence_base::_M_get_mutex,
	_Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
	Add @GLIBCXX_3.4.9; adjust.

From-SVN: r121465
2007-02-01 15:56:37 +00:00
GCC Administrator
87f4501658 Daily bump.
From-SVN: r121448
2007-02-01 00:17:21 +00:00
Geoffrey Keating
08c419a8fe * g++.dg/eh/simd-4.C (main): Also catch SIGSEGV.
From-SVN: r121445
2007-02-01 00:08:45 +00:00
Anatoly Sokolov
acf77e20c7 re PR target/19087 (Overflowed address in dwarf debug line information)
PR target/19087
	* config/avr/avr.c (DWARF2_ADDR_SIZE): Define.

From-SVN: r121428
2007-01-31 20:35:01 +03:00
Thomas Koenig
348c97bd1a backport: re PR fortran/30452 ([4.2, 4.1 only] Strange syntax error with high-value character)
2007-01-31  Thomas Koenig  <Thomas.Koenig@online.de>

	Backport from trunk
	PR fortran/30452
	* scanner.c(next_char):  Cast next character to unsigned
	to avoid confusion with error return codes.

2007-01-31  Thomas Koenig  <Thomas.Koenig@online.de>

	Backport from trunk
	PR fortran/30452
	* gfortran.dg/string_0xfe_0xff_1.f90:  New test.

From-SVN: r121378
2007-01-31 07:37:08 +00:00
GCC Administrator
6ab3f6dd7b Daily bump.
From-SVN: r121368
2007-01-31 00:17:42 +00:00
Thomas Koenig
b3f7fbec2b backport: re PR libfortran/30525 ([4.2, 4.1 only] character comparisons with padding)
2007-01-30  Thomas Koenig  <Thomas.Koenig@online.de>

	Backport from trunk
	PR libfortran/30525
	* intrinsics/string_intrinsics.c(compare_string):  Make
	sure that comparisons are done unsigned.

2007-01-30  Thomas Koenig  <Thomas.Koenig@online.de>

	Backport from trunk
	PR libfortran/30525
	* gfortran.dg/char_comparison_1.f:  New test.

From-SVN: r121357
2007-01-30 20:18:05 +00:00
Tobias Burnus
d4fcbd2118 re PR fortran/30276 (gfortran include problem)
2007-01-30  Tobias Burnus  <burnus@net-b.de>
            Jakub Jelinek  <jakub@redhat.com>

       PR fortran/30276
       * scanner.c (gfc_open_included_file): Support absolute pathnames.


Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r121350
2007-01-30 19:13:14 +01:00
Tobias Burnus
0013d88c47 re PR libfortran/30015 ([4.1 only] Intrinsic date_and_time can go back in time)
2007-01-30  Tobias Burnus  <burnus@net-b.de>

        PR libfortran/30015
        * intrinsics/date_and_time.c (date_and_time): Fix case where time
          can go backwards.
        * configure.ac: Remove AC_TRY_RUN test for timezone in
          gettimeofday.
        * acinclude.m4: Ditto.
        * configure: Regenerate.
        * config.h.in: Regenerate.

From-SVN: r121348
2007-01-30 18:52:46 +01:00
Richard Guenther
910aecb291 re PR c/30313 (sizeof of expression including bit-field)
2007-01-30  Richard Guenther  <rguenther@suse.de>

	PR middle-end/30313
	* passes.c (execute_one_pass): Reset in_gimple_form to not
	confuse non-unit-at-a-time mode.

	* gcc.dg/torture/pr30313.c: New testcase.

From-SVN: r121338
2007-01-30 13:34:10 +00:00
Tobias Burnus
ae2e83a712 backport: lang-specs.h: Add support for .f03 and .F03 extensions.
fortran/
2007-01-30  Tobias Burnus  <burnus@net-b.de>

       Backport from mainline.
       * lang-specs.h: Add support for .f03 and .F03 extensions.
       * gfortran.texi: Document .f03 extension.
       * options.c (form_from_filename): Recognize .f03.

testsuite/
2007-01-30  Tobias Burnus  <burnus@net-b.de>

       Backport from mainline.
       * gfortran.dg/gomp/gomp.exp: Support .f03 extension.
       * gfortran.dg/vect/vect.exp: Ditto.
       * gfortran.dg/dg.exp: Ditto.
       * gfortran.fortran-torture/execute/execute.exp: Ditto.
       * gfortran.fortran-torture/compile/compile.exp: Ditto.

libgomp/
2007-01-30  Tobias Burnus  <burnus@net-b.de>

       Backport from mainline.
       2007-01-26  Tobias Burnus  <burnus@net-b.de>

       * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.

From-SVN: r121333
2007-01-30 09:08:33 +01:00
Kaloian Doganov
e5647dd580 re PR libgcj/30600 (gnu.gcj.convert.BytesToCharsetAdaptor calculates bad argument for java.nio.Buffer.limit(int))
2007-01-29  Kaloian Doganov  <kaloian@doganov.org>

	PR libgcj/30600:
	* gnu/gcj/convert/BytesToCharsetAdaptor.java (read): Fix call to
	'limit'.

From-SVN: r121331
2007-01-30 03:08:19 +00:00
Roger Sayle
d3c92c8207 backport: trans-stmt.c (forall_info): Replace the next_nest and outer fields that previously implemented a...
Backport from mainline
	* trans-stmt.c (forall_info): Replace the next_nest and outer
	fields that previously implemented a doubly-linked list with a
	single prev_nest field (singly-linked list).
	(gfc_trans_nested_forall_loop): The nested_forall_info argument
	now denotes the innermost FORALL in the loop nest.
	(gfc_trans_forall_1): Link/cons the new "info" to the head of the
	nested_forall_info linked list.  Free the current "info" when done.

	* dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
	i.e. that the ARRAY_REF doesn't mention components.

	* gfortran.dg/forall_7.f90: New test case.

From-SVN: r121328
2007-01-30 02:02:18 +00:00
GCC Administrator
a6b7921f84 Daily bump.
From-SVN: r121324
2007-01-30 00:17:36 +00:00
Anatoly Sokolov
06ed96d754 * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__.
From-SVN: r121316
2007-01-30 01:52:27 +03:00
Mike Stump
9beeb5a21e gccint.texi (Top): Rename Loop Representation to Loop Analysis and Representation to resolve case...
* doc/gccint.texi (Top): Rename Loop Representation to Loop
	Analysis and Representation to resolve case insensitive conflict.
	* doc/loop.texi (Loop Analysis and Representation): Likewise.

From-SVN: r121307
2007-01-29 20:14:24 +00:00
Josh Conner
aae9985fbf re PR middle-end/29683 (Arg split between stack/regs can cause stack corruption)
2007-01-29  Josh Conner  <jconner@apple.com>

	PR middle-end/29683
	* gcc.dg/pr29683.c: New.

From-SVN: r121290
2007-01-29 16:59:35 +00:00
Josh Conner
91e0a9bc9e re PR middle-end/29683 (Arg split between stack/regs can cause stack corruption)
2007-01-29  Josh Conner  <jconner@apple.com>

        PR middle-end/29683
        * calls.c (compute_argument_addresses): Set stack and stack_slot
        for partial args, too.
        (store_one_arg): Use locate.size.constant for the size when
        generating a save_area.

From-SVN: r121289
2007-01-29 16:58:04 +00:00
Roger Sayle
95561cf64b re PR fortran/30404 ([4.1 only] Wrong FORALL result)
PR fortran/30404
	* trans-stmt.c (forall_info): Remove pmask field.
	(gfc_trans_forall_loop): Remove NVAR argument, instead assume that
	NVAR covers all the interation variables in the current forall_info.
	Add an extra OUTER parameter, which specified the loop header in
	which to place mask index initializations.
	(gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
	Change the semantics of MASK_FLAG to only control the mask in the
	innermost loop.
	(compute_overall_iter_number): Optimize the trivial case of a
	top-level loop having a constant number of iterations.  Update
	call to gfc_trans_nested_forall_loop.  Calculate the number of
	times the inner loop will be executed, not to size of the 
	iteration space.
	(allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
	sizeof(type) == 1.  Tidy up.
	(gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
	to gfc_trans_nested_forall_loop.
	(gfc_trans_pointer_assign_need_temp): Likewise.
	(gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
	LENVAR local variables.  Split mask allocation into a separate
	hunk/pass from mask population.  Use allocate_temp_for_forall_nest
	to allocate the FORALL mask with the correct size.  Update calls
	to gfc_trans_nested_forall_loop.
	(gfc_evaluate_where_mask): Update call to
	gfc_trans_nested_forall_loop.
	(gfc_trans_where_2): Likewise.

	* gfortran.dg/forall_6.f90: New test case.
	* gfortran.dg/dependency_8.f90: Update test to find "temp" array.
	* gfortran.dg/dependency_13.f90: Likewise.


Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r121279
2007-01-29 03:27:07 +00:00
GCC Administrator
b9463fd37f Daily bump.
From-SVN: r121276
2007-01-29 00:17:29 +00:00
Andrew Pinski
19107d9889 re PR c++/28988 (g++ does not check first type name in pseudo-destructor-name)
2007-01-28  Andrew Pinski  <pinskia@gmail.com>

        PR C++/28988
        * semantics.c (finish_pseudo_destructor_expr): Check the
        destrutor name by calling check_dtor_name.

2007-01-28  Andrew Pinski  <pinskia@gmail.com>

        PR C++/28988
        * g++.dg/expr/dtor4.C: New test.

From-SVN: r121262
2007-01-28 10:18:52 -08:00
Michele Sandri
9c5a8333f4 2007-01-28 Michele Sandri <gpointorama@gmail.com>
* gnu/java/nio/channels/natFileChannelWin32.cc
	(lock): Implemented.
	(unlock): Implemented.

From-SVN: r121258
2007-01-28 15:14:56 +00:00
GCC Administrator
78b69a1c56 Daily bump.
From-SVN: r121249
2007-01-28 00:17:20 +00:00
Gerald Pfeifer
30c4761dfe Add missing doc/install.texi to ChangeLog entry of the previous commit.
From-SVN: r121244
2007-01-28 00:06:53 +00:00
Ralf Wildenhues
f86ed698eb sourcebuild.texi: Add comma for clarity.
* doc/sourcebuild.texi: Add comma for clarity.
	* doc/extend.texi: Fix some typos.
	* doc/passes.texi: Likewise.
	* doc/cppinternals.texi: Likewise.
	* doc/c-tree.texi: Likewise.
	* doc/tree-ssa.texi: Likewise.
	* doc/install.texi: Likewise.

From-SVN: r121243
2007-01-28 00:05:22 +00:00
Steve LoBasso
d48b55df21 deque.tcc (deque<>::erase(iterator, iterator)): Fix condition.
2007-01-27   Steve LoBasso <slobasso@yahoo.com>
	     Paolo Carlini  <pcarlini@suse.de>

	* include/bits/deque.tcc (deque<>::erase(iterator, iterator)):
	Fix condition.
	* testsuite/23_containers/deque/modifiers/erase/3.cc: New.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r121232
2007-01-27 16:10:10 +00:00
Steven G. Kargl
aceb89f14e Add 'PR fortran/30278' to the previous commit.
From-SVN: r121230
2007-01-27 05:30:57 +00:00
Steven G. Kargl
34ea98e8b7 [multiple changes]
2007-01-26  Steven Bosscher  <stevenb.gcc@gmail.com>
                Steven G. Kargl <kargl@gcc.gnu.org>

        * fortran/io.c (next_char): Deal with backslash escaped characters.
        Issue warnings in non -std=gnu cases.
        * fortran/primary.c (next_string_char): Issue warnings in non

2007-01-26  Steven G. Kargl  <kargl@gcc.gnu.org>

        * gfortran.dg/backslash_3.f: New test.

From-SVN: r121228
2007-01-27 05:24:07 +00:00
GCC Administrator
c259c3073e Daily bump.
From-SVN: r121224
2007-01-27 00:17:24 +00:00
Joseph Myers
83295b3362 * lib/target-supports.exp
(check_effective_target_powerpc_altivec): New.
	(check_effective_target_vect_cmdline_needed): Use it.

From-SVN: r121220
2007-01-27 00:02:46 +00:00
Zdenek Dvorak
2462d75c45 re PR tree-optimization/29516 (gfortran miscompiled)
PR tree-optimization/29516
	* tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
	most_expensive_mult_to_index, addr_to_parts,
	create_mem_ref, maybe_fold_tmr): Make the type of
	fields of TARGET_MEM_REF sizetype.
	(move_fixed_address_to_symbol, move_pointer_to_base,
	aff_combination_remove_elt): New functions.
	* tree.def (TARGET_MEM_REF): Add comment on types of
	the operands.
	* gcc.dg/tree-ssa/loop-20.c: New test.

From-SVN: r121214
2007-01-26 19:56:05 +00:00
Paolo Carlini
1577f15749 re PR libstdc++/30586 (Namespace pollution in c++ headers)
2007-01-26  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/30586
	* config/cpu/ia64/atomic_word.h: Just include <bits/cxxabi_tweaks.h>.
	* testsuite/abi/30586.cc: New.

From-SVN: r121210
2007-01-26 18:03:44 +00:00
Jerry DeLisle
2e1786d932 re PR fortran/30532 (^Z as EOF?)
2007-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30532
	* gfortran.dg/ctrl-z.f90:  New test.
	
2007-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30481
	* gfortran.dg/namelist_assumed_char.f90:  New test.

From-SVN: r121208
2007-01-26 17:28:07 +00:00
Jerry DeLisle
470c1b53ee [multiple changes]
2007-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30532
	* scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
	
2007-01-26  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30481
	* match.c (gfc_match_namelist): Add check for assumed size character
	in namelist and provide error if found.

From-SVN: r121207
2007-01-26 17:25:06 +00:00
Benjamin Kosnik
c98eaf15f3 revert: re PR libstdc++/28125 (Cannot build cross compiler for Solaris: configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES)
2007-01-26  Benjamin Kosnik  <bkoz@redhat.com>

	Revert.
      	2006-12-11  Benjamin Kosnik  <bkoz@redhat.com>
	PR libstdc++/28125
	* acinclude.m4 (GLIBCXX_CHECK_ICONV_SUPPORT): Remove link test, ie
	AC_CHECK_LIB for libiconv. Instead, use bits of AM_ICONV.
        * configure: Regenerate.
        * scripts/testsuite_flags.in (cxxflags): Add LIBICONV bits.

From-SVN: r121203
2007-01-26 13:49:42 +00:00
GCC Administrator
202060e6a1 Daily bump.
From-SVN: r121194
2007-01-26 00:17:20 +00:00
Geoffrey Keating
a5e47e63dd re PR target/25127 (internal compiler error: in rs6000_emit_prologue, at config/rs6000/rs6000.c:14039)
2007-01-24  Geoffrey Keating  <geoffk@apple.com>

	PR 25127
	* config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
	save Altivec registers in an eh_return function.
	(compute_vrsave_mask): Likewise.
	(rs6000_stack_info): Correct AIX/Darwin stack alignment computation
	for saving Altivec registers.
	(rs6000_emit_prologue): Don't allocate stack twice in
	eh_return function.  Correct expected value of altivec_save_offset
	when using save_world.  Describe save of R0 to stack when using
	save_world.  Describe stack pointer adjustment when using
	save_world.  Remove duplicated eh_return parameter register saving.
	Update sp_offset variable after save_world.
	* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
	darwin-world.asm.
	(LIB2FUNCS_EXTRA): Add darwin-world.asm.
	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
	implies Altivec.

Index: gcc/testsuite/ChangeLog
2007-01-24  Geoffrey Keating  <geoffk@apple.com>

	* gcc.target/powerpc/darwin-ehreturn-1.c: New.
	* g++.dg/eh/simd-2.C: Also run on Darwin.
	* g++.dg/eh/simd-3.C: New.
	* g++.dg/eh/simd-4.C: New.

From-SVN: r121190
2007-01-26 00:03:28 +00:00
Daniel Franke
0f9e4c6234 backport: [multiple changes]
2007-01-25  Daniel Franke <franke.daniel@gmail.com>

        Backport from mainline:
	2006-12-21  Daniel Franke  <franke.daniel@gmail.com>

        PR libgomp/28209
        * libgomp.texi: New file.
        * configure.ac: Add --enable-generated-files-in-srcdir option.
        * Makefile.am: Add info, dvi, pdf, html targets. On request,
        copy files to srcdir.
        * Makefile.in: Regenerated.
        * testsuite/Makefile.in: Regenerated.
        * NOTES: Removed.

	Backport from mainline:
	2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
	* libgomp.texi: Document implementation specific default values of 
	environment variables.

From-SVN: r121187
2007-01-25 17:33:43 -05:00
Benjamin Kosnik
4eb621a738 PR libstdc++/29722 continued
2007-01-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/29722 continued
	* testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add
	libsupc++ library directory.
	* testsuite/abi/cxx_runtime_only_linkage.cc: Remove hard-coded
	path specification.

From-SVN: r121175
2007-01-25 15:30:32 +00:00
Geoffrey Keating
b33ebc0163 * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
From-SVN: r121166
2007-01-25 07:13:44 +00:00
Marco Trudel
f6bb2dcbde 2007-01-24 Marco Trudel <mtrudel@gmx.ch>
* java/security/Security.java
	Imported the version from GNU classpath 0.92 (kept GCJ differences).
	* classpath/gnu/javax/crypto/pad/PKCS7.java (unpad): Removed an
	unnecessary test.
	* classpath/javax/crypto/CipherOutputStream.java: Re-implemented.
	* classpath/gnu/javax/crypto/jce/cipher/CipherAdapter.java
	(engineUpdate(byte[], int, int)): Always keep data for unpadding
	in padded decryption mode and check if it is a complete block.
	(engineUpdate(byte[], int, int, byte[], int)): Likewise.
	(engineDoFinal(byte[], int, int)): In padded decryption mode, take
	partially processed data into account.

From-SVN: r121154
2007-01-25 00:25:05 +00:00
GCC Administrator
3562fb3ff3 Daily bump.
From-SVN: r121151
2007-01-25 00:17:44 +00:00
Jakub Jelinek
ea6db4a07b re PR middle-end/27416 (ICE on invalid firstprivate/lastprivate)
PR middle-end/27416
	* gimplify.c (omp_check_private): New function.
	(gimplify_scan_omp_clauses): Use it for
	firstprivate/lastprivate/reduction.

	* gcc.dg/gomp/pr27416.c: New test.

From-SVN: r121136
2007-01-24 22:05:49 +01:00
Jakub Jelinek
3adce70464 re PR middle-end/30494 (ICE with VLA and openmp)
PR middle-end/30494
	* gimplify.c (omp_add_variable): Don't call omp_notice_variable
	on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.

	* gcc.dg/gomp/pr30494.c: New test.
	* g++.dg/gomp/pr30494.C: New test.

	* testsuite/libgomp.c/pr30494.c: New test.

From-SVN: r121135
2007-01-24 22:03:31 +01:00
Jakub Jelinek
e8807b8efc re PR middle-end/30421 (incorrect warning when using firstprivate and lastprivate clauses)
PR middle-end/30421
	* omp-low.c (lower_omp_for_lastprivate): Add dlist argument.
	If lower_lastprivate_clauses emits some statements, append them
	to dlist rather than body_p and to body_p append an initializer.
	(lower_omp_for): Adjust caller.

	* gcc.dg/gomp/pr30421.c: New test.

From-SVN: r121134
2007-01-24 22:01:37 +01:00
Andrew Pinski
19a8220faa re PR objc/27438 ([unit-at-a-time] '_OBJC_INSTANCE_0' defined but not used warning)
2007-01-23  Andrew Pinski  <pinskia@gmail.com>

        PR objc/27438
        * objc-act.c (objc_add_static_instance): Mark the decl as
        TREE_USED.

2007-01-23  Andrew Pinski  <pinskia@gmail.com>

        PR objc/27438
        * objc.dg/const-str-12.m: New test.

From-SVN: r121104
2007-01-23 22:06:29 -08:00
GCC Administrator
2542ee4b97 Daily bump.
From-SVN: r121096
2007-01-24 00:17:33 +00:00
Marco Trudel
34d72d2817 Arrays.java (binarySearch): Change comparison order.
2007-01-23  Marco Trudel  <mtrudel@gmx.ch>

	* java/util/Arrays.java (binarySearch): Change comparison order.

From-SVN: r121090
2007-01-23 23:07:51 +00:00
Paul Thomas
a2cc6bbb44 re PR fortran/30549 (compiler warning in resolve.c: possibly uninitialized use of name)
2007-01-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30549
	* resolve.c (pure_function): Add return of name for state-
	ment functions..

From-SVN: r121080
2007-01-23 07:19:26 +00:00
Paul Thomas
0b4fe66c29 Backport PRs 28172, 29389, 29712, 30283
2007-01-23  Paul Thomas  <pault@gcc.gnu.org>

	Backports from trunk

	PR fortran/28172
	* trans-stmt.c (gfc_trans_call): If it does not have one, get
	a backend_decl for an alternate return.

	PR fortran/29389
	* resolve.c (pure_function): Statement functions are pure. Note
	that this will have to recurse to comply fully with F95.

	PR fortran/29712
	* resolve.c (resolve_function): Only a reference to the final
	dimension of an assumed size array is an error in an inquiry
	function.

	PR fortran/30283
	* resolve.c (resolve_function): Make sure that the function
	expression has a type.

2007-01-23  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/28172
	* gfortran.dg/altreturn_4.f90: New test.

	PR fortran/29389
	* gfortran.dg/stfunc_4.f90: New test.

	PR fortran/29712
	* gfortran.dg/bound_2.f90: Reinstate commented out line.
	* gfortran.dg/initialization_1.f90: Change warning.

	PR fortran/30283
	* gfortran.dg/specification_type_resolution_2.f90: New test.

From-SVN: r121077
2007-01-23 05:53:14 +00:00
Andrew Pinski
d65838c7bd [multiple changes]
2007-01-22  Andrew Pinski  <pinskia@gmail.com>

        PR fortran/29951
        * gfortran.fortran-torture/execute/transfer2.f90: New test.

        PR Fortran/29410
        * gfortran.fortran-torture/execute/transfer1.f90: New test.
2007-01-22 Andrew Pinski  <pinskia@gmail.com>

        PR fortran/29951
        * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Change to
        call memcpy instead of creating a VIEW_CONVERT_EXRP.

        PR fortran/29410
        * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer):
        Change over to create VIEW_CONVERT_EXPR instead of using an
        ADDR_EXPR, a cast and then an indirect reference.

From-SVN: r121076
2007-01-22 21:15:21 -08:00
GCC Administrator
88e992e594 Daily bump.
From-SVN: r121070
2007-01-23 00:17:35 +00:00
Tom Tromey
29eebc12f4 re PR java/29812 (env->klass value is not updated during the native calls)
PR java/29812:
	* java/lang/natRuntime.cc (_load): Push a new system frame before
	calling JNI_OnLoad.
	* include/jvm.h (_Jv_JNI_PopSystemFrame): Declare.
	(_Jv_GetJNIEnvNewFrameWithLoader): Likewise.
	* jni.cc (struct _Jv_JNI_LocalFrame) <marker>: Now unsigned char.
	<allocated_p>: Now bool.
	<loader>: New field.
	(_Jv_JNI_EnsureLocalCapacity): Updated.
	(_Jv_JNI_NewLocalRef): Likewise.
	(_Jv_JNI_NewLocalRef): Likewise.
	(_Jv_JNI_PopLocalFrame): Likewise.
	(_Jv_JNI_FindClass): Likewise.
	(_Jv_GetJNIEnvNewFrame): Likewise.
	(_Jv_JNI_AttachCurrentThread): Likewise.
	(_Jv_GetJNIEnvNewFrameWithLoader): New function.
	(_Jv_GetJNIEnvNewFrame): Use it.
	* include/jni_md.h (_CLASSPATH_JNIENV_CONTENTS): Removed 'klass'.

From-SVN: r121066
2007-01-22 23:33:24 +00:00
Brooks Moses
0e9fcdd96f intrinsic.texi (ACHAR): Added cross-references.
* intrinsic.texi (ACHAR): Added cross-references.
	(CHAR): Put cross-references in alphabetical order.
	(IACHAR): Added cross-references.
	(ICHAR): Added cross-references.

From-SVN: r121050
2007-01-21 18:48:36 -08:00
GCC Administrator
0dc2928931 Daily bump.
From-SVN: r121044
2007-01-22 00:17:24 +00:00
Andrew Pinski
9cdcc9f534 re PR objc/30479 (Precompiled headers don't seem to work with GNU ObjC)
2007-01-20  Andrew Pinski  <pinskia@gmail.com>

        PR objc/30479
        * objc-act.c (hash_interface): Use IDENTIFIER_HASH_VALUE instead
        of htab_hash_pointer.
        (lookup_interface): Likewise.
        (add_class): Likewise.

2007-01-20  Andrew Pinski  <pinskia@gmail.com>

        PR objc/30479
        * objc.dg/pch: New directory.
        * objc.dg/pch/pch.exp: New file.
        * objc.dg/pch/interface-1.m: New test.
        * objc.dg/pch/interface-1.hs: New include file.
        * lib/objc.exp (objc_target_compile): Add
        "-x objective-c-header" in front of the sources if this is
        a precompiled header being compiled.

From-SVN: r121040
2007-01-21 15:33:46 -08:00
Eric Botcazou
e8bed1a3d1 re PR rtl-optimization/29329 (internal consistency failure)
PR rtl-optimization/29329
	* combine.c (replaced_rhs_insn): Rename to i2mod.
	(replaced_rhs_value): Rename to i2mod_new_rhs.
	(i2mod_old_rhs): New global variable.
	(combine_instructions): Adjust for above change.  Save a copy of
	the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
	note are substituted in the second instruction.
	(distribute_notes) <REG_DEAD>: Adjust for above change.  Do not
	ditch the note if it pertains to the second eliminated register
	and this register is mentioned in i2mod_old_rhs.

	Revert:
	2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
	the insn to which the note was originally attached.

From-SVN: r121038
2007-01-21 22:33:52 +00:00
Roger Sayle
b5047ab834 trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless implementation for the SIGN intrinsic with integral operands.
* trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
	implementation for the SIGN intrinsic with integral operands.
	(gfc_conv_intrinsic_minmax): Fix whitespace.

	* gfortran.dg/intrinsic_sign_1.f90: New test case.
	* gfortran.dg/intrinsic_sign_2.f90: Likewise.


Co-Authored-By: Brooks Moses <brooks.moses@codesourcery.com>
Co-Authored-By: Francois-Xavier Coudert <coudert@clipper.ens.fr>

From-SVN: r121031
2007-01-21 15:50:57 +00:00
Paolo Carlini
a061559f1f re PR libstdc++/29989 (missed #undef min/max in <limits>)
2007-01-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29989
	* include/bits/c++config: #undef min and max.
	* include/bits/stl_algobase.h: Remove min and max #undefs.
	* testsuite/18_support/numeric_limits/29989.cc: New.

From-SVN: r121030
2007-01-21 15:36:27 +00:00
Paolo Carlini
5bdff68676 re PR libstdc++/29989 (missed #undef min/max in <limits>)
2007-01-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29989
	* include/bits/c++config: #undef min and max.
	* include/bits/stl_algobase.h: Remove min and max #undefs.
	* testsuite/18_support/numeric_limits/29989.cc: New.

From-SVN: r121029
2007-01-21 15:34:16 +00:00
Brooks Moses
b4e983bca3 backport: gfortran.texi: Update copyright to include 2007...
Merge documentation from mainline:
        
	* gfortran.texi: Update copyright to include 2007, change
	@code-type macros to appropriate variants (@command, @option,
	etc.)
	(title page): Removed erroneous '*'.
 	(Introduction): Lower "Part I: Introduction" to a chapter,
	renumber Parts II and III to Parts I and II.
 	(GNU Fortran and GCC): Rewrite
	(GFORTRAN_DEFAULT_RECL): Added units to description.
 	(Extensions): Miscellaneous minor rewriting and copyediting.
 	(BOZ-literal constants): Renamed from Hexadecimal constants.
 	(Hollerith constants support): Added explanation and 
 	suggestions for standard-conforming modern equivalents.

	* intrinsic.texi: General whitespace cleanup, edited all
	"Syntax" examples to a consistent form, update copyright
	to include 2007, change @findex entries to @cindex entries.
	(menu): Added TIME8, removed UNMASK.
 	(Introduction): Rename to "Introduction to Intrinsics" to
	avoid conflict with the new chapter, rewrite first paragraph.
	(AINT): Clarified argument requirement.
	(ANINT): Clarified argument requirement.
	(CEILING): Clarified argument requirement.
	(CHAR): Clarified argument requirement.
	(CMPLX): Clarified argument requirement.
	(DCMPLX): Clarified argument requirement.
	(FGET): Line rewrapping.
	(FLOOR): Clarified argument requirement.
	(GMTIME): Added documentation.
	(IAND): Added cross-reference.
	(IBCLR): Add documentation.
	(IBITS): Add documentation.
	(IBSET): Add documentation.
	(IEOR): Add documentation.
	(IERRNO): Add documentation.
	(INDEX): Add documentation.
	(INT): Collapsed examples, clarified argument requirement.
	(IOR): Add documentation.
	(ISHFT): Add documentation.
	(ISHFTC): Add documentation.
	(KILL): Add documentation.
	(LEN_TRIM): Add documentation.
	(LGE): Add documentation.
	(LGT): Add documentation.
	(LINK): Add documentation.
	(LLE): Add documentation.
	(LLT): Add documentation.
	(LNBLNK): Add documentation.
	(LOGICAL): Added documentation.
	(LSHIFT): Added documentation.
	(LTIME): Added documentation.
	(MATMUL): Added documentation.
	(MAX): Added documentation.
	(MAXLOC): Added documentation.
	(MAXVAL): Added documentation.
	(MERGE): Added documentation.
	(MIN): Added documentation.
	(MINLOC): Added documentation.
	(MINVAL): Added documentation.
	(MVBITS): Moved to correct place, added documentation.
	(NOT): Added documentation.
	(PERROR): Added documentation.
	(RAN): Moved to correct place, added documentation.
	(REAL): Clarified argument requirement.
	(RENAME): Added documentation.
	(RSHIFT): Clarified argument requirement.
	(SIGN): Corrected table specification.
	(SYMLNK): Added documentation.
	(SYSTEM): Added documentation.
	(TIME): Added documentation.
	(TIME8): Added section and documentation.
	(UBOUND): Add documentation.
	(UMASK): Added documentation.
	(UNLINK): Add documentation.
	(UNMASK): Removed erroneous section.

	* invoke.texi: Update copyrights to include 2007, 
 	standardize and improve index entries, change @code-type
	macros to appropriate variants (@command, @option, etc.).
 	(OpenMP): Added index entry.

From-SVN: r121021
2007-01-20 18:36:53 -08:00
GCC Administrator
0e39ead8af Daily bump.
From-SVN: r121017
2007-01-21 00:17:43 +00:00
John David Anglin
6f11c3b76f pa.c (output_move_double): Change array size of xoperands to 4.
* pa.c (output_move_double): Change array size of xoperands to 4.

From-SVN: r121003
2007-01-20 16:31:38 +00:00
Francois-Xavier Coudert
11af57783c re PR fortran/30446 ([4.1 only] -J option doesn't add path to search list)
PR fortran/30446
	* options.c (gfc_handle_module_path_options): Path used in -J
	option is now added to the module search path.

	PR libfortran/26893
	* acinclude.m4 (LIBGFOR_WORKING_GFORTRAN): New check.
	* configure.ac: Add call to LIBGFOR_WORKING_GFORTRAN.
	* configure: Regenerate.
	* config.h.in: Regenerate because it was forgottent in the last
	commit.

From-SVN: r121001
2007-01-20 15:55:41 +00:00
GCC Administrator
bd630fe1a5 Daily bump.
From-SVN: r120989
2007-01-20 00:17:42 +00:00
Mike Stump
fe4af0f89f darwin-ld-6.c: Remove, tests a linker flag that is going away.
* gcc.dg/darwin-ld-6.c: Remove, tests a linker flag that is going
	away.

From-SVN: r120987
2007-01-20 00:16:40 +00:00
GCC Administrator
11a6b582fa Daily bump.
From-SVN: r120942
2007-01-19 00:17:11 +00:00
Hui-May Chang
bbfc7610da pr27528.c: Add -fno-pic option.
2007-01-18  Hui-May Chang  <hm.chang@apple.com>

	* gcc.c-torture/compile/pr27528.c: Add -fno-pic option.

From-SVN: r120937
2007-01-18 22:37:37 +00:00
Thomas Koenig
24e00fea3f backport: re PR libfortran/30415 (MINLOC, MAXLOC missing for integer kinds 1 and 2)
2007-01-18  Thomas Koenig  <Thomas.Koenig@online.de>

	Backport from trunk
	PR libfortran/30415
	* iresolve.c (gfc_resolve_maxloc):  If the rank
	of the return array is nonzero and we process an
	integer array smaller than default kind, coerce
	the array to default integer.
	* iresolve.c (gfc_resolve_minloc):  Likewise.

2007-01-18  Thomas Koenig  <Thomas.Koenig@online.de>

	Backport from trunk
	PR libfortran/30415
	* minmaxloc_integer_kinds_1.f90:  New test.

From-SVN: r120932
2007-01-18 21:56:53 +00:00
GCC Administrator
452e0b42db Daily bump.
From-SVN: r120888
2007-01-18 00:17:41 +00:00
Eric Christopher
0fbc661d58 backport: [multiple changes]
2007-01-17  Eric Christopher  <echristo@apple.com>

        Backport from mainline:
        2006-12-18  Roger Sayle  <roger@eyesopen.com>
                    Eric Christopher  <echristo@apple.com>

        PR target/29302
        * real.c (real_maxval): Correctly handle IBM extended double format.

2007-01-17  Eric Christopher  <echristo@apple.com>

        Backport from mainline:
        2006-12-19  Eric Christopher  <echristo@apple.com>

        PR target/29302
        * gcc.c-torture/execute/pr29302-1.c: New.

From-SVN: r120884
2007-01-17 23:30:30 +00:00
Tom Tromey
55fdb80f49 sourcebuild.texi (libgcj Tests): Use sourceware.org.
* doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
	* doc/install.texi (Testing): Use sourceware.org.
	(Binaries): Likewise.
	(Specific): Likewise.
	* doc/contrib.texi (Contributors): Use sourceware.org.

From-SVN: r120872
2007-01-17 20:03:20 +00:00
Paul Thomas
c0270b955f re PR fortran/30476 ([Regression 4.2, 4.3] Via other module imported generic interface rejected)
2007-01-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30476
	* module.c (load_generic_interfaces): Make the marking of the
	symbol as ambiguous conditional on the module names being
	different.
	(write_generic): Ensure that the generic interface has a
	non-NULL module field.

2007-01-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30476
	* gfortran.dg/generic_12.f90: New test.

From-SVN: r120864
2007-01-17 18:33:35 +00:00
Jack Howarth
b8ac154a88 aclocal.m4: Regenerate to use multi.m4.
2007-01-17  Jack Howarth  <howarth@bromo.med.uc.edu>
boehm-gc/
	* aclocal.m4: Regenerate to use multi.m4.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
zlib/
	* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
libffi/
	* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
libjava/
	* configure.ac: Use multi.m4 from aclocal rather than custom
	code.  Use multi_basedir instead libgcj_basedir.  Test for
	/proc/self/exe when not cross-compiling.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
libjava/classpath/
	* configure.ac: Use multi.m4 from aclocal rather than
	custom code.  Use multi_basedir instead libgcj_basedir.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
libjava/libltdl/
	* Makefile.am: Add ACLOCAL_AMFLAGS to use multi.m4.
	* configure.ac: Use multi.m4 from aclocal rather than
	custom code.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r120862
2007-01-17 18:10:26 +00:00
GCC Administrator
592e1db102 Daily bump.
From-SVN: r120841
2007-01-17 00:17:43 +00:00
Petr Salinger
c956b220ec gcconfig.h: Handle amd64/x86-64 cpu under GNU/kFreeBSD.
2007-01-16  Petr Salinger  <Petr.Salinger@seznam.cz>

	* include/private/gcconfig.h: Handle amd64/x86-64 cpu under
	 GNU/kFreeBSD.
	* os_dep.c: Likewise.

From-SVN: r120832
2007-01-16 19:44:17 +00:00
Kaveh R. Ghazi
9f32d0798b re PR testsuite/12325 (gcc.dg/torture/builtin-attr-1.c assumes all targets support inf)
PR testsuite/12325
	* gcc.dg/torture/builtin-attr-1.c: Handle warnings from
	targets that don't support Inf.

From-SVN: r120819
2007-01-16 04:01:32 +00:00
GCC Administrator
c20a90954c Daily bump.
From-SVN: r120812
2007-01-16 00:17:13 +00:00
Joseph Myers
b3a19d3e9f op-common.h, op-4.h: Update from glibc CVS.
* config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
	glibc CVS.

From-SVN: r120807
2007-01-15 23:57:34 +00:00
Paolo Carlini
065df80b6f std_valarray.h (valarray<>::cshift): Fix typo.
2007-01-15  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_valarray.h (valarray<>::cshift): Fix typo.

From-SVN: r120799
2007-01-15 16:45:44 +00:00
GCC Administrator
72c1939385 Daily bump.
From-SVN: r120787
2007-01-15 00:17:23 +00:00
Paolo Carlini
32208b600e stl_algobase.h (fill_n(char*, _Size, const signed char&)): Fix signature.
2007-01-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (fill_n(char*, _Size,
	const signed char&)): Fix signature.
	* testsuite/25_algorithms/fill/3.cc: New.

From-SVN: r120780
2007-01-14 18:35:03 +00:00
Paul Thomas
fd7527c5c8 Backport PRs 23232, 27996, 27998, 30408, 30410
2007-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Paul Thomas  <pault@gcc.gnu.org>

	Back port from trunk

	PR fortran/30408
	* lang.opt: Add Wcharacter_truncation option.
	* options.c (gfc_init_options): Initialize
	gfc_option.warn_character_truncation to zero.
	(gfc_handle_option): Add case for OPT_Wcharacter_truncation.

	PR fortran/30408
	* resolve.c (resolve_code): Use the code->expr character length
	directly to set length of llen.

2007-01-14  Paul Thomas  <pault@gcc.gnu.org>

	Backports from trunk

	PR fortran/23232
	* decl.c (gfc_in_match_data, gfc_set_in_match_data): New
	functions to signal that a DATA statement is being matched.
	(gfc_match_data): Call gfc_set_in_match_data on entry and on
	exit.
	* gfortran.h : Add prototypes for above.
	* expr.c (check_init_expr): Avoid check on parameter or
	variable if gfc_in_match_data is true.
	(gfc_match_init_expr): Do not call error on non-reduction of
	expression if gfc_in_match_data is true.

	PR fortran/27996
	PR fortran/27998
	* decl.c (gfc_set_constant_character_len): Add boolean arg to
	flag array constructor resolution.  Warn if string is being
	truncated.  Standard dependent error if string is padded. Set
	new arg to false for all three calls to
	gfc_set_constant_character_len.
	* match.h : Add boolean arg to prototype for
	gfc_set_constant_character_len.
	* gfortran.h : Add warn_character_truncation to gfc_options.
	* options.c (set_Wall): Set warn_character_truncation if -Wall
	is set.
	* resolve.c (resolve_code): Warn if rhs string in character
	assignment has to be truncated.
	* array.c (gfc_resolve_character_array_constructor): Set new
	argument to true for call to gfc_set_constant_character_len.

	PR fortran/30410
	* trans-decl.c (gfc_sym_mangled_function_id): Module, external
	symbols must not have the module name prepended.

2007-01-14  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/23232
	* gfortran.dg/data_implied_do_1.f90: New test.

	PR fortran/27996
	PR fortran/27998
	* gfortran.dg/char_length_1.f90: New test.

	PR fortran/30410
	* gfortran.dg/external_procedures_2.f90: New test.

From-SVN: r120772
2007-01-14 14:49:50 +00:00
GCC Administrator
ee36e69afa Daily bump.
From-SVN: r120763
2007-01-14 00:17:15 +00:00
Jerry DeLisle
1fd1f29b99 re PR fortran/30435 (Slash at end of input not recognized according to standard)
2007-01-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30435
	* gfortran.dg/list_read_6.f90: New test.

From-SVN: r120756
2007-01-13 19:11:02 +00:00
Jerry DeLisle
d2a2e9de69 re PR fortran/30435 (Slash at end of input not recognized according to standard)
2007-01-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30435
	* io/list_read.c (finish_separator): Don't call next_record.
	(list_formatted_read_scalar): Clean up some comments and whitespace.
	(nml_read_obj): Whitespace fix.

From-SVN: r120755
2007-01-13 19:08:40 +00:00
John David Anglin
58570ccab2 atomicity.h (__exchange_and_add): Don't use ordered store.
* config/cpu/hppa/atomicity.h (__exchange_and_add): Don't use ordered
	store.
	(__atomic_add): Likewise.

From-SVN: r120752
2007-01-13 15:08:24 +00:00
Paolo Carlini
304fc8559f re PR libstdc++/14991 (stream::attach(int fd) porting entry out-of-date)
2007-01-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14991
	* docs/html/17_intro/porting-howto.html ([3]): Mention stdio_filebuf.
	* docs/html/17_intro/porting-howto.xml: Remove.

	* docs/html/17_intro/porting-howto.html: Remove spurious end tags
	pointed out by validator.w3.org.

From-SVN: r120750
2007-01-13 12:24:20 +00:00
GCC Administrator
8ee9d487b3 Daily bump.
From-SVN: r120742
2007-01-13 00:17:14 +00:00
Paolo Carlini
797c45e001 PR libstdc++/30416 (continued)
2007-01-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/30416 (continued)
	* include/std/std_valarray.h (valarray<>::shift, valarray<>::cshift):
	Allways return the same variable, thus facilitating NRVO.

2007-01-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/30416
	* include/std/std_valarray.h (valarray<>::shift, valarray<>::cshift):
	Do not segfault when |n| > size.
	* testsuite/26_numerics/valarray/30416.cc: New.

From-SVN: r120725
2007-01-12 14:56:29 +00:00
John David Anglin
054b50311c pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
* pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
	* pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
	(ASM_OUTPUT_INTERNAL_LABEL): Define.

From-SVN: r120701
2007-01-12 02:20:12 +00:00
GCC Administrator
93aa7e3cdb Daily bump.
From-SVN: r120692
2007-01-12 00:17:11 +00:00
Mark Mitchell
a0cfb7ab8e re PR c++/28999 (ICE on invalid use of typename)
PR c++/28999
	* decl.c (make_typename_type): If the qualified name is not a
	type, issue an error.
	* parser.c (cp_parser_elaborated_type_specifier): Fix comment
	formatting.
	PR c++/28999
	* g++.dg/template/typename11.C: New test.

From-SVN: r120664
2007-01-11 03:36:02 +00:00
GCC Administrator
f5e8273530 Daily bump.
From-SVN: r120659
2007-01-11 00:17:25 +00:00
Ralf Corsepius
106f317e15 * config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
From-SVN: r120641
2007-01-10 16:20:52 +01:00
GCC Administrator
8a1b0a18f1 Daily bump.
From-SVN: r120627
2007-01-10 00:17:20 +00:00
Thomas Koenig
2205420a07 re PR fortran/30321 (program crash for SUM applied to zero-size array)
2007-01-08  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30321
	Backport from trunk
	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code):
	Check for extents < 0 for zero-sized arrays.  If
	no retarray has been specified and the size is zero,
	return early.
	(`m'name`'rtype_qual`_'atype_code): Likewise.
	* generated/all_l16.c: Regenerated.
	* generated/all_l4.c: Regenerated.
	* generated/all_l8.c: Regenerated.
	* generated/any_l16.c: Regenerated.
	* generated/any_l4.c: Regenerated.
	* generated/any_l8.c: Regenerated.
	* generated/count_16_l16.c: Regenerated.
	* generated/count_16_l4.c: Regenerated.
	* generated/count_16_l8.c: Regenerated.
	* generated/count_4_l16.c: Regenerated.
	* generated/count_4_l4.c: Regenerated.
	* generated/count_4_l8.c: Regenerated.
	* generated/count_8_l16.c: Regenerated.
	* generated/count_8_l4.c: Regenerated.
	* generated/count_8_l8.c: Regenerated.
	* generated/cshift1_16.c: Regenerated.
	* generated/cshift1_4.c: Regenerated.
	* generated/cshift1_8.c: Regenerated.
	* generated/maxloc1_16_i16.c: Regenerated.
	* generated/maxloc1_16_i4.c: Regenerated.
	* generated/maxloc1_16_i8.c: Regenerated.
	* generated/maxloc1_16_r10.c: Regenerated.
	* generated/maxloc1_16_r16.c: Regenerated.
	* generated/maxloc1_16_r4.c: Regenerated.
	* generated/maxloc1_16_r8.c: Regenerated.
	* generated/maxloc1_4_i16.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc1_4_r10.c: Regenerated.
	* generated/maxloc1_4_r16.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/maxloc1_8_i16.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc1_8_r10.c: Regenerated.
	* generated/maxloc1_8_r16.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/maxval_i16.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/maxval_r10.c: Regenerated.
	* generated/maxval_r16.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/minloc1_16_i16.c: Regenerated.
	* generated/minloc1_16_i4.c: Regenerated.
	* generated/minloc1_16_i8.c: Regenerated.
	* generated/minloc1_16_r10.c: Regenerated.
	* generated/minloc1_16_r16.c: Regenerated.
	* generated/minloc1_16_r4.c: Regenerated.
	* generated/minloc1_16_r8.c: Regenerated.
	* generated/minloc1_4_i16.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc1_4_r10.c: Regenerated.
	* generated/minloc1_4_r16.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/minloc1_8_i16.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc1_8_r10.c: Regenerated.
	* generated/minloc1_8_r16.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/minval_i16.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/minval_r10.c: Regenerated.
	* generated/minval_r16.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/minval_r8.c: Regenerated.
	* generated/product_c10.c: Regenerated.
	* generated/product_c16.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/product_i16.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/product_r10.c: Regenerated.
	* generated/product_r16.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/sum_c10.c: Regenerated.
	* generated/sum_c16.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/sum_i16.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/sum_r10.c: Regenerated.
	* generated/sum_r16.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/sum_r8.c: Regenerated.

2006-01-08  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30321
	* gfortran.dg/sum_zero_array_1.f90:  New test.

From-SVN: r120623
2007-01-09 23:13:42 +00:00
Nicolas Pitre
f4cf573099 re PR target/30173 (Error in ARM softfloat routine __adddf3)
2007-01-09  Nicolas Pitre  <nico@cam.org>

	PR target/30173
	* arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.

From-SVN: r120614
2007-01-09 10:11:53 +00:00
GCC Administrator
be73b63f9a Daily bump.
From-SVN: r120602
2007-01-09 00:17:48 +00:00
Nick Clifton
81ba662c54 * config/frv/predicates.md (reg_or_0_operand): Accept CONST_DOUBLEs.
From-SVN: r120582
2007-01-08 15:06:33 +00:00
Ralf Corsepius
3d54c2dc21 rtems.h, t-rtems: New.
* config/bfin/rtems.h, config/bfin/t-rtems: New.
	* config.gcc: Add bfin*-rtems*.

From-SVN: r120575
2007-01-08 11:24:33 +01:00
Chen Liqin
8649896784 Forget to update the Changelog.
From-SVN: r120569
2007-01-08 04:05:10 +00:00
Chen Liqin
a4b35a1201 t-score-elf (MULTILIB_OPTIONS): Change.
* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
	* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
	const_simm15, const_pow2, const_npow2): Added.
	* config/score/misc.md (insv, extv, extzv, movmemsi, 
	move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
	* config/score/score.c (score_address_cost, score_select_cc_mode): 
	Added.
	Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
	Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
	Update score_print_operand.
	* config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
	Adjust register allocate order and update some macro define.
	* config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
	mdx_block_move_straight, mdx_block_move_loop_head,
	mdx_block_move_loop_body, mdx_block_move_loop_foot,
	mdx_block_move_loop, mdx_block_move): Added.
	(mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
	 mdp_limm): Updated and fix some bug and typo.
	* config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
	(movsf, movdf, doloop_end): Added.

From-SVN: r120568
2007-01-08 03:45:03 +00:00
GCC Administrator
5a26a08d49 Daily bump.
From-SVN: r120563
2007-01-08 00:17:29 +00:00
Jerry DeLisle
2113256d7b re PR libfortran/30162 (Document when sequential I/O with named pipes works)
2007-01-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30162
	* io/unix.c (fd_flush): Don't seek if file is not seekable, defined as
	s->file_length == -1.
	(fd_alloc_w_at): Do not adjust file_length if file is not seekable.
	(fd_seek): If not seekable, just return success.
	(fd_truncate): If not seekable, no need to truncate.  Return failure if
	seek fails and the stream is not a pipe.
	(fd_to_stream): Make test for non-seekable file more robust.

2007-01-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* ChangeLog: Copied to ...
	* ChangeLog-2006: here.

From-SVN: r120544
2007-01-07 01:34:03 +00:00
GCC Administrator
01d6860098 Daily bump.
From-SVN: r120539
2007-01-07 00:17:53 +00:00
Paolo Carlini
79b5a09018 2007-01-06 Paolo Carlini <pcarlini@suse.de>
* Fix typo in ChangeLog.

From-SVN: r120535
2007-01-06 22:41:08 +00:00
Paolo Carlini
28b917db0c re PR libstdc++/30365 (No possibility to disable large file support (LFS))
2007-01-06  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/30365
	* crossconfig.m4 (case *-linux*): Run crossconfig.m4.
	* configure: Regenerate.

From-SVN: r120532
2007-01-06 22:38:41 +00:00
Paul Thomas
b01b9ca1c1 Bug fixes from trunk
2007-01-06  Paul Thomas  <pault@gcc.gnu.org>

	Bug fixes from trunk

	PR fortran/30034
	* resolve.c (resolve_formal_arglist): Exclude the test for
	pointers and procedures for subroutine arguments as well as
	functions.

	PR fortran/30237
	* intrinsic.c (remove_nullargs): Do not pass up arguments with
	a label. If the actual has a label and the formal has a type
	then emit an error.

	PR fortran/25135
	* module.c (load_generic_interfaces): If the symbol is present
	and is not generic it is ambiguous.

	PR fortran/23060
	* intrinsic.c (compare_actual_formal ): Distinguish argument
	list functions from keywords.
	* intrinsic.c (sort_actual): If formal is NULL, the presence of
	an argument list function actual is an error.
	* trans-expr.c (conv_arglist_function) : New function to
	implement argument list functions %VAL, %REF and %LOC.
	(gfc_conv_function_call): Call it.
	* resolve.c (resolve_actual_arglist): Add arg ptype and check
	argument list functions.
	(resolve_function, resolve_call): Set value of ptype before
	calls to resolve_actual_arglist.
	* primary.c (match_arg_list_function): New function.
	(gfc_match_actual_arglist): Call it before trying for a
	keyword argument.

	PR fortran/27900
	* resolve.c (resolve_actual_arglist): If all else fails and a
	procedure actual argument has no type, see if a specific
	intrinsic matches.

	PR fortran/24325
	* resolve.c (resolve_function): If the function reference is
	FL_VARIABLE this is an error.

2007-01-06  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30034
	* gfortran.dg/pure_formal_proc_1.f90: New test.

	PR fortran/30237
	* gfortran.dg/intrinsic_actual_3.f90: New test.

	PR fortran/25135
	* gfortran.dg/generic_11.f90: New test.
	* gfortran.dg/interface_7.f90: Remove name clash between module
	name and procedure 'x' referenced in the interface.

	PR fortran/23060
	* gfortran.dg/c_by_val.c: Called by c_by_val_1.f.
	* gfortran.dg/c_by_val_1.f: New test.
	* gfortran.dg/c_by_val_2.f: New test.
	* gfortran.dg/c_by_val_3.f: New test.

	PR fortran/27900
	* gfortran.dg/intrinsic_actual_4.f90: New test.

	PR fortran/24325
	* gfortran.dg/func_decl_3.f90: New test.

From-SVN: r120525
2007-01-06 14:13:20 +00:00
Richard Guenther
c9770f4e40 re PR c++/27826 (ICE in copy_to_mode_reg)
2007-01-05  Richard Guenther  <rguenther@suse.de>

        PR middle-end/27826
        * tree.c (get_narrower): Do not construct COMPONENT_REFs
        with mismatched types.  Instead explicitly build a
        conversion NOP_EXPR.

From-SVN: r120523
2007-01-06 10:59:34 +00:00
Matthias Klose
88ee8a6b0d random (gamma_distribution): Fix typo in formula.
2007-01-06  Matthias Klose  <doko@debian.org>

        * include/tr1/random (gamma_distribution): Fix typo in formula.
        * docs/doxygen/user.cfg.in: Use package amsmath.

From-SVN: r120521
2007-01-06 09:56:20 +00:00
GCC Administrator
57526821e1 Daily bump.
From-SVN: r120516
2007-01-06 00:17:17 +00:00
Richard Guenther
afae28cdd0 re PR c++/27826 (ICE in copy_to_mode_reg)
2007-01-05  Richard Guenther  <rguenther@suse.de>

	PR middle-end/27826
	* g++.dg/opt/pr27826.C: New testcase.

From-SVN: r120499
2007-01-05 21:08:47 +00:00
Jakub Jelinek
6f10cfef22 re PR c/30360 (Complex divide bug)
PR c/30360
	* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
	denom against 0.0.

	* gcc.dg/pr30360.c: New test.

From-SVN: r120487
2007-01-05 16:50:25 +01:00
Richard Guenther
cec6b03fe6 re PR middle-end/28116 (ICE when building konverter with gcc-4.1 with -O3 [RSO])
2007-01-05  Richard Guenther  <rguenther@suse.de>

	PR middle-end/28116
	* g++.dg/opt/pr28116.C: New testcase.

From-SVN: r120481
2007-01-05 13:56:54 +00:00
GCC Administrator
7662c8a866 Daily bump.
From-SVN: r120462
2007-01-05 00:17:17 +00:00
GCC Administrator
9ddfd059f4 Daily bump.
From-SVN: r120417
2007-01-04 00:17:15 +00:00
Jakub Jelinek
affdb7ec51 re PR c++/28217 (ICE in tree_int_cst_sgn)
PR c++/28217
	* g++.dg/pch/template-1.C: New test.
	* g++.dg/pch/template-1.Hs: New file.

From-SVN: r120411
2007-01-04 00:54:24 +01:00
Jakub Jelinek
742b0e2128 unwind-dw2.c (SIGNAL_FRAME_BIT, [...]): Define.
* unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
	(struct _Unwind_Context): Rename args_size to flags, remove
	signal_frame field, add a new args_size field and version field.
	(_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
	_Unwind_IsExtendedContext): New inline functions.
	(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
	Assume by_value array is only present if _Unwind_IsExtendedContext.
	(_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
	_Unwind_IsSignalFrame.
	(__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
	(uw_update_context_1): Use _Unwind_SetSignalFrame.
	(uw_init_context_1): Initialize context->flags to
	EXTENDED_CONTEXT_BIT.
	* config/rs6000/linux-unwind.h (frob_update_context): Use
	_Unwind_SetSignalFrame.

From-SVN: r120407
2007-01-04 00:47:14 +01:00
Joseph Myers
b94aa0154a vect.exp: Skip PowerPC targets not supporting -maltivec.
* g++.dg/vect/vect.exp: Skip PowerPC targets not supporting
	-maltivec.
	* gcc.target/powerpc/altivec-20.c: Use powerpc_altivec_ok.

From-SVN: r120402
2007-01-03 21:56:08 +00:00
Paul Thomas
c3aafa3630 backport: re PR fortran/25818 ([4.1 only] Problem with handling optional and entry master arguments)
2007-01-03  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk

	PR fortran/25818
	* trans-array.c (gfc_trans_g77_array): If the variable is
	optional or not always present, make the statement conditional
	on presence of the argument.
	* gfortran.h : Add symbol_attribute not_always_present.
	* resolve.c (check_argument_lists): New function to check if
	arguments are not present in all entries.

	PR fortran/30084
	* module.c (mio_component_ref): Move treatment of unique name
	variables, during output, to fix_mio_expr.
	(fix_mio_expr): New function that fixes defective expressions
	before they are written to the module file.
	(mio_expr): Call the new function.
	(resolve_entries): Call check_argument_lists.

2007-01-03  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25818
	* gfortran.dg/entry_array_specs_2.f: New test.

	PR fortran/30084
	* gfortran.dg/nested_modules_6.f90: New test.

From-SVN: r120399
2007-01-03 21:27:17 +00:00
Jakub Jelinek
18f5f10388 re PR middle-end/30286 (Segfault with -O2 -ftrapv)
PR middle-end/30286
	* gcc.dg/pr30286.c: New test.

From-SVN: r120390
2007-01-03 09:07:33 +01:00
Jakub Jelinek
4157973cc3 re PR c++/29535 (ICE in instantiate_class_template, at cp/pt.c:5728)
PR c++/29535
	* g++.dg/template/crash66.C: New test.

From-SVN: r120389
2007-01-03 09:06:42 +01:00
Jakub Jelinek
7713e6577c re PR c++/29054 (ICE on friend template specialization)
PR c++/29054
	* g++.dg/template/friend49.C: New test.

From-SVN: r120388
2007-01-03 09:05:53 +01:00
Steven G. Kargl
333e397651 ibits.f90: New test.
2007-01-03  Steven G. Kargl  <kargls@comcast.net>

	* gfortran.dg/ibits.f90: New test.

From-SVN: r120382
2007-01-03 04:07:27 +00:00
Steven G. Kargl
a549c7a37e trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to build_int_cst.
2007-01-02  Steven G. Kargl  <kargls@comcast.net>

	* trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
	build_int_cst.

From-SVN: r120381
2007-01-03 04:05:58 +00:00
GCC Administrator
5ea53f6fbd Daily bump.
From-SVN: r120367
2007-01-03 00:17:18 +00:00
Tobias Burnus
cf7b154f7d re PR fortran/30238 (associated(null-pointer, null-pointer) returns .true.)
fortran/
2007-01-02  Tobias Burnus  <burnus@net-b.de>

       PR fortran/30238
       * trans-intrinsic.c: Check for associated(NULL,NULL).

libgfortran/
2007-01-02  Tobias Burnus  <burnus@net-b.de>

       * intrinsics/associated.c: Check for associated(NULL,NULL).

testsuite/
2007-01-02  Tobias Burnus  <burnus@net-b.de>

       PR fortran/30238
       * gfortran.dg/associated_1.f90: Add test for associated(NULL,NULL).
       * gfortran.dg/associated_2.f90: Add test for associated(NULL,NULL).

From-SVN: r120338
2007-01-02 13:48:14 +01:00
Mike Stump
4e13f3fe18 * configure.ac: Remove support for building with Apple's gcc-3.1.
From-SVN: r120332
2007-01-02 03:44:31 +00:00
GCC Administrator
d147632873 Daily bump.
From-SVN: r120326
2007-01-02 00:17:18 +00:00
Andreas Schwab
9f562eede2 re PR target/29166 (broken unwind information for many life variables resulting in register corruption)
PR target/29166
	* config/ia64/ia64.c (ia64_compute_frame_size): Account space for
	save of BR0 in extra_spill_size instead of spill_size.
	(ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
	area.
	(ia64_expand_epilogue): Restore BR0 from its new location.

testsuite/:
	* g++.dg/eh/pr29166.C: New test.

From-SVN: r120320
2007-01-01 22:07:30 +00:00
Joseph Myers
a2232e4bd8 target-supports.exp (check_effective_target_powerpc_spe): New.
* lib/target-supports.exp (check_effective_target_powerpc_spe):
	New.
	(check_effective_target_vect_cmdline_needed): Use it.

From-SVN: r120309
2007-01-01 12:57:12 +00:00
GCC Administrator
641cd9176c Daily bump.
From-SVN: r120305
2007-01-01 00:17:09 +00:00
Paul Thomas
ccd797b261 BACKPORTS from 4.3
2006-12-31  Paul Thomas <pault@gcc.gnu.org>

	BACKPORTS from 4.3

	PR fortran/30202
	* trans-array.c (gfc_conv_function_call): Use parmse.expr for
	the nullifying of intent(out) arguments rather than the backend
	declaration.

	PR fortran/30190
	* trans-array.c (gfc_conv_array_ref): Remove gfc_evaluate_now
	from the -fbounds-check branch.

	PR fortran/29992
	* interface.c (check_sym_interfaces): Module procedures in a
	generic must be use associated or contained in the module.
	* decl.c (gfc_match_modproc): Set attribute mod_proc.
	* gfortran.h (symbol_attribute): Add mod_proc atribute.

	PR fortran/30081
	* resolve.c (resolve_generic_f, resolve_generic_s): Use
	gfc_intrinsic_name to find out if the function is intrinsic
	because it does not have to be a generic intrinsic to be
	overloaded.

	PR fortran/30236
	* interface.c (compare_interfaces): Handle NULL symbols.
	(count_types_test): Count NULL symbols, which correspond to
	alternate returns.

	(check_interface1): Change final argument from int to bool
	in the function and all references.

2006-12-31  Paul Thomas <pault@gcc.gnu.org>

	BACKPORTS from 4.3

	PR fortran/30202
	* gfortran.dg/alloc_comp_basics_3.f90: New test.

	PR fortran/30190
	* gfortran.dg/bounds_check_5.f90: New test.

	PR fortran/29992
	* gfortran.dg/generic_9.f90: New test.

	PR fortran/30081
	* gfortran.dg/generic_10.f90: New test.

	PR fortran/30236
	* gfortran.dg/altreturn_3.f90: New test.

	* gfortran.dg/char_result_12.f90: Fix comment typos.

From-SVN: r120298
2006-12-31 15:00:18 +00:00
GCC Administrator
7fbe3456a8 Daily bump.
From-SVN: r120292
2006-12-31 00:17:06 +00:00
GCC Administrator
bcbe81353d Daily bump.
From-SVN: r120278
2006-12-30 00:17:34 +00:00
Tobias Schlüter
05e4d8d86d backport: re PR fortran/25392 (ICEs with -ff2c)
Backport from trunk:
fortran/
PR fortran/25392
* trans-stmt.c (gfc_trans_return): Fix comment formatting.
* trans-types.c (gfc_sym_type): Don't return early for functions.
Remove special handling for -ff2c.
(gfc_get_function_type): Add special handling for -ff2c.
* trans-decl.c (gfc_create_function_decl): Fix comment formatting.
(gfc_get_fake_result_decl): Make sure we get the right type for
functions.
(gfc_generate_function_code): Convert type of result variable to
type of function.
testsuite/
PR fortran/25392
* gfortran.dg/f2c_8.f90: New test.

From-SVN: r120274
2006-12-29 19:54:41 +01:00
Paolo Bonzini
4f9525287f re PR bootstrap/29544 (Not building with checking in stage1)
2006-12-29  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/29544
	* Makefile.def (flags_to_pass): Add STAGE1_CHECKING.
	(bootstrap_stage): Add STAGE1_CHECKING to stage1 configure flags,
	move here comment from Makefile.tpl.
	* Makefile.tpl: Move some definitions higher in the file.
	(STAGE1_CHECKING): New.
	* configure.in: Add --enable-stage1-checking.  Disable --enable-werror
	on release branches.

gcc:
2006-12-29  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/29544
        * gcc/Makefile.in (STAGE1_CHECKING): Rename to...
        (STAGE1_CHECKING_CFLAGS): ... this.

From-SVN: r120272
2006-12-29 17:47:06 +00:00
Jakub Jelinek
81bf224ba0 re PR preprocessor/29612 (gcc --save-temps does not give "multi-character character constant" error)
PR preprocessor/29612
	* directives.c (do_linemarker): Set pfile->buffer->sysp always, not
	only when new_sysp is non-zero.

	* gcc.dg/cpp/pr29612-1.c: New test.
	* gcc.dg/cpp/pr29612-2.c: New test.

From-SVN: r120258
2006-12-29 09:16:32 +01:00
H.J. Lu
de2bffea4b backport: re PR target/30040 (-mtune=native is wrong for Core 2 Duo and Core Duo)
2006-12-28  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2006-12-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/30040
	* config/i386/driver-i386.c: Include "coretypes.h" and "tm.h".
	(host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite
	processor detection.

	* config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for
	-march=native if there is no -mtune=*.

	* config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H)
	coretypes.h.

From-SVN: r120256
2006-12-28 22:09:06 -08:00
GCC Administrator
6f64492100 Daily bump.
From-SVN: r120250
2006-12-29 00:17:32 +00:00
Paolo Carlini
54f4946ab7 array (array<>::_M_at): Remove.
2006-12-28  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/array (array<>::_M_at): Remove.
	(array<>::_M_check): Add.
	(array<>::at): Use the latter.

From-SVN: r120243
2006-12-28 10:55:20 +00:00
GCC Administrator
9c002c32aa Daily bump.
From-SVN: r120230
2006-12-28 00:17:11 +00:00
Ian Lance Taylor
284f2f79d7 re PR debug/26964 (Duplicate debug info for enums in namespaces)
PR debug/26964
	* dwarf2out.c (gen_type_die): Don't write out a DIE for
	ENUMERAL_TYPE if it was already written out.

From-SVN: r120222
2006-12-27 22:22:47 +00:00
GCC Administrator
a68c62bac5 Daily bump.
From-SVN: r120215
2006-12-27 00:17:28 +00:00
GCC Administrator
55eab825e1 Daily bump.
From-SVN: r120206
2006-12-26 00:17:32 +00:00
GCC Administrator
da5fa5f79a Daily bump.
From-SVN: r120195
2006-12-25 00:17:33 +00:00
GCC Administrator
5ab3357855 Daily bump.
From-SVN: r120183
2006-12-24 00:17:20 +00:00
Eric Botcazou
828435dfdc dwarf2out.c (dbx_reg_number): Do leaf register remapping only if the function is leaf.
* dwarf2out.c (dbx_reg_number): Do leaf register remapping
	only if the function is leaf.
	(multiple_reg_loc_descriptor): Likewise.

From-SVN: r120171
2006-12-23 17:18:58 +00:00
GCC Administrator
4afa91fe00 Daily bump.
From-SVN: r120161
2006-12-23 00:17:30 +00:00
GCC Administrator
63897baead Daily bump.
From-SVN: r120129
2006-12-22 00:17:24 +00:00
Paul Thomas
b621cd4dc6 re PR fortran/30273 ([4.1 only] gfc_todo: Not Implemented: Unable to determine rank of expression)
2006-12-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30273
	* dependency.c (gfc_check_dependency): There is no dependency
	with EXPR_NULL so always return 0.

2006-12-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30273
	* gfortran.dg/dependency_19.f90: New test.

From-SVN: r120118
2006-12-21 20:54:40 +00:00
Roger Sayle
97ef4b7a08 re PR fortran/30207 (ICE in gfc_dep_resolver with where (a < 0) a(:) = 1)
2006-12-21  Roger Sayle  <roger@eyesopen.com>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/30207
	* dependency.c (gfc_full_array_ref_p): New function to test whether
	the given array ref specifies the entire array.
	(gfc_dep_resolver): Use gfc_full_array_ref_p to analyze AR_FULL
	array refs against AR_SECTION array refs, and vice versa.
	* dependency.h (gfc_full_array_ref_p): Prototype here.
	* trans-array.c (gfc_conv_expr_descriptor): Use gfc_full_array_ref_p.

        * gfortran.fortran-torture/execute/where21.f90: New test.

From-SVN: r120116
2006-12-21 18:54:37 +00:00
Paul Thomas
a80ae5a24e re PR other/29975 ([meta-bugs] ICEs with CP2K)
2006-12-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29975
	PR fortran/30068
	PR fortran/30096
	* interface.c (compare_type_rank_if): Reject invalid generic
	interfaces.
	(check_interface1): Give a warning for nonreferred to ambiguous
	interfaces.
	(check_sym_interfaces): Check whether an ambiguous interface is
	referred to.  Do not check host associated interfaces since these
	cannot be ambiguous with the local versions.
	(check_uop_interface, gfc_check_interfaces): Update call to
	check_interface1.
	* symbol.c (gfc_get_sym_tree, gfc_get_sym_tree): Allow adding
	unambiguous procedures to generic interfaces.
	* gfortran.h (symbol_attribute): Added use_only and
	ambiguous_interfaces.
	* module.c (load_need): Set the use_only flag, if needed.
	* resolve.c (resolve_fl_procedure): Warn for nonreferred
	interfaces.
	* expr.c (find_array_section): Fix initializer array contructor.


2006-12-21  Paul Thomas  <pault@gcc.gnu.org>
	    Tobias Burnus  <burnus@gcc.gnu.org>

	PR fortran/29975
	PR fortran/30068
	* gfortran.dg/interface_4.f90: Test adding procedure to generic
	interface.
	* gfortran.dg/interface_5.f90: Test warning for not-referenced-to
	ambiguous interfaces.
	* gfortran.dg/interface_6.f90: Test invalid, ambiguous interface.
	* gfortran.dg/interface_7.f90: Test invalid, ambiguous interface.
	* gfortran.dg/interface_8.f90: Test warning for not-referenced-to
	ambiguous interfaces.
	* gfortran.dg/interface_1.f90: Change dg-error into a dg-warning.
	* gfortran.dg/array_initializer_2.f90: Add initializer array
	constructor test.

	PR fortran/30096
	* gfortran.dg/interface_9.f90: Test that host interfaces are
	not checked for ambiguity with the local version.


Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>

From-SVN: r120113
2006-12-21 15:05:24 +00:00
Paul Thomas
5d0d6da99c re PR fortran/29941 ([4.1 only] gfortran reports error with len of assumed size character array)
2006-12-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29941
	* resolve.c (resolve_function): Add LEN to the functions not
	checked for assumed size actual args.


2006-12-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29941
	* gfortran.dg/assumed_len.f90: New test.

From-SVN: r120111
2006-12-21 14:32:51 +00:00
Paul Thomas
d7cb5c21af re PR fortran/29464 ([4.1 only] problem with duplicate USE, ONLY of procedure in INTERFACE)
2006-11-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29464
	* module.c (load_generic_interfaces): Add symbols for all the
	local names of an interface.  Share the interface amongst the
	symbols.
	* gfortran.h : Add generic_copy to symbol_attribute.
	* symbol.c (free_symbol): Only free interface if generic_copy
	is not set.

2006-11-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29464
	* gfortran.dg/module_interface_2.f90: New test.

From-SVN: r120110
2006-12-21 14:19:40 +00:00
Jakub Jelinek
58d12b1778 re PR middle-end/30262 (ICE with nested fn accessed var in asm "m" constraint)
PR middle-end/30262
	PR middle-end/30263
	* tree-nested.c (walk_asm_expr): New function.
	(walk_stmts): Use it for ASM_EXPR.

	* gcc.c-torture/execute/20061220-1.c: New test.
	* gcc.dg/gomp/asm-1.c: New test.

From-SVN: r120107
2006-12-21 14:18:52 +01:00
Jakub Jelinek
ae717a68ee re PR target/30230 (Incorrect ia64 EH info when an EH region ends in the middle of a bundle)
PR target/30230
	* config/ia64/ia64.c (ia64_add_bundle_selector_before): New function.
	(bundling): Use it.

	* g++.dg/eh/ia64-2.C: New test.

From-SVN: r120104
2006-12-21 14:04:08 +01:00
GCC Administrator
42c036d061 Daily bump.
From-SVN: r120094
2006-12-21 00:17:40 +00:00
Bill Wendling
2b4c71df97 asm-b.c: Check for __ppc64__.
2006-12-20  Bill Wendling  <wendling@apple.com>

	* gcc.dg/asm-b.c: Check for __ppc64__.

From-SVN: r120086
2006-12-20 22:08:51 +00:00
GCC Administrator
e884992936 Daily bump.
From-SVN: r120063
2006-12-20 00:17:42 +00:00
Jerry DeLisle
e48a958e9d re PR fortran/30145 (Fortran 90: write statement fails to ignore zero-sized array...)
2006-12-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/30145
	* gfortran.dg/write_zero_array.f90: New test.

From-SVN: r120044
2006-12-19 06:36:26 +00:00
Jerry DeLisle
dce4599e2b re PR fortran/30145 (Fortran 90: write statement fails to ignore zero-sized array...)
2006-12-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/30145
	* io/transfer.c (transfer_array):  Check for negative extent.

From-SVN: r120043
2006-12-19 06:35:04 +00:00
Jerry DeLisle
af548c702d re PR libfortran/30200 ([4.1 only] write(*,myfmt="(1X,a,'xyz')") "A" prints Az' instead of Axyz)
2006-12-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30200
	* gfortran.dg/write_fmt_trim.f90: New test.

From-SVN: r120042
2006-12-19 06:32:09 +00:00
Jerry DeLisle
59f8c0dd2c re PR libfortran/30200 ([4.1 only] write(*,myfmt="(1X,a,'xyz')") "A" prints Az' instead of Axyz)
2006-12-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/30200
	* trans-io.c (build_dt): Move post block for format_expr to end.

From-SVN: r120041
2006-12-19 06:28:47 +00:00
Bill Wendling
ba0f726492 p11144.C: Renamed id to ID because id is an OjbC keyword.
2006-12-18  Bill Wendling  <wendling@apple.com>

	* g++.old-deja/g++.mike/p11144.C: Renamed id to ID because
	id is an OjbC keyword.

From-SVN: r120034
2006-12-19 00:34:08 +00:00
GCC Administrator
3ce4a3f3eb Daily bump.
From-SVN: r120028
2006-12-19 00:17:22 +00:00
Brooks Moses
9dcdc1f4c6 Corrected date in my last changelog entry.
From-SVN: r120017
2006-12-18 14:20:02 -08:00
Brooks Moses
b2aaf9969c advance_3.f90: Add dg-do compile directive.
* gfortran.dg/advance_3.f90: Add dg-do compile directive.

From-SVN: r120015
2006-12-18 14:17:31 -08:00
GCC Administrator
649b694dd8 Daily bump.
From-SVN: r119999
2006-12-18 00:17:41 +00:00
Daniel Franke
d6a952df14 backport: [multiple changes]
2006-12-18  Daniel Franke  <franke.daniel@gmail.com>

	Backport from mainline:
	2006-12-04  Daniel Franke  <franke.daniel@gmail.com>

	PR libgomp/29949
	* env.c (omp_set_num_threads): Set illegal thread count to 1.

	Backport from mainline:
	2006-11-09  Uros Bizjak  <ubizjak@gmail.com>

	* env.c (parse_schedule): Reject out of range values.
	(parse_unsigned_long): Reject out of range, negative
	or zero values.

From-SVN: r119995
2006-12-17 18:27:47 -05:00
Eric Botcazou
111780f449 pr27528.c: Use empty templates.
* gcc.c-torture/compile/pr27528.c: Use empty templates.

From-SVN: r119992
2006-12-17 19:58:54 +00:00
Matthias Klose
0f402c4286 re PR libstdc++/11953 (_REENTRANT defined when compiling non-threaded code.)
2006-12-17  Matthias Klose  <doko@debian.org>

        PR libstdc++/11953
        * gcc/config/mips/linux.h (SUBTARGET_CPP_SPEC): Extend.

From-SVN: r119987
2006-12-17 13:53:07 +00:00
Brooks Moses
6e7c022b83 gfortran.texi: Added TeX support for document parts...
* gfortran.texi: Added TeX support for document parts;
rearranged existing text into "About GNU Fortran",
"Invoking GNU Fortran", and "Language Reference" parts.

From-SVN: r119982
2006-12-16 19:02:09 -08:00
GCC Administrator
e867119187 Daily bump.
From-SVN: r119976
2006-12-17 00:17:44 +00:00
Ralf Wildenhues
076a304a21 howto.html: Fix typos.
2006-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	
	* docs/html/27_io/howto.html: Fix typos.
	* docs/html/24_iterators/howto.html: Likewise.
	* docs/html/18_support/howto.html: Likewise.
	* docs/html/21_strings/howto.html: Likewise.
	* docs/html/ext/howto.html: Likewise.
	* docs/html/ext/ballocator_doc.html: Likewise.
	* docs/html/17_intro/porting-howto.xml: Likewise.
	* docs/html/17_intro/howto.html: Likewise.
	* docs/html/22_locale/howto.html: Likewise.
	* docs/html/faq/index.html: Likewise.
	* docs/doxygen/tables.html: Likewise.

From-SVN: r119965
2006-12-16 17:16:23 +00:00
Joseph Myers
cb9a3a210d re PR target/24036 ([e500] ICE in subreg_offset_representable_p, at rtlanal.c:3143)
2006-12-16  Joseph Myers  <joseph@codesourcery.com>
            David Edelsohn  <edelsohn@gnu.org>

	PR target/24036
	* doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING,
	HARD_REGNO_NREGS_WITH_PADDING): Document new target macros.
	* defaults.h (HARD_REGNO_NREGS_HAS_PADDING,
	HARD_REGNO_NREGS_WITH_PADDING): Define.
	* config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING,
	HARD_REGNO_NREGS_WITH_PADDING): Define.
	* rtlanal.c (subreg_regno_offset, subreg_offset_representable_p):
	Use new macros to detect modes with holes; do not look at integer
	units.
	(subreg_offset_representable_p): Check for and disallow cases
	where the modes use different numbers of bits from registers.
	* config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode
	constant for soft-float.
	(rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs
	containing doubles.
	(rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves
	in E500 double case.
	* config/rs6000/rs6000.md (movtf): Allow soft-float.
	(movtf_softfloat): New.

Co-Authored-By: David Edelsohn <edelsohn@gnu.org>

From-SVN: r119962
2006-12-16 16:33:55 +00:00
GCC Administrator
bf5e506de3 Daily bump.
From-SVN: r119955
2006-12-16 00:17:26 +00:00
Jakub Jelinek
1b90530ef8 re PR target/30185 (ICE with struct and divide)
PR target/30185
	* config/rs6000/rs6000.md (div<mode>3): Use correct mode in
	force_reg call.

	* gcc.c-torture/execute/pr30185.c: New test.

From-SVN: r119948
2006-12-16 00:09:26 +01:00
Richard Guenther
f665278c4c backport: re PR fortran/30115 (allocate() interface pessimizes aliasing)
2006-12-15  Richard Guenther  <rguenther@suse.de>

	Backport from mainline:
	2006-12-13  Richard Guenther  <rguenther@suse.de>

	PR fortran/30115
	* runtime/memory.c (allocate_size): Change interface to
	void *()(size_t, GFC_INTEGER_4 *).
	(allocate): Likewise.
	(allocate64): Likewise.
	(allocate_array): Change interface to
	void *()(void *, size_t, GFC_INTEGER_4 *).
	(allocate64_array): Likewise.
	(deallocate): Change interface to
	void ()(void *, GFC_INTEGER_4 *).

	* trans-array.c (gfc_array_allocate): Adjust for changed
	library interface.
	(gfc_array_deallocate): Likewise.
	(gfc_trans_dealloc_allocated): Likewise.
	* trans-stmt.c (gfc_trans_allocate): Likewise.
	(gfc_trans_deallocate): Likewise.
	* trans-decl.c (gfc_build_builtin_function_decls): Adjust
	function declarations to match the library changes.  Mark
	allocation functions with DECL_IS_MALLOC.

From-SVN: r119882
2006-12-15 15:10:43 +00:00
GCC Administrator
dc4ba72235 Daily bump.
From-SVN: r119873
2006-12-15 00:17:17 +00:00
John David Anglin
cf6e656c79 target-supports.exp (check_weak_available): Use istarget "hppa*-*-hpux10*" instead of regexp.
* lib/target-supports.exp (check_weak_available): Use istarget
	"hppa*-*-hpux10*" instead of regexp.
	(check_cxa_atexit_available): Likewise.

From-SVN: r119862
2006-12-14 16:18:24 +00:00
GCC Administrator
4753adfc70 Daily bump.
From-SVN: r119850
2006-12-14 00:17:43 +00:00
John David Anglin
5ec7b72e04 re PR testsuite/30157 (cxa_atexit check doesn't work)
PR testsuite/30157
	* lib/target-supports.exp (check_cxa_atexit_available): Return false
	for target "hppa.*hpux10".

From-SVN: r119843
2006-12-13 18:49:16 +00:00
Lee Millward
d657432bb2 re PR c++/27316 (ICE with two ill-placed expression)
PR c++/27316
	* g++.dg/inherit/error3.C: New test

	PR c++/28740
	* g++.dg/inherit/error4.C: New test

From-SVN: r119831
2006-12-13 13:58:43 +00:00
Richard Guenther
33fce0d1c2 ipa-inline.c (cgraph_flatten_node): Replace leafify with flatten.
2006-12-13  Richard Guenther  <rguenther@suse.de>

	* ipa-inline.c (cgraph_flatten_node): Replace leafify with
	flatten.
	(cgraph_decide_inlining): Likewise.

From-SVN: r119828
2006-12-13 12:17:52 +00:00
Richard Guenther
4120939fdd ipa-reference.c (scan_for_static_refs): Also scan tcc_comparison class trees.
2006-12-13  Richard Guenther  <rguenther@suse.de>

	* ipa-reference.c (scan_for_static_refs): Also scan
	tcc_comparison class trees.

From-SVN: r119823
2006-12-13 10:01:31 +00:00
Josh Conner
02b7e09159 thunk3.C: Use .weak_definition on darwin.
2006-12-12  Josh Conner  <jconner@apple.com>

	* g++.dg/abi/thunk3.C: Use .weak_definition on darwin.
	* g++.dg/abi/thunk4.C: Likewise.
	* g++.dg/abi/rtti3.C: Likewise.

From-SVN: r119816
2006-12-13 02:30:19 +00:00
GCC Administrator
4f264afc07 Daily bump.
From-SVN: r119811
2006-12-13 00:17:27 +00:00
Richard Sandiford
94324d958c gcc-dg.exp (${tool}_load): Fix invocation of saved_${tool}_load.
gcc/testsuite/
	* lib/gcc-dg.exp (${tool}_load): Fix invocation of
	saved_${tool}_load.

From-SVN: r119798
2006-12-12 21:11:51 +00:00
Daniel Berlin
275d82e0ee tree-ssa-structalias.c (handle_ptr_arith): Return false when we can't handle the pointer arithmetic.
2006-12-12  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-structalias.c (handle_ptr_arith): Return false when we
	can't handle the pointer arithmetic.

From-SVN: r119791
2006-12-12 15:31:26 +00:00
Jakub Jelinek
779019894c re PR libstdc++/11953 (_REENTRANT defined when compiling non-threaded code.)
PR libstdc++/11953
	* gthr-posix.h (_REENTRANT): Only define if __osf__ is defined.

	* config/ia64/linux.h (CPP_SPEC): Define.
	* config/s390/linux.h (CPP_SPEC): Define.

From-SVN: r119789
2006-12-12 16:21:53 +01:00
James E Wilson
a1b885af68 re PR rtl-optimization/27761 (combine miscompiles)
PR rtl-optimization/27761
	* combine.c (try_combine): Don't create a useless garbage SET
	if PATTERN (i2) is a PARALLEL.  If added_sets_1, save
	PATTERN (i1) resp. SET from i1src to i1dest in i1pat
	and use it to prevent accidental modification of i1src.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r119786
2006-12-12 16:05:08 +01:00
Benjamin Kosnik
b27f08172e re PR libstdc++/28265 (iconv-related errors while building a cross-compiler for MinGW)
2006-12-12  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/28265
	* crossconfig.m4: Remove GLIBCXX_CHECK_ICONV_SUPPORT call for
	mingw crosses.
	* configure: Regenerate.

From-SVN: r119784
2006-12-12 14:28:53 +00:00
Benjamin Kosnik
2597666dbc re PR libstdc++/26497 (libstdc++-v3: configure: test: -lt: unary operator expected)
2006-12-12  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/26497
	* crossconfig.m4: Add GLIBCXX_CHECK_LINKER_FEATURES for Solaris.
	* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set
	glibcxx_gnu_ld_version only when with GNU ld confirmed.	
	* configure: Regenerate.

From-SVN: r119780
2006-12-12 13:13:08 +00:00
Richard Guenther
7491c0210d re PR middle-end/30147 (ICE in fold_convert with -O2)
2006-12-12  Richard Guenther  <rguenther@suse.de>

	PR middle-end/30147
	* fold-const.c (fold_read_from_constant_string): Only fold read
	from constant string if the result type is integer.

	* gfortran.fortran-torture/compile/pr30147.f90: New testcase.

From-SVN: r119777
2006-12-12 12:19:50 +00:00
Benjamin Kosnik
4c05253be4 re PR libstdc++/28125 (Cannot build cross compiler for Solaris: configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES)
2006-12-11  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/28125
        * acinclude.m4 (GLIBCXX_CHECK_ICONV_SUPPORT): Remove link test, ie
        AC_CHECK_LIB for libiconv. Instead, use bits of AM_ICONV.
	* configure: Regenerate.
	* scripts/testsuite_flags.in (cxxldflags): Add LIBICONV bits.

From-SVN: r119774
2006-12-12 11:23:44 +00:00
Mark Mitchell
11b8d0b054 re PR c++/29732 (ICE on invalid friend declaration)
PR c++/29732
	* cp-tree.h (DECL_USE_TEMPLATE): Mention partial specializations.
	(explicit_class_specialization_p): Declare.
	* pt.c (explicit_class_specialization_p): New function.
	* parser.c (cp_parser_init_declarator): Check correct number of
	template parameters for in-class function definitions.
	(cp_parser_check_declarator_template_parameters): Stop looking for
	template classes when we find an explicit specialization.
	PR c++/29732
	* g++.dg/template/crash65.C: New test.
	* g++.dg/template/spec16.C: Tweak error markers.

From-SVN: r119759
2006-12-12 01:46:57 +00:00
GCC Administrator
660a78cbcf Daily bump.
From-SVN: r119756
2006-12-12 00:17:44 +00:00
Francois-Xavier Coudert
56b887d580 re PR fortran/29892 (substring out of bounds: Missing variable name for variables with parameter attribute)
PR fortran/29892
	* trans-intrinsic.c (gfc_conv_intrinsic_bound): Use a locus in
	the call to gfc_trans_runtime_check.
	* trans-array.c (gfc_trans_array_bound_check): Try harder to find
	the variable or function name for the runtime error message.
	(gfc_trans_dummy_array_bias): Use a locus in the call to
	gfc_trans_runtime_check

	PR fortran/29973
	* resolve.c (resolve_actual_arglist): Remove the special case for
	CHAR.
	* intrinsic.c (add_functions): Remove the special case for CHAR.

	PR fortran/29711
	* error.c (error_print): Handle printf-style position specifiers,
	of the form "%3$d".

	PR fortran/29973
	* gfortran.dg/specifics_1.f90: Remove check for CHAR.
	* gfortran.dg/specifics_2.f90: Remove check for CHAR.
	* gfortran.dg/specifics_3.f90: Remove.
	* gfortran.fortran-torture/execute/specifics.f90: Remove test
	for CHAR.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r119747
2006-12-11 20:57:10 +00:00
GCC Administrator
c41b56b8e4 Daily bump.
From-SVN: r119723
2006-12-11 00:17:52 +00:00
Thomas Koenig
db92587f02 Commit ChangeLog entry.
From-SVN: r119717
2006-12-10 23:06:00 +00:00
Thomas Koenig
bf713693c1 re PR libfortran/29568 (implement unformatted files with subrecords (Intel style))
2006-12-10  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/29568
	* options.c:  Apply the correct version of the previous
	patch.

From-SVN: r119716
2006-12-10 23:05:27 +00:00
Andreas Tobler
81e5753216 re PR bootstrap/30134 (Bootstrap error: "libffi has not been ported to powerpc64-apple-darwin8.8.0")
2006-12-10  Andreas Tobler  <a.tobler@schweiz.org>

	PR bootstrap/30134
	* configure.in: Correct x86 darwin support for libjava to powerpc
	and i?86 only.
	* configure: Regenerate.

From-SVN: r119715
2006-12-10 23:43:30 +01:00
Thomas Koenig
7ef5224792 backport: re PR libfortran/29568 (implement unformatted files with subrecords (Intel style))
2006-12-10  Thomas Koenig  <Thomas.Koenig@online.de>

	Backport from mainline
	PR libfortran/29568
	* gfortran.dg/convert_implied_open.f90:  Change to
	new default record length.
	* gfortran.dg/unf_short_record_1.f90:  Adapt to
	new error message.
	* gfortran.dg/unformatted_subrecords_1.f90:  New test.
	PR libfortran/30009
	PR libfortran/30056
	* gfortran.dg/read_eof_4.f90:  Add tests.
	* gfortran.dg/readwrite_unf_direct_eor_1.f90:  New test.
	* gfortran.dg/unf_read_corrupted_1.f90: New test.

2006-12-10  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/29568
	* gfortran.h (gfc_option_t):  Add max_subrecord_length.
	(top level): Define MAX_SUBRECORD_LENGTH.
	* lang.opt:  Add option -fmax-subrecord-length=.
	* trans-decl.c:  Add new function set_max_subrecord_length.
	(gfc_generate_function_code): If we are within the main
	program and max_subrecord_length has been set, call
	set_max_subrecord_length.
	* options.c (gfc_init_options):  Add defaults for
	max_subrecord_lenght, convert and record_marker.
	(gfc_handle_option):  Add handling for
	-fmax_subrecord_length.
	* invoke.texi:  Document the new default for
	-frecord-marker=<n>.

2006-12-10  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/29568
	* libgfortran/libgfortran.h (compile_options_t):  Add
	record_marker. (top level):  Define GFC_MAX_SUBRECORD_LENGTH.
	* runtime/compile_options.c (set_record_marker):  Change
	default to four-byte record marker.
	(set_max_subrecord_length):  New function.
	* runtime/error.c (translate_error):  Change error message
	for short record on unformatted read.
	* io/io.h (gfc_unit):  Add recl_subrecord, bytes_left_subrecord
	and continued.
	* io/file_pos.c (unformatted_backspace):  Change default of record
	marker size to four bytes.  Loop over subrecords.
	* io/open.c:  Default recl is max_offset.  If
	compile_options.max_subrecord_length has been set, set set
	u->recl_subrecord to its value, to the maximum value otherwise.
	* io/transfer.c (top level):  Add prototypes for us_read, us_write,
	next_record_r_unf and next_record_w_unf.
	(read_block_direct):  Separate codepaths for unformatted direct
	and unformatted sequential.  If a recl has been set by the
	user, use the number of bytes left for the record if it is smaller
	than the read request.  Loop over subrecords.  Set an error if the
	user has set a recl and the read was short.
	(write_buf):  Separate codepaths for unformatted direct and
	unformatted sequential. If a recl has been set by the
	user, use the number of bytes left for the record if it is smaller
	than the read request.  Loop over subrecords.  Set an error if the
	user has set a recl and the read was short.
	(us_read):  Add parameter continued (to indicate that bytes_left
	should not be intialized).  Change default of record marker size
	to four bytes. Use subrecord.  If the subrecord length is smaller than
	zero, this indicates a continuation.
	(us_write):  Add parameter continued (to indicate that the continued
	flag should be set).  Use subrecord.
	(pre_position):  Use 0 for continued on us_write and us_read calls.
	(skip_record):  New function.
	(next_record_r_unf):  New function.
	(next_record_r):  Use next_record_r_unf.
	(write_us_marker):  Default size for record markers is four bytes.
	(next_record_w_unf):  New function.
	(next_record_w):  Use next_record_w_unf.
	PR libfortran/30009
	PR libfortran/30056
	* libgfortran.h:  Add ERROR_CORRUPT_FILE to error_codes.
	* runtime/error.c (translate_error):  Add handling for
	ERROR_CORRUPT_FILE.
	* io/transfer.c (read_block_direct):  Add comment about
	EOR for stream files.
	Remove test for no bytes left for direct access files.
	Generate an ERROR_SHORT_RECORD if the read was short.
	For unformatted sequential files:  Check endfile condition.
	Remove test for no bytes left.  End of file here means
	that the file structure has been corrupted.  Pre-position
	the file for the next record in case of error.
	(write_buf):  Whitespace fix.  Subtract the number of bytes
	written from bytes_left.

From-SVN: r119712
2006-12-10 22:16:14 +00:00
GCC Administrator
fa44e99d86 Daily bump.
From-SVN: r119701
2006-12-10 00:18:16 +00:00
Paul Thomas
7b39085d6a Backport PRs 29821, 29912, 29916, 30003
2006-12-09  Paul Thomas  <pault@gcc.gnu.org>

	Backports from trunk

	PR fortran/29821
	* resolve.c (resolve_operator): Only return result of
	gfc_simplify_expr if expression is constant.

	PR fortran/29912
	* trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL if the
	lhs and rhs character lengths are not constant and equal for
	character array valued functions.

	PR fortran/29916
	* resolve.c (resolve_symbol): Allow host-associated variables
	in the specification expression of an array-valued function.
	* expr.c (check_restricted): Accept host-associated dummy
	array indices.
	
	PR fortran/30003
	* trans-array.c (gfc_trans_create_temp_array): Set the section
	ends to zero.
	(gfc_conv_array_transpose): Likewise.
	(gfc_conv_section_startstride): Declare an expression for end,
	set it from a the array reference and evaluate it for the info
	structure. Zero the ends in the ss structure and set end, used
	in the bounds check, from the info structure.
	trans.h: Add and end array to the gfc_ss_info structure.

2006-12-09  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29821
	* gfortran.dg/parameter_array_section_1.f90: New test.

	PR fortran/29912
	* gfortran.dg/char_result_12.f90: New test.

	PR fortran/29916
	* gfortran.dg/host_dummy_index_1.f90: Added additional test.

	PR fortran/30003
	* gfortran.dg/allocatable_function_1.f90: Increase the number
	of expected calls of free to 10; the lhs section reference is
	now evaluated so there is another call to bar.  Change the
	comment appropriately.
	* gfortran.dg/array_section_1.f90: New test.

From-SVN: r119690
2006-12-09 15:17:16 +00:00
Maxim Kuvyrkov
787ac52145 haifa-sched.c (schedule_block): Remove excessive sanity check.
2006-12-09  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	* haifa-sched.c (schedule_block): Remove excessive sanity check.

From-SVN: r119689
2006-12-09 13:07:56 +00:00
Mike Stump
7e0fac7e3e t-darwin (TARGET_LIBGCC2_CFLAGS): Build libgcc with -mmacosx-version-min=10.4.
* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
	libgcc with -mmacosx-version-min=10.4.
	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
	G4 for 10.5+ unless doing kernel builds.

From-SVN: r119686
2006-12-09 06:25:39 +00:00
John David Anglin
ee3d960855 re PR target/30039 (HPPA: Incorrect code generated on 64bit host)
PR target/30039
	* pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
	patterns.  Correct length of high:DI instruction sequence.

From-SVN: r119683
2006-12-09 03:14:42 +00:00
Sandro Tolaini
b9b51874f6 configure.in: Add x86 darwin support for libjava.
* configure.in: Add x86 darwin support for libjava.
	* configure: Regenerate.

From-SVN: r119681
2006-12-09 00:49:00 +00:00
Mike Stump
3092270f0b locks.h: Enable use of either file on either target to support multilibs from one to the...
* sysdep/x86-64/locks.h: Enable use of either file on either
	target to support multilibs from one to the other.
	* sysdep/i386/locks.h: Likewise.

From-SVN: r119680
2006-12-09 00:45:39 +00:00
Mike Stump
637e3fce2b configure.ac: Fix x86 darwin builds.
* configure.ac: Fix x86 darwin builds.
	* darwin_stop_world.c: Likewise.
	* include/private/gcconfig.h: Likewise.
	* connfigure: Regenerate.

From-SVN: r119679
2006-12-09 00:42:26 +00:00
GCC Administrator
2c4ce5d796 Daily bump.
From-SVN: r119675
2006-12-09 00:17:59 +00:00
Ben Konrath
13f3596e55 re PR libgcj/30110 (classpath external missing from src.zip)
2006-12-08  Ben Konrath  <bkonrath@redhat.com>

	PR libgcj/30110:
	* Makefile.am: Add contents of classpath/external to src.zip.
	* Makefile.in: Regenerate.

From-SVN: r119664
2006-12-08 20:30:14 +00:00
Jakub Jelinek
cca02ef8b3 testsuite_hooks.cc (set_memory_limits): Don't set RLIMIT_AS below 16MB on x86_64-linux.
* testsuite/util/testsuite_hooks.cc (set_memory_limits): Don't set
	RLIMIT_AS below 16MB on x86_64-linux.

From-SVN: r119653
2006-12-08 11:09:38 +01:00
Mike Stump
01f2142113 Makefile.def (dependencies): Add dependency for install-target-libssp and install-target-libgomp on install-gcc.
* Makefile.def (dependencies): Add dependency for
	install-target-libssp and install-target-libgomp on
	install-gcc.
	* Makefile.in: Regenerate.

From-SVN: r119647
2006-12-08 02:42:25 +00:00
GCC Administrator
166f986667 Daily bump.
From-SVN: r119641
2006-12-08 00:17:44 +00:00
Lee Millward
1e23fbbf64 re PR c++/29980 (ICE using attribute in invalid declaration)
PR c++/29980
        * cp_parser_elaborated_type_specifier: Check
        the return value of check_elaborated_type_specifier.

        * g++.dg/ext/attrib27.C: New test.
        * g++.dg/parse/struct-as-enum1.C: Adjust error markers.
        * g++.dg/parse/typedef5.C: Likewise.

From-SVN: r119634
2006-12-07 20:59:08 +00:00
Mark Mitchell
c3d7399cfc re PR c++/29730 (ICE on invalid declaration of template member)
PR c++/29730
	* parser.c (cp_parser_init_declarator): Reject initialization of
	functions.
	PR c++/29730
	* g++.dg/template/crash64.C: New test.
	* g++.dg/parse/crash27.C: Adjust error markers.

From-SVN: r119632
2006-12-07 18:08:42 +00:00
Mike Stump
ab807d5115 * treelang/compile/var_defs.tree: Adjust.
From-SVN: r119629
2006-12-07 16:49:49 +00:00
Joseph Myers
7c3be85714 * ru.po: New.
From-SVN: r119626
2006-12-07 16:46:42 +00:00
Maxim Kuvyrkov
9826fbf2ce re PR target/29794 (cc1 segfaults with -O3 -msched-control-spec)
2006-12-07  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	PR target/29794
	* sched-rgn.c (add_block1): Use correct initializer.

From-SVN: r119614
2006-12-07 10:05:29 +00:00
Benjamin Kosnik
fa8b2bc437 localefwd.h: Consistent @file placement...
2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/localefwd.h: Consistent @file placement, use
        include/ as part of the path for files that have shadows instead of no
        name.
	* include/bits/valarray_after.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/postypes.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stringfwd.h: Same.
	* include/bits/c++config: Same.
	* include/bits/valarray_array.h: Same.
	* include/bits/valarray_before.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/c/std_cerrno.h: Same.
	* include/precompiled/extc++.h: Same.
	* include/precompiled/stdtr1c++.h: Same.
	* include/precompiled/stdc++.h: Same.
	* include/tr1/cinttypes: Same.
	* include/tr1/fenv.h: Same.
	* include/tr1/mu_iterate.h: Same.
	* include/tr1/cstdio: Same.
	* include/tr1/limits.h: Same.
	* include/tr1/ctgmath: Same.
	* include/tr1/cstdarg: Same.
	* include/tr1/tuple: Same.
	* include/tr1/float.h: Same.
	* include/tr1/stdint.h: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/hashtable_policy.h: Same.
	* include/tr1/cfenv: Same.
	* include/tr1/wctype.h: Same.
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/bind_repeat.h: Same.
	* include/tr1/utility: Same.
	* include/tr1/climits: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/stdlib.h: Same.
	* include/tr1/cwchar: Same.
	* include/tr1/stdio.h: Same.
	* include/tr1/ref_wrap_iterate.h: Same.
	* include/tr1/cstdint: Same.
	* include/tr1/memory: Same.
	* include/tr1/cstdbool: Same.
	* include/tr1/cwctype: Same.
	* include/tr1/bind_iterate.h: Same.
	* include/tr1/math.h: Same.
	* include/tr1/random: Same.
	* include/tr1/tuple_defs.h: Same.
	* include/tr1/cstdlib: Same.
	* include/tr1/unordered_map: Same.
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/cctype: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/wchar.h: Same.
	* include/tr1/hashtable: Same.
	* include/tr1/cmath: Same.
	* include/tr1/stdbool.h: Same.
	* include/tr1/ctime: Same.
	* include/tr1/functional: Same.
	* include/tr1/unordered_set: Same.
	* include/tr1/inttypes.h: Same.
	* include/tr1/functional_iterate.h: Same.
	* include/tr1/repeat.h: Same.
	* include/tr1/complex: Same.
	* include/tr1/cfloat: Same.
	* include/tr1/ctype.h: Same.
	* include/tr1/stdarg.h: Same.
	* include/tr1/tgmath.h: Same.
	* include/tr1/array: Same.
	* include/tr1/common.h: Same.
	* include/std/std_valarray.h: Same.
	* include/std/std_iostream.h: Same.
	* include/std/std_queue.h: Same.
	* include/std/std_algorithm.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_ios.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_iosfwd.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_iomanip.h: Same.
	* include/std/std_fstream.h: Same.
	* include/std/std_functional.h: Same.
	* include/std/std_numeric.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_deque.h: Same.
	* include/std/std_stdexcept.h: Same.
	* include/std/std_utility.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_string.h: Same.
	* include/std/std_complex.h: Same.
	* include/std/std_memory.h: Same.
	* include/std/std_ostream.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_map.h: Same.
	* include/std/std_sstream.h: Same.
	* include/c_std/std_csignal.h: Same.
	* include/c_std/std_cstdlib.h: Same.
	* include/c_std/std_cstdio.h: Same.
	* include/c_std/std_cstdarg.h: Same.
	* include/c_std/std_cctype.h: Same.
	* include/c_std/std_cerrno.h: Same.
	* include/c_std/std_cmath.h: Same.
	* include/c_std/std_ctime.h: Same.
	* include/c_std/std_clocale.h: Same.
	* include/c_std/std_climits.h: Same.
	* include/c_std/std_cassert.h: Same.
	* include/c_std/cmath.tcc
	* include/c_std/std_csetjmp.h: Same.
	* include/c_std/std_cwchar.h: Same.
	* include/c_std/std_cfloat.h: Same.
	* include/c_std/std_cstring.h: Same.
	* include/c_std/std_cstddef.h: Same.
	* include/c_std/std_cwctype.h: Same.

	* config/locale/gnu/c_locale.h: Namespace scope in all files.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/gnu/c++locale_internal.h: Same.
	* config/locale/gnu/time_members.h: Same.
	* config/locale/ieee_1003.1-2001/c_locale.h: Same.
	* config/locale/ieee_1003.1-2001/messages_members.h: Same.
	* config/locale/generic/c_locale.h: Same.
	* config/locale/generic/messages_members.h: Same.
	* config/locale/generic/time_members.h: Same.
	* config/allocator/mt_allocator_base.h: Same.
	* config/allocator/malloc_allocator_base.h: Same.
	* config/allocator/new_allocator_base.h: Same.
	* config/allocator/pool_allocator_base.h: Same.
	* config/allocator/bitmap_allocator_base.h: Same.
	* config/os/windiss/ctype_noninline.h: Same.
	* config/os/windiss/os_defines.h: Same.
	* config/os/windiss/ctype_inline.h: Same.
	* config/os/newlib/ctype_noninline.h: Same.
	* config/os/newlib/os_defines.h: Same.
	* config/os/newlib/ctype_inline.h: Same.
	* config/os/aix/ctype_noninline.h: Same.
	* config/os/aix/os_defines.h: Same.
	* config/os/aix/ctype_inline.h: Same.
	* config/os/vxworks/ctype_noninline.h: Same.
	* config/os/vxworks/os_defines.h: Same.
	* config/os/vxworks/ctype_inline.h: Same.
	* config/os/hpux/ctype_noninline.h: Same.
	* config/os/hpux/os_defines.h: Same.
	* config/os/hpux/ctype_inline.h: Same.
	* config/os/mingw32/ctype_noninline.h: Same.
	* config/os/mingw32/os_defines.h: Same.
	* config/os/mingw32/ctype_inline.h: Same.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* config/os/gnu-linux/os_defines.h: Same.
	* config/os/gnu-linux/ctype_inline.h: Same.
	* config/os/tpf/ctype_noninline.h: Same.
	* config/os/tpf/os_defines.h: Same.
	* config/os/tpf/ctype_inline.h: Same.
	* config/os/uclibc/ctype_noninline.h: Same.
	* config/os/uclibc/os_defines.h: Same.
	* config/os/uclibc/ctype_inline.h: Same.
	* config/os/djgpp/ctype_noninline.h: Same.
	* config/os/djgpp/os_defines.h: Same.
	* config/os/djgpp/ctype_inline.h: Same.
	* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
	* config/os/qnx/qnx6.1/ctype_inline.h: Same.
	* config/os/bsd/netbsd/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/ctype_inline.h: Same.
	* config/os/bsd/darwin/ctype_noninline.h: Same.
	* config/os/bsd/darwin/ctype_inline.h: Same.
	* config/os/bsd/freebsd/ctype_noninline.h: Same.
	* config/os/bsd/freebsd/ctype_inline.h: Same.
	* config/os/irix/irix5.2/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/ctype_inline.h: Same.
	* config/os/irix/irix6.5/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/ctype_inline.h: Same.
	* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/ctype_inline.h: Same.
	* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/ctype_inline.h: Same.
	* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.7/ctype_inline.h: Same.
	* config/os/generic/ctype_noninline.h: Same.
	* config/os/generic/os_defines.h: Same.
	* config/os/generic/ctype_inline.h: Same.
	* config/cpu/arm/cxxabi_tweaks.h: Same.
	* config/cpu/powerpc/cpu_defines.h: Same.
	* config/cpu/generic/cxxabi_tweaks.h: Same.
	* config/cpu/generic/cpu_defines.h: Same.
	* config/cpu/generic/atomic_word.h: Same.
	* config/io/c_io_stdio.h: Same.
	* config/abi/compatibility.h: Same.

	* docs/doxygen/user.cfg.in: Adjust file list.

2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1/tuple: Consistent include guards.
	* include/tr1/type_traits: Same.
	* include/tr1/array: Same.

From-SVN: r119610
2006-12-07 09:33:51 +00:00
GCC Administrator
2994019979 Daily bump.
From-SVN: r119605
2006-12-07 00:17:35 +00:00
Francois-Xavier Coudert
93876dc19f re PR libfortran/29810 (Unsatisfied symbol "fmodl" in libgfortran shared library)
PR libfortran/29810
	* intrinsics/c99_functions.c (fmodf, fmodl, floorl): New functions.
	* c99_protos.h (fmodf, fmodl, floorl): New prototypes.
	* configure.ac: Check for fmodf, fmod and fmodl.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* aclocal.m4: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r119598
2006-12-06 21:17:35 +00:00
Mark Mitchell
c4c6d7b277 re PR c++/29729 (ICE with template class in template function)
PR c++/29729
	* decl2.c (check_member_template): Move check for member
	templates in local classes to ...
	* parser.c (cp_parser_template_declaration_after_export):
	... here.
	PR c++/29729
	* g++.dg/template/crash63.C: New test.

From-SVN: r119586
2006-12-06 17:41:29 +00:00
Mark Mitchell
da53cf4fdc re PR c++/29728 (ICE on invalid initializer in template function)
PR c++/29728
	* decl.c (check_array_designated_initializer): New function.
	(maybe_deduce_size_from_array_init): Use it.
	(reshape_init_array): Likewise.
	PR c++/29728
	* g++.dg/template/crash62.C: New test.

From-SVN: r119574
2006-12-06 01:46:26 +00:00
GCC Administrator
d599b11c69 Daily bump.
From-SVN: r119568
2006-12-06 00:17:22 +00:00
H.J. Lu
076ad080d0 backport: i386-cpuid.h (bit_SSE3): New.
2006-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2006-11-30  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.dg/i386-cpuid.h (bit_SSE3): New.
	(i386_get_cpuid): New function.
	(i386_cpuid_ecx): Likewise.
	(i386_cpuid_edx): Likewise.
	(i386_cpuid): Updated to call i386_cpuid_edx.

	* gcc.target/i386/sse3-addsubpd.c: New file.
	* gcc.target/i386/sse3-addsubps.c: Likewise.
	* gcc.target/i386/sse3-haddpd.c: Likewise.
	* gcc.target/i386/sse3-haddps.c: Likewise.
	* gcc.target/i386/sse3-hsubpd.c: Likewise.
	* gcc.target/i386/sse3-hsubps.c: Likewise.
	* gcc.target/i386/sse3-lddqu.c: Likewise.
	* gcc.target/i386/sse3-movddup.c: Likewise.
	* gcc.target/i386/sse3-movshdup.c: Likewise.
	* gcc.target/i386/sse3-movsldup.c: Likewise.

From-SVN: r119559
2006-12-05 13:35:36 -08:00
H.J. Lu
885c0a9749 re PR driver/30074 (Cross compiler on i386/x86-64 hosts includes driver-i386.c)
2006-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR driver/30074
	* config.host: Add driver-i386.o only if compiling for x86 or
	x86_64.

From-SVN: r119545
2006-12-05 08:06:39 -08:00
GCC Administrator
0af0c93c87 Daily bump.
From-SVN: r119523
2006-12-05 00:17:39 +00:00
Mark Mitchell
f4899b8b8d re PR c++/29733 (ICE on initialization of function type)
PR c++/29733
	* pt.c (tsubst_decl): Disallow variables of function type.
	PR c++/29733
	* g++.dg/template/crash61.C: New test.

From-SVN: r119513
2006-12-04 22:15:24 +00:00
Mark Mitchell
1e3a8c67cd re PR c++/29632 (ICE on invalid code: regenerate_decl_from_template, at cp/pt.c:10969)
PR c++/29632
	* call.c (add_builtin_candidate): Do not permit NULL pointer
	constants to be compared with template parameters.
	PR c++/29632
	* g++.dg/template/error23.C: New test.

From-SVN: r119512
2006-12-04 22:14:42 +00:00
Richard Henderson
dfe3511731 re PR c++/14329 ([4.1 only] badly formatted warnings for SRA replacements used uninitialized)
2006-12-04  Richard Henderson  <rth@redhat.com>
            Andrew Pinski  <pinskia@gmail.com>

        PR C++/14329
        * error.c (cp_printer) <'D'>: Handle DECL_DEBUG_EXPR.

2006-12-04  Richard Henderson  <rth@redhat.com>
            Andrew Pinski  <pinskia@gmail.com>

        PR C++/14329
        * g++.dg/warn/unit-1.C: New test.



Co-Authored-By: Andrew Pinski <pinskia@gmail.com>

From-SVN: r119501
2006-12-04 10:31:40 -08:00
Eric Botcazou
2af62912c4 tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking if static linking doesn't even work.
config/
        * tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking
        if static linking doesn't even work.

libgomp/
        * configure: Regenerate.

libmudflap/
        * configure: Regenerate.

libjava/
        * configure: Regenerate.

libstdc++-v3/
        * configure: Regenerate.

From-SVN: r119488
2006-12-04 11:13:07 +00:00
Jakub Jelinek
0efc6933bf re PR middle-end/29947 (OpenMP parallel for fails for reversed loop range)
PR libgomp/29947
	* omp-low.c (expand_omp_for_static_nochunk,
	expand_omp_for_static_chunk): Do all arithmetics in signed rather than
	unsigned type.

	* loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
	start if there shouldn't be any loop iterations.
	(gomp_loop_ordered_static_start): Remove start == end test.
	* testsuite/libgomp.c/pr29947-1.c: New test.
	* testsuite/libgomp.c/pr29947-2.c: New test.

From-SVN: r119486
2006-12-04 11:30:11 +01:00
Jakub Jelinek
6bafe27cbc re PR middle-end/29965 (OpenMP vs always throw in a loop)
PR middle-end/29965
	* omp-low.c (determine_parallel_type): Don't try to optimize combined
	parallels if region->exit or region->inner->exit is NULL.
	(expand_omp_parallel): Handle NULL region->exit even if cfg is already
	built.
	(expand_omp_for_generic): Handle NULL region->cond and region->exit.
	(expand_omp_for): Use expand_omp_for_generic if either region->cond
	or region->exit is NULL.
	(expand_omp_sections): Handle NULL region->cond or region->exit.
	(expand_omp_synch): 

	* gcc.dg/gomp/pr29965-1.c: New test.
	* gcc.dg/gomp/pr29965-2.c: New test.
	* gcc.dg/gomp/pr29965-3.c: New test.
	* gcc.dg/gomp/pr29965-4.c: New test.
	* gcc.dg/gomp/pr29965-5.c: New test.
	* gcc.dg/gomp/pr29965-6.c: New test.
	* g++.dg/gomp/pr29965-1.C: New test.
	* g++.dg/gomp/pr29965-2.C: New test.
	* g++.dg/gomp/pr29965-3.C: New test.
	* g++.dg/gomp/pr29965-4.C: New test.
	* g++.dg/gomp/pr29965-5.C: New test.
	* g++.dg/gomp/pr29965-6.C: New test.
	* g++.dg/gomp/pr29965-7.C: New test.
	* g++.dg/gomp/pr29965-8.C: New test.
	* g++.dg/gomp/pr29965-9.C: New test.
	* g++.dg/gomp/pr29965-10.C: New test.

From-SVN: r119484
2006-12-04 11:23:06 +01:00
GCC Administrator
cb631d772a Daily bump.
From-SVN: r119474
2006-12-04 00:17:40 +00:00
Kaveh R. Ghazi
ac98ba7d52 configure.in: Check for MPFR 2.2.1.
* configure.in: Check for MPFR 2.2.1.  Update error message.

	* configure: Regenerate.

gcc:
	* doc/install.texi: Update MPFR prerequisite to version 2.2.1.

From-SVN: r119464
2006-12-03 14:16:26 +00:00
GCC Administrator
8efc4350a0 Daily bump.
From-SVN: r119458
2006-12-03 00:17:29 +00:00
Eric Botcazou
f5933c2be2 configure.tgt: Force initial-exec TLS model on Linux only.
* configure.tgt: Force initial-exec TLS model on Linux only.

From-SVN: r119453
2006-12-02 20:02:00 +00:00
Andrew Pinski
444f462ad7 [multiple changes]
2006-11-28  Andrew Pinski  <pinskia@gmail.com>

        PR tree-opt/29984
        * tree-ssa-reassoc.c (eliminate_duplicate_pair): Handle MAX_EXPR
        and MIN_EXRP.

2006-12-02  Andrew Pinski  <pinskia@gmail.com>

        PR tree-opt/29984
        * gcc.dg/tree-ssa/reassoc-12.c: New test.

From-SVN: r119451
2006-12-02 09:09:33 -08:00
GCC Administrator
fabd79d5d2 Daily bump.
From-SVN: r119432
2006-12-02 00:17:24 +00:00
Eric Botcazou
bf7e98cb5e Remove non-ASCII characters.
From-SVN: r119423
2006-12-01 22:49:44 +00:00
Volker Reichelt
516289831a re PR c++/30022 (ICE on vector operand in division)
PR c++/30022
	* typeck.c (type_after_usual_arithmetic_conversions):
	Fix assertion for vector types.
	(build_binary_op): Use temporary for inner type of vector types.

	* g++.dg/ext/vector5.C: New test.

From-SVN: r119418
2006-12-01 22:27:03 +00:00
Paolo Carlini
45a8bdc239 stl_tree.h (_Rb_tree<>::destroy_node): Uglify.
2006-12-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_tree.h (_Rb_tree<>::destroy_node): Uglify.
	(_M_erase, erase(iterator), erase(const_iterator)): Adjust.

From-SVN: r119407
2006-12-01 17:01:59 +00:00
Benjamin Kosnik
1042de085f throw_allocator.h: Consistent @file markup.
2006-11-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/throw_allocator.h: Consistent @file markup.
	* include/ext/type_traits.h: Same.
	* include/debug/hash_map: Same.
	* include/debug/hash_multimap.h: Same.
	* include/debug/set.h: Same.
	* include/debug/hash_set.h: Same.
	* include/debug/formatter.h: Same.
	* include/debug/bitset: Same.
	* include/debug/set: Same.
	* include/debug/multiset.h: Same.
	* include/debug/safe_sequence.h: Same.
	* include/debug/hash_set: Same.
	* include/debug/functions.h: Same.
	* include/debug/safe_base.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/safe_iterator.tcc: Same.
	* include/debug/vector: Same.
	* include/debug/map.h: Same.
	* include/debug/deque: Same.
	* include/debug/hash_map.h: Same.
	* include/debug/string: Same.
	* include/debug/macros.h: Same.
	* include/debug/list: Same.
	* include/debug/debug.h: Same.
	* include/debug/map: Same. 
	* include/debug/safe_iterator.h: Same.
	* include/debug/multimap.h: Same.
	* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
	* config/cpu/generic/atomicity_builtins/atomicity.h: Same.
	* config/cpu/generic/atomic_word.h: Same.
	* include/tr1/memory: Same.
	* include/tr1/random: Same.	
	* include/std/std_queue.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_deque.h: Same.
	* include/std/std_utility.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_string.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_map.h: Same.
	* libsupc++/typeinfo: Same.
	* libsupc++/exception: Same.
	* libsupc++/exception_defines.h: Same.
	* libsupc++/new: Same.
	
	* include/ext/bitmap_allocator.h: Change namespace __balloc to
	__detail.
	* src/bitmap_allocator.cc: Same.
	
	* include/bits/cpp_type_traits.h: Change __true_type and
	__false_type from global to namespace std scope.
	* include/ext/slist: Same.
	* include/ext/vstring.h: Same.
	* include/ext/vstring.tcc: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/sso_string_base.h: Same.

	* include/bits/codecvt.h: Adjust markup so that correct namespace
	scope information is in all files.
	* include/bits/locale_facets.h: Same. Include ctype_base directly.
	* config/os/windiss/ctype_base.h: Add in namespace markup.
	* config/os/newlib/ctype_base.h: Same.
	* config/os/aix/ctype_base.h: Same.
	* config/os/vxworks/ctype_base.h: Same.
	* config/os/hpux/ctype_base.h: Same.
	* config/os/mingw32/ctype_base.h: Same.
	* config/os/gnu-linux/ctype_base.h: Same.
	* config/os/tpf/ctype_base.h: Same.
	* config/os/uclibc/ctype_base.h: Same.
	* config/os/djgpp/ctype_base.h: Same.
	* config/os/qnx/qnx6.1/ctype_base.h: Same.
	* config/os/bsd/netbsd/ctype_base.h: Same.
	* config/os/bsd/darwin/ctype_base.h: Same.
	* config/os/bsd/freebsd/ctype_base.h: Same.
	* config/os/irix/irix5.2/ctype_base.h: Same.
	* config/os/irix/irix6.5/ctype_base.h: Same.
	* config/os/solaris/solaris2.5/ctype_base.h: Same.
	* config/os/solaris/solaris2.6/ctype_base.h: Same.
	* config/os/solaris/solaris2.7/ctype_base.h: Same.
	* config/os/generic/ctype_base.h: Same.
	* include/tr1/mu_iterate.h: Same.
	* include/tr1/tuple: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/tuple_defs.h: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_iterate.h: Same.
	
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Line
	number changes.	
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.

	* docs/doxygen/user.cfg.in: Update to doxygen 1.5.1.
	* docs/html/17_intro/license.html: Updated info for generated docs.
	* docs/doxygen/guide.html: Adjust.
	* docs/doxygen/run_doxygen: Adjust.
	* docs/doxygen/mainpage.html: Same.
	* docs/doxygen/doxygroups.cc: Same.
	* docs/doxygen/Intro.3: Same.
	* docs/doxygen/tables.html: Same.

From-SVN: r119400
2006-12-01 12:56:23 +00:00
GCC Administrator
33f9194843 Daily bump.
From-SVN: r119387
2006-12-01 00:17:23 +00:00
GCC Administrator
1f0c84b79d Daily bump.
From-SVN: r119344
2006-11-30 00:17:35 +00:00
Joseph Myers
a8b3e1345d vect.exp: Skip PowerPC targets not supporting -maltivec.
* gcc.dg/vect/vect.exp: Skip PowerPC targets not supporting
	-maltivec.

From-SVN: r119339
2006-11-30 00:13:41 +00:00
Joseph Myers
a22d6485de predicates.md (gpc_reg_operand): Check invalid_e500_subreg.
* config/rs6000/predicates.md (gpc_reg_operand): Check
	invalid_e500_subreg.
	* config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any
	SImode subregs of SPE vectors.
	* config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs.
	* jump.c (true_regnum): Require subregs to satisfy
	subreg_offset_representable_p.

From-SVN: r119325
2006-11-29 17:35:35 +00:00
Lee Millward
ece49eb1f6 re PR c++/29022 (ICE using operator int in invalid class hierarchy)
PR c++/29022
	* parser.c (cp_parser_class_head): Move processing
	of any base classes to...
	(cp_parser_class_specifier) ...here. Take an extra
	tree* parameter for any base classes. Only process
	them if the opening brace was found.

	* g++.dg/inherit/virtual2.C: New test.
	* g++.dg/inherit/virtual3.C: Likewise.
	* g++.old-deja/g++.bugs/900121_05.C: Adjust error markers.
	* g++.dg/inherit/error2.C: Likewise.
	* g++.dg/template/instantiate1.C: Likewise.

From-SVN: r119322
2006-11-29 16:51:32 +00:00
Richard Guenther
f24bb2939a revert: MAINTAINERS (Various Maintainers): Add myself as libgcc-math maintainer.
2006-11-29  Richard Guenther  <rguenther@suse.de>

	Revert
	2006-05-01  Richard Guenther  <rguenther@suse.de>

	* MAINTAINERS (Various Maintainers): Add myself as libgcc-math
	maintainer.

From-SVN: r119319
2006-11-29 15:59:37 +00:00
Jie Zhang
2718cf4fb3 * doc/tm.texi (NO_PROFILE_COUNTERS): Document more accurately.
From-SVN: r119316
2006-11-29 14:55:06 +00:00
Jim Tison
ccb10ccb61 gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION, [...]): Define.
2006-11-29  Jim Tison  <jtison@us.ibm.com>

	* gthr-tpf.h (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
	__gthread_recursive_mutex_init): Define.

From-SVN: r119312
2006-11-29 13:01:04 +00:00
Joseph Myers
fed4dc238f rs6000.c (rs6000_gimplify_va_arg): If STRICT_ALIGNMENT and the type is more aligned than the saved registers...
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): If
	STRICT_ALIGNMENT and the type is more aligned than the saved
	registers, copy via a temporary.

From-SVN: r119308
2006-11-29 12:49:50 +00:00
GCC Administrator
6ea3fff290 Daily bump.
From-SVN: r119300
2006-11-29 00:17:29 +00:00
Uros Bizjak
bb6bb5a43d * gcc.dg/20061124-1.c: Add exit() function prototype.
From-SVN: r119290
2006-11-28 14:46:31 +01:00
Jakub Jelinek
f2f4ae8390 re PR c++/29735 (ICE on "main" returning vector)
PR c++/29735
	* decl.c (grokfndecl): Check main's type after applying
	attributes, not before.

	* g++.dg/warn/main-3.C: New test.

From-SVN: r119288
2006-11-28 14:04:03 +01:00
Joseph Myers
65c04c80da * sv.po, tr.po: Update.
From-SVN: r119285
2006-11-28 12:05:25 +00:00
Joseph Myers
bf123ad64d function.c (instantiate_virtual_regs_in_insn): Call force_reg inside start_sequence / end_sequence pair.
* function.c (instantiate_virtual_regs_in_insn): Call force_reg
	inside start_sequence / end_sequence pair.

From-SVN: r119282
2006-11-28 12:01:13 +00:00
Paul Thomas
d982e8189a re PR fortran/29976 (ICE on optional arg)
2006-11-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29976
	* trans-expr.c (gfc_conv_missing_dummy): Remove build_int_const
	and replace with cast to type of se->expr of integer_zero_node.

2006-11-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29976
	* gfortran.dg/missing_optional_dummy_3.f90

From-SVN: r119275
2006-11-28 05:52:02 +00:00
Paul Thomas
1362ff414b re PR fortran/20880 (USE association of procedure's own interface)
2006-11-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/20880
	* resolve.c (resolve_fl_procedure): Error if procedure is
	ambiguous modified to require attr.referenced.

2006-11-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/20880
	* gfortran.dg/interface_3.f90: Modify errors.

From-SVN: r119274
2006-11-28 05:50:21 +00:00
GCC Administrator
d0d950c9f3 Daily bump.
From-SVN: r119266
2006-11-28 00:17:32 +00:00
Michael Matz
652b3f1324 re PR target/29319 (ICE unrecognizable insn: offset too large for larl (breaks glibc))
2006-11-27  Michael Matz  <matz@suse.de>
            Andreas Krebbel  <krebbel1@de.ibm.com>

	PR target/29319
	* config/s390/predicates.md (larl_operand): Check addend of larl
	operand to be in range of -/+2GB.
	* config/s390/s390.c (legitimize_pic_address): Likewise.  
	Changed type of variable even to HOST_WIDE_INT.

2006-11-27  Michael Matz  <matz@suse.de>
            Andreas Krebbel  <krebbel1@de.ibm.com>

	PR target/29319
	* gcc.dg/20061127-1.c: New testcase.


Co-Authored-By: Andreas Krebbel <krebbel1@de.ibm.com>

From-SVN: r119255
2006-11-27 16:26:53 +00:00
Mark Mitchell
ad182b8170 re PR c++/29886 (Cast misinterpreted as variable declaration)
PR c++/29886
	* parser.c (cp_parser): Add in_function_body.
	(cp_parser_new): Initialize it.
	(cp_parser_primary_expression): Use parser->in_function_body
	instead of at_function_scope_p.
	(cp_parser_asm_definition): Likewise.
	(cp_parser_direct_declarator): Likewise.
	(cp_parser_class_specifier): Clear parser->in_function_body.
	(cp_parser_constructor_declarator_p): Use parser->in_function_body
	instead of at_function_scope_p.
	(cp_parser_function_body_after_declarator): Set
	parser->in_function_body.
	PR c++/29886
	* g++.dg/expr/cast8.C: New test.

From-SVN: r119244
2006-11-27 04:56:02 +00:00
GCC Administrator
2161b1e6d6 Daily bump.
From-SVN: r119237
2006-11-27 00:17:56 +00:00
Kaveh R. Ghazi
4d24587f52 configure.in (--with-mpfr-dir, [...]): Remove flags.
* configure.in (--with-mpfr-dir, --with-gmp-dir): Remove flags.
	(--with-mpfr-include, --with-mpfr-lib, --with-gmp-include,
	--with-gmp-lib): New flags.

	* configure: Regenerate.

gcc:
	* doc/install.texi: Remove documentation for --with-mpfr-dir
	and --with-gmp-dir, add documentation for --with-mpfr-include,
	--with-mpfr-lib, --with-gmp-include and --with-gmp-lib.

From-SVN: r119233
2006-11-27 00:12:34 +00:00
Mohan Embar
be5f186090 re PR libgcj/29151 ([win32] Runtime.exec(String[] cmdarray, String[] envp) -> envp doesn't work)
PR libgcj/29151:
* java/lang/natWin32Process.cc (startProcess): Unconditionally
create a UNICODE environment for CreateProcess call.

From-SVN: r119230
2006-11-26 19:53:11 +00:00
Eric Botcazou
03e9913945 Fix oversight.
From-SVN: r119229
2006-11-26 18:27:27 +00:00
Andrew Pinski
b9d73c9557 re PR fortran/29982 ([4.1 only] ICE in write() with gfortran 4.1.2 (and 4.2 and 4.3...))
2006-11-25  Andrew Pinski  <pinskia@gmail.com>

        PR fortran/29982
        * trans-expr.c (gfc_conv_expr_reference): Strip off NOP_EXPRs.

2006-11-25  Andrew Pinski  <pinskia@gmail.com>

        PR fortran/29982
        * gfortran.fortran-torture/compile/parameter_3.f90: New
        testcase.

From-SVN: r119227
2006-11-26 10:08:14 -08:00
GCC Administrator
41d9d78f71 Daily bump.
From-SVN: r119215
2006-11-26 00:17:16 +00:00
Andrew Pinski
19a32c5ea6 re PR tree-optimization/29964 (function with volatile operators still found to be pure)
2006-11-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/29964
        * ipa-pure-const.c (check_tree): If the original tree
        is volatile return early and say the function is not pure
        nor const.  Remove the volatile check for writes.
        (analyze_function): Print out the result of the local
        analysis pass.

2006-11-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/29964
        * gcc.dg/pure-1.c: New test.

From-SVN: r119202
2006-11-25 08:45:09 -08:00
Paul Thomas
a3cac7f4e3 re PR fortran/20880 (USE association of procedure's own interface)
2006-11-25  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/20880
	* parse.c (parse_interface): Error if procedure name is that of
	encompassing scope.
	* resolve.c (resolve_fl_procedure): Error if procedure is
	ambiguous.

	PR fortran/29837
	* interface.c (compare_actual_formal): Add missing condition
	that 'where' be present for error that asserts that actual
	arguments be definable.

2006-11-25  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/20880
	* gfortran.dg/interface_3.f90: New test.

	PR fortran/29837
	* gfortran.dg/generic_8.f90: New test.

From-SVN: r119198
2006-11-25 14:37:56 +00:00
Jakub Jelinek
f40ab9dd50 * gcc.dg/20061124-1.c: Add "exit(0);" to the end of main.
From-SVN: r119194
2006-11-25 15:09:08 +01:00
Jerry DeLisle
0fa55a4342 re PR libfortran/29936 (Missed constraint on RECL=specifier in unformatted sequential WRITE)
2006-11-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/29936
	* gfortran.dg/write_check3.f90: New test.

From-SVN: r119185
2006-11-25 07:14:33 +00:00
Jerry DeLisle
328d8f5c8b re PR libfortran/29936 (Missed constraint on RECL=specifier in unformatted sequential WRITE)
2006-11-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/29936
	* io/io.h (unit_flags): Add new flag has_recl.
	* io.open.c (new_unit): Set flag if RECL= was specified.
	* io/transfer.c (us_write): If flag set, leave recl as initialized by
	new_unit.

From-SVN: r119184
2006-11-25 07:12:56 +00:00
GCC Administrator
1082076555 Daily bump.
From-SVN: r119180
2006-11-25 00:17:26 +00:00
Francois-Xavier Coudert
fb2ea50e0c re PR fortran/29391 ([4.2/4.1 only] LBOUND and UBOUND are broken)
PR fortran/29391
	PR fortran/29489
	* simplify.c (simplify_bound): Fix the simplification of
	LBOUND/UBOUND intrinsics.
	* trans-intrinsic.c (simplify_bound): Fix the logic, and
	remove an erroneous assert.
	* gfortran.dg/bound_2.f90: New test.
	* gfortran.dg/bound_3.f90: New test.

	PR fortran/24285
	* io.c (check_format): Allow dollars everywhere in format, and
	issue a warning.
	* gfortran.dg/dollar_edit_descriptor-3.f: New test.

From-SVN: r119174
2006-11-24 22:25:34 +00:00
Jakub Jelinek
93fff87edd re PR c/29955 (ICE with -fopenmp -fexceptions)
PR c/29955
	* c-tree.h (c_maybe_initialize_eh): New prototype.
	* c-decl.c (finish_decl): Move EH initialization...
	(c_maybe_initialize_eh): ... here.  New function.
	* c-parser.c (c_parser_omp_construct): Call c_maybe_initialize_eh
	if not #pragma omp atomic.

	* gcc.dg/gomp/pr29955.c: New test.

From-SVN: r119169
2006-11-24 22:29:13 +01:00
Jakub Jelinek
fb6dff6bad re PR c/29736 (ICE on duplicate vector attribute)
PR c/29736
	* c-common.c (handle_vector_size_attribute): Disallow VECTOR_TYPE
	or UNION_TYPE inner types.

	* gcc.dg/pr29736.c: New test.

From-SVN: r119166
2006-11-24 22:24:34 +01:00
Joseph Myers
7eabf47464 eabispe.h (TARGET_DEFAULT): Include MASK_STRICT_ALIGN.
* config/rs6000/eabispe.h (TARGET_DEFAULT): Include
	MASK_STRICT_ALIGN.
	* config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise.
	* config/rs6000/rs6000.c (rs6000_override_options): Use
	MASK_STRICT_ALIGN for 8540 and 8548.  Add MASK_STRICT_ALIGN to
	POWERPC_MASKS.

From-SVN: r119157
2006-11-24 16:26:16 +00:00
Joseph Myers
8c5de263a1 simd-2.C: Use -O -w in general for PowerPC.
* g++.dg/eh/simd-2.C: Use -O -w in general for PowerPC.
	* gcc.dg/debug/dwarf2/const-2.c: Use powerpc_altivec_ok.

From-SVN: r119153
2006-11-24 14:07:59 +00:00
Andreas Krebbel
f41067fc7f s390.c (s390_emit_compare_and_swap): New function.
2006-11-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390.c (s390_emit_compare_and_swap): New function.
	(s390_expand_cs_hqi, s390_expand_atomic): Call 
	s390_emit_compare_and_swap.

2006-11-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/20061124-1.c: New testcase.

From-SVN: r119150
2006-11-24 13:24:06 +00:00
John David Anglin
bfd506d0a8 pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.
* pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.

From-SVN: r119146
2006-11-24 04:33:06 +00:00
GCC Administrator
d3fcd60be1 Daily bump.
From-SVN: r119139
2006-11-24 00:17:10 +00:00
Antony King
18869da682 re PR libstdc++/29920 (include/Makefile.am still uses CCODECVT_H)
2006-11-22  Antony King <anthony.king@st.com>
            J"orn Rennecke <joern.rennecke@st.com>

	PR libstdc++/29920
	* include/Makefile.am (stamp-host): Remove CCODECVT_H line.
	* include/Makefile.in: Regenerate.

Co-Authored-By: J"orn Rennecke <joern.rennecke@st.com>

From-SVN: r119134
2006-11-23 21:22:23 +00:00
Paul Thomas
9f4b7dfd41 re PR fortran/25087 (Error for missing explicit interface needed.)
2006-11-23 Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25087
	* resolve.c (resolve_fl_procedure): Add an error if an external
	automatic character length function does not have an explicit
	interface.

	PR fortran/29652
	* interface.c (check_interface1): Use a local value, instead of
	the dummy, as the inner iterator over interface symbols.

	PR fortran/29820
	* trans-array.c (gfc_get_derived_type): Once done, spread the
	backend_decl to all identical derived types in all sibling
	namespaces.

2006-11-23 Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25087
	* gfortran.dg/auto_char_len_4.f90: New test.

	PR fortran/29652
	* gfortran.dg/generic_7.f90: New test.
	* gfortran.dg/defined_operators_1.f90: Add new error.

	PR fortran/29820
	* gfortran.dg/used_types_13.f90: New test.

From-SVN: r119132
2006-11-23 19:14:05 +00:00
Benjamin Kosnik
bd29e46381 hashtable.h: -Wshadow fixes.
2006-11-21  Benjamin Kosnik  <bkoz@redhat.com>
	
	* include/ext/hashtable.h: -Wshadow fixes.
	* include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/
	constructors_destructor_fn_imps.hpp: Same.
	* src/mt_allocator.cc: Same.
	* src/debug.cc: Same.
	* config/locale/gnu/codecvt_members.cc: Same.

From-SVN: r119115
2006-11-23 09:58:01 +00:00
GCC Administrator
bd4d80a9be Daily bump.
From-SVN: r119107
2006-11-23 00:17:13 +00:00
Joseph Myers
45722f3138 spe.md (SPE64): New mode macro.
* config/rs6000/spe.md (SPE64): New mode macro.
	(mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0.  Add
	memory load.
	(mov_si<mode>_e500_subreg0_2): New.
	(mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4.  Add
	memory load.
	(mov_si<mode>_e500_subreg4_2): New.
	* config/rs6000/predicates.md (input_operand): Do not allow
	invalid E500 subregs.
	(rs6000_nonimmediate_operand): Check for invalid E500 subregs also
	if TARGET_SPE.
	* config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs
	involving DFmode if TARGET_E500_DOUBLE.  Check for subregs
	involving vector modes if TARGET_SPE.

From-SVN: r119095
2006-11-22 16:42:15 +00:00
GCC Administrator
061209112a Daily bump.
From-SVN: r119083
2006-11-22 00:17:33 +00:00
Jakub Jelinek
2120c41095 re PR c++/29570 (ICE with brace-enclosed initializer)
PR c++/29570
	* decl.c (cp_finish_decl): Check for value dependent brace enclosed
	scalar initializer.

	* g++.dg/template/static29.C: New test.

From-SVN: r119052
2006-11-21 11:50:30 +01:00
Jakub Jelinek
b7d01500cc re PR c++/29734 (ICE with vector in switch condition)
PR c++/29734
	* cp-tree.h (WANT_VECTOR): Define.
	(WANT_ARITH): Add WANT_VECTOR.
	* cvt.c (build_expr_type_conversion): Handle vector types.
	* typeck.c (build_unary_op): Add WANT_VECTOR to
	build_expr_type_conversion flags.

	* g++.dg/conversion/simd4.C: New test.

From-SVN: r119051
2006-11-21 11:49:02 +01:00
Benjamin Kosnik
c3acfaf653 iostream-inst.cc: Remove iostream include.
2006-11-21  Benjamin Kosnik  <bkoz@redhat.com>
	    Howard Hinnant  <hhinnant@apple.com>

	* src/iostream-inst.cc: Remove iostream include.

From-SVN: r119047
2006-11-21 09:53:59 +00:00
GCC Administrator
de1b399576 Daily bump.
From-SVN: r119036
2006-11-21 00:17:17 +00:00
Anatoly Sokolov
86d8c48296 re PR target/18553 (Annoying warning with -ffunction-sections -g)
PR target/18553
	PR target/29449
	* config/avr/avr.h (OBJECT_FORMAT_ELF): Define.

	* config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define.

From-SVN: r119020
2006-11-20 21:23:13 +03:00
Kaveh R. Ghazi
a1cf97a96a configure.in (--with-mpfr-dir): Also look in .libs and _libs for libmpfr.a.
* configure.in (--with-mpfr-dir): Also look in .libs and _libs for
	libmpfr.a.
	* configure: Regenerate.

From-SVN: r119008
2006-11-20 00:57:02 +00:00
GCC Administrator
c664e7b1ca Daily bump.
From-SVN: r119005
2006-11-20 00:17:47 +00:00
Erik Edelmann
d13d1dc6d2 resolve.c (resolve_ref): Check for ALLOCATABLEs to the right of nonzero rank part references too.
fortran/
2006-11-19  Erik Edelmann  <eedelman@gcc.gnu.org>

	* resolve.c (resolve_ref): Check for ALLOCATABLEs to the right of
	  nonzero rank part references too.

testsuite/
2006-11-19  Erik Edelmann  <eedelman@gcc.gnu.org>

	* gfortran.dg/alloc_comp_constraint_5.f90: New.
	* gfortran.dg/alloc_comp_assign_2.f90: Removed invalid code.

From-SVN: r119000
2006-11-19 21:42:07 +00:00
John David Anglin
30a483ec11 re PR target/29114 (ICE when cross-compiling glibc for hppa on a 64bit host)
PR target/29114
	* pa.c (emit_move_sequence): Don't split constants with PLUS for modes
	larger than BITS_PER_WORD.

From-SVN: r118994
2006-11-19 18:27:03 +00:00
Paolo Carlini
19fa06fa44 functional (hash(long long), [...]): Add specializations.
2006-11-19  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/functional (hash(long long), hash(unsigned long long)):
	Add specializations.

From-SVN: r118992
2006-11-19 16:23:34 +00:00
Richard Guenther
4823b999f2 backport: re PR tree-optimization/29753 (Volatile semantics ignored in some cases)
2006-11-19  Richard Guenther  <rguenther@suse.de>

	Backport from mainline:
	2006-11-15  Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/29753
	* gimplify.c (fold_indirect_ref_rhs): Use
	STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.

From-SVN: r118989
2006-11-19 16:14:49 +00:00
John David Anglin
5e94e76831 re PR fortran/27885 (FAIL: libgomp.fortran/vla[1-7].f90 -O0 (test for excess errors))
PR fortran/27885
	PR middle-end/28176
	* stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types
	to MAX_FIXED_MODE_SIZE.

From-SVN: r118984
2006-11-19 00:44:04 +00:00
GCC Administrator
392611ae10 Daily bump.
From-SVN: r118981
2006-11-19 00:17:52 +00:00
Aldy Hernandez
de3c973a11 invoke.texi: Fix mno-isel typo.
* doc/invoke.texi: Fix mno-isel typo.

From-SVN: r118970
2006-11-18 10:57:16 +00:00
Joseph Myers
54ff9c6cb3 spe.md (movv4hi_internal): Add alternative for easy vector constant loads.
* config/rs6000/spe.md (movv4hi_internal): Add alternative for
	easy vector constant loads.

From-SVN: r118965
2006-11-18 00:27:44 +00:00
Joseph Myers
a0d343861f rs6000.h (TARGET_NO_LWSYNC): Define.
gcc:
	* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
	__NO_LWSYNC__ if TARGET_NO_LWSYNC.
	* config/rs6000/sync.md (lwsync): Emit plain sync if
	TARGET_NO_LWSYNC.

libstdc++-v3:
	* config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER):
	Use plain sync if __NO_LWSYNC__.

From-SVN: r118962
2006-11-18 00:24:06 +00:00
GCC Administrator
72d2a91a69 Daily bump.
From-SVN: r118958
2006-11-18 00:17:38 +00:00
Paolo Bonzini
e97af807a1 re PR ada/29802 (wrong directory in makefile for ada and libada when srcdir=.)
2006-11-16  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.tpl (clean-target-libgcc): Test for gcc Makefile presence.
	(unstage): Test for stage_last presence.

	* Makefile.tpl (clean-stage*): Test separately for package/Makefile
	and stageN-package/Makefile.

	PR bootstrap/29802
	* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Add HOST_SUBDIR in STAGE_PREFIX.
	* Makefile.in: Regenerate.

2006-11-16  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/29802
	* configure.ac: Call GCC_TOPLEV_SUBDIRS.
	* configure: Regenerate.
	* Makefile.in: Replace host_subdir.

From-SVN: r118941
2006-11-17 15:29:54 +00:00
Eric Botcazou
c86c0c2a57 re PR ada/27936 (gnatbind fails to link)
PR ada/27936
	* ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
	* decl.c (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB
	flag in addition to TREE_READONLY to assert the constantness of
	variables for elaboration purposes.
	* trans.c (add_decl_expr): Do not dynamically elaborate padded objects
	if the initializer takes into account the padding.
	Set DECL_READONLY_ONCE_ELAB flag on variables originally TREE_READONLY
	but whose elaboration cannot be performed statically.

From-SVN: r118940
2006-11-17 15:11:17 +00:00
Jakub Jelinek
e8de4e43b9 re PR middle-end/29584 (internal compiler error on optimization)
PR middle-end/29584
	* tree-ssa-forwprop.c (simplify_switch_expr): Don't
	optimize if DEF doesn't have integral type.

	* gcc.dg/torture/pr29584.c: New test.

From-SVN: r118922
2006-11-17 09:59:08 +01:00
Uros Bizjak
0316b74399 * config/i386/i386.c (ix86_function_sseregparm): Add missing comment update.
From-SVN: r118919
2006-11-17 07:53:49 +01:00
Uros Bizjak
9421c6823e i386.c (ix86_function_sseregparm): Fix comment: number of arguments passed to local functions in SSE registers is 3.
* config/i386/i386.c (ix86_function_sseregparm): Fix comment:
	number of arguments passed to local functions in SSE registers is 3.

	* doc/invoke.texi (Function Attributes) [sseregparm]: Correct
	number of arguments passed in SSE registers to 3.

From-SVN: r118916
2006-11-17 07:45:43 +01:00
Joseph Myers
330dfc792a stdarg-2.c, stdarg-4.c: Condition PowerPC tests for saving FPRs on powerpc_fprs.
* gcc.dg/tree-ssa/stdarg-2.c, gcc.dg/tree-ssa/stdarg-4.c:
	Condition PowerPC tests for saving FPRs on powerpc_fprs.
	* gcc.target/powerpc/compress-float-ppc.c,
	gcc.target/powerpc/compress-float-ppc-pic.c: Only test if
	powerpc_fprs.
	* gcc.target/powerpc/rs6000-power2-2.c: Only test if powerpc_fprs;
	do not pass -mhard-float.

From-SVN: r118913
2006-11-17 00:26:22 +00:00
GCC Administrator
69a806bd44 Daily bump.
From-SVN: r118909
2006-11-17 00:17:16 +00:00
Eric Botcazou
a18bfd8307 re PR middle-end/26306 (ICE on volatile array with non-constant bounds)
PR middle-end/26306
	* gimplify.c (gimplify_expr): Only force a load for references to
	non-BLKmode volatile values.
	* doc/implement-c.texi (Qualifiers implementation): Document the
	interpretation of what a volatile access is.
	* doc/extend.texi (C++ Extensions): Rework same documentation.

From-SVN: r118901
2006-11-16 21:27:32 +00:00
Andrew Pinski
aea945928a re PR tree-optimization/29788 (ICE in var_ann, at tree-flow-inline.h:130)
2006-11-16  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/29788
        * fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down
        to what is the const decl is a place holder for.

2006-11-16  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/29788
        * gfortran.fortran-torture/compile/inline_1.f90:
        New testcase.

From-SVN: r118897
2006-11-16 09:14:27 -08:00
Maxim Kuvyrkov
44683f7b94 re PR target/29201 (ICE in create_recovery_block, at haifa-sched.c:3692 at -O3)
2006-11-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	PR target/29201
	* cfgrtl.c (rtl_delete_block): Move the code for getting last insn of
	bb to ...
	(get_last_bb_insn): ... new global function.
	(basic_block.h): Declare it.
	* haifa-sched.c (create_recovery_block): Use it.

2006-11-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	PR target/29201
	* gcc.c-torture/compile/pr29201.c: New test for ia64 target.

From-SVN: r118893
2006-11-16 15:10:57 +00:00
Joseph Myers
910dfa322e spe.md (frob_di_df_2): Handle non-offsettable memory operand.
* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
	memory operand.

From-SVN: r118890
2006-11-16 13:37:08 +00:00
GCC Administrator
50c8910b65 Daily bump.
From-SVN: r118875
2006-11-16 00:17:29 +00:00
Steve Ellcey
0d94484ee9 ia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode routines for integer division.
* config/ia64/ia64.c (ia64_hpux_init_libfuncs):  Use HP-UX millicode
	routines for integer division.

From-SVN: r118870
2006-11-15 23:02:04 +00:00
Steve Ellcey
cf5ea1396e re PR other/25028 (TImode-to-floating conversions broken)
PR other/25028
	* config/ia64/t-hpux (LIB1ASMFUNCS):  Filter out _fixtfdi,
	_fixunstfdi, and  _floatditf

From-SVN: r118869
2006-11-15 22:59:41 +00:00
Jakub Jelinek
c399ac2cac re PR tree-optimization/29581 (Latent bug in 4.1/4.2/4.3 lambda-code.c)
PR tree-optimization/29581
	* lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
	REPLACEMENTS, FIRSTBSI arguments.  If initial condition or
	type is different between Y and USE, create a temporary
	variable, initialize it at the beginning of the body bb
	and use it as replacement instead of Y.

	* gcc.dg/pr29581-1.c: New test.
	* gcc.dg/pr29581-2.c: New test.
	* gcc.dg/pr29581-3.c: New test.
	* gcc.dg/pr29581-4.c: New test.
	* gfortran.dg/pr29581.f90: New test.

From-SVN: r118849
2006-11-15 10:36:51 +01:00
Richard Guenther
12d9558634 backport: re PR rtl-optimization/29797 (Miscompiles bit test / set in OpenOffice)
2006-11-15  Richard Guenther  <rguenther@suse.de>

	Backport from mainline:
	2006-11-12  Michael Matz  <matz@suse.de>
        	    Roger Sayle  <roger@eyesopen.com>

        PR rtl-optimization/29797
        * ifcvt.c (noce_try_bitop): Correct calculation of bitnum on
        BITS_BIG_ENDIAN targets.

        * gcc.c-torture/execute/pr29797-1.c: New test case.

From-SVN: r118847
2006-11-15 08:37:38 +00:00
Brooks Moses
d6f7a03d1f re PR fortran/29702 (RFE: Column number in error messages.)
PR fortran/29702
* fortran/error.c (show_loci): Move column-offset calculation to
show_locus.
(show_locus): Remove blank lines before "Included in"
lines, clean up code, calculate column-offsets, print
column number is error-header lines as appropriate.
(error_integer): (new function) Print integer to error
buffer.
(error_print): Use error_integer, avoid possible buffer
overflows from buggy error formats.
* testsuite/lib/gfortran-dg.exp (gfortran-dg-test): Ignore column
numbers in error message headers.

From-SVN: r118840
2006-11-14 19:44:18 -08:00
GCC Administrator
fee93a7127 Daily bump.
From-SVN: r118834
2006-11-15 00:17:25 +00:00
Eric Christopher
fd97d6049a configure: Regenerate with autoconf 2.59.
2006-11-14  Eric Christopher  <echristo@apple.com>

        * configure: Regenerate with autoconf 2.59.

From-SVN: r118824
2006-11-14 20:01:14 +00:00
Mark Mitchell
68927913e4 re PR c++/29106 (sizeof(*var) in expression drops entire line of code out of compile)
PR c++/29106
	* g++.dg/init/self1.C: New test.

From-SVN: r118818
2006-11-14 17:13:57 +00:00
Joseph Myers
292c6ddee3 13450.cc: Do not test long double in IBM long double case.
* testsuite/26_numerics/complex/13450.cc: Do not test long double
	in IBM long double case.

From-SVN: r118815
2006-11-14 16:02:27 +00:00
Francois-Xavier Coudert
55c0e7c1f6 re PR libfortran/27895 (problem with RESHAPE and zero-sized arrays)
PR libfortran/27895

	* intrinsics/reshape_generic.c (reshape_internal): Fix so that it
	works correctly for zero-sized arrays.
	* m4/reshape.m4: Likewise.
	* generated/reshape_r16.c: Regenerate.
	* generated/reshape_c4.c: Regenerate.
	* generated/reshape_i4.c: Regenerate.
	* generated/reshape_c16.c: Regenerate.
	* generated/reshape_r10.c: Regenerate.
	* generated/reshape_r8.c: Regenerate.
	* generated/reshape_c10.c: Regenerate.
	* generated/reshape_c8.c: Regenerate.
	* generated/reshape_i8.c: Regenerate.
	* generated/reshape_i16.c: Regenerate.
	* generated/reshape_r4.c: Regenerate.

	* gcc/testsuite/gfortran.dg/zero_sized_1.f90: Uncomment checks
	for RESHAPE.

From-SVN: r118804
2006-11-14 06:18:36 +00:00
Mark Mitchell
8c37715373 re PR c++/29518 (rejects valid template argument, enums vs templates)
PR c++/29518
	* pt.c (coerce_template_parms): Do not skip_evaluation while
	substituting template arguments.
	PR c++/29518
	* g++.dg/template/static28.C: New test.

From-SVN: r118801
2006-11-14 04:59:48 +00:00
Andrew Pinski
90c17f7899 re PR fortran/26994 (Scalar TRANSFER - error: invalid operand to unary operator)
2006-11-13  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR fortran/26994
        * gfortran.fortran-torture/compile/transfer-1.f90:
        New testcase.

2006-11-13  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR fortran/26994
        * trans-expr.c (gfc_conv_expr_reference): Set TREE_STATIC on the
        new CONST_DECL.

From-SVN: r118800
2006-11-13 19:28:17 -08:00
DJ Delorie
5c83a0d3b8 m32c.c (m32c_prepare_shift): Use a separate temporary for intermediates.
* config/m32c/m32c.c (m32c_prepare_shift): Use a separate
temporary for intermediates.

From-SVN: r118799
2006-11-13 21:30:07 -05:00
Jie Zhang
94b579fc20 configure.in: Remove target-libgloss from noconfigdirs for bfin-*-*.
* configure.in: Remove target-libgloss from noconfigdirs for
	bfin-*-*.
	* configure: Regenerated.

From-SVN: r118795
2006-11-14 00:46:16 +00:00
GCC Administrator
2c81f870b9 Daily bump.
From-SVN: r118790
2006-11-14 00:17:19 +00:00
Jakub Jelinek
921aa2c7da configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL test.
* configure.ac: Add changequote around __LONG_DOUBLE_MATH_OPTIONAL
	test.
	* configure: Rebuilt.

From-SVN: r118781
2006-11-13 23:41:09 +01:00
Jakub Jelinek
d5ae0052ff configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715 style versions.
* configure.ac (ld_vers): Parse GNU ld version 2.17.50.0.3-6 20060715
	style versions.
	* configure: Rebuilt.

From-SVN: r118778
2006-11-13 23:03:19 +01:00
Jakub Jelinek
091d148bfe re PR fortran/29759 (ice on line continuation in OMP statements (gfc_next_char_literal, at fortran/scanner.c:701))
PR fortran/29759
	* fortran/scanner.c (skip_free_comments): Clear openmp_flag
	before returning true.

	* gfortran.dg/gomp/pr29759.f90: New test.

From-SVN: r118774
2006-11-13 20:44:23 +01:00
H.J. Lu
2fb0c265dc backport: re PR middle-end/28915 (ICE: tree check: expected class 'constant', have 'declaration' (var_decl) in build_vector, at tree.c:973)
2006-11-12  Jason Merrill  <jason@redhat.com>
	    Andrew Pinski <pinskia@physics.uc.edu>

	Backport form mainline:
	PR middle-end/28915
	* gcc.target/i386/vectorize1.c: New.

From-SVN: r118772
2006-11-13 10:55:08 -08:00
Andrew Pinski
a5c132bf91 re PR tree-optimization/29439 (ICE in fold-const.c:1385 with -O1 -fwrapv -ftree-vrp)
2006-11-13  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/29439
        * tree-vrp.c (vrp_int_const_binop): Use the correct tree when
        checking for overflow.

From-SVN: r118763
2006-11-13 06:46:05 -08:00
Richard Guenther
4063073db5 backport: re PR middle-end/21032 (With -frounding-math, incorrectly reorders unary minus)
2006-11-13  Richard Guenther  <rguenther@suse.de>

        Backport from mainline:
        2006-10-23  Richard Guenther  <rguenther@suse.de>

        PR middle-end/21032
        * convert.c (convert_to_real): Fold (float)-x to -(float)x
        only if not flag_rounding_math.

        * gcc.dg/pr21032.c: New testcase.

From-SVN: r118751
2006-11-13 10:15:26 +00:00
Paolo Carlini
4f67e1c6ab bitmap_allocator.h: Uglify some names.
2006-11-13  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/bitmap_allocator.h: Uglify some names.
	* include/ext/concurrence.h: Likewise.
	* src/bitmap_allocator.cc: Likewise.

From-SVN: r118749
2006-11-13 09:18:24 +00:00
Jason Merrill
772585f35d re PR middle-end/28915 (ICE: tree check: expected class 'constant', have 'declaration' (var_decl) in build_vector, at tree.c:973)
PR middle-end/28915
        * gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT
        vector ctors.
        * tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT
        vector ctors.
        * expmed.c (make_tree): Handle CONST, SYMBOL_REF.
        * tree.c (build_vector): Handle non-_CST elements.

Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>

From-SVN: r118748
2006-11-13 03:18:28 -05:00
Daniel Berlin
5e8d9a48cd re PR java/29587 (jc1: out of memory allocating 4072 bytes after a total of 708630224 bytes)
2006-11-12  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/29587
	* tree-ssa-structalias.c (process_constraint): Don't
	mark address taken due only to escaped vars constraint.

From-SVN: r118743
2006-11-13 02:21:52 +00:00
GCC Administrator
ed24a499d0 Daily bump.
From-SVN: r118737
2006-11-13 00:17:21 +00:00
David Daney
c90714c07e re PR java/29805 (Write past end of array in java/typeck.c)
PR java/29805
	* typeck.c (build_java_array_type): Increase buffer sizes.

From-SVN: r118725
2006-11-12 17:14:52 +00:00
Paul Thomas
b3c7dde00c Correcting ChangeLog errors
From-SVN: r118720
2006-11-12 10:11:44 +00:00
Paul Thomas
0f1ae23bc4 re PR fortran/29699 (ICE in trans-decl.c)
2006-11-12 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29699
	* trans-array.c (structure_alloc_comps): Detect pointers to
	arrays and use indirect reference to declaration.
	* resolve.c (resolve_fl_variable): Tidy up condition.
	(resolve_symbol): The same and only add initialization code if
	the symbol is referenced.
	* trans-decl.c (gfc_trans_deferred_vars): Call gfc_trans_
	deferred_array before gfc_trans_auto_array_allocation.

	PR fortran/21730
	* symbol.c (check_done): Remove.
	(gfc_add_attribute): Remove reference to check_done and remove
	the argument attr_intent.
	(gfc_add_allocatable, gfc_add_dimension, gfc_add_external,
	gfc_add_intrinsic, gfc_add_optional, gfc_add_pointer,
	gfc_add_cray_pointer, gfc_add_cray_pointee, gfc_add_result,
	gfc_add_target, gfc_add_in_common, gfc_add_elemental,
	gfc_add_pure, gfc_add_recursive, gfc_add_procedure,
	gfc_add_type): Remove references to check_done.
	* decl.c (attr_decl1): Eliminate third argument in call to
	gfc_add_attribute.
	* gfortran.h : Change prototype for gfc_add_attribute.

	PR fortran/29431
	* trans-array.c    (get_array_ctor_strlen): If we fall through to
	default, use a constant character length if it is available.

	PR fortran/29758
	* check.c (gfc_check_reshape): Check that there are enough
	elements in the source array as to be able to fill an array
	defined by shape, when pad is absent.

	PR fortran/29315
	* trans-expr.c (is_aliased_array): Treat correctly the case where the
	component is itself and array or array reference.


2006-11-12 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29699
	* gfortran.dg/alloc_comp_auto_array_1.f90: New test.

	PR fortran/21730
	* gfortran.dg/change_symbol_attributes_1.f90: New test.

	PR fortran/29431
	* gfortran.dg/array_constructor_13.f90: New test.

	PR fortran/29758
	* gfortran.dg/reshape_source_size_1.f90: New test.

	PR fortran/29315
	* gfortran.dg/aliasing_dummy_4.f90: New test.

From-SVN: r118719
2006-11-12 07:40:26 +00:00
Jie Zhang
1bea4dc3e5 revert: bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ and __BFIN__.
Revert
	2006-11-11  Jie Zhang  <jie.zhang@analog.com>
	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
	and __BFIN__.

	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std
	instead of builtin_define for bfin and BFIN.

From-SVN: r118714
2006-11-12 00:29:10 +00:00
Jie Zhang
267e13046c bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ and __BFIN__.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
	and __BFIN__.

From-SVN: r118712
2006-11-12 00:22:42 +00:00
GCC Administrator
01fa53260c Daily bump.
From-SVN: r118708
2006-11-12 00:17:24 +00:00
Richard Sandiford
2b8fd143ff re PR middle-end/27528 (compiling linux kernels 2.6.16.14/15 2.6.17-rc3 on powerpc (7450) get error on long exixting code)
gcc/
	PR middle-end/27528
	* stmt.c (expand_asm_operands): Use EXPAND_INITIALIZER if the
	constraints accept neither registers or memories.

gcc/testsuite/
	PR middle-end/27528
	* gcc.c-torture/compile/pr27528.c: New test.
	* gcc.dg/pr27528.c: Likewise.

From-SVN: r118690
2006-11-11 09:53:20 +00:00
Jie Zhang
52130090ee bfin.h (FUNCTION_PROFILER): Don't use LABELNO.
* config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO.
	(NO_PROFILE_COUNTERS): Define as 1.

From-SVN: r118687
2006-11-11 07:56:08 +00:00
GCC Administrator
9eed1e7a35 Daily bump.
From-SVN: r118675
2006-11-11 00:17:13 +00:00
Tobias Burnus
b01d2937e8 re PR fortran/29454 (Slightly wrong error message for IF statement)
2006-11-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/29454
        * resolve.c (gfc_resolve_blocks): Fix error message.

From-SVN: r118671
2006-11-11 00:58:04 +01:00
Paul Thomas
a10fb54b74 re PR fortran/29539 (ICE in variable_decl)
2006-11-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29539
	PR fortran/29634
	* decl.c (variable_decl): Add test for presence of proc_name.
	(gfc_match_data_decl): Only emit error if there are none
	already flagged.
	* error.c (gfc_error_flag_test): New function.
	* gfortran.h : Prototype for gfc_error_flag_test.

2006-11-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29539
	* gfortran.dg/gfortran.dg/blockdata_3.f90: New test.

	PR fortran/29634
	* gfortran.dg/gfortran.dg/derived_function_interface_1.f90: New test.

From-SVN: r118658
2006-11-10 17:08:11 +00:00
Jakub Jelinek
f79476cce5 c_locale.cc (__convert_to_v): Prefer strtold_l over __strtold_l if available.
* config/locale/gnu/c_locale.cc (__convert_to_v): Prefer
	strtold_l over __strtold_l if available.

From-SVN: r118655
2006-11-10 16:52:14 +01:00
Serge Belyshev
6f720ad03a re PR middle-end/29726 (invalid folding of ((X >> C1) & C2) != 0 or "M-x is undefined" in emacs)
gcc:
2006-11-09  Serge Belyshev  <belyshev@depni.sinp.msu.ru>

	PR middle-end/29726
	* fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name.

gcc/testsuite:
2006-11-09  Serge Belyshev  <belyshev@depni.sinp.msu.ru>

	PR middle-end/29726
	* gcc.dg/fold-eqandshift-1.c (test5): Uncomment function.
	(test6): Ditto.
        (dg-final): Add scan-tree-dump-times patterns for test5 and test6.
        * gcc.dg/fold-eqandshift-3.c: New test case.

From-SVN: r118653
2006-11-10 13:44:40 +00:00
GCC Administrator
e23389497e Daily bump.
From-SVN: r118638
2006-11-10 00:17:22 +00:00
Eric Christopher
3060f0a14f re PR bootstrap/26892 (Can't compile a 64-bit gcc)
2006-11-09  Eric Christopher  <echristo@apple.com>

        PR bootstrap/26892
        PR bootstrap/27814
        PR other/28994
        * configure: Regenerate.
        * configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks.
        * config.gcc (powerpc64-*-darwin*): New target.
        * config.host: Ditto.
        * config/rs6000/darwin64.h: New file.
        * config/rs6000/x-darwin64: Ditto.
        * config/rs6000/host-ppc64-darwin.c: Ditto.

From-SVN: r118634
2006-11-10 00:02:21 +00:00
Paul Thomas
b5d400d0d9 re PR fortran/29744 (Type renaming crashes gfortran with excessive memory usage)
2006-11-09 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29744
	* trans-types.c (gfc_get_derived_type): Ensure that the
	proc_name namespace is not the same as the owner namespace and
	that identical derived types in the same namespace share the
	same backend_decl.

2006-11-09 Paul Thomas <pault@gcc.gnu.org>

	PR fortran/29744
	* gfortran.dg/used_types_12.f90: New test.

From-SVN: r118629
2006-11-09 21:26:14 +00:00
Brooks Moses
d1a46ed5f4 backport: lang.opt: Remove non-working -qkind= option.
Backport from mainline:
* lang.opt: Remove non-working -qkind= option.
* gfortran.h (gfc_option_t): Remove q_kind member.
* options.c (gfc_init_options): Remove q_kind initialization.
(gfc_handle_option): Remove -qkind= option handling.
* primary.c: (match_real_constant): Remove 'Q' exponent.

From-SVN: r118628
2006-11-09 12:36:58 -08:00
Tobias Burnus
1f38756767 re PR fortran/29713 (ICE in gfc_set_constant_character_len decl.c:762)
2006-11-09  Tobias Burnus  <burnus@net-b.de>

       PR fortran/29713
       * expr.c (gfc_simplify_expr): Correct memory allocation.

From-SVN: r118620
2006-11-09 15:28:59 +01:00
Brooks Moses
34dcd28987 * doc/invoke.texi: Minor formatting fixes in option lists.
From-SVN: r118618
2006-11-09 00:50:21 -08:00
Jerry DeLisle
60e111ea82 re PR fortran/29752 (write(*,*,advance='NO'), READ(): Data not flushed)
2006-11-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/29752
	* io/transfer.c (finalize_transfer): Flush on ADVANCE_NO.

From-SVN: r118612
2006-11-09 03:32:19 +00:00
Eric Christopher
6bb8127481 backport: config.gcc: Add x86_64-darwin host support.
2006-11-08  Eric Christopher  <echristo@apple.com>

        Backport from mainline:
        * config.gcc: Add x86_64-darwin host support.
        * config.host: Ditto.
        * config/i386/darwin64.h: New file.
        * config/i386/t-darwin64: Ditto.

From-SVN: r118609
2006-11-09 01:10:29 +00:00
GCC Administrator
bedce58246 Daily bump.
From-SVN: r118606
2006-11-09 00:17:22 +00:00
Erik Edelmann
e7dd508724 re PR fortran/29630 ("Unclassifiable statement" with vector subscripts in initialization)
2006-11-08  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29630
        PR fortran/29679
        * expr.c (find_array_section): Support vector subscripts.  Don't
        add sizes for dimen_type == DIMEN_ELEMENT to the shape array.

testsuite/
2006-11-08  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29630
        PR fortran/29679
        * gfortran.dg/initialization_2.f90: Test PRs 29630 and 29679 too.

From-SVN: r118599
2006-11-08 21:19:01 +00:00
Janis Johnson
c7460b721a sourcebuild.texi (Test Directives): Add output-exists and output-exists-not.
gcc/
2006-11-08  Janis Johnson  <janis187@us.ibm.com>
	* doc/sourcebuild.texi (Test Directives): Add output-exists
	and output-exists-not.

gcc/testsuite/
2006-11-08  Janis Johnson  <janis187@us.ibm.com
	    Bernhard Fischer  <aldot@gcc.gnu.org>
	* lib/gcc-dg.exp (output-exists): New proc.
	(output-exists-not): New proc.
	* gcc.test-framework/test-framework.awk: Support new directives.
	* gcc.test-framework/dg-outexistsnot-exp-F.c: New test.
	* gcc.test-framework/dg-outexistsnot-exp-P.c: New test.
	* gcc.test-framework/dg-outexists-exp-F.c: New test.
	* gcc.test-framework/dg-outexists-exp-XP.c: New test.
	* gcc.test-framework/dg-outexistsnot-exp-XF.c: New test.
	* gcc.test-framework/dg-outexists-exp-P.c: New test.

From-SVN: r118596
2006-11-08 18:18:02 +00:00
Benjamin Kosnik
7a2cc6ac5a re PR libstdc++/29722 (Linking with libsupc++.a creates link time undefined references)
2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/29722
	* include/ext/concurrence.h (concurrence_lock_error): New.
	(concurrence_unlock_error): New.
	(__throw_concurrence_lock_error): New.
	(__throw_concurrence_unlock_error): New.
	(__mutex): Use functions.
	(__recursive_mutex): Same.
	* testsuite/abi/cxx_runtime_only_linkage.cc: New.

	* include/ext/pb_ds/exception.hpp: Keep exception classes defined
	even when -fno-exceptions is passed, consistent with other usage.

2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/exception.hpp (pb_ds): Modify for -fno-exceptions.
	(__throw_container_error): New. Conditionalize based on __EXCEPTIONS.
	(__throw_insert_error): New.
	(__throw_join_error): New.
	(__throw_resize_error): New.
	* include/ext/pb_ds/detail/resize_policy/
	hash_prime_size_policy_imp.hpp: Use them.
	* include/ext/pb_ds/detail/resize_policy/
	hash_exponential_size_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	hash_standard_resize_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
	* include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp
	* include/ext/pb_ds/detail/pat_trie_/
	constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/
	constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/
	split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/
	constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/
	constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/exception.hpp: Same.	
	* src/functexcept.cc: Qualify abort with std.
	
2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/exception.hpp: Add translation support to
	exception strings.
	* include/ext/concurrence.h: Same.
	* include/tr1/array: Same.

From-SVN: r118581
2006-11-08 11:57:52 +00:00
Tobias Burnus
c058d9db7d intrinsic.texi: Correct CHMOD entry.
2006-11-08  Tobias Burnus  <burnus@net-b.de>

       * intrinsic.texi: Correct CHMOD entry.

From-SVN: r118579
2006-11-08 10:24:22 +01:00
GCC Administrator
4184f099f4 Daily bump.
From-SVN: r118572
2006-11-08 00:17:38 +00:00
Richard Guenther
3f7e249260 re PR middle-end/29610 (ICE when compiling c++ code with -O2 -funswitch-loops)
2006-11-07  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/29610
	* tree-cfgcleanup.c (cleanup_control_flow): Honor return value
	of tree_purge_dead_eh_edges as it may free dominators.

	* g++.dg/other/pr29610.C: New testcase.

From-SVN: r118556
2006-11-07 17:32:03 +00:00
Jie Zhang
65d256d9c9 gcc.c (process_command): Treat -b as normal switch if its argument has no dash.
* gcc.c (process_command): Treat -b as normal switch if its argument
	has no dash.

From-SVN: r118549
2006-11-07 14:27:38 +00:00
Brooks Moses
8a6c63a9bf * intrinsic.texi: Added documentation for FTELL, GETLOG, and HOSTNM intrinsics.
From-SVN: r118539
2006-11-06 17:52:12 -08:00
GCC Administrator
3ee1f36d41 Daily bump.
From-SVN: r118535
2006-11-07 00:17:30 +00:00
Vladimir Prus
76f6fba27a backport: t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do not set inhibit_libc.
2006-11-06  Vladimir Prus  <vladimir@codesourcery.com>

        Backport from mainline:
        * config/arm/t-strongarm-pe: (TARGET_LIBGCC2_CFLAGS): Do not
        set inhibit_libc.
        * config/arm/t-strongarm-elf: Likewise.
        * config/arm/t-pe: Likewise.
        * config/arm/t-arm-elf: Likewise.
        * config/arm/t-xscale-elf: Likewise.
        * config/arm/t-arm-coff: Likewise.
        * config/arm/t-xscale-coff: Likewise.
        * config/arm/t-wince-pe: Likewise.

From-SVN: r118519
2006-11-06 12:13:53 +00:00
Richard Guenther
09cb8178d2 backport: re PR target/19116 (-funsafe-math-optimizations make nan compares equal to one another (-finite-math-only should be doing that))
2006-11-06  Richard Guenther  <rguenther@suse.de>

        Backport from mainline:
        2006-10-21  Richard Guenther  <rguenther@suse.de>

        PR target/19116
        * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
        if flag_unsafe_math_optimizations is specified.  We have
        flag_finite_math_only for that.
        * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
        or flag_unsafe_math_optimizations.

        PR middle-end/28796
        * simplify-rtx.c (simplify_const_relational_operation):
        Do not constant-fold ORDERED and UNORDERED for
        flag_unsafe_math_optimizations but only we do not need to
        honor NaNs for the given mode.

From-SVN: r118517
2006-11-06 09:33:16 +00:00
GCC Administrator
7cb31e5501 Daily bump.
From-SVN: r118514
2006-11-06 00:17:28 +00:00
Jerry DeLisle
e32c73627f re PR libfortran/25545 (internal file and dollar edit descriptor)
2006-11-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/25545
	* gfortran.dg/dollar_edit_descriptor-2.f: New test.

From-SVN: r118510
2006-11-05 18:46:59 +00:00
Jerry DeLisle
3b76da86b1 re PR libfortran/25545 (internal file and dollar edit descriptor)
2006-11-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/25545
	* io/transfer.c (write_block): Cleanup code paths between
	stream and non-stream I/O.
	(write_buf):  Cleanup.
	(read_block): Cleanup.
	(finalize_transfer): Call next_record for '$' edit descriptor handling
	of internal unit. Cleanup code for readability.

From-SVN: r118509
2006-11-05 18:43:51 +00:00
Paolo Carlini
281c372be1 lwg-active.html, [...]: Import Revision 45.
2006-11-05  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 45.
	* docs/html/ext/lwg-closed.html: Add.
	* docs/html/ext/howto.html: Adjust.

From-SVN: r118503
2006-11-05 16:17:29 +00:00
Jakub Jelinek
71e33579f1 re PR middle-end/29695 (Folding breaks (a & 0x80) ? 0x80 : 0 for unsigned char or unsigned short a)
PR middle-end/29695
	* fold-const.c (fold_ternary): Fix A < 0 ? <sign bit of A> : 0
	simplification.

	* gcc.c-torture/execute/pr29695-1.c: New test.
	* gcc.c-torture/execute/pr29695-2.c: New test.

From-SVN: r118498
2006-11-05 13:18:03 +01:00
Paul Thomas
aeeac407d6 2006-11-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu,org>
Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24518
	* trans-intrinsic.c (gfc_conv_intrinsic_mod): Use built_in fmod
	for both MOD and MODULO, if it is available.

2006-11-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29565
	* trans-expr.c (gfc_conv_aliased_arg): For an INTENT(OUT), save
	the declarations from the unused loops by merging the block
	scope for each; this ensures that the temporary is declared.

	PR fortran/29387
	* trans-intrinsic.c (gfc_conv_intrinsic_len): Rearrange to have
	a specific case for EXPR_VARIABLE and, in default, build an ss
	to call gfc_conv_expr_descriptor for array expressions..

	PR fortran/29490
	* trans-expr.c (gfc_set_interface_mapping_bounds): In the case
	that GFC_TYPE_ARRAY_LBOUND is not available, use descriptor
	values for it and GFC_TYPE_ARRAY_UBOUND.

	PR fortran/29641
	* trans-types.c (gfc_get_derived_type): If the derived type
	namespace has neither a parent nor a proc_name, set NULL for
	the search namespace.

2006-11-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29565
	* gfortran.dg/gfortran.dg/aliasing_dummy_3.f90: New test.

	PR fortran/29387
	* gfortran.dg/intrinsic_actual_2.f90: New test.

	PR fortran/29490
	* gfortran.dg/actual_array_interface_1.f90: New test.

	PR fortran/29641
	* gfortran.dg/used_types_11.f90: New test.

From-SVN: r118493
2006-11-05 08:46:02 +00:00
GCC Administrator
161a6ba02a Daily bump.
From-SVN: r118488
2006-11-05 00:17:07 +00:00
GCC Administrator
a2c3cdbc78 Daily bump.
From-SVN: r118469
2006-11-04 00:17:20 +00:00
Francois-Xavier Coudert
e9a1fd5687 re PR fortran/29067 (gfc_resolve_expr(): Bad expression type)
PR fortran/29067

	* decl.c (gfc_set_constant_character_len): NULL-terminate the
	character constant string.
	* data.c (create_character_intializer): Likewise.
	* expr.c (gfc_simplify_expr): NULL-terminate the substring
	character constant.
	* primary.c (match_hollerith_constant): NULL-terminate the
	character constant string.

	* gfortran.dg/pr29067.f: New test.

From-SVN: r118456
2006-11-03 12:28:57 +00:00
Thomas Koenig
44217c4582 re PR libfortran/29627 ([4.1 only] partial unformatted reads shouldn't succeed)
2006-11-03  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/29627
	Backport from trunk
	* libgfortran.h: Add ERROR_SHORT_RECORD
	* runtime/error.c (translate_error): Add case
	for ERROR_SHORT_RECORD.
	* io/transfer.c (read_block_direct):  Separate codepaths
	for stream and record unformatted I/O.  Remove unneeded
	tests for standard input, padding and formatted I/O.
	If the record is short, read in as much data as possible,
	then raise the error.

2006-11-03  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/29627
	Backport from trunk
	* gfortran.dg/unf_short_record_1.f90:  New test.

From-SVN: r118453
2006-11-03 11:22:27 +00:00
Brooks Moses
109c96aa51 invoke.texi: Fix mfp-trap-mode typo.
* doc/invoke.texi: Fix mfp-trap-mode typo.

From-SVN: r118446
2006-11-02 17:04:24 -08:00
GCC Administrator
7a318b303b Daily bump.
From-SVN: r118441
2006-11-03 00:17:26 +00:00
Steve Ellcey
9ded5d9ecc inclhack.def (hpux11_extern_sendfile): New.
* inclhack.def (hpux11_extern_sendfile): New.
	(hpux11_extern_sendpath): New.
	* fixincl.x: Regenerate.
	* tests/base/sys/socket.h: Update.

From-SVN: r118436
2006-11-03 00:05:52 +00:00
Mike Stump
7c905a59f1 * obj-c++.dg/const-str-9.mm: Don't run on 64-bit.
From-SVN: r118434
2006-11-02 22:03:25 +00:00
Mike Stump
a8ee3a2db3 * g++.old-deja/g++.abi/align.C: Enable for darwin.
From-SVN: r118432
2006-11-02 21:09:11 +00:00
Eric Botcazou
8d63062d1d install.texi (sparc-sun-solaris2*): Update GMP/MPFR build instructions.
* doc/install.texi (sparc-sun-solaris2*): Update GMP/MPFR build
	instructions.
	(sparc64-sun-solaris2*): Likewise.

From-SVN: r118427
2006-11-02 20:44:17 +00:00
Uros Bizjak
c25e886d05 re PR target/29377 (Build for h8300-elf crashes on 64bit hosts due to int/HWI mismatch)
PR target/29377
        * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
        argument to HOST_WIDE_INT.  Update function prototype.
        (round_frame_size): Change return type to HOST_WIDE_INT.  Change
        "size" argument to HOST_WIDE_INT.  Update function prototype.

From-SVN: r118410
2006-11-02 08:42:05 +01:00
GCC Administrator
7b05d85053 Daily bump.
From-SVN: r118402
2006-11-02 00:17:36 +00:00
Chris Johns
ec2b2bebd9 re PR bootstrap/28400 (install-driver is missing $(exeext) from gcc-$(version))
2006-11-01  Chris Johns <chris@contemporary.net.au>

        PR bootstrap/28400
        * Makefile.in (install-driver): Use exeext when installing
        $target-gcc-$version.

From-SVN: r118383
2006-11-01 15:31:43 +00:00
Andrew Haley
c73c425268 fold-const.c (fold_unary): Don't fold (t1)(t2) to (t1) if this is a Java program.
2006-11-01  Andrew Haley  <aph@redhat.com>

        * fold-const.c (fold_unary): Don't fold (t1)(t2) to (t1) if this
        is a Java program.

From-SVN: r118380
2006-11-01 14:30:56 +00:00
Eric Botcazou
622e558a69 20061101-1.c: New test.
* gcc.c-torture/execute/20061101-1.c: New test.

From-SVN: r118378
2006-11-01 12:09:56 +00:00
Eric Botcazou
244e43a361 Fix asm string.
From-SVN: r118375
2006-11-01 11:58:44 +00:00
Kaveh R. Ghazi
d3c4aad141 builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
* builtins.def (gamma, lgamma): Use ATTR_MATHFN_FPROUNDING_STORE.
	
testsuite:
	* gcc.dg/torture/builtin-attr-1.c: Don't test gamma/lgamma.
	* gcc.dg/torture/builtin-convert-1.c: Don't test lgamma.

From-SVN: r118368
2006-11-01 05:57:52 +00:00
GCC Administrator
940518bb39 Daily bump.
From-SVN: r118352
2006-11-01 00:17:35 +00:00
Eric Botcazou
fc7509584d 20061031-1.c: New test.
* gcc.c-torture/execute/20061031-1.c: New test.

From-SVN: r118345
2006-10-31 23:29:37 +00:00
Joseph Myers
35d17d2df3 target-supports.exp (get_compiler_messages): Append options as a single list element.
2006-10-31  Joseph Myers  <joseph@codesourcery.com>
            Richard Sandiford  <richard@codesourcery.com>

	* lib/target-supports.exp (get_compiler_messages): Append options
	as a single list element.
	(check_effective_target_arm_vfp_ok): New.
	* gcc.dg/arm-vfp1.c: Use arm_vfp_ok.

Co-Authored-By: Richard Sandiford <richard@codesourcery.com>

From-SVN: r118335
2006-10-31 19:59:13 +00:00
Eric Botcazou
27325551c1 re PR target/24071 (__gthread_active_p vs __gthread_once)
PR target/24071
	* gthr-posix.h (__gthread_active_p): New implementation on Solaris.
	* gthr-posix95.h (__gthread_active_p): Likewise.

From-SVN: r118262
2006-10-31 17:55:32 +00:00
Paolo Carlini
28026c8ca4 utility (tuple_size<std::pair<> >::value): Provide definition.
2006-10-31  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/utility (tuple_size<std::pair<> >::value): Provide
	definition.

2006-10-31  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/tuple_iterate.h (tuple_size<tuple<> >::value): Provide
	definition.
	* include/tr1/functional (is_bind_expression<>::value,
	is_placeholder<>::value, + various partial specializations): Likewise.
	* include/tr1/array (tuple_size<array<> >::value): Likewise.

From-SVN: r118229
2006-10-31 13:49:35 +00:00
GCC Administrator
bf9c3bb6d4 Daily bump.
From-SVN: r118214
2006-10-31 00:17:29 +00:00
Paolo Carlini
f9193bcc32 max_size.cc: Actually do test max_size().
2006-10-30  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/tr1/6_containers/array/capacity/max_size.cc: Actually
	do test max_size().

From-SVN: r118195
2006-10-30 18:59:18 +00:00
Tobias Burnus
525aee5e1b re PR fortran/29452 (Keyword check for specifiers in WRITE and READ)
fortran/
2006-10-26  Tobias Burnus  <burnus@net-b.de>

       	PR fortran/29452
       	* io.c (check_io_constraints): Fix keyword string comparison.

libgfortran/
2006-10-26  Tobias Burnus  <burnus@net-b.de>

       	PR fortran/29452
	* runtime/string.c (compare0): Check whether string lengths match.

testsuite/
2006-10-26  Tobias Burnus  <burnus@net-b.de>

	PR fortran/29452
	* gfortran.dg/write_check.f90: Check run-time keyword checking.
	* gfortran.dg/write_check2.f90: Check compile-time keyword checking.

From-SVN: r118184
2006-10-30 15:17:15 +01:00
Joseph Myers
faa9902048 default.exp (${tool}_target_compile): Use v3_target_compile.
libstdc++-v3:
	* testsuite/config/default.exp (${tool}_target_compile): Use
	v3_target_compile.

gcc/testsuite:
	* lib/target-supports.exp (check_function_available): Declare
	function before calling.

From-SVN: r118183
2006-10-30 14:04:56 +00:00
Paolo Carlini
6922b0b9f3 debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix pasto, advance __iter only once per iteration.
2006-10-30  Paolo Carlini  <pcarlini@suse.de>

	* src/debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix
	pasto, advance __iter only once per iteration.

From-SVN: r118181
2006-10-30 13:42:52 +00:00
Jakub Jelinek
95c86e8dc1 re PR tree-optimization/29637 (Endless recursion in make_vector_type)
PR tree-optimization/29637
	* tree.c (make_vector_type): Don't recurse if TYPE_MAIN_VARIANT
	of the innertype is the innertype itself.

	* gcc.dg/pr29637.c: New test.

From-SVN: r118176
2006-10-30 09:03:50 +01:00
GCC Administrator
3bb1e3cc77 Daily bump.
From-SVN: r118164
2006-10-30 00:17:28 +00:00
Jakub Jelinek
8ea18b7d89 re PR fortran/29629 (ICE on OpenMP-enabled program (gfc_conv_variable, at fortran/trans-expr.c:404))
PR fortran/29629
	* trans-openmp.c (gfc_trans_omp_array_reduction): Set attr.flavor
	of init_val_sym and outer_sym to FL_VARIABLE.

	* testsuite/libgomp.fortran/pr29629.f90: New test.

From-SVN: r118139
2006-10-29 12:20:53 +01:00
Paolo Carlini
d3afc3af80 re PR libstdc++/29520 (tr1: discrete_distributions vs large floating point values)
2006-10-29  Paolo Carlini  <pcarlini@suse.de>
	
	PR libstdc++/29520
	* include/tr1/random (geometric_distribution<>::
	operator()(_UniformRandomNumberGenerator&)): Only declare.
	* include/tr1/random.tcc (geometric_distribution<>::
	operator()(_UniformRandomNumberGenerator&),
	poisson_distribution<>::operator()(_UniformRandomNumberGenerator&),
	binomial_distribution<>::operator()(_UniformRandomNumberGenerator&)):
	Reject candidate floating point values not convertible to the
	result_type.

From-SVN: r118136
2006-10-29 10:49:30 +00:00
GCC Administrator
e966dc52c5 Daily bump.
From-SVN: r118125
2006-10-29 00:17:23 +00:00
Paolo Carlini
edf9724c99 array (array<>::_M_at): New.
2006-10-28  Paolo Carlini  <pcarlini@suse.de>
	
	* include/tr1/array (array<>::_M_at): New.
	(array<>::at): Fix off-by-one bug, use the above.
	* testsuite/tr1/6_containers/array/element_access/
	at_out_of_range.cc: Adjust.

	* include/tr1/array (class array<>): Remove non-conforming default
	for the second parameter.
	* include/ext/array_allocator.h: Adjust.

	* include/tr1/array (array<>::front, array<>::back): Do not return
	a reference to memory not belonging to the array when _Nm == 0.

From-SVN: r118116
2006-10-28 22:04:32 +00:00
GCC Administrator
877bb73fcf Daily bump.
From-SVN: r118096
2006-10-28 00:17:19 +00:00
Mike Stump
3e5ae0b05d darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and __DYNAMIC__ from here back to ...
* config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and
	__DYNAMIC__ from here back to ...
	* config/darwin.h (CPP_SPEC): ... here.

From-SVN: r118083
2006-10-27 18:14:10 +00:00
Jerry DeLisle
9c1d702ce7 re PR fortran/29563 (Internal read loses data.)
2006-10-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/29563
	* gfortran.dg/arrayio_9.f90: New test.
	* gfortran.dg/arrayio_19.f90: New test.

From-SVN: r118080
2006-10-27 02:03:34 +00:00
Jerry DeLisle
ba806654e0 re PR fortran/29563 (Internal read loses data.)
2006-10-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/29563
	* io/io.h (st_parameter_dt): Add new flag at_eof.
	* io/list_read.c (next_char): Set flag when EOF and return '\n' to
	signal EOR.  Check flag on next call and jump out.
	* io/unit.c (get_internal_unit): Initialize new flag.

From-SVN: r118079
2006-10-27 01:04:02 +00:00
GCC Administrator
a52049307b Daily bump.
From-SVN: r118076
2006-10-27 00:17:23 +00:00
Andreas Krebbel
6c5ee36db1 s390.c (s390_init_frame_layout): Check positive frame_size.
2006-10-26  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_init_frame_layout): Check positive
	frame_size.

2006-10-26  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/20061026.c: New testcase.

From-SVN: r118066
2006-10-26 11:03:03 +00:00
GCC Administrator
725efb5d04 Daily bump.
From-SVN: r118053
2006-10-26 00:17:18 +00:00
Ben Elliston
6bb5fae5bb * doc/extend.texi (Variable Attributes): Typo fix.
From-SVN: r118049
2006-10-26 09:09:19 +10:00
Steve Ellcey
0b876d3e2d hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
* config/ia64/hpux.h: Define _INCLUDE__STDC_A1_SOURCE in C++.
	Add unix98.o to link line.

From-SVN: r118046
2006-10-25 23:00:42 +00:00
Richard Sandiford
340a52d405 re PR middle-end/29519 (Bad code on MIPS with -fnon-call-exceptions)
PR middle-end/29519
	* rtlanal.c (nonzero_address_p):  Remove check for values wrapping.

Co-Authored-By: David Daney <ddaney@avtrex.com>

From-SVN: r118044
2006-10-25 22:29:10 +00:00
Andreas Tobler
1d057562e2 natevents.cc (do_callback_arg_tests): Replace formatting modifiers %p with %#llx and cast the arguments.
2006-10-25  Andreas Tobler  <a.tobler@schweiz.org>

	* testsuite/libjava.jvmti/natevents.cc (do_callback_arg_tests): Replace
	formatting modifiers %p with %#llx and cast the arguments.

From-SVN: r118041
2006-10-25 22:26:01 +02:00
Steve Ellcey
70679aa816 * gcc.dg/pthread-init-2.c: Define _POSIX_C_SOURCE on ia64 HP-UX.
From-SVN: r118036
2006-10-25 16:34:08 +00:00
Daniel Berlin
2d20306516 tree-ssa-structalias.c (intra_create_variable_infos): Don't recreate nonlocal_all if it already exists.
2006-10-25  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-structalias.c (intra_create_variable_infos):
	  Don't recreate nonlocal_all if it already exists.

From-SVN: r118030
2006-10-25 13:26:49 +00:00
Chen Liqin
ec1041e70f MAINTAINERS: Move myself to Write After Approval section.
* MAINTAINERS: Move myself to Write After Approval section.

From-SVN: r118026
2006-10-25 08:19:34 +00:00
GCC Administrator
2254536074 Daily bump.
From-SVN: r118019
2006-10-25 00:17:26 +00:00
Erik Edelmann
f5eadd62f5 re PR fortran/29393 (Vector subscript rejected)
fortran/
2006-10-24  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29393
        * expr.c (simplify_parameter_variable): Keep rank of original
        expression.

testsuite/
2006-10-24  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29393
        * gfortran.dg/initialize_2.f90: New.

From-SVN: r118010
2006-10-24 20:40:19 +00:00
Eric Botcazou
9c1d1d5f21 re PR libgomp/29494 (libgomp build fails with missing pthread_mutexattr_settype)
PR libgomp/29494
	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
	* config/posix95: New directory.
	* config/posix95/omp-lock.h: New file.
	* config/posix95/lock.c: Likewise.

From-SVN: r118005
2006-10-24 13:59:39 +00:00
Nathan Sidwell
93fc4daa1a re PR libstdc++/20647 (Wrong typeid for incomplete types)
cp/
	PR c++/20647
	* rtti.c (tinfo_base_init): The type info string is always global.
testsuite/
	PR c++/20647
	* g++.dg/abi/rtti3.C: New.

From-SVN: r117999
2006-10-24 08:38:26 +00:00
GCC Administrator
8c8a421a9c Daily bump.
From-SVN: r117990
2006-10-24 00:17:16 +00:00
Ulrich Weigand
d7d42cf51a predicates.md ("bras_sym_operand"): Do not accept nonlocal function symbols if flag_pic.
ChangeLog:

	* config/s390/predicates.md ("bras_sym_operand"): Do not accept
	nonlocal function symbols if flag_pic.

testsuite/ChangeLog:

	* g++.dg/other/s390-1.C: New testcase.

From-SVN: r117974
2006-10-23 13:43:04 +00:00
GCC Administrator
8916b2fb5f Daily bump.
From-SVN: r117965
2006-10-23 00:17:21 +00:00
Joseph Myers
efb9321d21 * cpplib.pot: Regenerate.
From-SVN: r117956
2006-10-22 13:44:44 +01:00
Joseph Myers
30962b5d31 * gcc.pot: Regenerate.
From-SVN: r117955
2006-10-22 13:44:07 +01:00
Richard Sandiford
24c88907ef mips.c (mips_split_const): Don't accept bare PLUS expressions.
gcc/
	* config/mips/mips.c (mips_split_const): Don't accept bare PLUS
	expressions.

From-SVN: r117951
2006-10-22 09:28:22 +00:00
GCC Administrator
f86cd327c4 Daily bump.
From-SVN: r117944
2006-10-22 00:17:16 +00:00
Mark Mitchell
414025373e * DEV-PHASE: Mark as prerelease.
From-SVN: r117925
2006-10-21 02:46:41 +00:00
3083 changed files with 356592 additions and 279947 deletions

128
ChangeLog
View File

@@ -1,3 +1,129 @@
2008-03-13 David Edelsohn <edelsohn@gnu.org>
* ltcf-c.sh: Add AIX 6 support.
* ltcf-cxx.sh: Add AIX 6 support.
* ltcf-gcj.sh: Add AIX 6 support.
* ltconfig: Add AIX 6 support.
2008-02-01 Release Manager
* GCC 4.2.3 released.
2007-10-07 Release Manager
* GCC 4.2.2 released.
2007-09-15 Alan Modra <amodra@bigpond.net.au>
* configure.in: Correct makeinfo version check.
* configure: Regenerate.
2007-07-19 Release Manager
* GCC 4.2.1 released.
2007-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* MAINTAINERS (OS Port Maintainers): Add myself as IRIX, Tru64 UNIX
maintainer.
2007-05-30 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/29382
* configure.in: Don't use -fkeep-inline-functions for GCC < 3.3.1.
* configure: Rebuilt.
2007-05-13 Release Manager
* GCC 4.2.0 released.
2007-02-14 Gerald Pfeifer <gerald@pfeifer.com>
* ltconfig (freebsd*): Default to elf.
2006-12-29 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/29544
* Makefile.def (flags_to_pass): Add STAGE1_CHECKING.
(bootstrap_stage): Add STAGE1_CHECKING to stage1 configure flags,
move here comment from Makefile.tpl.
* Makefile.tpl: Move some definitions higher in the file.
(STAGE1_CHECKING): New.
* configure.in: Add --enable-stage1-checking. Disable --enable-werror
on release branches.
* configure: Regenerate.
* Makefile.in: Regenerate.
2006-12-10 Andreas Tobler <a.tobler@schweiz.org>
PR bootstrap/30134
* configure.in: Correct x86 darwin support for libjava to powerpc
and i?86 only.
* configure: Regenerate.
2006-12-08 Sandro Tolaini <tolaini@libero.it>
* configure.in: Add x86 darwin support for libjava.
* configure: Regenerate.
2006-12-07 Mike Stump <mrs@apple.com>
* Makefile.def (dependencies): Add dependency for
install-target-libssp and install-target-libgomp on
install-gcc.
* Makefile.in: Regenerate.
2006-12-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* configure.in: Check for MPFR 2.2.1. Update error message.
* configure: Regenerate.
2006-11-29 Richard Guenther <rguenther@suse.de>
Revert
2006-05-01 Richard Guenther <rguenther@suse.de>
* MAINTAINERS (Various Maintainers): Add myself as libgcc-math
maintainer.
2006-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* configure.in (--with-mpfr-dir, --with-gmp-dir): Remove flags.
(--with-mpfr-include, --with-mpfr-lib, --with-gmp-include,
--with-gmp-lib): New flags.
* configure: Regenerate.
2006-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* configure.in (--with-mpfr-dir): Also look in .libs and _libs for
libmpfr.a.
* configure: Regenerate.
2006-11-16 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (clean-target-libgcc): Test for gcc Makefile presence.
(unstage): Test for stage_last presence.
* Makefile.tpl (clean-stage*): Test separately for package/Makefile
and stageN-package/Makefile.
PR bootstrap/29802
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Add HOST_SUBDIR in STAGE_PREFIX.
* Makefile.in: Regenerate.
2006-11-14 Jie Zhang <jie.zhang@analog.com>
* configure.in: Remove target-libgloss from noconfigdirs for
bfin-*-*.
* configure: Regenerated.
2006-10-25 Chen Liqin <liqin@sunnorth.com.cn>
* MAINTAINERS (Write After Approval): Move myself to
Write After Approval section.
2006-10-16 Tobias Burnus <burnus@net-b.de>
* MAINTAINERS (Write After Approval): Add myself.
@@ -2264,7 +2390,7 @@
of libf2c.
* configure, Makefile.in: Regenerate.
2004-05-13 Tobias Schlüter <tobi@gcc.gnu.org>
2004-05-13 Tobias SchlÃÂüter <tobi@gcc.gnu.org>
* MAINTAINERS (Write After Approval): Add myself.

View File

@@ -75,7 +75,6 @@ rs6000 port David Edelsohn dje@watson.ibm.com
rs6000 vector extns Aldy Hernandez aldyh@redhat.com
s390 port Hartmut Penner hpenner@de.ibm.com
s390 port Ulrich Weigand uweigand@de.ibm.com
score port Chen Liqin liqin@sunnorth.com.cn
sh port Joern Rennecke joern.rennecke@st.com
sh port Alexandre Oliva aoliva@redhat.com
sh libraries/configury Kaz Kojima kkojima@gcc.gnu.org
@@ -99,6 +98,7 @@ DJGPP DJ Delorie dj@delorie.com
freebsd Loren J. Rittle ljrittle@acm.org
hpux Dave Anglin dave.anglin@nrc.ca
hpux Steve Ellcey sje@cup.hp.com
irix, osf Rainer Orth ro@TechFak.Uni-Bielefeld.DE
netbsd Jason Thorpe thorpej@netbsd.org
sco5, unixware, sco udk Kean Johnston jkj@sco.com
sh-linux-gnu Kaz Kojima kkojima@gcc.gnu.org
@@ -144,7 +144,6 @@ treelang James A. Morrison phython@gcc.gnu.org
cpplib Per Bothner per@bothner.com
libdecnumber Ben Elliston bje@au.ibm.com
libgcc-math Richard Guenther rguenther@suse.de
libgcj Tom Tromey tromey@redhat.com
libgcj Bryce McKinlay mckinlay@redhat.com
libgomp Richard Henderson rth@redhat.com
@@ -268,6 +267,7 @@ Matthew Gingell gingell@gnat.com
Anthony Green green@redhat.com
Doug Gregor doug.gregor@gmail.com
Jon Grimm jgrimm2@us.ibm.com
Richard Guenther rguenther@suse.de
Laurent Guerby laurent@guerby.net
Mostafa Hagog hagog@gcc.gnu.org
Olivier Hainque hainque@act-europe.fr
@@ -303,6 +303,7 @@ James Lemke jim@lemke.org
Kriang Lerdsuwanakij lerdsuwa@users.sourceforge.net
Warren Levy warrenl@cruzio.com
Don Lindsay dlindsay@redhat.com
Chen Liqin liqin@sunnorth.com.cn
Ralph Loader rcl@ihug.co.nz
Gabor Loki loki@inf.u-szeged.hu
Sandra Loosemore sandra@codesourcery.com
@@ -327,7 +328,6 @@ David O'Brien obrien@FreeBSD.org
Turly O'Connor turly@apple.com
Carlos O'Donell carlos@codesourcery.com
Jeffrey D. Oldham oldham@codesourcery.com
Rainer Orth ro@TechFak.Uni-Bielefeld.DE
Devang Patel dpatel@apple.com
Alexandre Petit-Bianco apbianco@redhat.com
Nicolas Pitre nico@cam.org

View File

@@ -226,6 +226,7 @@ flags_to_pass = { flag= LDFLAGS ; };
flags_to_pass = { flag= LIBCFLAGS ; };
flags_to_pass = { flag= LIBCXXFLAGS ; };
flags_to_pass = { flag= STAGE1_CFLAGS ; };
flags_to_pass = { flag= STAGE1_CHECKING ; };
flags_to_pass = { flag= STAGE1_LANGUAGES ; };
// Target tools
@@ -469,6 +470,10 @@ dependencies = { module=all-target-libobjc; on=all-target-libiberty; };
dependencies = { module=all-target-libobjc; on=all-target-boehm-gc; };
dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; };
// Target libraries installed under gcc need to be installed before gcc
dependencies = { module=install-target-libssp; on=install-gcc; };
dependencies = { module=install-target-libgomp; on=install-gcc; };
// Target modules in the 'src' repository.
lang_env_dependencies = { module=examples; };
lang_env_dependencies = { module=libtermcap; };
@@ -483,7 +488,14 @@ dependencies = { module=all-target-winsup; on=all-target-libtermcap; };
// Toplevel bootstrap
bootstrap_stage = {
id=1 ;
stage_configure_flags='--disable-intermodule \
// * We force-disable intermodule optimizations, even if
// --enable-intermodule was passed, since the installed compiler
// probably can't handle them. Luckily, autoconf always respects
// the last argument when conflicting --enable arguments are passed.
// * Likewise, we force-disable coverage flags, since the installed
// compiler probably has never heard of them.
stage_configure_flags='--disable-intermodule $(STAGE1_CHECKING) \
--disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ;
stage_make_flags='CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)"' ; };
bootstrap_stage = {

File diff suppressed because it is too large Load Diff

View File

@@ -297,6 +297,16 @@ CXXFLAGS = @CXXFLAGS@
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
PICFLAG =
# Only build the C compiler for stage1, because that is the only one that
# we can guarantee will build with the native compiler, and also it is the
# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
# overrideable (for a bootstrap build stage1 also builds gcc.info).
STAGE1_CFLAGS=@stage1_cflags@
STAGE1_CHECKING=@stage1_checking@
STAGE1_LANGUAGES=@stage1_languages@
# -----------------------------------------------
# Programs producing files for the TARGET machine
# -----------------------------------------------
@@ -428,6 +438,16 @@ X11_FLAGS_TO_PASS = \
'X11_EXTRA_CFLAGS=$(X11_EXTRA_CFLAGS)' \
'X11_EXTRA_LIBS=$(X11_EXTRA_LIBS)'
# Flags to pass to stage2 and later makes.
POSTSTAGE1_FLAGS_TO_PASS = \
CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
STAGE_PREFIX="$$r/$(HOST_SUBDIR)/prev-gcc/" \
CFLAGS="$(BOOT_CFLAGS)" \
LIBCFLAGS="$(BOOT_CFLAGS)" \
LDFLAGS="$(BOOT_LDFLAGS)" \
"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
# Flags to pass down to makes which are built with the target environment.
# The double $ decreases the length of the command line; those variables
# are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The
@@ -591,7 +611,7 @@ realclean: maintainer-clean
# Extra dependency for clean-target, owing to the mixed nature of gcc.
clean-target: clean-target-libgcc
clean-target-libgcc:
test ! -d gcc || (cd gcc && $(MAKE) $@)
if test -f gcc/Makefile; then cd gcc && $(MAKE) $@; else :; fi
# Check target.
@@ -854,9 +874,12 @@ all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
maybe-clean-stage[+id+]-[+prefix+][+module+]: clean-stage[+id+]-[+prefix+][+module+]
clean-stage[+id+]: clean-stage[+id+]-[+prefix+][+module+]
clean-stage[+id+]-[+prefix+][+module+]:
@[ -f [+subdir+]/[+module+]/Makefile ] || [ -f [+subdir+]/stage[+id+]-[+module+]/Makefile ] \
|| exit 0 ; \
[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start; \
@if [ $(current_stage) = stage[+id+] ]; then \
[ -f [+subdir+]/[+module+]/Makefile ] || exit 0; \
else \
[ -f [+subdir+]/stage[+id+]-[+module+]/Makefile ] || exit 0; \
$(MAKE) stage[+id+]-start; \
fi; \
cd [+subdir+]/[+module+] && \
$(MAKE) [+args+] [+ IF prev +] \
[+poststage1_args+] [+ ENDIF prev +] \
@@ -1212,7 +1235,7 @@ stage = :
current_stage = ""
@if gcc-bootstrap
unstage = [ -f stage_current ] || $(MAKE) `cat stage_last`-start
unstage = if [ -f stage_last ]; then [ -f stage_current ] || $(MAKE) `cat stage_last`-start || exit 1; else :; fi
stage = if [ -f stage_current ]; then $(MAKE) `cat stage_current`-end || exit 1; else :; fi
current_stage = "`cat stage_current 2> /dev/null`"
@endif gcc-bootstrap
@@ -1240,36 +1263,9 @@ LEAN = false
# 'touch' doesn't work right on some platforms.
STAMP = echo timestamp >
# Only build the C compiler for stage1, because that is the only one that
# we can guarantee will build with the native compiler, and also it is the
# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
# overrideable (for a bootstrap build stage1 also builds gcc.info).
STAGE1_CFLAGS=@stage1_cflags@
STAGE1_LANGUAGES=@stage1_languages@
# We only want to compare .o files, so set this!
objext = .o
# Flags to pass to stage2 and later makes.
POSTSTAGE1_FLAGS_TO_PASS = \
CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
STAGE_PREFIX=$$r/prev-gcc/ \
CFLAGS="$(BOOT_CFLAGS)" \
LIBCFLAGS="$(BOOT_CFLAGS)" \
LDFLAGS="$(BOOT_LDFLAGS)" \
"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
# For stage 1:
# * We force-disable intermodule optimizations, even if
# --enable-intermodule was passed, since the installed compiler probably
# can't handle them. Luckily, autoconf always respects
# the last argument when conflicting --enable arguments are passed.
# * Likewise, we force-disable coverage flags, since the installed compiler
# probably has never heard of them.
# * We build only C (and possibly Ada).
[+ FOR bootstrap-stage +]
.PHONY: stage[+id+]-start stage[+id+]-end

View File

@@ -1,3 +1,138 @@
2008-02-01 Release Manager
* GCC 4.2.3 released.
2007-10-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR boehm-gc/33442
* pthread_support.c (GC_PTR GC_get_thread_stack_base): If stack grows
up, return stack_addr instead of stack_addr - stack_size.
2007-10-09 Andreas Tobler <a.tobler@schweiz.org>
* include/private/gc_priv.h: Remove duplicate code for DARWIN.
2007-10-07 Release Manager
* GCC 4.2.2 released.
2007-07-19 Release Manager
* GCC 4.2.1 released.
2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
PR boehm-gc/21940
PR boehm-gc/21942
* configure.ac (GC_SOLARIS_THREADS): Don't define on *-*-solaris*.
Use alternate thread library in /usr/lib/lwp.
* configure: Regenerate.
* dyn_load.c: Use GC_SOLARIS_PTHREADS.
* include/gc_config_macros.h (GC_SOLARIS_THREADS): Don't define.
* include/private/gcconfig.h: Handle 64-bit Solaris 2/x86.
(GC_SOLARIS_THREADS): Don't define.
* include/private/solaris_threads.h: Remove.
* pthread_support.c (GC_thr_init) [GC_SOLARIS_PTHREADS]: Determine
GC_nprocs via sysconf().
* Makefile.am (libgcjgc_la_SOURCES): Remove solaris_pthreads.c and
solaris_threads.c.
(gctest_LDADD): Use THREADLIBS instead of THREADDLLIBS.
* Makefile.in: Regenerate.
* solaris_pthreads.c: Remove.
* solaris_threads.c: Remove.
2007-06-22 Jakub Jelinek <jakub@redhat.com>
* pthread_support.c (GC_get_thread_stack_base): Handle
pthread_getattr_np failures.
2007-05-22 Andreas Tobler <a.tobler@schweiz.org>
* Backport r124870 from main.
2007-05-20 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin.
* configure: Regenerate.
* Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin
targets. Remove comments. Prepare ppc64 support for Darwin.
2007-05-19 Andreas Tobler <a.tobler@schweiz.org>
* Backport r120684, 120801, 120853, 120874 and 120977 from main.
2007-01-19 Andreas Tobler <a.tobler@schweiz.org>
* os_dep.c (defined(MPROTECT_VDB) && defined(DARWIN)): Moved recently
added defines to include/private/gc_priv.h
* darwin_stop_world.c: Removed the above defines.
(catch_exception_raise): Added THREAD_FLD in exc_state for POWERPC too.
* include/private/gc_priv.h: Moved definitions from darwin_stop_world.c
and os_dep.c to here. Fixed THREAD definition fixes for ppc64.
2007-01-17 Mike Stump <mrs@apple.com>
* os_dep.c: Fix i686-apple-darwin9 builds.
2007-01-17 Andreas Tobler <a.tobler@schweiz.org>
* include/gc_config.h.in: Regenerate.
2007-01-15 Andreas Tobler <a.tobler@schweiz.org>
* os_dep.c (defined(MPROTECT_VDB) && defined(DARWIN)): Adjust mail
reference.
(catch_exception_raise): Fix typo in the I386 exc_state.
2007-01-11 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Replaced HAS_I386_THREAD_STATE_* with
HAS_X86_THREAD_STATE32_* and HAS_X86_THREAD_STATE64_* respectively.
* configure: Regenerated.
* include/private/gcconfig.h (DARWIN): Added X86_64 define for Darwin.
Added base definitions for the X86_64 Darwin port.
* include/private/gc_priv.h: Added definitions for Darwin MACH thread
operations. Moved existing THREAD_STATE info from darwin_stop_world.c.
* darwin_stop_world.c: Removed THREAD_STATE info. Added
HAS_X86_THREAD_STATE64___RAX. And replaced HAS_I386_THREAD_STATE___EAX
with HAS_X86_THREAD_STATE32___EAX.
(GC_push_all_stacks): Use GC_MACH_THREAD_STATE_COUNT. Add code for
X86_64 Darwin.
* dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER.
(GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION.
Distinguish between getsectbynamefromheader_64 and
getsectbynamefromheader.
(GC_dyld_image_remove): Likewise.
* os_dep.c (GC_dirty_init): Use GC_MACH_THREAD_STATE.
(catch_exception_raise): Introduce exception information for I386 and
X86_64 Darwin. Add X86_64 for exc_state.faultvaddr.
2007-05-13 Release Manager
* GCC 4.2.0 released.
2007-01-16 Jack Howarth <howarth@bromo.med.uc.edu>
* aclocal.m4: Regenerate to use multi.m4.
* configure: Regenerate.
* Makefile.in: Regenerate.
2007-01-16 Petr Salinger <Petr.Salinger@seznam.cz>
* include/private/gcconfig.h: Handle amd64/x86-64 cpu under
GNU/kFreeBSD.
* os_dep.c: Likewise.
2006-12-08 Mike Stump <mrs@apple.com>
* configure.ac: Fix x86 darwin builds.
* darwin_stop_world.c: Likewise.
* include/private/gcconfig.h: Likewise.
* connfigure: Regenerate.
2006-09-26 Jack Howarth <howarth@bromo.med.uc.edu>
PR target/29180

View File

@@ -21,7 +21,7 @@ libgcjgc_la_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c \
malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
specific.c stubborn.c typd_mlc.c \
backgraph.c win32_threads.c \
pthread_support.c pthread_stop_world.c darwin_stop_world.c \
$(asm_libgcjgc_sources)
@@ -33,11 +33,13 @@ mips_sgi_mach_dep.s mips_ultrix_mach_dep.s powerpc_darwin_mach_dep.s \
rs6000_mach_dep.s sparc_mach_dep.S sparc_netbsd_mach_dep.s \
sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
extra_ldflags_libgc = @extra_ldflags_libgc@
# Include THREADLIBS here to ensure that the correct versions of
# linuxthread semaphore functions get linked:
libgcjgc_la_LIBADD = @addobjs@ $(THREADLIBS) $(UNWINDLIBS)
libgcjgc_la_DEPENDENCIES = @addobjs@
libgcjgc_la_LDFLAGS = -version-info 1:2:0 -rpath $(toolexeclibdir)
libgcjgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:2:0 -rpath $(toolexeclibdir)
libgcjgc_convenience_la_LIBADD = @addobjs@
libgcjgc_convenience_la_DEPENDENCIES = @addobjs@
@@ -47,7 +49,7 @@ AM_CFLAGS = @GC_CFLAGS@
check_PROGRAMS = gctest
gctest_SOURCES = tests/test.c
gctest_LDADD = ./libgcjgc.la $(THREADDLLIBS) $(UNWINDLIBS) $(EXTRA_TEST_LIBS)
gctest_LDADD = ./libgcjgc.la $(THREADLIBS) $(UNWINDLIBS) $(EXTRA_TEST_LIBS)
gctest_LDFLAGS = -shared-libgcc
TESTS_ENVIRONMENT = LD_LIBRARY_PATH=../../$(MULTIBUILDTOP)gcc
TESTS = gctest

View File

@@ -62,14 +62,14 @@ DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub \
$(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
$(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
$(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
$(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
$(srcdir)/../compile $(srcdir)/../ltmain.sh \
$(srcdir)/../config.guess $(srcdir)/../config.sub
$(srcdir)/../ltmain.sh $(srcdir)/../config.guess \
$(srcdir)/../config.sub
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../config/depstand.m4 \
$(top_srcdir)/../config/lead-dot.m4 \
$(top_srcdir)/../config/multi.m4 \
$(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -86,8 +86,7 @@ am_libgcjgc_la_OBJECTS = allchblk.lo alloc.lo blacklst.lo checksums.lo \
dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo \
headers.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo \
new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo ptr_chck.lo \
real_malloc.lo reclaim.lo solaris_pthreads.lo \
solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo \
real_malloc.lo reclaim.lo specific.lo stubborn.lo typd_mlc.lo \
backgraph.lo win32_threads.lo pthread_support.lo \
pthread_stop_world.lo darwin_stop_world.lo $(am__objects_1)
libgcjgc_la_OBJECTS = $(am_libgcjgc_la_OBJECTS)
@@ -95,8 +94,7 @@ am__objects_2 = allchblk.lo alloc.lo blacklst.lo checksums.lo \
dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo \
headers.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo \
new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo ptr_chck.lo \
real_malloc.lo reclaim.lo solaris_pthreads.lo \
solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo \
real_malloc.lo reclaim.lo specific.lo stubborn.lo typd_mlc.lo \
backgraph.lo win32_threads.lo pthread_support.lo \
pthread_stop_world.lo darwin_stop_world.lo $(am__objects_1)
am_libgcjgc_convenience_la_OBJECTS = $(am__objects_2)
@@ -105,7 +103,8 @@ libgcjgc_convenience_la_OBJECTS = \
am__dirstamp = $(am__leading_dot)dirstamp
am_gctest_OBJECTS = tests/test.$(OBJEXT)
gctest_OBJECTS = $(am_gctest_OBJECTS)
gctest_DEPENDENCIES = ./libgcjgc.la $(am__DEPENDENCIES_1)
gctest_DEPENDENCIES = ./libgcjgc.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_builddir)/include
depcomp =
am__depfiles_maybe =
@@ -223,6 +222,7 @@ build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
extra_ldflags_libgc = @extra_ldflags_libgc@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -263,7 +263,7 @@ libgcjgc_la_SOURCES = allchblk.c alloc.c blacklst.c checksums.c dbg_mlc.c \
dyn_load.c finalize.c gc_dlopen.c gcj_mlc.c headers.c \
malloc.c mallocx.c mark.c mark_rts.c misc.c new_hblk.c \
obj_map.c os_dep.c pcr_interface.c ptr_chck.c real_malloc.c reclaim.c \
solaris_pthreads.c solaris_threads.c specific.c stubborn.c typd_mlc.c \
specific.c stubborn.c typd_mlc.c \
backgraph.c win32_threads.c \
pthread_support.c pthread_stop_world.c darwin_stop_world.c \
$(asm_libgcjgc_sources)
@@ -279,13 +279,13 @@ sparc_sunos4_mach_dep.s ia64_save_regs_in_stack.s
# linuxthread semaphore functions get linked:
libgcjgc_la_LIBADD = @addobjs@ $(THREADLIBS) $(UNWINDLIBS)
libgcjgc_la_DEPENDENCIES = @addobjs@
libgcjgc_la_LDFLAGS = -version-info 1:2:0 -rpath $(toolexeclibdir)
libgcjgc_la_LDFLAGS = $(extra_ldflags_libgc) -version-info 1:2:0 -rpath $(toolexeclibdir)
libgcjgc_convenience_la_LIBADD = @addobjs@
libgcjgc_convenience_la_DEPENDENCIES = @addobjs@
AM_CXXFLAGS = @GC_CFLAGS@
AM_CFLAGS = @GC_CFLAGS@
gctest_SOURCES = tests/test.c
gctest_LDADD = ./libgcjgc.la $(THREADDLLIBS) $(UNWINDLIBS) $(EXTRA_TEST_LIBS)
gctest_LDADD = ./libgcjgc.la $(THREADLIBS) $(UNWINDLIBS) $(EXTRA_TEST_LIBS)
gctest_LDFLAGS = -shared-libgcc
TESTS_ENVIRONMENT = LD_LIBRARY_PATH=../../$(MULTIBUILDTOP)gcc
TESTS = gctest

59
boehm-gc/aclocal.m4 vendored
View File

@@ -675,64 +675,6 @@ else
fi
AC_SUBST([mkdir_p])])
# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 5
# AM_ENABLE_MULTILIB([MAKEFILE], [REL-TO-TOP-SRCDIR])
# ---------------------------------------------------
# Add --enable-multilib to configure.
AC_DEFUN([AM_ENABLE_MULTILIB],
[# Default to --enable-multilib
AC_ARG_ENABLE(multilib,
[ --enable-multilib build many library versions (default)],
[case "$enableval" in
yes) multilib=yes ;;
no) multilib=no ;;
*) AC_MSG_ERROR([bad value $enableval for multilib option]) ;;
esac],
[multilib=yes])
# We may get other options which we leave undocumented:
# --with-target-subdir, --with-multisrctop, --with-multisubdir
# See config-ml.in if you want the gory details.
if test "$srcdir" = "."; then
if test "$with_target_subdir" != "."; then
multi_basedir="$srcdir/$with_multisrctop../$2"
else
multi_basedir="$srcdir/$with_multisrctop$2"
fi
else
multi_basedir="$srcdir/$2"
fi
AC_SUBST(multi_basedir)
AC_OUTPUT_COMMANDS([
# Only add multilib support code if we just rebuilt the top-level
# Makefile.
case " $CONFIG_FILES " in
*" ]m4_default([$1],Makefile)[ "*)
ac_file=]m4_default([$1],Makefile)[ . ${multi_basedir}/config-ml.in
;;
esac],
[
srcdir="$srcdir"
host="$host"
target="$target"
with_multisubdir="$with_multisubdir"
with_multisrctop="$with_multisrctop"
with_target_subdir="$with_target_subdir"
ac_configure_args="${multilib_arg} ${ac_configure_args}"
multi_basedir="$multi_basedir"
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
CC="$CC"])])dnl
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
@@ -945,5 +887,6 @@ AC_SUBST([am__untar])
m4_include([../config/acx.m4])
m4_include([../config/depstand.m4])
m4_include([../config/lead-dot.m4])
m4_include([../config/multi.m4])
m4_include([../config/no-executables.m4])
m4_include([../libtool.m4])

329
boehm-gc/configure vendored
View File

@@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical mkinstalldirs INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CFLAGS CXXFLAGS CCAS CCASFLAGS AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GC_CFLAGS LN_S LIBTOOL CXXCPP CPPFLAGS THREADLIBS POWERPC_DARWIN_TRUE POWERPC_DARWIN_FALSE EXTRA_TEST_LIBS target_all CPLUSPLUS_TRUE CPLUSPLUS_FALSE AM_CPPFLAGS addobjs addincludes addlibs addtests CPP EGREP MY_CFLAGS toolexecdir toolexeclibdir LIBOBJS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical mkinstalldirs INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CFLAGS CXXFLAGS CCAS CCASFLAGS AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT GC_CFLAGS LN_S LIBTOOL CXXCPP CPPFLAGS THREADLIBS POWERPC_DARWIN_TRUE POWERPC_DARWIN_FALSE extra_ldflags_libgc EXTRA_TEST_LIBS target_all CPLUSPLUS_TRUE CPLUSPLUS_FALSE AM_CPPFLAGS addobjs addincludes addlibs addtests CPP EGREP MY_CFLAGS toolexecdir toolexeclibdir LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -1351,6 +1351,13 @@ else
fi
# Even if the default multilib is not a cross compilation,
# it may be that some of the other multilibs are.
if test $cross_compiling = no && test $multilib = yes \
&& test "x${with_multisubdir}" != x ; then
cross_compiling=maybe
fi
ac_config_commands="$ac_config_commands default-1"
@@ -4773,7 +4780,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
echo '#line 4776 "configure"' > conftest.$ac_ext
echo '#line 4783 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -5465,7 +5472,8 @@ _ACEOF
#define THREAD_LOCAL_ALLOC 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
cat >>confdefs.h <<\_ACEOF
#define USE_COMPILER_TLS 1
_ACEOF
@@ -5483,15 +5491,15 @@ _ACEOF
;;
*-*-solaris*)
cat >>confdefs.h <<\_ACEOF
#define GC_SOLARIS_THREADS 1
_ACEOF
cat >>confdefs.h <<\_ACEOF
#define GC_SOLARIS_PTHREADS 1
_ACEOF
# Need to use alternate thread library, otherwise gctest hangs
# on Solaris 8.
multi_os_directory=`$CC -print-multi-os-directory`
THREADLIBS="-L/usr/lib/lwp/$multi_os_directory \
-R/usr/lib/lwp/$multi_os_directory -lpthread -lthread -lrt"
;;
*-*-irix*)
@@ -5733,7 +5741,7 @@ echo "${ECHO_T}$ac_cv_member_ppc_thread_state_t_r0" >&6
if test $ac_cv_member_ppc_thread_state_t_r0 = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAS_PPC_THREAD_STATE_R0
#define HAS_PPC_THREAD_STATE_R0 1
_ACEOF
fi
@@ -5844,7 +5852,7 @@ echo "${ECHO_T}$ac_cv_member_ppc_thread_state_t___r0" >&6
if test $ac_cv_member_ppc_thread_state_t___r0 = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAS_PPC_THREAD_STATE___R0
#define HAS_PPC_THREAD_STATE___R0 1
_ACEOF
fi
@@ -5955,7 +5963,7 @@ echo "${ECHO_T}$ac_cv_member_ppc_thread_state64_t_r0" >&6
if test $ac_cv_member_ppc_thread_state64_t_r0 = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAS_PPC_THREAD_STATE64_R0
#define HAS_PPC_THREAD_STATE64_R0 1
_ACEOF
fi
@@ -6066,16 +6074,16 @@ echo "${ECHO_T}$ac_cv_member_ppc_thread_state64_t___r0" >&6
if test $ac_cv_member_ppc_thread_state64_t___r0 = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAS_PPC_THREAD_STATE64___R0
#define HAS_PPC_THREAD_STATE64___R0 1
_ACEOF
fi
;;
i?86*-*-darwin*)
echo "$as_me:$LINENO: checking for i386_thread_state_t.eax" >&5
echo $ECHO_N "checking for i386_thread_state_t.eax... $ECHO_C" >&6
if test "${ac_cv_member_i386_thread_state_t_eax+set}" = set; then
echo "$as_me:$LINENO: checking for x86_thread_state32_t.eax" >&5
echo $ECHO_N "checking for x86_thread_state32_t.eax... $ECHO_C" >&6
if test "${ac_cv_member_x86_thread_state32_t_eax+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -6084,12 +6092,13 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <mach/thread_status.h>
#include <sys/cdefs.h>
#include <mach/thread_status.h>
int
main ()
{
static i386_thread_state_t ac_aggr;
static x86_thread_state32_t ac_aggr;
if (ac_aggr.eax)
return 0;
;
@@ -6118,7 +6127,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_member_i386_thread_state_t_eax=yes
ac_cv_member_x86_thread_state32_t_eax=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -6129,12 +6138,13 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <mach/thread_status.h>
#include <sys/cdefs.h>
#include <mach/thread_status.h>
int
main ()
{
static i386_thread_state_t ac_aggr;
static x86_thread_state32_t ac_aggr;
if (sizeof ac_aggr.eax)
return 0;
;
@@ -6163,30 +6173,30 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_member_i386_thread_state_t_eax=yes
ac_cv_member_x86_thread_state32_t_eax=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_member_i386_thread_state_t_eax=no
ac_cv_member_x86_thread_state32_t_eax=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_member_i386_thread_state_t_eax" >&5
echo "${ECHO_T}$ac_cv_member_i386_thread_state_t_eax" >&6
if test $ac_cv_member_i386_thread_state_t_eax = yes; then
echo "$as_me:$LINENO: result: $ac_cv_member_x86_thread_state32_t_eax" >&5
echo "${ECHO_T}$ac_cv_member_x86_thread_state32_t_eax" >&6
if test $ac_cv_member_x86_thread_state32_t_eax = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAS_I386_THREAD_STATE_EAX
#define HAS_X86_THREAD_STATE32_EAX 1
_ACEOF
fi
echo "$as_me:$LINENO: checking for i386_thread_state_t.__eax" >&5
echo $ECHO_N "checking for i386_thread_state_t.__eax... $ECHO_C" >&6
if test "${ac_cv_member_i386_thread_state_t___eax+set}" = set; then
echo "$as_me:$LINENO: checking for x86_thread_state32_t.__eax" >&5
echo $ECHO_N "checking for x86_thread_state32_t.__eax... $ECHO_C" >&6
if test "${ac_cv_member_x86_thread_state32_t___eax+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
@@ -6195,12 +6205,13 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <mach/thread_status.h>
#include <sys/cdefs.h>
#include <mach/thread_status.h>
int
main ()
{
static i386_thread_state_t ac_aggr;
static x86_thread_state32_t ac_aggr;
if (ac_aggr.__eax)
return 0;
;
@@ -6229,7 +6240,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_member_i386_thread_state_t___eax=yes
ac_cv_member_x86_thread_state32_t___eax=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -6240,12 +6251,13 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <mach/thread_status.h>
#include <sys/cdefs.h>
#include <mach/thread_status.h>
int
main ()
{
static i386_thread_state_t ac_aggr;
static x86_thread_state32_t ac_aggr;
if (sizeof ac_aggr.__eax)
return 0;
;
@@ -6274,23 +6286,251 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_member_i386_thread_state_t___eax=yes
ac_cv_member_x86_thread_state32_t___eax=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_member_i386_thread_state_t___eax=no
ac_cv_member_x86_thread_state32_t___eax=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_member_i386_thread_state_t___eax" >&5
echo "${ECHO_T}$ac_cv_member_i386_thread_state_t___eax" >&6
if test $ac_cv_member_i386_thread_state_t___eax = yes; then
echo "$as_me:$LINENO: result: $ac_cv_member_x86_thread_state32_t___eax" >&5
echo "${ECHO_T}$ac_cv_member_x86_thread_state32_t___eax" >&6
if test $ac_cv_member_x86_thread_state32_t___eax = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAS_I386_THREAD_STATE___EAX
#define HAS_X86_THREAD_STATE32___EAX 1
_ACEOF
fi
;;
x86_64-*-darwin*)
echo "$as_me:$LINENO: checking for x86_thread_state64_t.rax" >&5
echo $ECHO_N "checking for x86_thread_state64_t.rax... $ECHO_C" >&6
if test "${ac_cv_member_x86_thread_state64_t_rax+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <sys/cdefs.h>
#include <mach/thread_status.h>
int
main ()
{
static x86_thread_state64_t ac_aggr;
if (ac_aggr.rax)
return 0;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_member_x86_thread_state64_t_rax=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <sys/cdefs.h>
#include <mach/thread_status.h>
int
main ()
{
static x86_thread_state64_t ac_aggr;
if (sizeof ac_aggr.rax)
return 0;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_member_x86_thread_state64_t_rax=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_member_x86_thread_state64_t_rax=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_member_x86_thread_state64_t_rax" >&5
echo "${ECHO_T}$ac_cv_member_x86_thread_state64_t_rax" >&6
if test $ac_cv_member_x86_thread_state64_t_rax = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAS_X86_THREAD_STATE64_RAX 1
_ACEOF
fi
echo "$as_me:$LINENO: checking for x86_thread_state64_t.__rax" >&5
echo $ECHO_N "checking for x86_thread_state64_t.__rax... $ECHO_C" >&6
if test "${ac_cv_member_x86_thread_state64_t___rax+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <sys/cdefs.h>
#include <mach/thread_status.h>
int
main ()
{
static x86_thread_state64_t ac_aggr;
if (ac_aggr.__rax)
return 0;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_member_x86_thread_state64_t___rax=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <sys/cdefs.h>
#include <mach/thread_status.h>
int
main ()
{
static x86_thread_state64_t ac_aggr;
if (sizeof ac_aggr.__rax)
return 0;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_member_x86_thread_state64_t___rax=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_member_x86_thread_state64_t___rax=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $ac_cv_member_x86_thread_state64_t___rax" >&5
echo "${ECHO_T}$ac_cv_member_x86_thread_state64_t___rax" >&6
if test $ac_cv_member_x86_thread_state64_t___rax = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAS_X86_THREAD_STATE64___RAX 1
_ACEOF
fi
@@ -6380,6 +6620,14 @@ fi
;;
esac
# extra LD Flags which are required for targets
case "${host}" in
*-*-darwin*)
extra_ldflags_libgc=-Wl,-single_module
;;
esac
target_all=libgcjgc.la
@@ -8234,6 +8482,7 @@ s,@CPPFLAGS@,$CPPFLAGS,;t t
s,@THREADLIBS@,$THREADLIBS,;t t
s,@POWERPC_DARWIN_TRUE@,$POWERPC_DARWIN_TRUE,;t t
s,@POWERPC_DARWIN_FALSE@,$POWERPC_DARWIN_FALSE,;t t
s,@extra_ldflags_libgc@,$extra_ldflags_libgc,;t t
s,@EXTRA_TEST_LIBS@,$EXTRA_TEST_LIBS,;t t
s,@target_all@,$target_all,;t t
s,@CPLUSPLUS_TRUE@,$CPLUSPLUS_TRUE,;t t

View File

@@ -173,8 +173,12 @@ case "$THREADS" in
THREADLIBS=-pthread
;;
*-*-solaris*)
AC_DEFINE(GC_SOLARIS_THREADS,1,[support for Solaris (thr_) threads])
AC_DEFINE(GC_SOLARIS_PTHREADS,1,[support for Solaris pthreads])
# Need to use alternate thread library, otherwise gctest hangs
# on Solaris 8.
multi_os_directory=`$CC -print-multi-os-directory`
THREADLIBS="-L/usr/lib/lwp/$multi_os_directory \
-R/usr/lib/lwp/$multi_os_directory -lpthread -lthread -lrt"
;;
*-*-irix*)
AC_DEFINE(GC_IRIX_THREADS,1,[support for Irix pthreads])
@@ -248,30 +252,45 @@ AM_CONDITIONAL(POWERPC_DARWIN,test x$powerpc_darwin = xtrue)
case "$host" in
powerpc*-*-darwin*)
AC_CHECK_MEMBER(ppc_thread_state_t.r0,
AC_DEFINE(HAS_PPC_THREAD_STATE_R0,,[ppc_thread_state_t has field r0]),,
AC_DEFINE(HAS_PPC_THREAD_STATE_R0,1,
[ppc_thread_state_t has field r0]),,
[#include <mach/thread_status.h>])
AC_CHECK_MEMBER(ppc_thread_state_t.__r0,
AC_DEFINE(HAS_PPC_THREAD_STATE___R0,,dnl
AC_DEFINE(HAS_PPC_THREAD_STATE___R0,1,dnl
[ppc_thread_state_t has field __r0]),,
[#include <mach/thread_status.h>])
AC_CHECK_MEMBER(ppc_thread_state64_t.r0,
AC_DEFINE(HAS_PPC_THREAD_STATE64_R0,,dnl
AC_DEFINE(HAS_PPC_THREAD_STATE64_R0,1,dnl
[ppc_thread_state64_t has field r0]),,
[#include <mach/thread_status.h>])
AC_CHECK_MEMBER(ppc_thread_state64_t.__r0,
AC_DEFINE(HAS_PPC_THREAD_STATE64___R0,,dnl
AC_DEFINE(HAS_PPC_THREAD_STATE64___R0,1,dnl
[ppc_thread_state64_t has field __r0]),,
[#include <mach/thread_status.h>])
;;
i?86*-*-darwin*)
AC_CHECK_MEMBER(i386_thread_state_t.eax,
AC_DEFINE(HAS_I386_THREAD_STATE_EAX,,dnl
[i386_thread_state_t has field eax]),,
[#include <mach/thread_status.h>])
AC_CHECK_MEMBER(i386_thread_state_t.__eax,
AC_DEFINE(HAS_I386_THREAD_STATE___EAX,,dnl
[i386_thread_state_t has field __eax]),,
[#include <mach/thread_status.h>])
AC_CHECK_MEMBER(x86_thread_state32_t.eax,
AC_DEFINE(HAS_X86_THREAD_STATE32_EAX,1,dnl
[x86_thread_state32_t has field eax]),,
[#include <sys/cdefs.h>
#include <mach/thread_status.h>])
AC_CHECK_MEMBER(x86_thread_state32_t.__eax,
AC_DEFINE(HAS_X86_THREAD_STATE32___EAX,1,dnl
[x86_thread_state32_t has field __eax]),,
[#include <sys/cdefs.h>
#include <mach/thread_status.h>])
;;
x86_64-*-darwin*)
AC_CHECK_MEMBER(x86_thread_state64_t.rax,
AC_DEFINE(HAS_X86_THREAD_STATE64_RAX,1,dnl
[x86_thread_state64_t has field rax]),,
[#include <sys/cdefs.h>
#include <mach/thread_status.h>])
AC_CHECK_MEMBER(x86_thread_state64_t.__rax,
AC_DEFINE(HAS_X86_THREAD_STATE64___RAX,1,dnl
[x86_thread_state64_t has field __rax]),,
[#include <sys/cdefs.h>
#include <mach/thread_status.h>])
;;
*) ;;
esac
@@ -285,6 +304,14 @@ case "$host" in
;;
esac
# extra LD Flags which are required for targets
case "${host}" in
*-*-darwin*)
extra_ldflags_libgc=-Wl,-single_module
;;
esac
AC_SUBST(extra_ldflags_libgc)
AC_SUBST(EXTRA_TEST_LIBS)
target_all=libgcjgc.la

View File

@@ -20,39 +20,6 @@
# define PPC_RED_ZONE_SIZE 320
#endif
/* Try to work out the right way to access thread state structure members.
The structure has changed its definition in different Darwin versions. */
#if defined(__ppc__)
# define THREAD_STATE ppc_thread_state_t
# if defined (HAS_PPC_THREAD_STATE_R0)
# define THREAD_FLD(x) x
# elif defined (HAS_PPC_THREAD_STATE___R0)
# define THREAD_FLD(x) __ ## x
# else
# error can not work out how to access fields of ppc_thread_state_t
# endif
#elif defined(__ppc64__)
# define THREAD_STATE ppc_thread_state64_t
# if defined (HAS_PPC_THREAD_STATE64_R0)
# define THREAD_FLD(x) x
# elif defined (HAS_PPC_THREAD_STATE64___R0)
# define THREAD_FLD(x) __ ## x
# else
# error can not work out how to access fields of ppc_thread_state64_t
# endif
#elif defined(__i386__)
# define THREAD_STATE i386_thread_state_t
# if defined (HAS_I386_THREAD_STATE_EAX)
# define THREAD_FLD(x) x
# elif defined (HAS_I386_THREAD_STATE___EAX)
# define THREAD_FLD(x) __ ## x
# else
# error can not work out how to access fields of i386_thread_state_t
# endif
#else
# error unknown architecture
#endif
typedef struct StackFrame {
unsigned long savedSP;
unsigned long savedCR;
@@ -106,8 +73,8 @@ void GC_push_all_stacks() {
GC_thread p;
pthread_t me;
ptr_t lo, hi;
THREAD_STATE state;
mach_msg_type_number_t thread_state_count = MACHINE_THREAD_STATE_COUNT;
GC_THREAD_STATE_T state;
mach_msg_type_number_t thread_state_count = GC_MACH_THREAD_STATE_COUNT;
me = pthread_self();
if (!GC_thr_initialized) GC_thr_init();
@@ -119,23 +86,46 @@ void GC_push_all_stacks() {
lo = GC_approx_sp();
} else {
/* Get the thread state (registers, etc) */
r = thread_get_state(
p->stop_info.mach_thread,
MACHINE_THREAD_STATE,
(natural_t*)&state,
&thread_state_count);
r = thread_get_state(p->stop_info.mach_thread, GC_MACH_THREAD_STATE,
(natural_t*)&state, &thread_state_count);
if(r != KERN_SUCCESS) ABORT("thread_get_state failed");
#if defined(I386)
lo = state.esp;
lo = (void*)state . THREAD_FLD (esp);
GC_push_one(state . THREAD_FLD (eax));
GC_push_one(state . THREAD_FLD (ebx));
GC_push_one(state . THREAD_FLD (ecx));
GC_push_one(state . THREAD_FLD (edx));
GC_push_one(state . THREAD_FLD (edi));
GC_push_one(state . THREAD_FLD (esi));
GC_push_one(state . THREAD_FLD (ebp));
#elif defined(X86_64)
lo = (void*)state . THREAD_FLD (rsp);
GC_push_one(state . THREAD_FLD (rax));
GC_push_one(state . THREAD_FLD (rbx));
GC_push_one(state . THREAD_FLD (rcx));
GC_push_one(state . THREAD_FLD (rdx));
GC_push_one(state . THREAD_FLD (rdi));
GC_push_one(state . THREAD_FLD (rsi));
GC_push_one(state . THREAD_FLD (rbp));
GC_push_one(state . THREAD_FLD (rsp));
GC_push_one(state . THREAD_FLD (r8));
GC_push_one(state . THREAD_FLD (r9));
GC_push_one(state . THREAD_FLD (r10));
GC_push_one(state . THREAD_FLD (r11));
GC_push_one(state . THREAD_FLD (r12));
GC_push_one(state . THREAD_FLD (r13));
GC_push_one(state . THREAD_FLD (r14));
GC_push_one(state . THREAD_FLD (r15));
GC_push_one(state . THREAD_FLD (rip));
GC_push_one(state . THREAD_FLD (rflags));
GC_push_one(state . THREAD_FLD (cs));
GC_push_one(state . THREAD_FLD (fs));
GC_push_one(state . THREAD_FLD (gs));
GC_push_one(state.eax);
GC_push_one(state.ebx);
GC_push_one(state.ecx);
GC_push_one(state.edx);
GC_push_one(state.edi);
GC_push_one(state.esi);
GC_push_one(state.ebp);
#elif defined(POWERPC)
lo = (void*)(state . THREAD_FLD (r1) - PPC_RED_ZONE_SIZE);
@@ -212,9 +202,9 @@ void GC_push_all_stacks() {
hi = (ptr_t)FindTopOfStack(0);
} else {
# if defined(__ppc__) || defined(__ppc64__)
THREAD_STATE info;
GC_THREAD_STATE_T info;
mach_msg_type_number_t outCount = THREAD_STATE_MAX;
r = thread_get_state(thread, MACHINE_THREAD_STATE,
r = thread_get_state(thread, GC_MACH_THREAD_STATE,
(natural_t *)&info, &outCount);
if(r != KERN_SUCCESS) ABORT("task_get_state failed");
@@ -255,10 +245,10 @@ void GC_push_all_stacks() {
# else
/* FIXME: Remove after testing: */
WARN("This is completely untested and likely will not work\n", 0);
THREAD_STATE info;
GC_THREAD_STATE_T info;
mach_msg_type_number_t outCount = THREAD_STATE_MAX;
r = thread_get_state(thread, MACHINE_THREAD_STATE,
(natural_t *)&info, &outCount);
r = thread_get_state(thread, GC_MACH_THREAD_STATE, (natural_t *)&info,
&outCount);
if(r != KERN_SUCCESS) ABORT("task_get_state failed");
lo = (void*)info . THREAD_FLD (esp);

View File

@@ -225,7 +225,7 @@ static ptr_t GC_first_common()
# if defined(SUNOS4) || defined(SUNOS5DL)
/* Add dynamic library data sections to the root set. */
# if !defined(PCR) && !defined(GC_SOLARIS_THREADS) && defined(THREADS)
# if !defined(PCR) && !defined(GC_SOLARIS_PTHREADS) && defined(THREADS)
# ifndef SRC_M3
--> fix mutual exclusion with dlopen
# endif /* We assume M3 programs don't call dlopen for now */
@@ -1152,7 +1152,7 @@ const static struct {
};
#ifdef DARWIN_DEBUG
static const char *GC_dyld_name_for_hdr(struct mach_header *hdr) {
static const char *GC_dyld_name_for_hdr(const struct GC_MACH_HEADER *hdr) {
unsigned long i,c;
c = _dyld_image_count();
for(i=0;i<c;i++) if(_dyld_get_image_header(i) == hdr)
@@ -1162,12 +1162,17 @@ static const char *GC_dyld_name_for_hdr(struct mach_header *hdr) {
#endif
/* This should never be called by a thread holding the lock */
static void GC_dyld_image_add(struct mach_header* hdr, unsigned long slide) {
static void GC_dyld_image_add(const struct GC_MACH_HEADER *hdr, intptr_t slide)
{
unsigned long start,end,i;
const struct section *sec;
const struct GC_MACH_SECTION *sec;
if (GC_no_dls) return;
for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
# if defined (__LP64__)
sec = getsectbynamefromheader_64(
# else
sec = getsectbynamefromheader(
# endif
hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
if(sec == NULL || sec->size == 0) continue;
start = slide + sec->addr;
@@ -1184,11 +1189,16 @@ static void GC_dyld_image_add(struct mach_header* hdr, unsigned long slide) {
}
/* This should never be called by a thread holding the lock */
static void GC_dyld_image_remove(struct mach_header* hdr, unsigned long slide) {
static void GC_dyld_image_remove(const struct GC_MACH_HEADER *hdr,
intptr_t slide) {
unsigned long start,end,i;
const struct section *sec;
const struct GC_MACH_SECTION *sec;
for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
# if defined (__LP64__)
sec = getsectbynamefromheader_64(
# else
sec = getsectbynamefromheader(
# endif
hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
if(sec == NULL || sec->size == 0) continue;
start = slide + sec->addr;

View File

@@ -45,6 +45,7 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../config/depstand.m4 \
$(top_srcdir)/../config/lead-dot.m4 \
$(top_srcdir)/../config/multi.m4 \
$(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -148,6 +149,7 @@ build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
extra_ldflags_libgc = @extra_ldflags_libgc@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@

View File

@@ -54,12 +54,6 @@
/* support for win32 threads */
#undef GC_WIN32_THREADS
/* i386_thread_state_t has field eax */
#undef HAS_I386_THREAD_STATE_EAX
/* i386_thread_state_t has field __eax */
#undef HAS_I386_THREAD_STATE___EAX
/* ppc_thread_state64_t has field r0 */
#undef HAS_PPC_THREAD_STATE64_R0
@@ -72,6 +66,18 @@
/* ppc_thread_state_t has field __r0 */
#undef HAS_PPC_THREAD_STATE___R0
/* x86_thread_state32_t has field eax */
#undef HAS_X86_THREAD_STATE32_EAX
/* x86_thread_state32_t has field __eax */
#undef HAS_X86_THREAD_STATE32___EAX
/* x86_thread_state64_t has field rax */
#undef HAS_X86_THREAD_STATE64_RAX
/* x86_thread_state64_t has field __rax */
#undef HAS_X86_THREAD_STATE64___RAX
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

View File

@@ -72,10 +72,6 @@
# define GC_WIN32_THREADS
#endif
#if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
# define GC_SOLARIS_THREADS
#endif
# define __GC
# ifndef _WIN32_WCE
# include <stddef.h>

View File

@@ -468,6 +468,53 @@ extern GC_warn_proc GC_current_warn_proc;
# define GETENV(name) 0
#endif
#if defined(DARWIN)
# if defined(POWERPC)
# if CPP_WORDSZ == 32
# define GC_THREAD_STATE_T ppc_thread_state_t
# define GC_MACH_THREAD_STATE PPC_THREAD_STATE
# define GC_MACH_THREAD_STATE_COUNT PPC_THREAD_STATE_COUNT
# define GC_MACH_HEADER mach_header
# define GC_MACH_SECTION section
# else
# define GC_THREAD_STATE_T ppc_thread_state64_t
# define GC_MACH_THREAD_STATE PPC_THREAD_STATE64
# define GC_MACH_THREAD_STATE_COUNT PPC_THREAD_STATE64_COUNT
# define GC_MACH_HEADER mach_header_64
# define GC_MACH_SECTION section_64
# endif
# elif defined(I386) || defined(X86_64)
# if CPP_WORDSZ == 32
# define GC_THREAD_STATE_T x86_thread_state32_t
# define GC_MACH_THREAD_STATE x86_THREAD_STATE32
# define GC_MACH_THREAD_STATE_COUNT x86_THREAD_STATE32_COUNT
# define GC_MACH_HEADER mach_header
# define GC_MACH_SECTION section
# else
# define GC_THREAD_STATE_T x86_thread_state64_t
# define GC_MACH_THREAD_STATE x86_THREAD_STATE64
# define GC_MACH_THREAD_STATE_COUNT x86_THREAD_STATE64_COUNT
# define GC_MACH_HEADER mach_header_64
# define GC_MACH_SECTION section_64
# endif
# else
# error define GC_THREAD_STATE_T
# define GC_MACH_THREAD_STATE MACHINE_THREAD_STATE
# define GC_MACH_THREAD_STATE_COUNT MACHINE_THREAD_STATE_COUNT
# endif
/* Try to work out the right way to access thread state structure members.
The structure has changed its definition in different Darwin versions.
This now defaults to the (older) names without __, thus hopefully,
not breaking any existing Makefile.direct builds. */
# if defined (HAS_PPC_THREAD_STATE___R0) \
|| defined (HAS_PPC_THREAD_STATE64___R0) \
|| defined (HAS_X86_THREAD_STATE32___EAX) \
|| defined (HAS_X86_THREAD_STATE64___RAX)
# define THREAD_FLD(x) __ ## x
# else
# define THREAD_FLD(x) x
# endif
#endif
/*********************************/
/* */
/* Word-size-dependent defines */

View File

@@ -153,6 +153,11 @@
# define SUNOS5
# define mach_type_known
# endif
# if defined(sun) && defined(__amd64)
# define X86_64
# define SUNOS5
# define mach_type_known
# endif
# if (defined(__OS2__) || defined(__EMX__)) && defined(__32BIT__)
# define I386
# define OS2
@@ -302,6 +307,9 @@
# if defined(__ppc__) || defined(__ppc64__)
# define POWERPC
# define mach_type_known
# elif defined(__x86_64__)
# define X86_64
# define mach_type_known
# elif defined(__i386__)
# define I386
# define mach_type_known
@@ -326,6 +334,10 @@
# define I386
# define mach_type_known
# endif
# if defined(FREEBSD) && defined(__x86_64__)
# define X86_64
# define mach_type_known
# endif
# if defined(__NetBSD__) && (defined(i386) || defined(__i386__))
# define I386
# define mach_type_known
@@ -787,26 +799,29 @@
# define DATAEND (_end)
# endif
# ifdef DARWIN
# ifdef __ppc64__
# define ALIGNMENT 8
# define CPP_WORDSZ 64
# else
# define ALIGNMENT 4
# endif
# define OS_TYPE "DARWIN"
# define DYNAMIC_LOADING
# if defined(__ppc64__)
# define ALIGNMENT 8
# define CPP_WORDSZ 64
# define STACKBOTTOM ((ptr_t) 0x7fff5fc00000)
# define CACHE_LINE_SIZE 64
# ifndef HBLKSIZE
# define HBLKSIZE 4096
# endif
# else
# define ALIGNMENT 4
# define STACKBOTTOM ((ptr_t) 0xc0000000)
# endif
/* XXX: see get_end(3), get_etext() and get_end() should not be used.
These aren't used when dyld support is enabled (it is by default) */
# define DATASTART ((ptr_t) get_etext())
# define DATAEND ((ptr_t) get_end())
# define STACKBOTTOM ((ptr_t) 0xc0000000)
# define USE_MMAP
# define USE_MMAP_ANON
# define USE_ASM_PUSH_REGS
/* This is potentially buggy. It needs more testing. See the comments in
os_dep.c. It relies on threads to track writes. */
# ifdef GC_DARWIN_THREADS
/* # define MPROTECT_VDB -- diabled for now. May work for some apps. */
# define MPROTECT_VDB
# endif
# include <unistd.h>
# define GETPAGESIZE() getpagesize()
@@ -1320,10 +1335,8 @@
# define USE_MMAP
# define USE_MMAP_ANON
# define USE_ASM_PUSH_REGS
/* This is potentially buggy. It needs more testing. See the comments in
os_dep.c. It relies on threads to track writes. */
# ifdef GC_DARWIN_THREADS
/* # define MPROTECT_VDB -- disabled for now. May work for some apps. */
# define MPROTECT_VDB
# endif
# include <unistd.h>
# define GETPAGESIZE() getpagesize()
@@ -1982,6 +1995,26 @@
# define PREFETCH_FOR_WRITE(x) __builtin_prefetch((x), 1)
# endif
# endif
# ifdef DARWIN
# define OS_TYPE "DARWIN"
# define DARWIN_DONT_PARSE_STACK
# define DYNAMIC_LOADING
/* XXX: see get_end(3), get_etext() and get_end() should not be used.
These aren't used when dyld support is enabled (it is by default) */
# define DATASTART ((ptr_t) get_etext())
# define DATAEND ((ptr_t) get_end())
# define STACKBOTTOM ((ptr_t) 0x7fff5fc00000)
# define USE_MMAP
# define USE_MMAP_ANON
# ifdef GC_DARWIN_THREADS
# define MPROTECT_VDB
# endif
# include <unistd.h>
# define GETPAGESIZE() getpagesize()
/* There seems to be some issues with trylock hanging on darwin. This
should be looked into some more */
# define NO_PTHREAD_TRYLOCK
# endif
# ifdef FREEBSD
# define OS_TYPE "FREEBSD"
# ifndef GC_FREEBSD_THREADS
@@ -2013,6 +2046,36 @@
extern char etext[];
# define SEARCH_FOR_DATA_START
# endif
# ifdef SUNOS5
# define ELF_CLASS ELFCLASS64
# define OS_TYPE "SUNOS5"
extern int _etext[], _end[];
extern ptr_t GC_SysVGetDataStart();
# define DATASTART GC_SysVGetDataStart(0x1000, _etext)
# define DATAEND (_end)
/* # define STACKBOTTOM ((ptr_t)(_start)) worked through 2.7, */
/* but reportedly breaks under 2.8. It appears that the stack */
/* base is a property of the executable, so this should not break */
/* old executables. */
/* HEURISTIC2 probably works, but this appears to be preferable. */
/* # include <sys/vm.h> */
/* # define STACKBOTTOM USRSTACK */
# define HEURISTIC2
# define PROC_VDB
# define DYNAMIC_LOADING
# if !defined(USE_MMAP) && defined(REDIRECT_MALLOC)
# define USE_MMAP
/* Otherwise we now use calloc. Mmap may result in the */
/* heap interleaved with thread stacks, which can result in */
/* excessive blacklisting. Sbrk is unusable since it */
/* doesn't interact correctly with the system malloc. */
# endif
# ifdef USE_MMAP
# define HEAP_START (ptr_t)0x40000000
# else
# define HEAP_START DATAEND
# endif
# endif
# endif
#if defined(LINUX) && defined(USE_MMAP)
@@ -2158,11 +2221,6 @@
((word*)x)[1] = 0;
# endif /* CLEAR_DOUBLE */
/* Internally we use GC_SOLARIS_THREADS to test for either old or pthreads. */
# if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
# define GC_SOLARIS_THREADS
# endif
# if defined(GC_IRIX_THREADS) && !defined(IRIX5)
--> inconsistent configuration
# endif

View File

@@ -1,37 +0,0 @@
#ifdef GC_SOLARIS_THREADS
/* The set of all known threads. We intercept thread creation and */
/* joins. We never actually create detached threads. We allocate all */
/* new thread stacks ourselves. These allow us to maintain this */
/* data structure. */
/* Protected by GC_thr_lock. */
/* Some of this should be declared volatile, but that's incosnsistent */
/* with some library routine declarations. In particular, the */
/* definition of cond_t doesn't mention volatile! */
typedef struct GC_Thread_Rep {
struct GC_Thread_Rep * next;
thread_t id;
word flags;
# define FINISHED 1 /* Thread has exited. */
# define DETACHED 2 /* Thread is intended to be detached. */
# define CLIENT_OWNS_STACK 4
/* Stack was supplied by client. */
# define SUSPNDED 8 /* Currently suspended. */
/* SUSPENDED is used insystem header. */
ptr_t stack;
size_t stack_size;
cond_t join_cv;
void * status;
} * GC_thread;
extern GC_thread GC_new_thread(thread_t id);
extern GC_bool GC_thr_initialized;
extern volatile GC_thread GC_threads[];
extern size_t GC_min_stack_sz;
extern size_t GC_page_sz;
extern void GC_thr_init(void);
extern ptr_t GC_stack_alloc(size_t * stack_size);
extern void GC_stack_free(ptr_t stack, size_t size);
# endif /* GC_SOLARIS_THREADS */

View File

@@ -84,7 +84,7 @@
# define NEED_FIND_LIMIT
# endif
#if defined(FREEBSD) && (defined(I386) || defined(powerpc) || defined(__powerpc__))
#if defined(FREEBSD) && (defined(I386) || defined(X86_64) || defined(powerpc) || defined(__powerpc__))
# include <machine/trap.h>
# if !defined(PCR)
# define NEED_FIND_LIMIT
@@ -1392,7 +1392,7 @@ int * etext_addr;
}
# endif
# if defined(FREEBSD) && (defined(I386) || defined(powerpc) || defined(__powerpc__)) && !defined(PCR)
# if defined(FREEBSD) && (defined(I386) || defined(X86_64) || defined(powerpc) || defined(__powerpc__)) && !defined(PCR)
/* Its unclear whether this should be identical to the above, or */
/* whether it should apply to non-X86 architectures. */
/* For now we don't assume that there is always an empty page after */
@@ -3371,7 +3371,7 @@ GC_bool is_ptrfree;
1. Apple's mach/xnu documentation
2. Timothy J. Wood's "Mach Exception Handlers 101" post to the
omnigroup's macosx-dev list.
www.omnigroup.com/mailman/archive/macosx-dev/2000-June/002030.html
www.omnigroup.com/mailman/archive/macosx-dev/2000-June/014178.html
3. macosx-nat.c from Apple's GDB source code.
*/
@@ -3683,7 +3683,7 @@ void GC_dirty_init() {
mask,
GC_ports.exception,
EXCEPTION_DEFAULT,
MACHINE_THREAD_STATE
GC_MACH_THREAD_STATE
);
if(r != KERN_SUCCESS) ABORT("task_set_exception_ports failed");
@@ -3802,10 +3802,16 @@ catch_exception_raise(
mach_msg_type_number_t exc_state_count = PPC_EXCEPTION_STATE64_COUNT;
ppc_exception_state64_t exc_state;
# endif
# elif defined(I386)
thread_state_flavor_t flavor = i386_EXCEPTION_STATE;
mach_msg_type_number_t exc_state_count = i386_EXCEPTION_STATE_COUNT;
i386_exception_state_t exc_state;
# elif defined(I386) || defined(X86_64)
# if CPP_WORDSZ == 32
thread_state_flavor_t flavor = x86_EXCEPTION_STATE32;
mach_msg_type_number_t exc_state_count = x86_EXCEPTION_STATE32_COUNT;
x86_exception_state32_t exc_state;
# else
thread_state_flavor_t flavor = x86_EXCEPTION_STATE64;
mach_msg_type_number_t exc_state_count = x86_EXCEPTION_STATE64_COUNT;
x86_exception_state64_t exc_state;
# endif
# else
# error FIXME for non-ppc darwin
# endif
@@ -3838,9 +3844,9 @@ catch_exception_raise(
/* This is the address that caused the fault */
#if defined(POWERPC)
addr = (char*) exc_state.dar;
#elif defined (I386)
addr = (char*) exc_state.faultvaddr;
addr = (char*) exc_state. THREAD_FLD(dar);
#elif defined (I386) || defined (X86_64)
addr = (char*) exc_state. THREAD_FLD(faultvaddr);
#else
# error FIXME for non POWERPC/I386
#endif

View File

@@ -883,7 +883,8 @@ void GC_thr_init()
# if defined(GC_HPUX_THREADS)
GC_nprocs = pthread_num_processors_np();
# endif
# if defined(GC_OSF1_THREADS) || defined(GC_AIX_THREADS)
# if defined(GC_OSF1_THREADS) || defined(GC_AIX_THREADS) \
|| defined(GC_SOLARIS_PTHREADS)
GC_nprocs = sysconf(_SC_NPROCESSORS_ONLN);
if (GC_nprocs <= 0) GC_nprocs = 1;
# endif
@@ -1135,7 +1136,13 @@ GC_PTR GC_get_thread_stack_base()
size_t stack_size;
my_pthread = pthread_self();
pthread_getattr_np (my_pthread, &attr);
if (pthread_getattr_np (my_pthread, &attr) != 0)
{
# ifdef DEBUG_THREADS
GC_printf1("Can not determine stack base for attached thread");
# endif
return 0;
}
pthread_attr_getstack (&attr, (void **) &stack_addr, &stack_size);
pthread_attr_destroy (&attr);
@@ -1146,7 +1153,7 @@ GC_PTR GC_get_thread_stack_base()
# ifdef STACK_GROWS_DOWN
return stack_addr + stack_size;
# else
return stack_addr - stack_size;
return stack_addr;
# endif
# else

View File

@@ -1,179 +0,0 @@
/*
* Copyright (c) 1994 by Xerox Corporation. All rights reserved.
*
* THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
* OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
*
* Permission is hereby granted to use or copy this program
* for any purpose, provided the above notices are retained on all copies.
* Permission to modify the code and to distribute modified code is granted,
* provided the above notices are retained, and a notice that the code was
* modified is included with the above copyright notice.
*/
/*
* Support code for Solaris threads. Provides functionality we wish Sun
* had provided. Relies on some information we probably shouldn't rely on.
* Modified by Peter C. for Solaris Posix Threads.
*/
# include "private/gc_priv.h"
# if defined(GC_SOLARIS_PTHREADS)
# include <pthread.h>
# include <thread.h>
# include <signal.h>
# include <fcntl.h>
# include <sys/types.h>
# include <sys/mman.h>
# include <sys/time.h>
# include <sys/resource.h>
# include <sys/stat.h>
# include <sys/syscall.h>
# include <sys/procfs.h>
# include <sys/lwp.h>
# include <sys/reg.h>
# define _CLASSIC_XOPEN_TYPES
# include <unistd.h>
# include <errno.h>
# include "private/solaris_threads.h"
# include <stdio.h>
#undef pthread_join
#undef pthread_create
pthread_cond_t GC_prom_join_cv; /* Broadcast when any thread terminates */
pthread_cond_t GC_create_cv; /* Signalled when a new undetached */
/* thread starts. */
extern GC_bool GC_multithreaded;
/* We use the allocation lock to protect thread-related data structures. */
/* We stop the world using /proc primitives. This makes some */
/* minimal assumptions about the threads implementation. */
/* We don't play by the rules, since the rules make this */
/* impossible (as of Solaris 2.3). Also note that as of */
/* Solaris 2.3 the various thread and lwp suspension */
/* primitives failed to stop threads by the time the request */
/* is completed. */
int GC_pthread_join(pthread_t wait_for, void **status)
{
return GC_thr_join((thread_t)wait_for, NULL, status);
}
int
GC_pthread_create(pthread_t *new_thread,
const pthread_attr_t *attr_in,
void * (*thread_execp)(void *), void *arg)
{
int result;
GC_thread t;
pthread_t my_new_thread;
pthread_attr_t attr;
word my_flags = 0;
int flag;
void * stack = 0;
size_t stack_size = 0;
int n;
struct sched_param schedparam;
(void)pthread_attr_init(&attr);
if (attr_in != 0) {
(void)pthread_attr_getstacksize(attr_in, &stack_size);
(void)pthread_attr_getstackaddr(attr_in, &stack);
}
LOCK();
if (!GC_is_initialized) {
GC_init_inner();
}
GC_multithreaded++;
if (stack == 0) {
if (stack_size == 0)
stack_size = 1048576;
/* ^-- 1 MB (this was GC_min_stack_sz, but that
* violates the pthread_create documentation which
* says the default value if none is supplied is
* 1MB) */
else
stack_size += thr_min_stack();
stack = (void *)GC_stack_alloc(&stack_size);
if (stack == 0) {
GC_multithreaded--;
UNLOCK();
errno = ENOMEM;
return -1;
}
} else {
my_flags |= CLIENT_OWNS_STACK;
}
(void)pthread_attr_setstacksize(&attr, stack_size);
(void)pthread_attr_setstackaddr(&attr, stack);
if (attr_in != 0) {
(void)pthread_attr_getscope(attr_in, &n);
(void)pthread_attr_setscope(&attr, n);
(void)pthread_attr_getschedparam(attr_in, &schedparam);
(void)pthread_attr_setschedparam(&attr, &schedparam);
(void)pthread_attr_getschedpolicy(attr_in, &n);
(void)pthread_attr_setschedpolicy(&attr, n);
(void)pthread_attr_getinheritsched(attr_in, &n);
(void)pthread_attr_setinheritsched(&attr, n);
(void)pthread_attr_getdetachstate(attr_in, &flag);
if (flag == PTHREAD_CREATE_DETACHED) {
my_flags |= DETACHED;
}
(void)pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
}
/*
* thr_create can call malloc(), which if redirected will
* attempt to acquire the allocation lock.
* Unlock here to prevent deadlock.
*/
#if 0
#ifdef I386
UNLOCK();
#endif
#endif
result =
pthread_create(&my_new_thread, &attr, thread_execp, arg);
#if 0
#ifdef I386
LOCK();
#endif
#endif
if (result == 0) {
t = GC_new_thread(my_new_thread);
t -> flags = my_flags;
if (!(my_flags & DETACHED)) cond_init(&(t->join_cv), USYNC_THREAD, 0);
t -> stack = stack;
t -> stack_size = stack_size;
if (new_thread != 0) *new_thread = my_new_thread;
pthread_cond_signal(&GC_create_cv);
} else {
if (!(my_flags & CLIENT_OWNS_STACK)) {
GC_stack_free(stack, stack_size);
}
GC_multithreaded--;
}
UNLOCK();
pthread_attr_destroy(&attr);
return(result);
}
# else
#ifndef LINT
int GC_no_sunOS_pthreads;
#endif
# endif /* GC_SOLARIS_PTHREADS */

View File

@@ -1,959 +0,0 @@
/*
* Copyright (c) 1994 by Xerox Corporation. All rights reserved.
*
* THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
* OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
*
* Permission is hereby granted to use or copy this program
* for any purpose, provided the above notices are retained on all copies.
* Permission to modify the code and to distribute modified code is granted,
* provided the above notices are retained, and a notice that the code was
* modified is included with the above copyright notice.
*/
/*
* Support code for Solaris threads. Provides functionality we wish Sun
* had provided. Relies on some information we probably shouldn't rely on.
*/
/* Boehm, September 14, 1994 4:44 pm PDT */
# include "private/gc_priv.h"
# if defined(GC_SOLARIS_THREADS) || defined(GC_SOLARIS_PTHREADS)
# include "private/solaris_threads.h"
# include <thread.h>
# include <synch.h>
# include <signal.h>
# include <fcntl.h>
# include <sys/types.h>
# include <sys/mman.h>
# include <sys/time.h>
# include <sys/resource.h>
# include <sys/stat.h>
# include <sys/syscall.h>
# include <sys/procfs.h>
# include <sys/lwp.h>
# include <sys/reg.h>
# define _CLASSIC_XOPEN_TYPES
# include <unistd.h>
# include <errno.h>
#ifdef HANDLE_FORK
--> Not yet supported. Try porting the code from linux_threads.c.
#endif
/*
* This is the default size of the LWP arrays. If there are more LWPs
* than this when a stop-the-world GC happens, set_max_lwps will be
* called to cope.
* This must be higher than the number of LWPs at startup time.
* The threads library creates a thread early on, so the min. is 3
*/
# define DEFAULT_MAX_LWPS 4
#undef thr_join
#undef thr_create
#undef thr_suspend
#undef thr_continue
cond_t GC_prom_join_cv; /* Broadcast when any thread terminates */
cond_t GC_create_cv; /* Signalled when a new undetached */
/* thread starts. */
#ifdef MMAP_STACKS
static int GC_zfd;
#endif /* MMAP_STACKS */
/* We use the allocation lock to protect thread-related data structures. */
/* We stop the world using /proc primitives. This makes some */
/* minimal assumptions about the threads implementation. */
/* We don't play by the rules, since the rules make this */
/* impossible (as of Solaris 2.3). Also note that as of */
/* Solaris 2.3 the various thread and lwp suspension */
/* primitives failed to stop threads by the time the request */
/* is completed. */
static sigset_t old_mask;
/* Sleep for n milliseconds, n < 1000 */
void GC_msec_sleep(int n)
{
struct timespec ts;
ts.tv_sec = 0;
ts.tv_nsec = 1000000*n;
if (syscall(SYS_nanosleep, &ts, 0) < 0) {
ABORT("nanosleep failed");
}
}
/* Turn off preemption; gross but effective. */
/* Caller has allocation lock. */
/* Actually this is not needed under Solaris 2.3 and */
/* 2.4, but hopefully that'll change. */
void preempt_off()
{
sigset_t set;
(void)sigfillset(&set);
sigdelset(&set, SIGABRT);
syscall(SYS_sigprocmask, SIG_SETMASK, &set, &old_mask);
}
void preempt_on()
{
syscall(SYS_sigprocmask, SIG_SETMASK, &old_mask, NULL);
}
int GC_main_proc_fd = -1;
struct lwp_cache_entry {
lwpid_t lc_id;
int lc_descr; /* /proc file descriptor. */
} GC_lwp_cache_default[DEFAULT_MAX_LWPS];
static int max_lwps = DEFAULT_MAX_LWPS;
static struct lwp_cache_entry *GC_lwp_cache = GC_lwp_cache_default;
static prgregset_t GC_lwp_registers_default[DEFAULT_MAX_LWPS];
static prgregset_t *GC_lwp_registers = GC_lwp_registers_default;
/* Return a file descriptor for the /proc entry corresponding */
/* to the given lwp. The file descriptor may be stale if the */
/* lwp exited and a new one was forked. */
static int open_lwp(lwpid_t id)
{
int result;
static int next_victim = 0;
register int i;
for (i = 0; i < max_lwps; i++) {
if (GC_lwp_cache[i].lc_id == id) return(GC_lwp_cache[i].lc_descr);
}
result = syscall(SYS_ioctl, GC_main_proc_fd, PIOCOPENLWP, &id);
/*
* If PIOCOPENLWP fails, try closing fds in the cache until it succeeds.
*/
if (result < 0 && errno == EMFILE) {
for (i = 0; i < max_lwps; i++) {
if (GC_lwp_cache[i].lc_id != 0) {
(void)syscall(SYS_close, GC_lwp_cache[i].lc_descr);
result = syscall(SYS_ioctl, GC_main_proc_fd, PIOCOPENLWP, &id);
if (result >= 0 || (result < 0 && errno != EMFILE))
break;
}
}
}
if (result < 0) {
if (errno == EMFILE) {
ABORT("Too many open files");
}
return(-1) /* exited? */;
}
if (GC_lwp_cache[next_victim].lc_id != 0)
(void)syscall(SYS_close, GC_lwp_cache[next_victim].lc_descr);
GC_lwp_cache[next_victim].lc_id = id;
GC_lwp_cache[next_victim].lc_descr = result;
if (++next_victim >= max_lwps)
next_victim = 0;
return(result);
}
static void uncache_lwp(lwpid_t id)
{
register int i;
for (i = 0; i < max_lwps; i++) {
if (GC_lwp_cache[i].lc_id == id) {
(void)syscall(SYS_close, GC_lwp_cache[id].lc_descr);
GC_lwp_cache[i].lc_id = 0;
break;
}
}
}
/* Sequence of current lwp ids */
static lwpid_t GC_current_ids_default[DEFAULT_MAX_LWPS + 1];
static lwpid_t *GC_current_ids = GC_current_ids_default;
/* Temporary used below (can be big if large number of LWPs) */
static lwpid_t last_ids_default[DEFAULT_MAX_LWPS + 1];
static lwpid_t *last_ids = last_ids_default;
#define ROUNDUP(n) WORDS_TO_BYTES(ROUNDED_UP_WORDS(n))
static void set_max_lwps(GC_word n)
{
char *mem;
char *oldmem;
int required_bytes = ROUNDUP(n * sizeof(struct lwp_cache_entry))
+ ROUNDUP(n * sizeof(prgregset_t))
+ ROUNDUP((n + 1) * sizeof(lwpid_t))
+ ROUNDUP((n + 1) * sizeof(lwpid_t));
GC_expand_hp_inner(divHBLKSZ((word)required_bytes));
oldmem = mem = GC_scratch_alloc(required_bytes);
if (0 == mem) ABORT("No space for lwp data structures");
/*
* We can either flush the old lwp cache or copy it over. Do the latter.
*/
memcpy(mem, GC_lwp_cache, max_lwps * sizeof(struct lwp_cache_entry));
GC_lwp_cache = (struct lwp_cache_entry*)mem;
mem += ROUNDUP(n * sizeof(struct lwp_cache_entry));
BZERO(GC_lwp_registers, max_lwps * sizeof(GC_lwp_registers[0]));
GC_lwp_registers = (prgregset_t *)mem;
mem += ROUNDUP(n * sizeof(prgregset_t));
GC_current_ids = (lwpid_t *)mem;
mem += ROUNDUP((n + 1) * sizeof(lwpid_t));
last_ids = (lwpid_t *)mem;
mem += ROUNDUP((n + 1)* sizeof(lwpid_t));
if (mem > oldmem + required_bytes)
ABORT("set_max_lwps buffer overflow");
max_lwps = n;
}
/* Stop all lwps in process. Assumes preemption is off. */
/* Caller has allocation lock (and any other locks he may */
/* need). */
static void stop_all_lwps()
{
int lwp_fd;
char buf[30];
prstatus_t status;
register int i;
GC_bool changed;
lwpid_t me = _lwp_self();
if (GC_main_proc_fd == -1) {
sprintf(buf, "/proc/%d", getpid());
GC_main_proc_fd = syscall(SYS_open, buf, O_RDONLY);
if (GC_main_proc_fd < 0) {
if (errno == EMFILE)
ABORT("/proc open failed: too many open files");
GC_printf1("/proc open failed: errno %d", errno);
abort();
}
}
BZERO(GC_lwp_registers, sizeof (prgregset_t) * max_lwps);
for (i = 0; i < max_lwps; i++)
last_ids[i] = 0;
for (;;) {
if (syscall(SYS_ioctl, GC_main_proc_fd, PIOCSTATUS, &status) < 0)
ABORT("Main PIOCSTATUS failed");
if (status.pr_nlwp < 1)
ABORT("Invalid number of lwps returned by PIOCSTATUS");
if (status.pr_nlwp >= max_lwps) {
set_max_lwps(status.pr_nlwp*2 + 10);
/*
* The data in the old GC_current_ids and
* GC_lwp_registers has been trashed. Cleaning out last_ids
* will make sure every LWP gets re-examined.
*/
for (i = 0; i < max_lwps; i++)
last_ids[i] = 0;
continue;
}
if (syscall(SYS_ioctl, GC_main_proc_fd, PIOCLWPIDS, GC_current_ids) < 0)
ABORT("PIOCLWPIDS failed");
changed = FALSE;
for (i = 0; GC_current_ids[i] != 0 && i < max_lwps; i++) {
if (GC_current_ids[i] != last_ids[i]) {
changed = TRUE;
if (GC_current_ids[i] != me) {
/* PIOCSTOP doesn't work without a writable */
/* descriptor. And that makes the process */
/* undebuggable. */
if (_lwp_suspend(GC_current_ids[i]) < 0) {
/* Could happen if the lwp exited */
uncache_lwp(GC_current_ids[i]);
GC_current_ids[i] = me; /* ignore */
}
}
}
}
/*
* In the unlikely event something does a fork between the
* PIOCSTATUS and the PIOCLWPIDS.
*/
if (i >= max_lwps)
continue;
/* All lwps in GC_current_ids != me have been suspended. Note */
/* that _lwp_suspend is idempotent. */
for (i = 0; GC_current_ids[i] != 0; i++) {
if (GC_current_ids[i] != last_ids[i]) {
if (GC_current_ids[i] != me) {
lwp_fd = open_lwp(GC_current_ids[i]);
if (lwp_fd == -1)
{
GC_current_ids[i] = me;
continue;
}
/* LWP should be stopped. Empirically it sometimes */
/* isn't, and more frequently the PR_STOPPED flag */
/* is not set. Wait for PR_STOPPED. */
if (syscall(SYS_ioctl, lwp_fd,
PIOCSTATUS, &status) < 0) {
/* Possible if the descriptor was stale, or */
/* we encountered the 2.3 _lwp_suspend bug. */
uncache_lwp(GC_current_ids[i]);
GC_current_ids[i] = me; /* handle next time. */
} else {
while (!(status.pr_flags & PR_STOPPED)) {
GC_msec_sleep(1);
if (syscall(SYS_ioctl, lwp_fd,
PIOCSTATUS, &status) < 0) {
ABORT("Repeated PIOCSTATUS failed");
}
if (status.pr_flags & PR_STOPPED) break;
GC_msec_sleep(20);
if (syscall(SYS_ioctl, lwp_fd,
PIOCSTATUS, &status) < 0) {
ABORT("Repeated PIOCSTATUS failed");
}
}
if (status.pr_who != GC_current_ids[i]) {
/* can happen if thread was on death row */
uncache_lwp(GC_current_ids[i]);
GC_current_ids[i] = me; /* handle next time. */
continue;
}
/* Save registers where collector can */
/* find them. */
BCOPY(status.pr_reg, GC_lwp_registers[i],
sizeof (prgregset_t));
}
}
}
}
if (!changed) break;
for (i = 0; i < max_lwps; i++) last_ids[i] = GC_current_ids[i];
}
}
/* Restart all lwps in process. Assumes preemption is off. */
static void restart_all_lwps()
{
int lwp_fd;
register int i;
GC_bool changed;
lwpid_t me = _lwp_self();
# define PARANOID
for (i = 0; GC_current_ids[i] != 0; i++) {
# ifdef PARANOID
if (GC_current_ids[i] != me) {
int lwp_fd = open_lwp(GC_current_ids[i]);
prstatus_t status;
if (lwp_fd < 0) ABORT("open_lwp failed");
if (syscall(SYS_ioctl, lwp_fd,
PIOCSTATUS, &status) < 0) {
ABORT("PIOCSTATUS failed in restart_all_lwps");
}
if (memcmp(status.pr_reg, GC_lwp_registers[i],
sizeof (prgregset_t)) != 0) {
int j;
for(j = 0; j < NPRGREG; j++)
{
GC_printf3("%i: %x -> %x\n", j,
GC_lwp_registers[i][j],
status.pr_reg[j]);
}
ABORT("Register contents changed");
}
if (!status.pr_flags & PR_STOPPED) {
ABORT("lwp no longer stopped");
}
#ifdef SPARC
{
gwindows_t windows;
if (syscall(SYS_ioctl, lwp_fd,
PIOCGWIN, &windows) < 0) {
ABORT("PIOCSTATUS failed in restart_all_lwps");
}
if (windows.wbcnt > 0) ABORT("unsaved register windows");
}
#endif
}
# endif /* PARANOID */
if (GC_current_ids[i] == me) continue;
if (_lwp_continue(GC_current_ids[i]) < 0) {
ABORT("Failed to restart lwp");
}
}
if (i >= max_lwps) ABORT("Too many lwps");
}
GC_bool GC_multithreaded = 0;
void GC_stop_world()
{
preempt_off();
if (GC_multithreaded)
stop_all_lwps();
}
void GC_start_world()
{
if (GC_multithreaded)
restart_all_lwps();
preempt_on();
}
void GC_thr_init(void);
GC_bool GC_thr_initialized = FALSE;
size_t GC_min_stack_sz;
/*
* stack_head is stored at the top of free stacks
*/
struct stack_head {
struct stack_head *next;
ptr_t base;
thread_t owner;
};
# define N_FREE_LISTS 25
struct stack_head *GC_stack_free_lists[N_FREE_LISTS] = { 0 };
/* GC_stack_free_lists[i] is free list for stacks of */
/* size GC_min_stack_sz*2**i. */
/* Free lists are linked through stack_head stored */ /* at top of stack. */
/* Return a stack of size at least *stack_size. *stack_size is */
/* replaced by the actual stack size. */
/* Caller holds allocation lock. */
ptr_t GC_stack_alloc(size_t * stack_size)
{
register size_t requested_sz = *stack_size;
register size_t search_sz = GC_min_stack_sz;
register int index = 0; /* = log2(search_sz/GC_min_stack_sz) */
register ptr_t base;
register struct stack_head *result;
while (search_sz < requested_sz) {
search_sz *= 2;
index++;
}
if ((result = GC_stack_free_lists[index]) == 0
&& (result = GC_stack_free_lists[index+1]) != 0) {
/* Try next size up. */
search_sz *= 2; index++;
}
if (result != 0) {
base = GC_stack_free_lists[index]->base;
GC_stack_free_lists[index] = GC_stack_free_lists[index]->next;
} else {
#ifdef MMAP_STACKS
base = (ptr_t)mmap(0, search_sz + GC_page_size,
PROT_READ|PROT_WRITE, MAP_PRIVATE |MAP_NORESERVE,
GC_zfd, 0);
if (base == (ptr_t)-1)
{
*stack_size = 0;
return NULL;
}
mprotect(base, GC_page_size, PROT_NONE);
/* Should this use divHBLKSZ(search_sz + GC_page_size) ? -- cf */
GC_is_fresh((struct hblk *)base, divHBLKSZ(search_sz));
base += GC_page_size;
#else
base = (ptr_t) GC_scratch_alloc(search_sz + 2*GC_page_size);
if (base == NULL)
{
*stack_size = 0;
return NULL;
}
base = (ptr_t)(((word)base + GC_page_size) & ~(GC_page_size - 1));
/* Protect hottest page to detect overflow. */
# ifdef SOLARIS23_MPROTECT_BUG_FIXED
mprotect(base, GC_page_size, PROT_NONE);
# endif
GC_is_fresh((struct hblk *)base, divHBLKSZ(search_sz));
base += GC_page_size;
#endif
}
*stack_size = search_sz;
return(base);
}
/* Caller holds allocationlock. */
void GC_stack_free(ptr_t stack, size_t size)
{
register int index = 0;
register size_t search_sz = GC_min_stack_sz;
register struct stack_head *head;
#ifdef MMAP_STACKS
/* Zero pointers */
mmap(stack, size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_NORESERVE|MAP_FIXED,
GC_zfd, 0);
#endif
while (search_sz < size) {
search_sz *= 2;
index++;
}
if (search_sz != size) ABORT("Bad stack size");
head = (struct stack_head *)(stack + search_sz - sizeof(struct stack_head));
head->next = GC_stack_free_lists[index];
head->base = stack;
GC_stack_free_lists[index] = head;
}
void GC_my_stack_limits();
/* Notify virtual dirty bit implementation that known empty parts of */
/* stacks do not contain useful data. */
/* Caller holds allocation lock. */
void GC_old_stacks_are_fresh()
{
/* No point in doing this for MMAP stacks - and pointers are zero'd out */
/* by the mmap in GC_stack_free */
#ifndef MMAP_STACKS
register int i;
register struct stack_head *s;
register ptr_t p;
register size_t sz;
register struct hblk * h;
int dummy;
for (i = 0, sz= GC_min_stack_sz; i < N_FREE_LISTS;
i++, sz *= 2) {
for (s = GC_stack_free_lists[i]; s != 0; s = s->next) {
p = s->base;
h = (struct hblk *)(((word)p + HBLKSIZE-1) & ~(HBLKSIZE-1));
if ((ptr_t)h == p) {
GC_is_fresh((struct hblk *)p, divHBLKSZ(sz));
} else {
GC_is_fresh((struct hblk *)p, divHBLKSZ(sz) - 1);
BZERO(p, (ptr_t)h - p);
}
}
}
#endif /* MMAP_STACKS */
GC_my_stack_limits();
}
/* The set of all known threads. We intercept thread creation and */
/* joins. We never actually create detached threads. We allocate all */
/* new thread stacks ourselves. These allow us to maintain this */
/* data structure. */
# define THREAD_TABLE_SZ 128 /* Must be power of 2 */
volatile GC_thread GC_threads[THREAD_TABLE_SZ];
void GC_push_thread_structures GC_PROTO((void))
{
GC_push_all((ptr_t)(GC_threads), (ptr_t)(GC_threads)+sizeof(GC_threads));
}
/* Add a thread to GC_threads. We assume it wasn't already there. */
/* Caller holds allocation lock. */
GC_thread GC_new_thread(thread_t id)
{
int hv = ((word)id) % THREAD_TABLE_SZ;
GC_thread result;
static struct GC_Thread_Rep first_thread;
static GC_bool first_thread_used = FALSE;
if (!first_thread_used) {
result = &first_thread;
first_thread_used = TRUE;
/* Dont acquire allocation lock, since we may already hold it. */
} else {
result = (struct GC_Thread_Rep *)
GC_INTERNAL_MALLOC(sizeof(struct GC_Thread_Rep), NORMAL);
}
if (result == 0) return(0);
result -> id = id;
result -> next = GC_threads[hv];
GC_threads[hv] = result;
/* result -> finished = 0; */
(void) cond_init(&(result->join_cv), USYNC_THREAD, 0);
return(result);
}
/* Delete a thread from GC_threads. We assume it is there. */
/* (The code intentionally traps if it wasn't.) */
/* Caller holds allocation lock. */
void GC_delete_thread(thread_t id)
{
int hv = ((word)id) % THREAD_TABLE_SZ;
register GC_thread p = GC_threads[hv];
register GC_thread prev = 0;
while (p -> id != id) {
prev = p;
p = p -> next;
}
if (prev == 0) {
GC_threads[hv] = p -> next;
} else {
prev -> next = p -> next;
}
}
/* Return the GC_thread correpsonding to a given thread_t. */
/* Returns 0 if it's not there. */
/* Caller holds allocation lock. */
GC_thread GC_lookup_thread(thread_t id)
{
int hv = ((word)id) % THREAD_TABLE_SZ;
register GC_thread p = GC_threads[hv];
while (p != 0 && p -> id != id) p = p -> next;
return(p);
}
/* Solaris 2/Intel uses an initial stack size limit slightly bigger than the
SPARC default of 8 MB. Account for this to warn only if the user has
raised the limit beyond the default.
This is identical to DFLSSIZ defined in <sys/vm_machparam.h>. This file
is installed in /usr/platform/`uname -m`/include, which is not in the
default include directory list, so copy the definition here. */
#ifdef I386
# define MAX_ORIG_STACK_SIZE (8 * 1024 * 1024 + ((USRSTACK) & 0x3FFFFF))
#else
# define MAX_ORIG_STACK_SIZE (8 * 1024 * 1024)
#endif
word GC_get_orig_stack_size() {
struct rlimit rl;
static int warned = 0;
int result;
if (getrlimit(RLIMIT_STACK, &rl) != 0) ABORT("getrlimit failed");
result = (word)rl.rlim_cur & ~(HBLKSIZE-1);
if (result > MAX_ORIG_STACK_SIZE) {
if (!warned) {
WARN("Large stack limit(%ld): only scanning 8 MB\n", result);
warned = 1;
}
result = MAX_ORIG_STACK_SIZE;
}
return result;
}
/* Notify dirty bit implementation of unused parts of my stack. */
/* Caller holds allocation lock. */
void GC_my_stack_limits()
{
int dummy;
register ptr_t hottest = (ptr_t)((word)(&dummy) & ~(HBLKSIZE-1));
register GC_thread me = GC_lookup_thread(thr_self());
register size_t stack_size = me -> stack_size;
register ptr_t stack;
if (stack_size == 0) {
/* original thread */
/* Empirically, what should be the stack page with lowest */
/* address is actually inaccessible. */
stack_size = GC_get_orig_stack_size() - GC_page_size;
stack = GC_stackbottom - stack_size + GC_page_size;
} else {
stack = me -> stack;
}
if (stack > hottest || stack + stack_size < hottest) {
ABORT("sp out of bounds");
}
GC_is_fresh((struct hblk *)stack, divHBLKSZ(hottest - stack));
}
/* We hold allocation lock. Should do exactly the right thing if the */
/* world is stopped. Should not fail if it isn't. */
void GC_push_all_stacks()
{
register int i;
register GC_thread p;
register ptr_t sp = GC_approx_sp();
register ptr_t bottom, top;
struct rlimit rl;
# define PUSH(bottom,top) \
if (GC_dirty_maintained) { \
GC_push_selected((bottom), (top), GC_page_was_ever_dirty, \
GC_push_all_stack); \
} else { \
GC_push_all_stack((bottom), (top)); \
}
GC_push_all_stack((ptr_t)GC_lwp_registers,
(ptr_t)GC_lwp_registers
+ max_lwps * sizeof(GC_lwp_registers[0]));
for (i = 0; i < THREAD_TABLE_SZ; i++) {
for (p = GC_threads[i]; p != 0; p = p -> next) {
if (p -> stack_size != 0) {
bottom = p -> stack;
top = p -> stack + p -> stack_size;
} else {
/* The original stack. */
bottom = GC_stackbottom - GC_get_orig_stack_size() + GC_page_size;
top = GC_stackbottom;
}
if ((word)sp > (word)bottom && (word)sp < (word)top) bottom = sp;
PUSH(bottom, top);
}
}
}
int GC_is_thread_stack(ptr_t addr)
{
register int i;
register GC_thread p;
register ptr_t bottom, top;
for (i = 0; i < THREAD_TABLE_SZ; i++) {
for (p = GC_threads[i]; p != 0; p = p -> next) {
if (p -> stack_size != 0) {
if (p -> stack <= addr &&
addr < p -> stack + p -> stack_size)
return 1;
}
}
}
return 0;
}
/* The only thread that ever really performs a thr_join. */
void * GC_thr_daemon(void * dummy)
{
void *status;
thread_t departed;
register GC_thread t;
register int i;
register int result;
for(;;) {
start:
result = thr_join((thread_t)0, &departed, &status);
LOCK();
if (result != 0) {
/* No more threads; wait for create. */
for (i = 0; i < THREAD_TABLE_SZ; i++) {
for (t = GC_threads[i]; t != 0; t = t -> next) {
if (!(t -> flags & (DETACHED | FINISHED))) {
UNLOCK();
goto start; /* Thread started just before we */
/* acquired the lock. */
}
}
}
cond_wait(&GC_create_cv, &GC_allocate_ml);
UNLOCK();
} else {
t = GC_lookup_thread(departed);
GC_multithreaded--;
if (!(t -> flags & CLIENT_OWNS_STACK)) {
GC_stack_free(t -> stack, t -> stack_size);
}
if (t -> flags & DETACHED) {
GC_delete_thread(departed);
} else {
t -> status = status;
t -> flags |= FINISHED;
cond_signal(&(t -> join_cv));
cond_broadcast(&GC_prom_join_cv);
}
UNLOCK();
}
}
}
/* We hold the allocation lock, or caller ensures that 2 instances */
/* cannot be invoked concurrently. */
void GC_thr_init(void)
{
GC_thread t;
thread_t tid;
int ret;
if (GC_thr_initialized)
return;
GC_thr_initialized = TRUE;
GC_min_stack_sz = ((thr_min_stack() + 32*1024 + HBLKSIZE-1)
& ~(HBLKSIZE - 1));
#ifdef MMAP_STACKS
GC_zfd = open("/dev/zero", O_RDONLY);
if (GC_zfd == -1)
ABORT("Can't open /dev/zero");
#endif /* MMAP_STACKS */
cond_init(&GC_prom_join_cv, USYNC_THREAD, 0);
cond_init(&GC_create_cv, USYNC_THREAD, 0);
/* Add the initial thread, so we can stop it. */
t = GC_new_thread(thr_self());
t -> stack_size = 0;
t -> flags = DETACHED | CLIENT_OWNS_STACK;
ret = thr_create(0 /* stack */, 0 /* stack_size */, GC_thr_daemon,
0 /* arg */, THR_DETACHED | THR_DAEMON,
&tid /* thread_id */);
if (ret != 0) {
GC_err_printf1("Thr_create returned %ld\n", ret);
ABORT("Cant fork daemon");
}
thr_setprio(tid, 126);
}
/* We acquire the allocation lock to prevent races with */
/* stopping/starting world. */
/* This is no more correct than the underlying Solaris 2.X */
/* implementation. Under 2.3 THIS IS BROKEN. */
int GC_thr_suspend(thread_t target_thread)
{
GC_thread t;
int result;
LOCK();
result = thr_suspend(target_thread);
if (result == 0) {
t = GC_lookup_thread(target_thread);
if (t == 0) ABORT("thread unknown to GC");
t -> flags |= SUSPNDED;
}
UNLOCK();
return(result);
}
int GC_thr_continue(thread_t target_thread)
{
GC_thread t;
int result;
LOCK();
result = thr_continue(target_thread);
if (result == 0) {
t = GC_lookup_thread(target_thread);
if (t == 0) ABORT("thread unknown to GC");
t -> flags &= ~SUSPNDED;
}
UNLOCK();
return(result);
}
int GC_thr_join(thread_t wait_for, thread_t *departed, void **status)
{
register GC_thread t;
int result = 0;
LOCK();
if (wait_for == 0) {
register int i;
register GC_bool thread_exists;
for (;;) {
thread_exists = FALSE;
for (i = 0; i < THREAD_TABLE_SZ; i++) {
for (t = GC_threads[i]; t != 0; t = t -> next) {
if (!(t -> flags & DETACHED)) {
if (t -> flags & FINISHED) {
goto found;
}
thread_exists = TRUE;
}
}
}
if (!thread_exists) {
result = ESRCH;
goto out;
}
cond_wait(&GC_prom_join_cv, &GC_allocate_ml);
}
} else {
t = GC_lookup_thread(wait_for);
if (t == 0 || t -> flags & DETACHED) {
result = ESRCH;
goto out;
}
if (wait_for == thr_self()) {
result = EDEADLK;
goto out;
}
while (!(t -> flags & FINISHED)) {
cond_wait(&(t -> join_cv), &GC_allocate_ml);
}
}
found:
if (status) *status = t -> status;
if (departed) *departed = t -> id;
cond_destroy(&(t -> join_cv));
GC_delete_thread(t -> id);
out:
UNLOCK();
return(result);
}
int
GC_thr_create(void *stack_base, size_t stack_size,
void *(*start_routine)(void *), void *arg, long flags,
thread_t *new_thread)
{
int result;
GC_thread t;
thread_t my_new_thread;
word my_flags = 0;
void * stack = stack_base;
LOCK();
if (!GC_is_initialized) GC_init_inner();
GC_multithreaded++;
if (stack == 0) {
if (stack_size == 0) stack_size = 1024*1024;
stack = (void *)GC_stack_alloc(&stack_size);
if (stack == 0) {
GC_multithreaded--;
UNLOCK();
return(ENOMEM);
}
} else {
my_flags |= CLIENT_OWNS_STACK;
}
if (flags & THR_DETACHED) my_flags |= DETACHED;
if (flags & THR_SUSPENDED) my_flags |= SUSPNDED;
result = thr_create(stack, stack_size, start_routine,
arg, flags & ~THR_DETACHED, &my_new_thread);
if (result == 0) {
t = GC_new_thread(my_new_thread);
t -> flags = my_flags;
if (!(my_flags & DETACHED)) cond_init(&(t -> join_cv), USYNC_THREAD, 0);
t -> stack = stack;
t -> stack_size = stack_size;
if (new_thread != 0) *new_thread = my_new_thread;
cond_signal(&GC_create_cv);
} else {
GC_multithreaded--;
if (!(my_flags & CLIENT_OWNS_STACK)) {
GC_stack_free(stack, stack_size);
}
}
UNLOCK();
return(result);
}
# else /* !GC_SOLARIS_THREADS */
#ifndef LINT
int GC_no_sunOS_threads;
#endif
#endif

0
compile Normal file → Executable file
View File

View File

@@ -1,3 +1,38 @@
2008-02-01 Release Manager
* GCC 4.2.3 released.
2007-10-07 Release Manager
* GCC 4.2.2 released.
2007-07-19 Release Manager
* GCC 4.2.1 released.
2007-06-20 Mike Stump <mrs@apple.com>
* acx.m4 (NCN_STRICT_CHECK_TARGET_TOOLS): Fix incremental builds.
(ACX_HAVE_GCC_FOR_TARGET): Likewise.
2007-05-13 Release Manager
* GCC 4.2.0 released.
2007-02-07 Daniel Franke <franke.daniel@gmail.com>
Backport from mainline:
2007-01-31 Daniel Franke <franke.daniel@gmail.com>
PR libgomp/30546
* acx.m4 (ACX_PROG_CHECK_VER): Locate a program and check that its
version is acceptable.
2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
* tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking
if static linking doesn't even work.
2006-10-14 Geoffrey Keating <geoffk@apple.com>
* multi.m4: New file, from automake version 2 branch.

View File

@@ -183,6 +183,8 @@ if test -z "$ac_cv_prog_$1" ; then
else
$1="${ncn_target_tool_prefix}[$]2"
fi], [$1="$3"])
else
$1="$ac_cv_prog_$1"
fi
]) []dnl # NCN_STRICT_CHECK_TARGET_TOOLS
@@ -297,7 +299,7 @@ if test -z "$ac_cv_path_$1" ; then
elif test $build != $host && test $have_gcc_for_target = yes; then
$1=`$GCC_FOR_TARGET --print-prog-name=$2`
test [$]$1=$2 && $1=
ac_cv_path_$1=[$]$1
test -n "[$]$1" && ac_cv_path_$1=[$]$1
fi
fi
if test -z "$ac_cv_path_$1" ; then
@@ -489,3 +491,30 @@ else
AC_MSG_RESULT(pre-installed)
fi
fi])
dnl Locate a program and check that its version is acceptable.
dnl dnl ACX_PROG_CHECK_VER(var, name, version-switch,
dnl dnl version-extract-regexp, version-glob)
AC_DEFUN([ACX_CHECK_PROG_VER],[
AC_CHECK_PROG([$1], [$2], [$2])
if test -n "[$]$1"; then
# Found it, now check the version.
AC_CACHE_CHECK([for modern $2],
[gcc_cv_prog_$2_modern],
[ac_prog_version=`eval [$]$1 $3 2>&1 |
sed -n 's/^.*patsubst([[$4]],/,\/).*$/\1/p'`
[case $ac_prog_version in
'') gcc_cv_prog_$2_modern=no;;
$5) gcc_cv_prog_$2_modern=yes;;
*) gcc_cv_prog_$2_modern=no;;
esac]
if test $gcc_cv_prog_$2_modern = no; then
$1="${CONFIG_SHELL-/bin/sh} $ac_aux_dir/missing $2"
fi
])
else
gcc_cv_prog_$2_modern=no
fi
])

View File

@@ -3,4 +3,3 @@
# compiles by 3-5%.
BOOT_CFLAGS=-g -O2 -mdynamic-no-pic

View File

@@ -5,12 +5,14 @@ AC_DEFUN([GCC_CHECK_TLS], [
have_tls, [
AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }],
[dnl If the test case passed with dynamic linking, try again with
dnl static linking. This fails at least with some older Red Hat
dnl releases.
dnl static linking, but only if static linking is supported (not
dnl on Solaris 10). This fails with some older Red Hat releases.
save_LDFLAGS="$LDFLAGS"
LDFLAGS="-static $LDFLAGS"
AC_LINK_IFELSE([int main() { return 0; }],
AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }],
[have_tls=yes], [have_tls=no], [])
[have_tls=yes], [have_tls=no],[]),
[have_tls=yes])
LDFLAGS="$save_LDFLAGS"],
[have_tls=no],
[AC_COMPILE_IFELSE([__thread int foo;], [have_tls=yes], [have_tls=no])]

463
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -368,7 +368,7 @@ case "${target}" in
*-*-chorusos)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
powerpc-*-darwin*)
powerpc-*-darwin* | i[[3456789]]86-*-darwin*)
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
noconfigdirs="$noconfigdirs sim target-rda"
;;
@@ -507,7 +507,7 @@ case "${target}" in
noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
;;
bfin-*-*)
noconfigdirs="$noconfigdirs target-libgloss gdb"
noconfigdirs="$noconfigdirs gdb"
if test x${is_cross_compiler} != xno ; then
target_configdirs="${target_configdirs} target-bsp target-cygmon"
fi
@@ -1049,48 +1049,57 @@ ACX_PROG_GNAT
ACX_PROG_CMP_IGNORE_INITIAL
# Check for GMP and MPFR
gmplibs=
gmplibs="-lmpfr"
gmpinc=
have_gmp=yes
# Specify a location for mpfr
# check for this first so it ends up on the link line before gmp.
AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH Specify source directory for MPFR library])
AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH This option has been REMOVED],
AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed.
Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH]))
if test "x$with_mpfr_dir" != x; then
gmpinc="-I$with_mpfr_dir"
gmplibs="$with_mpfr_dir/libmpfr.a"
else
gmplibs="-lmpfr"
fi
AC_ARG_WITH(mpfr, [ --with-mpfr=PATH Specify directory for installed MPFR library])
AC_ARG_WITH(mpfr, [ --with-mpfr=PATH Specify prefix directory for installed MPFR package
Equivalent to --with-mpfr-include=PATH/include
plus --with-mpfr-lib=PATH/lib])
AC_ARG_WITH(mpfr_include, [ --with-mpfr-include=PATH
Specify directory for installed MPFR include files])
AC_ARG_WITH(mpfr_lib, [ --with-mpfr-lib=PATH Specify the directory for the installed MPFR library])
if test "x$with_mpfr" != x; then
gmplibs="-L$with_mpfr/lib $gmplibs"
gmpinc="-I$with_mpfr/include"
fi
# Specify a location for gmp
AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH Specify source directory for GMP library])
if test "x$with_gmp_dir" != x; then
gmpinc="$gmpinc -I$with_gmp_dir"
if test -f "$with_gmp_dir/.libs/libgmp.a"; then
gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a"
elif test -f "$with_gmp_dir/_libs/libgmp.a"; then
gmplibs="$gmplibs $with_gmp_dir/_libs/libgmp.a"
fi
# One of the later tests will catch the error if neither library is present.
else
gmplibs="$gmplibs -lgmp"
if test "x$with_mpfr_include" != x; then
gmpinc="-I$with_mpfr_include"
fi
if test "x$with_mpfr_lib" != x; then
gmplibs="-L$with_mpfr_lib $gmplibs"
fi
AC_ARG_WITH(gmp, [ --with-gmp=PATH Specify directory for installed GMP library])
# Specify a location for gmp
AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH This option has been REMOVED],
AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed.
Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH]))
gmplibs="$gmplibs -lgmp"
AC_ARG_WITH(gmp, [ --with-gmp=PATH Specify prefix directory for the installed GMP package
Equivalent to --with-gmp-include=PATH/include
plus --with-gmp-lib=PATH/lib])
AC_ARG_WITH(gmp_include, [ --with-gmp-include=PATH Specify directory for installed GMP include files])
AC_ARG_WITH(gmp_lib, [ --with-gmp-lib=PATH Specify the directory for the installed GMP library])
if test "x$with_gmp" != x; then
gmplibs="-L$with_gmp/lib $gmplibs"
gmpinc="-I$with_gmp/include $gmpinc"
fi
if test "x$with_gmp_include" != x; then
gmpinc="-I$with_gmp_include $gmpinc"
fi
if test "x$with_gmp_lib" != x; then
gmplibs="-L$with_gmp_lib $gmplibs"
fi
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $gmpinc"
@@ -1106,7 +1115,7 @@ if test x"$have_gmp" = xyes; then
AC_MSG_CHECKING([for correct version of mpfr.h])
AC_TRY_COMPILE([#include "gmp.h"
#include <mpfr.h>],[
#if MPFR_VERSION_MAJOR < 2 || (MPFR_VERSION_MAJOR == 2 && MPFR_VERSION_MINOR < 2)
#if MPFR_VERSION < MPFR_VERSION_NUM(2,2,1)
choke me
#endif
], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy version of MPFR detected])])
@@ -1258,7 +1267,7 @@ if test -d ${srcdir}/gcc; then
case ,${enable_languages},:${have_gmp}:${need_gmp} in
*,${language},*:no:yes)
# Specifically requested language; tell them.
AC_MSG_ERROR([GMP 4.1 and MPFR 2.2 or newer versions required by $language])
AC_MSG_ERROR([GMP 4.1 and MPFR 2.2.1 or newer versions required by $language])
;;
*:no:yes)
# Silently disable.
@@ -2237,7 +2246,7 @@ changequote(,)
# For an installed makeinfo, we require it to be from texinfo 4.4 or
# higher, else we use the "missing" dummy.
if ${MAKEINFO} --version \
| egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
| egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
:
else
MAKEINFO="$MISSING makeinfo"
@@ -2410,7 +2419,13 @@ if test "$GCC" = yes; then
# Pass -fkeep-inline-functions for stage 1 if the GCC version supports it.
CFLAGS="$CFLAGS -fkeep-inline-functions"
AC_MSG_CHECKING([whether -fkeep-inline-functions is supported])
AC_TRY_COMPILE(,,
AC_TRY_COMPILE([
#if (__GNUC__ < 3) \
|| (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \
|| (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1)))
#error http://gcc.gnu.org/PR29382
#endif
],,
[AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"],
[AC_MSG_RESULT([no])])
@@ -2419,11 +2434,26 @@ fi
AC_SUBST(stage1_cflags)
# Enable --enable-checking in stage1 of the compiler.
AC_ARG_ENABLE(stage1-checking,
[ --enable-stage1-checking[=all] choose additional checking for stage1
of the compiler.],
[stage1_checking=--enable-checking=${enable_stage1_checking}],
[if test "x$enable_checking" = xno; then
stage1_checking=--enable-checking
else
stage1_checking=--enable-checking${enable_checking+=}$enable_checking
fi])
AC_SUBST(stage1_checking)
# Enable -Werror in bootstrap stage2 and later.
# Change the default to "no" on release branches.
AC_ARG_ENABLE(werror,
[ --enable-werror enable -Werror in bootstrap stage2 and later], [],
[enable_werror=yes])
[if test -d gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
enable_werror=yes
else
enable_werror=no
fi])
case ${enable_werror} in
yes) stage2_werror_flag="--enable-werror-always" ;;
*) stage2_werror_flag="" ;;

View File

@@ -1,3 +1,42 @@
2008-04-01 Joseph Myers <joseph@codesourcery.com>
* texi2pod.pl: Update from trunk.
2008-02-01 Release Manager
* GCC 4.2.3 released.
2007-10-07 Release Manager
* GCC 4.2.2 released.
2007-07-19 Release Manager
* GCC 4.2.1 released.
2007-05-13 Release Manager
* GCC 4.2.0 released.
2007-05-13 Mark Mitchell <mark@codesourcery.com>
* gennews (files): Reference GCC 4.2 web pages.
2007-04-04 Eric Christopher <echristo@apple.com>
Backport from mainline:
2007-04-04 Zack Weinberg <zack@mrtock.ucsd.edu>
* texi2pod.pl: Correct handling of @itemize with no argument.
2007-02-16 Matthias Klose <doko@debian.org>
* texi2pod.pl: Handle @subsubsection, ignore @anchor.
2007-02-06 Richard Sandiford <richard@codesourcery.com>
* texi2pod.pl: Handle @multitable.
2006-09-27 Matthew Sachs <msachs@apple.com>
* compareSumTests3: POD syntax fix.

View File

@@ -22,7 +22,9 @@
# Boston, MA 02110-1301, USA.
website=http://gcc.gnu.org/
files="gcc-4.1/index.html gcc-4.1/changes.html
files="
gcc-4.2/index.html gcc-4.2/changes.html
gcc-4.1/index.html gcc-4.1/changes.html
gcc-4.0/index.html gcc-4.0/changes.html
gcc-3.4/index.html gcc-3.4/changes.html
gcc-3.3/index.html gcc-3.3/changes.html

View File

@@ -1,3 +1,19 @@
2008-02-01 Release Manager
* GCC 4.2.3 released.
2007-10-07 Release Manager
* GCC 4.2.2 released.
2007-07-19 Release Manager
* GCC 4.2.1 released.
2007-05-13 Release Manager
* GCC 4.2.0 released.
2005-07-14 Ben Elliston <bje@au.ibm.com>
* reg_test_template: Typo fix.

View File

@@ -1,3 +1,19 @@
2008-02-01 Release Manager
* GCC 4.2.3 released.
2007-10-07 Release Manager
* GCC 4.2.2 released.
2007-07-19 Release Manager
* GCC 4.2.1 released.
2007-05-13 Release Manager
* GCC 4.2.0 released.
2006-09-05 Geoffrey Keating <geoffk@apple.com>
* btest-gcc.sh: .bad_compare has moved to toplevel from gcc/.

View File

@@ -6,7 +6,7 @@
# GCC is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
# GCC is distributed in the hope that it will be useful,
@@ -162,6 +162,8 @@ while(<$inf>) {
} elsif ($ended =~ /^(?:itemize|enumerate|[fv]?table)$/) {
$_ = "\n=back\n";
$ic = pop @icstack;
} elsif ($ended eq "multitable") {
$_ = "\n=back\n";
} else {
die "unknown command \@end $ended at line $.\n";
}
@@ -216,9 +218,11 @@ while(<$inf>) {
s/\@\}/&rbrace;/g;
s/\@\@/&at;/g;
# Inside a verbatim block, handle @var specially.
# Inside a verbatim block, handle @var, @samp and @url specially.
if ($shift ne "") {
s/\@var\{([^\}]*)\}/<$1>/g;
s/\@samp\{([^\}]*)\}/"$1"/g;
s/\@url\{([^\}]*)\}/<$1>/g;
}
# POD doesn't interpret E<> inside a verbatim block.
@@ -248,10 +252,12 @@ while(<$inf>) {
next;
};
/^\@(?:section|unnumbered|unnumberedsec|center)\s+(.+)$/
/^\@(?:section|unnumbered|unnumberedsec|center|heading)\s+(.+)$/
and $_ = "\n=head2 $1\n";
/^\@subsection\s+(.+)$/
and $_ = "\n=head3 $1\n";
/^\@subsubsection\s+(.+)$/
and $_ = "\n=head4 $1\n";
# Block command handlers:
/^\@itemize(?:\s+(\@[a-z]+|\*|-))?/ and do {
@@ -260,7 +266,7 @@ while(<$inf>) {
if (defined $1) {
$ic = $1;
} else {
$ic = '@bullet';
$ic = '*';
}
$_ = "\n=over 4\n";
$endw = "itemize";
@@ -278,6 +284,12 @@ while(<$inf>) {
$endw = "enumerate";
};
/^\@multitable\s.*/ and do {
push @endwstack, $endw;
$endw = "multitable";
$_ = "\n=over 4\n";
};
/^\@([fv]?table)\s+(\@[a-z]+)/ and do {
push @endwstack, $endw;
push @icstack, $ic;
@@ -287,6 +299,7 @@ while(<$inf>) {
$ic =~ s/\@(?:code|kbd)/C/;
$ic =~ s/\@(?:dfn|var|emph|cite|i)/I/;
$ic =~ s/\@(?:file)/F/;
$ic =~ s/\@(?:asis)//;
$_ = "\n=over 4\n";
};
@@ -297,10 +310,30 @@ while(<$inf>) {
$_ = ""; # need a paragraph break
};
/^\@item\s+(.*\S)\s*$/ and $endw eq "multitable" and do {
@columns = ();
for $column (split (/\s*\@tab\s*/, $1)) {
# @strong{...} is used a @headitem work-alike
$column =~ s/^\@strong{(.*)}$/$1/;
push @columns, $column;
}
$_ = "\n=item ".join (" : ", @columns)."\n";
};
/^\@itemx?\s*(.+)?$/ and do {
if (defined $1) {
# Entity escapes prevent munging by the <> processing below.
if ($ic) {
if ($endw eq "enumerate") {
$_ = "\n=item $ic $1\n";
$ic =~ s/(\d+)/$1 + 1/eg;
} else {
# Entity escapes prevent munging by the <>
# processing below.
$_ = "\n=item $ic\&LT;$1\&GT;\n";
}
} else {
$_ = "\n=item $1\n";
}
} else {
$_ = "\n=item $ic\n";
$ic =~ y/A-Ya-y/B-Zb-z/;
@@ -356,7 +389,7 @@ sub postprocess
s/\@r\{([^\}]*)\}/R<$1>/g;
s/\@(?:dfn|var|emph|cite|i)\{([^\}]*)\}/I<$1>/g;
s/\@(?:code|kbd)\{([^\}]*)\}/C<$1>/g;
s/\@(?:gccoptlist|samp|strong|key|option|env|command|b)\{([^\}]*)\}/B<$1>/g;
s/\@(?:samp|strong|key|option|env|command|b)\{([^\}]*)\}/B<$1>/g;
s/\@sc\{([^\}]*)\}/\U$1/g;
s/\@file\{([^\}]*)\}/F<$1>/g;
s/\@w\{([^\}]*)\}/S<$1>/g;
@@ -382,6 +415,9 @@ sub postprocess
s/\@gol//g;
s/\@\*\s*\n?//g;
# Anchors are thrown away
s/\@anchor\{(?:[^\}]*)\}//g;
# @uref can take one, two, or three arguments, with different
# semantics each time. @url and @email are just like @uref with
# one argument, for our purposes.
@@ -389,6 +425,10 @@ sub postprocess
s/\@uref\{([^\},]*),([^\},]*)\}/$2 (C<$1>)/g;
s/\@uref\{([^\},]*),([^\},]*),([^\},]*)\}/$3/g;
# Handle gccoptlist here, so it can contain the above formatting
# commands.
s/\@gccoptlist\{([^\}]*)\}/B<$1>/g;
# Un-escape <> at this point.
s/&LT;/</g;
s/&GT;/>/g;

View File

@@ -1,3 +1,62 @@
2008-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
Andreas Tobler <a.tobler@schweiz.org>
* inclhack.def (solaris_math_10): New.
* tests/base/iso/math_c99.h: Update.
* fixincl.x: Regenerate.
2008-02-04 Ismail Dönmez <ismail@pardus.org.tr>
* inclhack.def: (bsd_stdio_attrs_conflict, freebsd_gcc3_breakage,
freebsd_gcc4_breakage, hpux11_abs, netbsd_extra_semicolon): Add
quotes around mach entries.
* fixincl.x: Regenerate with latest autogen (5.9.4), updating license
to GPLv3.
2008-02-01 Release Manager
* GCC 4.2.3 released.
2007-10-07 Release Manager
* GCC 4.2.2 released.
2007-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
PR target/32641
* inclhack.def (solaris_math_4, solaris_math_5, solaris_math_6,
solaris_math_7): Constify and make FP exception-safe.
* tests/base/iso/math_c99.h: Update.
* fixincl.x: Regenerate.
2007-07-19 Release Manager
* GCC 4.2.1 released.
2007-07-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
PR libgcj/28190
* inclhack.def (irix_stdint_c99): New fix.
* fixincl.x: Regenerate.
* tests/base/stdint.h: New test.
2007-05-13 Release Manager
* GCC 4.2.0 released.
2007-02-04 Mike Stump <mrs@apple.com>
* mkheaders.in: Allow optional isysroot parameter.
2006-11-02 Steve Ellcey <sje@cup.hp.com>
* inclhack.def (hpux11_extern_sendfile): New.
(hpux11_extern_sendpath): New.
* fixincl.x: Regenerate.
* tests/base/sys/socket.h: Update.
2006-10-10 Brooks Moses <bmoses@stanford.edu>
* Makefile.in: Added empty "pdf" target.

View File

@@ -2,11 +2,11 @@
*
* DO NOT EDIT THIS FILE (fixincl.x)
*
* It has been AutoGen-ed Saturday October 7, 2006 at 12:32:06 PM EDT
* It has been AutoGen-ed Thursday February 21, 2008 at 09:53:39 PM CET
* From the definitions inclhack.def
* and the template file fixincl
*/
/* DO NOT CVS-MERGE THIS FILE, EITHER Sat Oct 7 12:32:07 EDT 2006
/* DO NOT CVS-MERGE THIS FILE, EITHER Thu Feb 21 21:53:39 CET 2008
*
* You must regenerate it. Use the ./genfixes script.
*
@@ -15,29 +15,25 @@
* certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search.
*
* This file contains 201 fixup descriptions.
* This file contains 205 fixup descriptions.
*
* See README for more information.
*
* inclhack copyright (c) 1998, 1999, 2000, 2001
* The Free Software Foundation, Inc.
*
* inclhack is free software.
* inclhack is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License, as published by the Free Software
* Foundation; either version 2, or (at your option) any later version.
*
* inclhack is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* inclhack is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with inclhack. See the file "COPYING". If not,
* write to: The Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -1672,10 +1668,9 @@ static tTestDesc aBroken_CabsTests[] = {
/*
* Fix Command Arguments for Broken_Cabs
*/
static const char* apzBroken_CabsPatch[] = {
"format",
"",
"^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
static const char* apzBroken_CabsPatch[] = { "sed",
"-e", "s/^extern[ \t]*double[ \t]*cabs[ \t]*([^\\)]*);//",
"-e", "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*([^\\)]*);//",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -3035,6 +3030,84 @@ static const char* apzHpux_Spu_InfoPatch[] = {
#endif",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Hpux11_Extern_Sendfile fix
*/
tSCC zHpux11_Extern_SendfileName[] =
"hpux11_extern_sendfile";
/*
* File name selection pattern
*/
tSCC zHpux11_Extern_SendfileList[] =
"|sys/socket.h|";
/*
* Machine/OS name selection pattern
*/
tSCC* apzHpux11_Extern_SendfileMachs[] = {
"*-hp-hpux11.[12]*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zHpux11_Extern_SendfileSelect0[] =
"^[ \t]*extern sbsize_t sendfile.*\n\
.*, int\\)\\);\n";
#define HPUX11_EXTERN_SENDFILE_TEST_CT 1
static tTestDesc aHpux11_Extern_SendfileTests[] = {
{ TT_EGREP, zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Hpux11_Extern_Sendfile
*/
static const char* apzHpux11_Extern_SendfilePatch[] = {
"format",
"#ifndef _APP32_64BIT_OFF_T\n\
%0#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Hpux11_Extern_Sendpath fix
*/
tSCC zHpux11_Extern_SendpathName[] =
"hpux11_extern_sendpath";
/*
* File name selection pattern
*/
tSCC zHpux11_Extern_SendpathList[] =
"|sys/socket.h|";
/*
* Machine/OS name selection pattern
*/
tSCC* apzHpux11_Extern_SendpathMachs[] = {
"*-hp-hpux11.[12]*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zHpux11_Extern_SendpathSelect0[] =
"^[ \t]*extern sbsize_t sendpath.*\n\
.*, int\\)\\);\n";
#define HPUX11_EXTERN_SENDPATH_TEST_CT 1
static tTestDesc aHpux11_Extern_SendpathTests[] = {
{ TT_EGREP, zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Hpux11_Extern_Sendpath
*/
static const char* apzHpux11_Extern_SendpathPatch[] = {
"format",
"#ifndef _APP32_64BIT_OFF_T\n\
%0#endif\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Hpux_Extern_Errno fix
@@ -3624,6 +3697,45 @@ typedef int socklen_t;\n\
#endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Irix_Stdint_C99 fix
*/
tSCC zIrix_Stdint_C99Name[] =
"irix_stdint_c99";
/*
* File name selection pattern
*/
tSCC zIrix_Stdint_C99List[] =
"|stdint.h|";
/*
* Machine/OS name selection pattern
*/
tSCC* apzIrix_Stdint_C99Machs[] = {
"mips-sgi-irix6.5",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zIrix_Stdint_C99Select0[] =
"(#ifndef __c99\n\
)(#error This header file is to be used only for c99 mode compilations)";
#define IRIX_STDINT_C99_TEST_CT 1
static tTestDesc aIrix_Stdint_C99Tests[] = {
{ TT_EGREP, zIrix_Stdint_C99Select0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Irix_Stdint_C99
*/
static const char* apzIrix_Stdint_C99Patch[] = {
"format",
"#if 0\n\
%2",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Irix_Stdio_Va_List fix
@@ -5256,7 +5368,7 @@ static tTestDesc aSolaris_Math_4Tests[] = {
static const char* apzSolaris_Math_4Patch[] = {
"format",
"#define\tfpclassify(x) \\\n\
__extension__ ({ __typeof(x) __x_fp = (x); \\\n\
__extension__ ({ const __typeof(x) __x_fp = (x); \\\n\
\t\t isnan(__x_fp) \\\n\
\t\t ? FP_NAN \\\n\
\t\t : isinf(__x_fp) \\\n\
@@ -5309,8 +5421,12 @@ static tTestDesc aSolaris_Math_5Tests[] = {
static const char* apzSolaris_Math_5Patch[] = {
"format",
"#define\tisfinite(x) \\\n\
__extension__ ({ __typeof (x) __x_f = (x); \\\n\
\t\t __builtin_expect(!isnan(__x_f - __x_f), 1); })",
__extension__ ({ const __typeof (x) __x_f = (x); \\\n\
\t\t __builtin_expect(sizeof(__x_f) == sizeof(float) \\\n\
\t\t\t ? islessequal(__builtin_fabsf(__x_f),__FLT_MAX__) \\\n\
\t\t\t : sizeof(__x_f) == sizeof(long double) \\\n\
\t\t\t ? islessequal(__builtin_fabsl(__x_f),__LDBL_MAX__) \\\n\
\t\t\t : islessequal(__builtin_fabs(__x_f),__DBL_MAX__), 1); })",
"^#define[ \t]+isfinite\\(x\\)[ \t]+__builtin_isfinite\\(x\\)",
(char*)NULL };
@@ -5354,8 +5470,12 @@ static tTestDesc aSolaris_Math_6Tests[] = {
static const char* apzSolaris_Math_6Patch[] = {
"format",
"#define\tisinf(x) \\\n\
__extension__ ({ __typeof (x) __x_i = (x); \\\n\
\t\t __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })",
__extension__ ({ const __typeof (x) __x_i = (x); \\\n\
\t\t __builtin_expect(sizeof(__x_i) == sizeof(float) \\\n\
\t\t\t ? isgreater(__builtin_fabsf(__x_i),__FLT_MAX__) \\\n\
\t\t\t : sizeof(__x_i) == sizeof(long double) \\\n\
\t\t\t ? isgreater(__builtin_fabsl(__x_i),__LDBL_MAX__) \\\n\
\t\t\t : isgreater(__builtin_fabs(__x_i),__DBL_MAX__), 0); })",
"^#define[ \t]+isinf\\(x\\)[ \t]+__builtin_isinf\\(x\\)",
(char*)NULL };
@@ -5399,14 +5519,13 @@ static tTestDesc aSolaris_Math_7Tests[] = {
static const char* apzSolaris_Math_7Patch[] = {
"format",
"#define\tisnormal(x) \\\n\
__extension__ ({ __typeof(x) __x_n = (x); \\\n\
\t\t if (__x_n < 0.0) __x_n = -__x_n; \\\n\
__extension__ ({ const __typeof(x) __x_n = (x); \\\n\
\t\t __builtin_expect(isfinite(__x_n) \\\n\
\t\t\t\t && (sizeof(__x_n) == sizeof(float) \\\n\
\t\t\t\t\t ? __x_n >= __FLT_MIN__ \\\n\
\t\t\t\t\t ? isgreaterequal(__builtin_fabsf(__x_n),__FLT_MIN__) \\\n\
\t\t\t\t\t : sizeof(__x_n) == sizeof(long double) \\\n\
\t\t\t\t\t ? __x_n >= __LDBL_MIN__ \\\n\
\t\t\t\t\t : __x_n >= __DBL_MIN__), 1); })",
\t\t\t\t\t ? isgreaterequal(__builtin_fabsl(__x_n),__LDBL_MIN__) \\\n\
\t\t\t\t\t : isgreaterequal(__builtin_fabs(__x_n),__DBL_MIN__)), 1); })",
"^#define[ \t]+isnormal\\(x\\)[ \t]+__builtin_isnormal\\(x\\)",
(char*)NULL };
@@ -5500,6 +5619,52 @@ static const char* apzSolaris_Math_9Patch[] = {
"^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Solaris_Math_10 fix
*/
tSCC zSolaris_Math_10Name[] =
"solaris_math_10";
/*
* File name selection pattern
*/
tSCC zSolaris_Math_10List[] =
"|iso/math_c99.h|";
/*
* Machine/OS name selection pattern
*/
#define apzSolaris_Math_10Machs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
tSCC zSolaris_Math_10Select0[] =
"@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
#define SOLARIS_MATH_10_TEST_CT 1
static tTestDesc aSolaris_Math_10Tests[] = {
{ TT_EGREP, zSolaris_Math_10Select0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Solaris_Math_10
*/
static const char* apzSolaris_Math_10Patch[] = {
"format",
"#define isinf(x)\t__extension__ ( {\t\t\t\t\\\n\
\t\t\tconst __typeof(x) __x_i = (x);\t\t\t\\\n\
\t\t\t__builtin_expect(sizeof(__x_i) == sizeof(float)\t\\\n\
\t\t\t? isgreater(__builtin_fabsf(__x_i),__FLT_MAX__) \\\n\
\t\t\t: sizeof(__x_i) == sizeof(long double)\t\t\\\n\
\t\t\t? isgreater(__builtin_fabsl(__x_i),__LDBL_MAX__)\\\n\
\t\t\t: isgreater(__builtin_fabs(__x_i),__DBL_MAX__), 0);\\\n\
\t})",
"^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\
[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\
[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Solaris_Mutex_Init_1 fix
@@ -8183,9 +8348,9 @@ static const char* apzX11_SprintfPatch[] = {
*
* List of all fixes
*/
#define REGEX_COUNT 243
#define REGEX_COUNT 247
#define MACH_LIST_SIZE_LIMIT 261
#define FIX_COUNT 201
#define FIX_COUNT 205
/*
* Enumerate the fixes
@@ -8262,6 +8427,8 @@ typedef enum {
HPUX_LONG_DOUBLE_FIXIDX,
HPUX_SYSTIME_FIXIDX,
HPUX_SPU_INFO_FIXIDX,
HPUX11_EXTERN_SENDFILE_FIXIDX,
HPUX11_EXTERN_SENDPATH_FIXIDX,
HPUX_EXTERN_ERRNO_FIXIDX,
HPUX_PTHREAD_INITIALIZERS_FIXIDX,
HUGE_VAL_HEX_FIXIDX,
@@ -8277,6 +8444,7 @@ typedef enum {
IRIX_ASM_APOSTROPHE_FIXIDX,
IRIX_LIMITS_CONST_FIXIDX,
IRIX_SOCKLEN_T_FIXIDX,
IRIX_STDINT_C99_FIXIDX,
IRIX_STDIO_VA_LIST_FIXIDX,
IRIX_WCSFTIME_FIXIDX,
ISC_FMOD_FIXIDX,
@@ -8324,6 +8492,7 @@ typedef enum {
SOLARIS_MATH_7_FIXIDX,
SOLARIS_MATH_8_FIXIDX,
SOLARIS_MATH_9_FIXIDX,
SOLARIS_MATH_10_FIXIDX,
SOLARIS_MUTEX_INIT_1_FIXIDX,
SOLARIS_MUTEX_INIT_2_FIXIDX,
SOLARIS_RWLOCK_INIT_1_FIXIDX,
@@ -8577,7 +8746,7 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
{ zBroken_CabsName, zBroken_CabsList,
apzBroken_CabsMachs,
BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
BROKEN_CABS_TEST_CT, FD_MACH_ONLY,
aBroken_CabsTests, apzBroken_CabsPatch, 0 },
{ zBroken_NanName, zBroken_NanList,
@@ -8750,6 +8919,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aHpux_Spu_InfoTests, apzHpux_Spu_InfoPatch, 0 },
{ zHpux11_Extern_SendfileName, zHpux11_Extern_SendfileList,
apzHpux11_Extern_SendfileMachs,
HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aHpux11_Extern_SendfileTests, apzHpux11_Extern_SendfilePatch, 0 },
{ zHpux11_Extern_SendpathName, zHpux11_Extern_SendpathList,
apzHpux11_Extern_SendpathMachs,
HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aHpux11_Extern_SendpathTests, apzHpux11_Extern_SendpathPatch, 0 },
{ zHpux_Extern_ErrnoName, zHpux_Extern_ErrnoList,
apzHpux_Extern_ErrnoMachs,
HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -8825,6 +9004,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aIrix_Socklen_TTests, apzIrix_Socklen_TPatch, 0 },
{ zIrix_Stdint_C99Name, zIrix_Stdint_C99List,
apzIrix_Stdint_C99Machs,
IRIX_STDINT_C99_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aIrix_Stdint_C99Tests, apzIrix_Stdint_C99Patch, 0 },
{ zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList,
apzIrix_Stdio_Va_ListMachs,
IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -9060,6 +9244,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aSolaris_Math_9Tests, apzSolaris_Math_9Patch, 0 },
{ zSolaris_Math_10Name, zSolaris_Math_10List,
apzSolaris_Math_10Machs,
SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aSolaris_Math_10Tests, apzSolaris_Math_10Patch, 0 },
{ zSolaris_Mutex_Init_1Name, zSolaris_Mutex_Init_1List,
apzSolaris_Mutex_Init_1Machs,
SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,

View File

@@ -1032,9 +1032,8 @@ fix = {
files = "architecture/i386/math.h";
select = "^extern[ \t]+double[ \t]+cabs";
c_fix = format;
c_fix_arg = "";
c_fix_arg = "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);";
sed = "s/^extern[ \t]*double[ \t]*cabs[ \t]*\([^\\\)]*\);//";
sed = "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*\([^\\\)]*\);//";
test_text = "#ifdef __STDC__\n"
"extern double cabs(struct dbl_hypot);\n"
@@ -1044,7 +1043,8 @@ fix = {
"extern double cabs ( _Complex z );\n"
"extern double cabs(); /* This is a comment\n"
" and it ends here. */\n"
"extern double cabs(struct __cabs_s);";
"extern double cabs(struct __cabs_s);\n"
"extern long double cabsl( struct __cabsl_s );";
};
/*
@@ -1070,8 +1070,8 @@ fix = {
*/
fix = {
hackname = bsd_stdio_attrs_conflict;
mach = *-*-*bsd*;
mach = *-*-*darwin*;
mach = "*-*-*bsd*";
mach = "*-*-*darwin*";
files = stdio.h;
select = "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
c_fix = format;
@@ -1262,7 +1262,7 @@ fix = {
*/
fix = {
hackname = freebsd_gcc3_breakage;
mach = *-*-freebsd*;
mach = "*-*-freebsd*";
files = sys/cdefs.h;
select = '^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$';
bypass = '__GNUC__[ \t]*([>=]=[ \t]*[3-9]|>[ \t]*2)';
@@ -1279,7 +1279,7 @@ fix = {
*/
fix = {
hackname = freebsd_gcc4_breakage;
mach = *-*-freebsd*;
mach = "*-*-freebsd*";
files = sys/cdefs.h;
select = '^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \|\| __GNUC__ == 3$';
c_fix = format;
@@ -1554,7 +1554,7 @@ fix = {
*/
fix = {
hackname = hpux11_abs;
mach = ia64-hp-hpux11*;
mach = "ia64-hp-hpux11*";
files = stdlib.h;
select = "ifndef _MATH_INCLUDED";
c_fix = format;
@@ -1779,6 +1779,26 @@ fix = {
test_text = "extern union mpinfou spu_info[];";
};
fix = {
hackname = hpux11_extern_sendfile;
mach = "*-hp-hpux11.[12]*";
files = sys/socket.h;
select = "^[ \t]*extern sbsize_t sendfile.*\n.*, int\\)\\);\n";
c_fix = format;
c_fix_arg = "#ifndef _APP32_64BIT_OFF_T\n%0#endif\n";
test_text = " extern sbsize_t sendfile __((int, int, off_t, bsize_t,\n const struct iovec *, int));\n";
};
fix = {
hackname = hpux11_extern_sendpath;
mach = "*-hp-hpux11.[12]*";
files = sys/socket.h;
select = "^[ \t]*extern sbsize_t sendpath.*\n.*, int\\)\\);\n";
c_fix = format;
c_fix_arg = "#ifndef _APP32_64BIT_OFF_T\n%0#endif\n";
test_text = " extern sbsize_t sendpath __((int, int, off_t, bsize_t,\n const struct iovec *, int));\n";
};
fix = {
hackname = hpux_extern_errno;
mach = "*-hp-hpux10.*";
@@ -2075,6 +2095,24 @@ fix = {
test_text = "#define _SOCKLEN_T\ntypedef u_int32_t socklen_t;";
};
/*
* IRIX 6.5 <stdint.h> only works with ISO C99 and errors out
* otherwise.
*/
fix = {
hackname = irix_stdint_c99;
files = stdint.h;
select = "(#ifndef __c99\n)(#error This header file is to be used only for c99 mode compilations)";
mach = "mips-sgi-irix6.5";
c_fix = format;
c_fix_arg = "#if 0\n"
"%2";
test_text =
"#ifndef __c99\n#error This header file is to be used only for c99 mode compilations\n#else";
};
/*
* IRIX 5.x's stdio.h and IRIX 6.5's internal/stdio_core.h declare
* some functions that take a va_list as
@@ -2450,7 +2488,7 @@ fix = {
*/
fix = {
hackname = netbsd_extra_semicolon;
mach = *-*-netbsd*;
mach = "*-*-netbsd*";
files = sys/cdefs.h;
select = "#define[ \t]*__END_DECLS[ \t]*};";
@@ -2932,7 +2970,7 @@ fix = {
files = iso/math_c99.h;
c_fix = format;
c_fix_arg = "#define\tfpclassify(x) \\\n"
" __extension__ ({ __typeof(x) __x_fp = (x); \\\n"
" __extension__ ({ const __typeof(x) __x_fp = (x); \\\n"
"\t\t isnan(__x_fp) \\\n"
"\t\t ? FP_NAN \\\n"
"\t\t : isinf(__x_fp) \\\n"
@@ -2956,8 +2994,12 @@ fix = {
files = iso/math_c99.h;
c_fix = format;
c_fix_arg = "#define\tisfinite(x) \\\n"
" __extension__ ({ __typeof (x) __x_f = (x); \\\n"
"\t\t __builtin_expect(!isnan(__x_f - __x_f), 1); })";
" __extension__ ({ const __typeof (x) __x_f = (x); \\\n"
"\t\t __builtin_expect(sizeof(__x_f) == sizeof(float) \\\n"
"\t\t\t ? islessequal(__builtin_fabsf(__x_f),__FLT_MAX__) \\\n"
"\t\t\t : sizeof(__x_f) == sizeof(long double) \\\n"
"\t\t\t ? islessequal(__builtin_fabsl(__x_f),__LDBL_MAX__) \\\n"
"\t\t\t : islessequal(__builtin_fabs(__x_f),__DBL_MAX__), 1); })";
c_fix_arg = "^#define[ \t]+isfinite\\(x\\)[ \t]+__builtin_isfinite\\(x\\)";
test_text =
'#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n"
@@ -2972,8 +3014,12 @@ fix = {
files = iso/math_c99.h;
c_fix = format;
c_fix_arg = "#define\tisinf(x) \\\n"
" __extension__ ({ __typeof (x) __x_i = (x); \\\n"
"\t\t __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })";
" __extension__ ({ const __typeof (x) __x_i = (x); \\\n"
"\t\t __builtin_expect(sizeof(__x_i) == sizeof(float) \\\n"
"\t\t\t ? isgreater(__builtin_fabsf(__x_i),__FLT_MAX__) \\\n"
"\t\t\t : sizeof(__x_i) == sizeof(long double) \\\n"
"\t\t\t ? isgreater(__builtin_fabsl(__x_i),__LDBL_MAX__) \\\n"
"\t\t\t : isgreater(__builtin_fabs(__x_i),__DBL_MAX__), 0); })";
c_fix_arg = "^#define[ \t]+isinf\\(x\\)[ \t]+__builtin_isinf\\(x\\)";
test_text =
'#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n"
@@ -2988,14 +3034,13 @@ fix = {
files = iso/math_c99.h;
c_fix = format;
c_fix_arg = "#define\tisnormal(x) \\\n"
" __extension__ ({ __typeof(x) __x_n = (x); \\\n"
"\t\t if (__x_n < 0.0) __x_n = -__x_n; \\\n"
" __extension__ ({ const __typeof(x) __x_n = (x); \\\n"
"\t\t __builtin_expect(isfinite(__x_n) \\\n"
"\t\t\t\t && (sizeof(__x_n) == sizeof(float) \\\n"
"\t\t\t\t\t ? __x_n >= __FLT_MIN__ \\\n"
"\t\t\t\t\t ? isgreaterequal(__builtin_fabsf(__x_n),__FLT_MIN__) \\\n"
"\t\t\t\t\t : sizeof(__x_n) == sizeof(long double) \\\n"
"\t\t\t\t\t ? __x_n >= __LDBL_MIN__ \\\n"
"\t\t\t\t\t : __x_n >= __DBL_MIN__), 1); })";
"\t\t\t\t\t ? isgreaterequal(__builtin_fabsl(__x_n),__LDBL_MIN__) \\\n"
"\t\t\t\t\t : isgreaterequal(__builtin_fabs(__x_n),__DBL_MIN__)), 1); })";
c_fix_arg = "^#define[ \t]+isnormal\\(x\\)[ \t]+__builtin_isnormal\\(x\\)";
test_text =
'#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n"
@@ -3044,6 +3089,36 @@ fix = {
"#undef isunordered\n"
"#define isunordered(x, y) ((x) __builtin_isunordered(y))";
};
/*
* On Solaris 11, if you do isinf(NaN) you'll get a floating point
* exception. Provide an alternative using GCC's builtin macros.
*/
fix = {
hackname = solaris_math_10;
select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
files = iso/math_c99.h;
c_fix = format;
c_fix_arg = "#define isinf(x)\t__extension__ ( {\t\t\t\t\\\n"
"\t\t\tconst __typeof(x) __x_i = (x);\t\t\t\\\n"
"\t\t\t__builtin_expect(sizeof(__x_i) == sizeof(float)\t\\\n"
"\t\t\t? isgreater(__builtin_fabsf(__x_i),__FLT_MAX__) \\\n"
"\t\t\t: sizeof(__x_i) == sizeof(long double)\t\t\\\n"
"\t\t\t? isgreater(__builtin_fabsl(__x_i),__LDBL_MAX__)\\\n"
"\t\t\t: isgreater(__builtin_fabs(__x_i),__DBL_MAX__), 0);\\\n"
"\t})";
c_fix_arg = "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n"
"[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n"
"[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n"
"[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)";
test_text =
'#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI"'"\n"
"#undef isinf\n"
"#define isinf(x) __extension__( \\\\\n"
" { __typeof(x) __x_i = (x); \\\\\n"
" __x_i == (__typeof(__x_i)) INFINITY || \\\\\n"
" __x_i == (__typeof(__x_i)) (-INFINITY); })";
};
/*
* Sun Solaris 2.5.1, 2.6 defines PTHREAD_{MUTEX|COND}_INITIALIZER

View File

@@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (C) 2002 Free Software Foundation, Inc.
# Copyright (C) 2002, 2007 Free Software Foundation, Inc.
#This file is part of GCC.
@@ -32,7 +32,7 @@ done
export VERBOSE
if [ x$1 = x--help ] ; then
echo "Usage: mkheaders [options] [prefix]"
echo "Usage: mkheaders [options] [prefix [isysroot]]"
echo "Options:"
echo " -v Print more output (may be repeated for even more output)"
echo " --help This help"
@@ -42,7 +42,7 @@ fi
if [ x$1 = x--version ] ; then
echo "mkheaders (GCC) version $version"
echo "Copyright 2002 Free Software Foundation, Inc."
echo "Copyright 2002, 2007 Free Software Foundation, Inc."
echo "This program is free software; you may redistribute it under the"
echo "terms of the GNU General Public License. This program has"
echo "absolutely no warranty."
@@ -52,9 +52,19 @@ fi
# Common prefix for installation directories.
if [ x$1 != x ] ; then
prefix=$1
shift
else
prefix=@prefix@
fi
# Allow for alternate isysroot in which to find headers
if [ x$1 != x ] ; then
isysroot=$1
shift
else
isysroot=
fi
# Directory in which to put host dependent programs and libraries
exec_prefix=@exec_prefix@
# Directory in which to put the directories used by the compiler.
@@ -78,7 +88,7 @@ if [ x${STMP_FIXINC} != x ] ; then
TARGET_MACHINE="${target}" target_canonical="${target}" \
MACRO_LIST="${itoolsdatadir}/macro_list" \
@SHELL@ ./fixinc.sh ${incdir} \
${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS}
${isysroot}${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS}
rm -f ${incdir}/syslimits.h
if [ -f ${incdir}/limits.h ]; then
mv ${incdir}/limits.h ${incdir}/syslimits.h
@@ -92,5 +102,5 @@ cp ${itoolsdatadir}/include/* ${incdir}
if [ x${STMP_FIXPROTO} != x ] ; then
mkinstalldirs="@SHELL@ ${itoolsdir}/mkinstalldirs"
export FIXPROTO_DEFINES mkinstalldirs
@SHELL@ fixproto ${incdir} ${incdir} ${SYSTEM_HEADER_DIR} || exit 1
@SHELL@ fixproto ${incdir} ${incdir} ${isysroot}${SYSTEM_HEADER_DIR} || exit 1
fi

View File

@@ -38,7 +38,7 @@
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef fpclassify
#define fpclassify(x) \
__extension__ ({ __typeof(x) __x_fp = (x); \
__extension__ ({ const __typeof(x) __x_fp = (x); \
isnan(__x_fp) \
? FP_NAN \
: isinf(__x_fp) \
@@ -55,8 +55,12 @@
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef isfinite
#define isfinite(x) \
__extension__ ({ __typeof (x) __x_f = (x); \
__builtin_expect(!isnan(__x_f - __x_f), 1); })
__extension__ ({ const __typeof (x) __x_f = (x); \
__builtin_expect(sizeof(__x_f) == sizeof(float) \
? islessequal(__builtin_fabsf(__x_f),__FLT_MAX__) \
: sizeof(__x_f) == sizeof(long double) \
? islessequal(__builtin_fabsl(__x_f),__LDBL_MAX__) \
: islessequal(__builtin_fabs(__x_f),__DBL_MAX__), 1); })
#endif /* SOLARIS_MATH_5_CHECK */
@@ -64,8 +68,12 @@
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef isinf
#define isinf(x) \
__extension__ ({ __typeof (x) __x_i = (x); \
__builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })
__extension__ ({ const __typeof (x) __x_i = (x); \
__builtin_expect(sizeof(__x_i) == sizeof(float) \
? isgreater(__builtin_fabsf(__x_i),__FLT_MAX__) \
: sizeof(__x_i) == sizeof(long double) \
? isgreater(__builtin_fabsl(__x_i),__LDBL_MAX__) \
: isgreater(__builtin_fabs(__x_i),__DBL_MAX__), 0); })
#endif /* SOLARIS_MATH_6_CHECK */
@@ -73,14 +81,13 @@
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef isnormal
#define isnormal(x) \
__extension__ ({ __typeof(x) __x_n = (x); \
if (__x_n < 0.0) __x_n = -__x_n; \
__extension__ ({ const __typeof(x) __x_n = (x); \
__builtin_expect(isfinite(__x_n) \
&& (sizeof(__x_n) == sizeof(float) \
? __x_n >= __FLT_MIN__ \
? isgreaterequal(__builtin_fabsf(__x_n),__FLT_MIN__) \
: sizeof(__x_n) == sizeof(long double) \
? __x_n >= __LDBL_MIN__ \
: __x_n >= __DBL_MIN__), 1); })
? isgreaterequal(__builtin_fabsl(__x_n),__LDBL_MIN__) \
: isgreaterequal(__builtin_fabs(__x_n),__DBL_MIN__)), 1); })
#endif /* SOLARIS_MATH_7_CHECK */
@@ -110,3 +117,17 @@
#undef isunordered
#define isunordered(x, y) __builtin_isunordered(x, y)
#endif /* SOLARIS_MATH_9_CHECK */
#if defined( SOLARIS_MATH_10_CHECK )
#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI"
#undef isinf
#define isinf(x) __extension__ ( { \
const __typeof(x) __x_i = (x); \
__builtin_expect(sizeof(__x_i) == sizeof(float) \
? isgreater(__builtin_fabsf(__x_i),__FLT_MAX__) \
: sizeof(__x_i) == sizeof(long double) \
? isgreater(__builtin_fabsl(__x_i),__LDBL_MAX__)\
: isgreater(__builtin_fabs(__x_i),__DBL_MAX__), 0);\
})
#endif /* SOLARIS_MATH_10_CHECK */

View File

@@ -34,6 +34,7 @@ struct exception;
/* This is a comment
and it ends here. */
#endif /* BROKEN_CABS_CHECK */

View File

@@ -0,0 +1,16 @@
/* DO NOT EDIT THIS FILE.
It has been auto-edited by fixincludes from:
"fixinc/tests/inc/stdint.h"
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
#if defined( IRIX_STDINT_C99_CHECK )
#if 0
#error This header file is to be used only for c99 mode compilations
#else
#endif /* IRIX_STDINT_C99_CHECK */

View File

@@ -9,6 +9,24 @@
#if defined( HPUX11_EXTERN_SENDFILE_CHECK )
#ifndef _APP32_64BIT_OFF_T
extern sbsize_t sendfile __((int, int, off_t, bsize_t,
const struct iovec *, int));
#endif
#endif /* HPUX11_EXTERN_SENDFILE_CHECK */
#if defined( HPUX11_EXTERN_SENDPATH_CHECK )
#ifndef _APP32_64BIT_OFF_T
extern sbsize_t sendpath __((int, int, off_t, bsize_t,
const struct iovec *, int));
#endif
#endif /* HPUX11_EXTERN_SENDPATH_CHECK */
#if defined( IRIX_SOCKLEN_T_CHECK )
#define _SOCKLEN_T
#if _NO_XOPEN4 && _NO_XOPEN5

View File

@@ -1 +1 @@
4.2.0
4.2.4

674
gcc/COPYING3 Normal file
View File

@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

165
gcc/COPYING3.LIB Normal file
View File

@@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

File diff suppressed because it is too large Load Diff

16726
gcc/ChangeLog-2006 Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
20061021
20080512

View File

@@ -1 +1 @@
experimental
prerelease

View File

@@ -2,14 +2,14 @@
# Run 'configure' to generate Makefile from Makefile.in
# Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
# 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
# 2008 Free Software Foundation, Inc.
#This file is part of GCC.
#GCC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#the Free Software Foundation; either version 3, or (at your option)
#any later version.
#GCC is distributed in the hope that it will be useful,
@@ -18,9 +18,8 @@
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GCC; see the file COPYING. If not, write to
#the Free Software Foundation, 51 Franklin Street, Fifth Floor,
#Boston MA 02110-1301, USA.
#along with GCC; see the file COPYING3. If not see
#<http://www.gnu.org/licenses/>.
# The targets for external use include:
# all, doc, proto, install, install-cross, install-cross-rest,
@@ -155,7 +154,7 @@ TCFLAGS =
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
STAGE1_CFLAGS = -g @stage1_cflags@
STAGE1_CHECKING = -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING
STAGE1_CHECKING_CFLAGS = -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING
BOOT_CFLAGS = -g -O2
# Flags to determine code coverage. When coverage is disabled, this will
@@ -276,6 +275,10 @@ POD2MAN = pod2man --center="GNU" --release="gcc-$(version)"
# do not correctly set the timestamp due to buggy versions of `utime'
# in the kernel. So, we use `echo' instead.
STAMP = echo timestamp >
# If necessary (e.g., when using the MSYS shell on Microsoft Windows)
# translate the shell's notion of absolute pathnames to the native
# spelling.
build_file_translate = @build_file_translate@
# Make sure the $(MAKE) variable is defined.
@SET_MAKE@
@@ -404,7 +407,9 @@ CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
# Purge it of unneccessary internal relative paths
# to directories that might not exist yet.
# The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta.
SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`
# Use single quotes here to avoid nested double- and backquotes, this
# macro is also used in a double-quoted context.
SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`
# Control whether to run fixproto and fixincludes.
STMP_FIXPROTO = @STMP_FIXPROTO@
@@ -1837,7 +1842,7 @@ stor-layout.o : stor-layout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
tree-ssa-structalias.o: tree-ssa-structalias.c tree-ssa-structalias.h \
$(SYSTEM_H) $(CONFIG_H) $(GGC_H) $(TREE_H) $(TREE_FLOW_H) \
$(TM_H) coretypes.h $(CGRAPH_H) tree-pass.h $(TIMEVAR_H) \
gt-tree-ssa-structalias.h $(PARAMS_H)
gt-tree-ssa-structalias.h $(PARAMS_H) pointer-set.h
tree-ssa.o : tree-ssa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
$(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) output.h $(DIAGNOSTIC_H) \
toplev.h $(FUNCTION_H) $(TIMEVAR_H) $(TM_H) coretypes.h \
@@ -1927,7 +1932,7 @@ tree-vn.o : tree-vn.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) \
tree-vrp.o : tree-vrp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
$(TREE_FLOW_H) tree-pass.h $(TREE_DUMP_H) $(DIAGNOSTIC_H) $(GGC_H) \
$(BASIC_BLOCK_H) tree-ssa-propagate.h $(FLAGS_H) $(TREE_DUMP_H) \
$(CFGLOOP_H) $(SCEV_H) tree-chrec.h $(TIMEVAR_H)
$(CFGLOOP_H) $(SCEV_H) tree-chrec.h $(TIMEVAR_H) toplev.h intl.h
tree-cfg.o : tree-cfg.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
$(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) $(FLAGS_H) output.h \
$(DIAGNOSTIC_H) $(FUNCTION_H) $(TIMEVAR_H) $(TM_H) coretypes.h \
@@ -1936,7 +1941,7 @@ tree-cfg.o : tree-cfg.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
tree-ssa-propagate.h
tree-cfgcleanup.o : tree-cfgcleanup.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
$(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) $(FLAGS_H) output.h \
$(DIAGNOSTIC_H) errors.h $(FUNCTION_H) $(TIMEVAR_H) $(TM_H) coretypes.h \
$(DIAGNOSTIC_H) toplev.h $(FUNCTION_H) $(TIMEVAR_H) $(TM_H) coretypes.h \
$(TREE_DUMP_H) except.h langhooks.h $(CFGLOOP_H) tree-pass.h \
$(CFGLAYOUT_H) $(BASIC_BLOCK_H) hard-reg-set.h $(HASHTAB_H) toplev.h \
tree-ssa-propagate.h
@@ -2035,7 +2040,7 @@ tree-ssa-alias.o : tree-ssa-alias.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
$(FUNCTION_H) $(TIMEVAR_H) convert.h $(TM_H) coretypes.h langhooks.h \
$(TREE_DUMP_H) tree-pass.h $(PARAMS_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) \
hard-reg-set.h $(TREE_GIMPLE_H) vec.h tree-ssa-structalias.h \
$(IPA_TYPE_ESCAPE_H) vecprim.h
$(IPA_TYPE_ESCAPE_H) vecprim.h pointer-set.h
tree-ssa-reassoc.o : tree-ssa-reassoc.c $(TREE_FLOW_H) $(CONFIG_H) \
$(SYSTEM_H) $(TREE_H) $(GGC_H) $(DIAGNOSTIC_H) errors.h $(TIMEVAR_H) \
$(TM_H) coretypes.h $(TREE_DUMP_H) tree-pass.h $(FLAGS_H) tree-iterator.h\
@@ -2128,7 +2133,7 @@ tree-pretty-print.o : tree-pretty-print.c $(CONFIG_H) $(SYSTEM_H) \
$(TM_H) coretypes.h tree-iterator.h tree-chrec.h langhooks.h tree-pass.h
fold-const.o : fold-const.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(FLAGS_H) $(REAL_H) toplev.h $(HASHTAB_H) $(EXPR_H) $(RTL_H) \
$(GGC_H) $(TM_P_H) langhooks.h $(MD5_H)
$(GGC_H) $(TM_P_H) langhooks.h $(MD5_H) intl.h
diagnostic.o : diagnostic.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) version.h $(TM_P_H) $(FLAGS_H) input.h toplev.h intl.h \
$(DIAGNOSTIC_H) langhooks.h $(LANGHOOKS_DEF_H) diagnostic.def opts.h
@@ -2140,7 +2145,8 @@ opts-common.o : opts-common.c opts.h $(CONFIG_H) $(SYSTEM_H) \
coretypes.h intl.h
targhooks.o : targhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
$(EXPR_H) $(TM_H) $(RTL_H) $(TM_P_H) $(FUNCTION_H) output.h toplev.h \
$(MACHMODE_H) $(TARGET_DEF_H) $(TARGET_H) $(GGC_H) gt-targhooks.h
$(MACHMODE_H) $(TARGET_DEF_H) $(TARGET_H) $(GGC_H) gt-targhooks.h \
$(OPTABS_H)
toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
version.h $(RTL_H) $(FUNCTION_H) $(FLAGS_H) xcoffout.h input.h \
@@ -2366,7 +2372,7 @@ tree-ssa-ccp.o : tree-ssa-ccp.c $(TREE_FLOW_H) $(CONFIG_H) \
$(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h \
$(DIAGNOSTIC_H) $(FUNCTION_H) $(TIMEVAR_H) $(TM_H) coretypes.h \
$(TREE_DUMP_H) $(BASIC_BLOCK_H) tree-pass.h langhooks.h \
tree-ssa-propagate.h $(FLAGS_H) $(TARGET_H)
tree-ssa-propagate.h $(FLAGS_H) $(TARGET_H) toplev.h
tree-sra.o : tree-sra.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) \
$(TM_P_H) $(TREE_FLOW_H) $(DIAGNOSTIC_H) $(TREE_INLINE_H) \
$(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_GIMPLE_H) \
@@ -3370,7 +3376,7 @@ TEXI_CPP_FILES = cpp.texi fdl.texi cppenv.texi cppopts.texi \
TEXI_GCC_FILES = gcc.texi gcc-common.texi gcc-vers.texi frontends.texi \
standards.texi invoke.texi extend.texi md.texi objc.texi \
gcov.texi trouble.texi bugreport.texi service.texi \
contribute.texi compat.texi funding.texi gnu.texi gpl.texi \
contribute.texi compat.texi funding.texi gnu.texi gpl_v3.texi \
fdl.texi contrib.texi cppenv.texi cppopts.texi \
implement-c.texi
@@ -3379,11 +3385,12 @@ TEXI_GCCINT_FILES = gccint.texi gcc-common.texi gcc-vers.texi \
portability.texi interface.texi passes.texi c-tree.texi \
rtl.texi md.texi tm.texi hostconfig.texi fragments.texi \
configfiles.texi collect2.texi headerdirs.texi funding.texi \
gnu.texi gpl.texi fdl.texi contrib.texi languages.texi \
gnu.texi gpl_v3.texi fdl.texi contrib.texi languages.texi \
sourcebuild.texi gty.texi libgcc.texi cfg.texi tree-ssa.texi \
loop.texi
TEXI_GCCINSTALL_FILES = install.texi install-old.texi fdl.texi
TEXI_GCCINSTALL_FILES = install.texi install-old.texi fdl.texi \
gcc-common.texi gcc-vers.texi
TEXI_CPPINT_FILES = cppinternals.texi gcc-common.texi gcc-vers.texi
@@ -3394,7 +3401,7 @@ gcc-vers.texi: $(BASEVER) $(DEVPHASE)
then echo "@set DEVELOPMENT"; \
else echo "@clear DEVELOPMENT"; \
fi) > $@T
echo "@set srcdir $(srcdir)" >> $@T
$(build_file_translate) echo @set srcdir $(abs_srcdir) >> $@T
mv -f $@T $@
@@ -3521,6 +3528,9 @@ gfdl.pod: fdl.texi
fsf-funding.pod: funding.texi
$(STAMP) $@
-$(TEXI2POD) $< > $@
gpl.pod: gpl_v3.texi
$(STAMP) $@
-$(TEXI2POD) $< > $@
#
# clean-target removes all files made by compilation.
@@ -3729,9 +3739,9 @@ install-common: native $(EXTRA_PARTS) lang.install-common installdirs
install-driver: installdirs xgcc$(exeext)
-rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
-$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
-rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)
-rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext)
-( cd $(DESTDIR)$(bindir) && \
$(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version) )
$(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) )
-if [ -f gcc-cross$(exeext) ] ; then \
if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
@@ -4195,7 +4205,7 @@ STAGEFEEDBACK_FLAGS_TO_PASS = \
# The stage1 compiler is always built with checking enabled.
stage1_build:
$(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)" \
CFLAGS="$(STAGE1_CFLAGS) $(STAGE1_CHECKING)" \
CFLAGS="$(STAGE1_CFLAGS) $(STAGE1_CHECKING_CFLAGS)" \
MAKEINFO="$(MAKEINFO)" MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \
COVERAGE_FLAGS= OBJS-onestep="$(OBJS)"
$(STAMP) stage1_build

View File

@@ -1,3 +1,98 @@
2008-02-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR documentation/15479
* gnat_ugn.texi: In non-code, avoid space before colon.
(Regular Expressions in gnatfind and gnatxref): Fix indentation.
(Examples of gnatxref Usage): Use @command{vi} instead of
@file{vi}.
(Character Set Control): Do not use @code for UTF-8.
(Validity Checking): Fix typo "NaNs" instead of "NaN's". Do not
use @code for IEEE.
* gnat_rm.texi (Aggregates with static bounds): Fix typo in code
sample.
* gnat_rm.texi, gnat_ugn.texi: Fix typos. Bump copyright years.
2008-02-01 Release Manager
* GCC 4.2.3 released.
2007-12-01 Kostik Belousov <kostikbel@ukr.net>
PR ada/33722
* env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
and its argument must not be free()ed.
2007-10-07 Release Manager
* GCC 4.2.2 released.
2007-09-03 Nick Clifton <nickc@redhat.com>
* Make-lang.in: Change copyright header to refer to version 3 of
the GNU General Public License and to point readers at the
COPYING3 file and the FSF's license web page.
* ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c:
Likewise.
2007-08-22 Krister Walfridsson <cato@df.lth.se>
* env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
NetBSD.
2007-07-19 Release Manager
* GCC 4.2.1 released.
2007-07-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
2007-05-13 Release Manager
* GCC 4.2.0 released.
2007-03-04 Eric Botcazou <ebotcazou@adacore.com>
PR ada/26797
* lang.opt: Accept -ftree-vrp for Ada.
* misc.c (OPT_ftree_vrp): New case.
(gnat_post_options): Disable Tree-VRP unless explicitly turned on.
2007-02-28 Andreas Schwab <schwab@suse.de>
* Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
$(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
(doc/gnat-style.info): Likewise.
2007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
* gnat-style.texi: Standardize title page.
* gnat_rm.texi: Likewise.
* gnat_ugn.texi: Likewise.
2007-02-21 Ed Schonberg <schonberg@adacore.com>
PR ada/18819
* sem_ch3.adb (Create_Constrained_Components): for a subtype of an
untagged derived type, add hidden components to keep discriminant
layout consistent, when a given discriminant of the derived type
constraints several discriminants of the parent type.
2006-11-17 Eric Botcazou <ebotcazou@adacore.com>
PR ada/27936
* ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
* decl.c (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB
flag in addition to TREE_READONLY to assert the constantness of
variables for elaboration purposes.
* trans.c (add_decl_expr): Do not dynamically elaborate padded objects
if the initializer takes into account the padding.
Set DECL_READONLY_ONCE_ELAB flag on variables originally TREE_READONLY
but whose elaboration cannot be performed statically.
2006-10-16 Brooks Moses <bmoses@stanford.edu>
* Makefile.in: Add TEXI2PDF definition.
@@ -94,7 +189,7 @@
2006-06-06 Laurent GUERBY <laurent@guerby.net>
PR ada/27769
mlib-utl.adb: Use Program_Name.
* mlib-utl.adb: Use Program_Name.
2006-05-28 Kazu Hirata <kazu@codesourcery.com>
@@ -105,6 +200,11 @@
* gnat_rm.texi, gnat_ugn.texi, : Fix typos. Follow spelling
conventions.
2006-05-19 Nicolas Setton <setton@adacore.com>
* misc.c (gnat_dwarf_name): New function.
(LANG_HOOKS_DWARF_NAME): Define to it.
2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
* Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H).
@@ -152,7 +252,6 @@
2006-02-17 Eric Botcazou <botcazou@adacore.com>
PR ada/26315
* utils2.c (find_common_type): If both input types are BLKmode and
have the same constant size, keep using the first one.
@@ -816,7 +915,6 @@
0, since the lower bound of the actual string may be greater than one.
PR ada/20753
(Put): Fix condition to raise Layout_Error when invalid
layout is requested.
@@ -1210,7 +1308,6 @@
convertible anonymous access types.
PR ada/25885
(Set_Literal_String_Subtype): If the lower bound is not static, wrap
the literal in an unchecked conversion, because GCC 4.x needs a static
value for a string bound.
@@ -1411,7 +1508,6 @@
2006-02-13 Javier Miranda <miranda@adacore.com>
PR ada/23973
* par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the
code to improve the error message reported when the program has
declarations of abstract interface types and it is not compiled with
@@ -2736,7 +2832,6 @@
Ed Schonberg <schonberg@adacore.com>
PR ada/18434
* types.ads: Include All_Checks in Suppress_Array
* checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
@@ -3664,7 +3759,6 @@
Javier Miranda <miranda@adacore.com>
PR ada/15604
* sem_type.adb (Covers): In an inlined body, a composite type matches
a private type whose full view is a composite type.
(Interface_Present_In_Ancestor): Protect the frontend against
@@ -5358,7 +5452,6 @@
2005-07-07 Olivier Hainque <hainque@adacore.com>
PR ada/22301
* raise.c: Only include unwind.h if IN_RTS, and provide dummy type
definitions for the Unwind wrappers in the compiler case.
@@ -5656,7 +5749,6 @@
2005-07-04 Robert Dewar <dewar@adacore.com>
PR ada/22039
* s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
2005-07-04 Matthew Gingell <gingell@adacore.com>
@@ -6777,7 +6869,6 @@
2005-06-14 Thomas Quinot <quinot@adacore.com>
PR ada/6717
* g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
broadcast address.
(Create_Selector): Bind listening socket used to create the signalling
@@ -6920,7 +7011,6 @@
2005-06-14 Robert Dewar <dewar@adacore.com>
PR ada/15613
* par-ch2.adb (Scan_Pragma_Argument): New procedure
(P_Pragma): Implement RM 2.8(4) check for no pos args after named args
@@ -7002,7 +7092,6 @@
Ed Schonberg <schonberg@adacore.com>
PR ada/10671
* sem_prag.adb: Implement pragma Persistent_BSS
Remove obsolete pragma Persistent_Data, Persistent_Object
Set Ada_Version_Explicit, for implementation of AI-362
@@ -7463,7 +7552,6 @@
Generic_Dispatching_Constructor.
PR ada/20300
* sem_ch8.adb (Find_Direct_Name): Go to root type for check of
character type cases.
(Analyze_Subprogram_Renaming): Add special handling for
@@ -7769,7 +7857,6 @@
2005-03-17 Robert Dewar <dewar@adacore.com>
PR ada/19519
* namet.adb (Copy_One_Character): Set proper wide character encoding
for upper half character if we have upper half encoding.
@@ -8145,7 +8232,6 @@
2005-03-15 Robert Dewar <dewar@adacore.com>
PR ada/13470
* a-stunau.ads, a-stunau.adb:
Change interface to allow efficient (and correct) implementation
The previous changes to allow extra space in unbounded strings had
@@ -8308,7 +8394,6 @@
PR ada/19408
PR ada/19140
PR ada/20255
* decl.c (gnat_to_gnu_field): Reject aliased components with a
representation clause that prescribes a size not equal to the rounded
size of their types.
@@ -8467,7 +8552,6 @@
PR ada/20226
PR ada/20344
* init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
when IN_RTS. This is to work around a bootstrap path problem.
@@ -9178,8 +9262,7 @@
2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Fix for c330001 - PR ada/19386
PR ada/19386
* decl.c:
(gnat_to_gnu_field): Do not necessarily invoke make_packable_type
on the field if Pragma Component_Alignment (Storage_Unit).
@@ -9279,7 +9362,6 @@
2005-02-09 Arnaud Charlet <charlet@adacore.com>
PR ada/16592
* Makefile.in: Link all gnat tools with -static-libgcc, since
-shared-libgcc is now used by default on some systems (e.g. linux with
recent binutils).
@@ -11069,7 +11151,6 @@
2004-10-04 Bernard Banner <banner@gnat.com>
PR ada/13897
* Makefile.in: Add section for powerpc linux
Add variant i-vxwork-x86.ads
@@ -11345,7 +11426,6 @@
2004-09-23 Robert Dewar <dewar@gnat.com>
PR ada/17540
* sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
instead do this at freeze time (we won't do it if there is an address
clause).
@@ -11390,7 +11470,6 @@
2004-09-20 Robert Dewar <dewar@gnat.com>
PR ada/17540
* freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
if an address clause is present, since that means that the Import
should be ignored.
@@ -12069,7 +12148,6 @@
2004-08-09 Ed Schonberg <schonberg@gnat.com>
PR ada/15408
* sem_ch7.adb (Install_Private_Declarations): In the body of the
package or of a child, private entities are both immediately_visible
and not hidden.
@@ -13607,7 +13685,6 @@
2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
PR ada/15587
* einfo.ads: Minor comment updates for Has_Completion and
E_Constant list of flags.
@@ -13690,7 +13767,6 @@
2004-06-11 Ed Schonberg <schonberg@gnat.com>
PR ada/15403
* sem_ch12.adb (Save_References): If operator node has been folded to
enumeration literal, associated_node must be discarded.
@@ -13702,7 +13778,6 @@
2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
PR ada/15568
* Makefile.in: Remove target specific SO_OPT on IRIX
2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
@@ -14917,7 +14992,6 @@
2004-05-03 Olivier Hainque <hainque@act-europe.fr>
PR ada/15152
* exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
alone. Replacing object references by literals is inappropriate in a
so low level context.
@@ -17248,7 +17322,8 @@
2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
Nathanael Nerode <neroden@gcc.gnu.org>
PR ada/6637, PR ada/5911
PR ada/6637
PR ada/5911
Merge with libada-branch:
* config-lang.in: Build libada only when ada is built.
@@ -18380,7 +18455,6 @@
Fixes ACATS regressions.
PR ada/13353
* sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
be inlined.
@@ -18617,7 +18691,6 @@
2003-12-03 Thomas Quinot <quinot@act-europe.fr>
PR ada/11724
* adaint.h, adaint.c, g-os_lib.ads:
Do not assume that the offset argument to lseek(2) is a 32 bit integer,
on some platforms (including FreeBSD), it is a 64 bit value.
@@ -19641,7 +19714,6 @@
2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Part of PR ada/12806
* ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
tree, not integer.
@@ -19955,7 +20027,7 @@
* Makefile.generic: Add missing substitution on object_deps handling.
PR ada/5909:
PR ada/5909
* Make-lang.in (check-ada): Enable ACATS test suite.
2003-10-27 Robert Dewar <dewar@gnat.com>
@@ -20024,13 +20096,13 @@
2003-10-24 Pascal Obry <obry@gnat.com>
PR ada/12014
* adadecode.c (ostrcpy): New function.
(__gnat_decode): Use ostrcpy of strcpy.
(has_prefix): Set first parameter a const.
(has_suffix): Set first parameter a const.
Update copyright notice. Fix source name in header.
Removes a trailing space.
PR ada/12014.
2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
@@ -20105,13 +20177,13 @@
2003-10-23 Thomas Quinot <quinot@act-europe.fr>
PR ada/11978:
PR ada/11978
* exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
External_Tag attribute definition clauses.
2003-10-23 Ed Schonberg <schonberg@gnat.com>
PR ada/7613:
PR ada/7613
* exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
child unit, generate a fully qualified name to avoid spurious errors
when the context contains renamings of different child units with
@@ -20174,7 +20246,8 @@
2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
* Makefile.in: Disable build of gnatpsta. PR ada/10110.
PR ada/10110
* Makefile.in: Disable build of gnatpsta.
* cstreams.c (__gnat_full_name): Minor improvements and clean up
of previous change.
@@ -20709,7 +20782,7 @@
2003-06-04 Olivier Hainque <hainque@act-europe.fr>
PR ada/9953:
PR ada/9953
* 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
and turn ZCX_By_Default back to False since the underlying support
is not quite there yet.
@@ -21162,7 +21235,7 @@
2003-02-18 Ben Elliston <bje@redhat.com>
Part of fix for PR ada/9406
Part of PR ada/9406
* gnat_ug.texi (Binder output file): Grammar fix.
2003-02-18 Ben Elliston <bje@redhat.com>
@@ -21271,9 +21344,10 @@
2002-12-14 Geert Bosch <bosch@gnat.com>
PR ada/5690
* sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
case of a body created for a Renaming_As_Body, on which
conformance checks are not performed. Fixes PR ada/5690.
conformance checks are not performed.
2002-11-30 Zack Weinberg <zack@codesourcery.com>
@@ -21287,7 +21361,9 @@
solution to buffer overflow bug on GNU/Linux.
2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
Closes PR ada/5856 and PR ada/6919 !
PR ada/5856
PR ada/6919
* bindgen.adb: Remove all references to Public_Version.
* comperr.adb: Remove all references to Public_Version and
GNATPRO_Version; correct bug reporting instructions.
@@ -21296,6 +21372,7 @@
GNATPRO version.
2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
PR ada/6919
* adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
GNU/Linux.
@@ -21304,21 +21381,25 @@
* config-lang.in: Remove diff_excludes.
2002-11-05 Graham Stott <graham.stott@btinternet.com>
PR ada/8358
* trans.c (gnu_pending_elaboration_lists): New GC root.
(build_unit_elab): Use..
2002-10-30 Geert Bosch <bosch@gnat.com>
PR ada/6558
* misc.c : Include optabs.h
* Make-lang.in (misc.o): Add dependency on optabs.h
2002-10-29 Geert Bosch <bosch@gnat.com>
PR ada/6558
* Make-lang.in (gnatbind): Depend on CONFIG_H
2002-10-29 Geert bosch <bosch@gnat.com>
PR ada/6558
* misc.c: Unrevert misc.c (1.13)
@@ -21328,6 +21409,7 @@
maintainership comments.
2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
PR ada/5904
* 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb

View File

@@ -1,12 +1,12 @@
# Top level -*- makefile -*- fragment for GNU Ada (GNAT).
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
#This file is part of GCC.
#GCC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#the Free Software Foundation; either version 3, or (at your option)
#any later version.
#GCC is distributed in the hope that it will be useful,
@@ -15,9 +15,9 @@
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GCC; see the file COPYING. If not, write to
#the Free Software Foundation, 51 Franklin Street, Fifth Floor,
#Boston, MA 02110-1301, USA.
#along with GCC; see the file COPYING3. If not see
#<http://www.gnu.org/licenses/>.
# This file provides the language dependent support in the main Makefile.
# Each language makefile fragment must provide the following targets:
@@ -386,7 +386,8 @@ ada/doctools/xgnatugn$(build_exeext): ada/xgnatugn.adb
# Note that gnat_ugn_unw.texi does not depend on xgnatugn
# being built so we can distribute a pregenerated gnat_ugn_unw.info
doc/gnat_ugn_unw.texi: $(srcdir)/ada/gnat_ugn.texi $(srcdir)/ada/ug_words
doc/gnat_ugn_unw.texi: $(srcdir)/ada/gnat_ugn.texi $(srcdir)/ada/ug_words \
$(gcc_docdir)/include/gcc-common.texi gcc-vers.texi
$(MAKE) ada/doctools/xgnatugn$(build_exeext)
ada/doctools/xgnatugn unw $(srcdir)/ada/gnat_ugn.texi \
$(srcdir)/ada/ug_words doc/gnat_ugn_unw.texi
@@ -394,7 +395,6 @@ doc/gnat_ugn_unw.texi: $(srcdir)/ada/gnat_ugn.texi $(srcdir)/ada/ug_words
doc/gnat_ugn_unw.info: doc/gnat_ugn_unw.texi \
$(gcc_docdir)/include/fdl.texi $(gcc_docdir)/include/gcc-common.texi \
gcc-vers.texi
if [ x$(BUILD_INFO) = xinfo ]; then \
rm -f $(@)*; \
$(MAKEINFO) $(MAKEINFOFLAGS) -I$(gcc_docdir)/include \
@@ -409,7 +409,8 @@ doc/gnat_rm.info: ada/gnat_rm.texi $(gcc_docdir)/include/fdl.texi \
-I$(srcdir)/ada -o $@ $<; \
else true; fi
doc/gnat-style.info: ada/gnat-style.texi $(gcc_docdir)/include/fdl.texi
doc/gnat-style.info: ada/gnat-style.texi $(gcc_docdir)/include/fdl.texi \
$(gcc_docdir)/include/gcc-common.texi gcc-vers.texi
if [ x$(BUILD_INFO) = xinfo ]; then \
rm -f $(@)*; \
$(MAKEINFO) $(MAKEINFOFLAGS) -I$(gcc_docdir)/include \

View File

@@ -1,11 +1,11 @@
# Makefile for GNU Ada Compiler (GNAT).
# Copyright (C) 1994-2005 Free Software Foundation, Inc.
# Copyright (C) 1994-2005, 2007 Free Software Foundation, Inc.
#This file is part of GCC.
#GCC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#the Free Software Foundation; either version 3, or (at your option)
#any later version.
#GCC is distributed in the hope that it will be useful,
@@ -14,9 +14,8 @@
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GCC; see the file COPYING. If not, write to
#the Free Software Foundation, 51 Franklin Street, Fifth Floor,
#Boston, MA 02110-1301, USA.
#along with GCC; see the file COPYING3. If not see
#<http://www.gnu.org/licenses/>.
# The makefile built from this file lives in the language subdirectory.
# Its purpose is to provide support for:

View File

@@ -1,11 +1,11 @@
# Makefile.rtl for GNU Ada Compiler (GNAT).
# Copyright (C) 2003-2005, Free Software Foundation, Inc.
# Copyright (C) 2003-2005, 2007 Free Software Foundation, Inc.
#This file is part of GCC.
#GCC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#the Free Software Foundation; either version 3, or (at your option)
#any later version.
#GCC is distributed in the hope that it will be useful,
@@ -14,9 +14,8 @@
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GCC; see the file COPYING. If not, write to
#the Free Software Foundation, 51 Franklin Street, Fifth Floor,
#Boston, MA 02110-1301, USA.
#along with GCC; see the file COPYING3. If not see
#<http://www.gnu.org/licenses/>.
# This makefile fragment is included in the ada Makefile (both Unix
# and NT and VMS versions).

View File

@@ -6,18 +6,17 @@
* *
* Specification *
* *
* Copyright (C) 1992-2004 Free Software Foundation, Inc. *
* Copyright (C) 1992-2004, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -232,6 +232,10 @@ struct lang_type GTY(()) {tree t; };
discriminant. */
#define DECL_STUBBED_P(NODE) DECL_LANG_FLAG_0 (FUNCTION_DECL_CHECK (NODE))
/* Nonzero in a VAR_DECL if it is guaranteed to be constant after having
been elaborated and TREE_READONLY is not set on it. */
#define DECL_READONLY_ONCE_ELAB(NODE) DECL_LANG_FLAG_0 (VAR_DECL_CHECK (NODE))
/* Nonzero if this decl is always used by reference; i.e., an INDIRECT_REF
is needed to access the object. */
#define DECL_BY_REF_P(NODE) DECL_LANG_FLAG_1 (NODE)

View File

@@ -6,18 +6,17 @@
* *
* C Header File *
* *
* Copyright (C) 1992-2005, Free Software Foundation, Inc. *
* Copyright (C) 1992-2005, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -1,11 +1,11 @@
# Top level configure fragment for GNU Ada (GNAT).
# Copyright (C) 1994-2003 Free Software Foundation, Inc.
# Copyright (C) 1994-2003, 2007 Free Software Foundation, Inc.
#This file is part of GCC.
#GCC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#the Free Software Foundation; either version 3, or (at your option)
#any later version.
#GCC is distributed in the hope that it will be useful,
@@ -14,9 +14,8 @@
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with GCC; see the file COPYING. If not, write to
#the Free Software Foundation, 51 Franklin Street, Fifth Floor,
#Boston, MA 02110-1301, USA.
#along with GCC; see the file COPYING3. If not see
#<http://www.gnu.org/licenses/>.
# Configure looks for the existence of this file to auto-config each language.
# We define several parameters used by configure:

View File

@@ -6,18 +6,17 @@
* *
* C Implementation File *
* *
* Copyright (C) 1992-2005 Free Software Foundation, Inc. *
* Copyright (C) 1992-2005, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -6,18 +6,17 @@
* *
* C Implementation File *
* *
* Copyright (C) 1992-2006, Free Software Foundation, Inc. *
* Copyright (C) 1992-2007, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *
@@ -4830,7 +4829,8 @@ elaborate_expression_1 (Node_Id gnat_expr, Entity_Id gnat_entity,
expr_variable = (!CONSTANT_CLASS_P (gnu_expr)
&& !(TREE_CODE (gnu_inner_expr) == VAR_DECL
&& TREE_READONLY (gnu_inner_expr))
&& (TREE_READONLY (gnu_inner_expr)
|| DECL_READONLY_ONCE_ELAB (gnu_inner_expr)))
&& !CONTAINS_PLACEHOLDER_P (gnu_expr));
/* If this is a static expression or contains a discriminant, we don't

View File

@@ -6,18 +6,17 @@
* *
* C Header File *
* *
* Copyright (C) 1992-2003 Free Software Foundation, Inc. *
* Copyright (C) 1992-2003, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
* Copyright (C) 2005-2006, Free Software Foundation, Inc. *
* Copyright (C) 2005-2007, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -177,9 +177,9 @@ __gnat_setenv (char *name, char *value)
sprintf (expression, "%s=%s", name, value);
putenv (expression);
#if defined (__FreeBSD__) || defined (__APPLE__) || defined (__MINGW32__) \
||(defined (__vxworks) && ! defined (__RTP__))
/* On some systems like FreeBSD, MacOS X and Windows, putenv is making
#if (defined (__FreeBSD__) && (__FreeBSD__ < 7)) || defined (__APPLE__) \
|| defined (__MINGW32__) ||(defined (__vxworks) && ! defined (__RTP__))
/* On some systems like pre-7 FreeBSD, MacOS X and Windows, putenv is making
a copy of the expression string so we can free it after the call to
putenv */
free (expression);
@@ -288,7 +288,8 @@ void __gnat_clearenv (void) {
index++;
}
#elif defined (__MINGW32__) || defined (__FreeBSD__) || defined (__APPLE__) \
|| (defined (__vxworks) && defined (__RTP__)) || defined (__CYGWIN__)
|| (defined (__vxworks) && defined (__RTP__)) || defined (__CYGWIN__) \
|| defined (__NetBSD__)
/* On Windows, FreeBSD and MacOS there is no function to clean all the
environment but there is a "clean" way to unset a variable. So go
through the environ table and call __gnat_unsetenv on all entries */

View File

@@ -27,6 +27,7 @@
@settitle GNAT Coding Style
@setchapternewpage odd
@include gcc-common.texi
@dircategory Software development
@direntry
@@ -39,16 +40,12 @@
@c %**end of header
@titlepage
@sp 10
@title GNAT Coding Style
@flushright
@titlefont{A Guide for GNAT Developers}
@end flushright
@sp 2
@titlefont{GNAT Coding Style:}
@sp 1
@title @hfill A Guide for GNAT Developers
@subtitle GNAT, The GNU Ada 95 Compiler
@versionsubtitle
@author Ada Core Technologies, Inc.
@page
@vskip 0pt plus 1filll

View File

@@ -32,7 +32,8 @@
@end direntry
@copying
Copyright @copyright{} 1995-2004, Free Software Foundation
Copyright @copyright{} 1995-2004, 2005, 2006, 2007, 2008 Free Software
Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
@@ -44,12 +45,10 @@ entitled ``GNU Free Documentation License''.
@end copying
@titlepage
@title GNAT Reference Manual
@subtitle GNAT, The GNU Ada 95 Compiler
@subtitle GCC version @value{version-GCC}
@author AdaCore
@versionsubtitle
@author Ada Core Technologies, Inc.
@page
@vskip 0pt plus 1filll
@@ -1681,7 +1680,7 @@ region as the function to which they apply.
pragma applies. If more than one function name exists of this name in
the declarative part you must use the @code{Parameter_Types} and
@code{Result_Type} parameters is mandatory to achieve the required
unique designation. @var{subtype_ mark}s in these parameters must
unique designation. @var{subtype_mark}s in these parameters must
exactly match the subtypes in the corresponding function specification,
using positional notation to match parameters with subtype marks.
The form with an @code{'Access} attribute can be used to match an
@@ -6757,7 +6756,7 @@ See separate section on source representation.
length. See 2.2(15).
@end cartouche
@noindent
The maximum line length is 255 characters an the maximum length of a
The maximum line length is 255 characters and the maximum length of a
lexical element is also 255 characters.
@sp 1
@@ -7916,7 +7915,7 @@ pragma Linker_Options ("-labc" & ASCII.Nul & "-ldef");
causes two separate arguments @code{-labc} and @code{-ldef} to be passed to the
linker. The order of linker options is preserved for a given unit. The final
list of options passed to the linker is in reverse order of the elaboration
order. For example, linker options fo a body always appear before the options
order. For example, linker options for a body always appear before the options
from the corresponding package spec.
@sp 1
@@ -14187,7 +14186,7 @@ generate the equivalent of
Cr_Var1 (4) := 11;
for I in Cr_Var2'range loop
Cr_Var2 (I) := =-1;
Cr_Var2 (I) := -1;
end loop;
@end smallexample

View File

@@ -111,7 +111,8 @@
@c %**end of header
@copying
Copyright @copyright{} 1995-2005, Free Software Foundation
Copyright @copyright{} 1995-2005, 2006, 2007, 2008 Free Software
Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
@@ -125,23 +126,16 @@ A copy of the license is included in the section entitled
@end copying
@titlepage
@title @value{EDITION} User's Guide
@ifset vms
@sp 1
@flushright
@titlefont{@i{@value{PLATFORM}}}
@end flushright
@end ifset
@sp 2
@subtitle GNAT, The GNU Ada 95 Compiler
@subtitle GCC version @value{version-GCC}
@author AdaCore
@versionsubtitle
@author Ada Core Technologies, Inc.
@page
@vskip 0pt plus 1filll
@@ -5232,9 +5226,9 @@ overwriting may occur.
@cindex @option{-gnatVf} (@command{gcc})
In the absence of this switch, validity checking occurs only for discrete
values. If @option{-gnatVf} is specified, then validity checking also applies
for floating-point values, and NaN's and infinities are considered invalid,
for floating-point values, and NaNs and infinities are considered invalid,
as well as out of range values for constrained types. Note that this means
that standard @code{IEEE} infinity mode is not allowed. The exact contexts
that standard IEEE infinity mode is not allowed. The exact contexts
in which floating-point values are checked depends on the setting of other
options. For example,
@option{^-gnatVif^VALIDITY_CHECKING=(IN_PARAMS,FLOATS)^} or
@@ -6153,7 +6147,7 @@ For full details on these encoding
methods see @ref{Wide Character Encodings}.
Note that brackets coding is always accepted, even if one of the other
options is specified, so for example @option{-gnatW8} specifies that both
brackets and @code{UTF-8} encodings will be recognized. The units that are
brackets and UTF-8 encodings will be recognized. The units that are
with'ed directly or indirectly will be scanned using the specified
representation scheme, and so if one of the non-brackets scheme is
used, it must be used consistently throughout the program. However,
@@ -8769,7 +8763,7 @@ $ gnatmake /SOURCE_SEARCH=@i{[INCLUDE_DIR]}
@item
Using @command{gnatmake} along with the
@option{^-m (minimal recompilation)^/MINIMAL_RECOMPILATION^}
switch provides a mechanism for avoiding unnecessary rcompilations. Using
switch provides a mechanism for avoiding unnecessary recompilations. Using
this switch,
you can update the comments/format of your
source files without having to recompile everything. Note, however, that
@@ -11436,7 +11430,7 @@ reserved words currently used in project file syntax are:
@end itemize
@noindent
Comments in project files have the same syntax as in Ada, two consecutives
Comments in project files have the same syntax as in Ada, two consecutive
hyphens through the end of the line.
@node Packages
@@ -14092,7 +14086,7 @@ the source path. If you specify directories, no result is produced.
@end table
@noindent
The switches can be :
The switches can be:
@table @option
@c !sort!
@item ^-a^/ALL_FILES^
@@ -14461,14 +14455,14 @@ specifies the command used to debug the application
@noindent
As specified in the section about @command{gnatfind}, the pattern can be a
regular expression. Actually, there are to set of regular expressions
which are recognized by the program :
which are recognized by the program:
@table @code
@item globbing patterns
These are the most usual regular expression. They are the same that you
generally used in a Unix shell command line, or in a DOS session.
Here is a more formal grammar :
Here is a more formal grammar:
@smallexample
@group
@iftex
@@ -14519,7 +14513,7 @@ nschar ::= any character except ()[].*+?^^^
@end group
@end smallexample
Following are a few examples :
Following are a few examples:
@table @samp
@item abcde|fghi
@@ -14530,7 +14524,7 @@ will match any string like 'abd', 'abcd', 'abccd', 'abcccd', and so on
@item [a-z]+
will match any string which has only lowercase characters in it (and at
least one character
least one character.
@end table
@end table
@@ -14541,7 +14535,7 @@ least one character
@subsection General Usage
@noindent
For the following examples, we will consider the following units :
For the following examples, we will consider the following units:
@smallexample @c ada
@group
@@ -14637,9 +14631,9 @@ of these.
@subsection Using gnatxref with vi
@code{gnatxref} can generate a tags file output, which can be used
directly from @file{vi}. Note that the standard version of @file{vi}
directly from @command{vi}. Note that the standard version of @command{vi}
will not work properly with overloaded symbols. Consider using another
free implementation of @file{vi}, such as @file{vim}.
free implementation of @command{vi}, such as @command{vim}.
@smallexample
$ gnatxref -v gnatfind.adb > tags
@@ -14649,7 +14643,7 @@ $ gnatxref -v gnatfind.adb > tags
will generate the tags file for @code{gnatfind} itself (if the sources
are in the search path!).
From @file{vi}, you can then use the command @samp{:tag @i{entity}}
From @command{vi}, you can then use the command @samp{:tag @i{entity}}
(replacing @i{entity} by whatever you are looking for), and vi will
display a new file with the corresponding declaration of entity.
@end ifclear
@@ -17927,7 +17921,7 @@ GLIB=...
# The directories for the libraries
# (This macro expands the list of CSC to the list of shared libraries, you
# could simply use the expanded form :
# could simply use the expanded form:
# LIB_DIR=aa/lib/libaa.so bb/lib/libbb.so cc/lib/libcc.so
LIB_DIR=$@{foreach dir,$@{CSC_LIST@},$@{dir@}/lib/lib$@{dir@}.so@}
@@ -19488,7 +19482,7 @@ You can pass it as many Ada files as you want. @code{gnathtml} will generate
an html file for every ada file, and a global file called @file{index.htm}.
This file is an index of every identifier defined in the files.
The available ^switches^options^ are the following ones :
The available ^switches^options^ are the following ones:
@table @option
@item -83
@@ -19578,7 +19572,7 @@ Operating System via the Internet.
On Unix systems, you may want to modify the first line of the script
@code{gnathtml}, to explicitly tell the Operating system where Perl
is. The syntax of this line is :
is. The syntax of this line is:
@smallexample
#!full_path_name_to_perl
@end smallexample

View File

@@ -6,18 +6,17 @@
* *
* C Implementation File *
* *
* Copyright (C) 1992-2005 Free Software Foundation, Inc. *
* Copyright (C) 1992-2005, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -6,18 +6,17 @@
* *
* C Header File *
* *
* Copyright (C) 1992-2004 Free Software Foundation, Inc. *
* Copyright (C) 1992-2004, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -1,11 +1,11 @@
; Options for the Ada front end.
; Copyright (C) 2003 Free Software Foundation, Inc.
; Copyright (C) 2003, 2007 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 2, or (at your option) any later
; Software Foundation; either version 3, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,9 +14,9 @@
; for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING. If not, write to the Free
; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
; 02110-1301, USA.
; along with GCC; see the file COPYING3. If not see
; <http://www.gnu.org/licenses/>.
; See the GCC internals manual for a description of this file's format.
@@ -69,6 +69,11 @@ nostdlib
Ada
; Don't look for object files
ftree-vrp
Ada
; Effect documented in common.opt - intercepted for Ada
; to force the associated flag not to be set by default.
fRTS=
Ada Joined RejectNegative
; Selects the runtime

View File

@@ -303,6 +303,12 @@ gnat_handle_option (size_t scode, const char *arg, int value ATTRIBUTE_UNUSED)
gnat_argc++;
break;
case OPT_ftree_vrp:
/* We arrange for post_option to be able to set the corresponding
flag to 1 only when explicitly requested by the user. */
flag_tree_vrp = -value;
break;
case OPT_fRTS_:
gnat_argv[gnat_argc] = xstrdup ("-fRTS");
gnat_argc++;
@@ -363,8 +369,18 @@ gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED)
if (flag_inline_functions)
flag_inline_trees = 2;
/* The structural alias analysis machinery essentially assumes that
everything is addressable (modulo bit-fields) by disregarding
the TYPE_NONALIASED_COMPONENT and DECL_NONADDRESSABLE_P macros. */
flag_tree_salias = 0;
/* Disable Tree-VRP unless an explicit positive -f has been passed.
This forces the default to 0 for Ada. */
if (flag_tree_vrp < 0)
flag_tree_vrp = 1;
else
flag_tree_vrp = 0;
return false;
}

View File

@@ -6,18 +6,17 @@
* *
* C Header File *
* *
* Copyright (C) 1992-2005 Free Software Foundation, Inc. *
* Copyright (C) 1992-2005, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -6,18 +6,17 @@
* *
* C Header File *
* *
* Copyright (C) 1992-2003, Free Software Foundation, Inc. *
* Copyright (C) 1992-2003, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -6,18 +6,17 @@
-- --
-- T e m p l a t e --
-- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. --
-- Copyright (C) 1992-2005, 2007 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 2, or (at your option) any later ver- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
-- for more details. You should have received a copy of the GNU General --
-- Public License distributed with GNAT; see file COPYING. If not, write --
-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-- Boston, MA 02110-1301, USA. --
-- Public License along with GCC; see the file COPYING3. If not see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --

View File

@@ -291,12 +291,10 @@ package System.OS_Interface is
sig : Signal) return int;
pragma Import (C, pthread_kill, "pthread_kill");
type sigset_t_ptr is access all sigset_t;
function pthread_sigmask
(how : int;
set : sigset_t_ptr;
oset : sigset_t_ptr) return int;
set : access sigset_t;
oset : access sigset_t) return int;
pragma Import (C, pthread_sigmask, "pthread_sigmask");
----------------------------

View File

@@ -9900,6 +9900,18 @@ package body Sem_Ch3 is
New_Compon : constant Entity_Id := New_Copy (Old_Compon);
begin
if Ekind (Old_Compon) = E_Discriminant
and then Is_Completely_Hidden (Old_Compon)
then
-- This is a shadow discriminant created for a discriminant of
-- the parent type that is one of several renamed by the same
-- new discriminant. Give the shadow discriminant an internal
-- name that cannot conflict with that of visible components.
Set_Chars (New_Compon, New_Internal_Name ('C'));
end if;
-- Set the parent so we have a proper link for freezing etc. This is
-- not a real parent pointer, since of course our parent does not own
-- up to us and reference us, we are an illegitimate child of the
@@ -9978,13 +9990,86 @@ package body Sem_Ch3 is
-- Inherit the discriminants of the parent type
Add_Discriminants : declare
Num_Disc : Int;
Num_Gird : Int;
begin
Num_Disc := 0;
Old_C := First_Discriminant (Typ);
while Present (Old_C) loop
Num_Disc := Num_Disc + 1;
New_C := Create_Component (Old_C);
Set_Is_Public (New_C, Is_Public (Subt));
Next_Discriminant (Old_C);
end loop;
-- For an untagged derived subtype, the number of discriminants may
-- be smaller than the number of inherited discriminants, because
-- several of them may be renamed by a single new discriminant.
-- In this case, add the hidden discriminants back into the subtype,
-- because otherwise the size of the subtype is computed incorrectly
-- in GCC 4.1.
Num_Gird := 0;
if Is_Derived_Type (Typ)
and then not Is_Tagged_Type (Typ)
then
Old_C := First_Stored_Discriminant (Typ);
while Present (Old_C) loop
Num_Gird := Num_Gird + 1;
Next_Stored_Discriminant (Old_C);
end loop;
end if;
if Num_Gird > Num_Disc then
-- Find out multiple uses of new discriminants, and add hidden
-- components for the extra renamed discriminants. We recognize
-- multiple uses through the Corresponding_Discriminant of a
-- new discriminant: if it constrains several old discriminants,
-- this field points to the last one in the parent type. The
-- stored discriminants of the derived type have the same name
-- as those of the parent.
declare
Constr : Elmt_Id;
New_Discr : Entity_Id;
Old_Discr : Entity_Id;
begin
Constr := First_Elmt (Stored_Constraint (Typ));
Old_Discr := First_Stored_Discriminant (Typ);
while Present (Constr) loop
if Is_Entity_Name (Node (Constr))
and then Ekind (Entity (Node (Constr))) = E_Discriminant
then
New_Discr := Entity (Node (Constr));
if Chars (Corresponding_Discriminant (New_Discr))
/= Chars (Old_Discr)
then
-- The new discriminant has been used to rename
-- a subsequent old discriminant. Introduce a shadow
-- component for the current old discriminant.
New_C := Create_Component (Old_Discr);
Set_Original_Record_Component (New_C, Old_Discr);
end if;
end if;
Next_Elmt (Constr);
Next_Stored_Discriminant (Old_Discr);
end loop;
end;
end if;
end Add_Discriminants;
if Is_Static
and then Is_Variant_Record (Typ)
then

View File

@@ -6,18 +6,17 @@
* *
* C Header File *
* *
* Copyright (C) 1992-2006, Free Software Foundation, Inc. *
* Copyright (C) 1992-2007, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -6,18 +6,17 @@
* *
* C Header File *
* *
* Copyright (C) 1992-2003 Free Software Foundation, Inc. *
* Copyright (C) 1992-2003, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -4396,7 +4396,8 @@ add_stmt_with_node (tree gnu_stmt, Node_Id gnat_node)
void
add_decl_expr (tree gnu_decl, Entity_Id gnat_entity)
{
tree gnu_stmt;
tree type = TREE_TYPE (gnu_decl);
tree gnu_stmt, gnu_init, gnu_lhs;
/* If this is a variable that Gigi is to ignore, we may have been given
an ERROR_MARK. So test for it. We also might have been given a
@@ -4404,7 +4405,7 @@ add_decl_expr (tree gnu_decl, Entity_Id gnat_entity)
ignore a TYPE_DECL for an UNCONSTRAINED_ARRAY_TYPE. */
if (!DECL_P (gnu_decl)
|| (TREE_CODE (gnu_decl) == TYPE_DECL
&& TREE_CODE (TREE_TYPE (gnu_decl)) == UNCONSTRAINED_ARRAY_TYPE))
&& TREE_CODE (type) == UNCONSTRAINED_ARRAY_TYPE))
return;
/* If we are global, we don't want to actually output the DECL_EXPR for
@@ -4426,41 +4427,32 @@ add_decl_expr (tree gnu_decl, Entity_Id gnat_entity)
}
}
/* If this is a DECL_EXPR for a variable with DECL_INITIAL set,
there are two cases we need to handle here. */
if (TREE_CODE (gnu_decl) == VAR_DECL && DECL_INITIAL (gnu_decl))
{
tree gnu_init = DECL_INITIAL (gnu_decl);
tree gnu_lhs = NULL_TREE;
/* If this is a DECL_EXPR for a variable with DECL_INITIAL set
and decl has a padded type, convert it to the unpadded type so the
assignment is done properly. */
if (TREE_CODE (TREE_TYPE (gnu_decl)) == RECORD_TYPE
&& TYPE_IS_PADDING_P (TREE_TYPE (gnu_decl)))
gnu_lhs
= convert (TREE_TYPE (TYPE_FIELDS (TREE_TYPE (gnu_decl))), gnu_decl);
/* Otherwise, if this is going into memory and the initializer isn't
valid for the assembler and loader. Gimplification could do this,
but would be run too late if -fno-unit-at-a-time. */
else if (TREE_STATIC (gnu_decl)
/* If this is a variable and an initializer is attached to it, it must be
valid for the context. Similar to init_const in create_var_decl_1. */
if (TREE_CODE (gnu_decl) == VAR_DECL
&& (gnu_init = DECL_INITIAL (gnu_decl)) != NULL_TREE
&& (TYPE_MAIN_VARIANT (type) != TYPE_MAIN_VARIANT (TREE_TYPE (gnu_init))
|| (TREE_STATIC (gnu_decl)
&& !initializer_constant_valid_p (gnu_init,
TREE_TYPE (gnu_decl)))
TREE_TYPE (gnu_init)))))
{
/* If GNU_DECL has a padded type, convert it to the unpadded
type so the assignment is done properly. */
if (TREE_CODE (type) == RECORD_TYPE && TYPE_IS_PADDING_P (type))
gnu_lhs = convert (TREE_TYPE (TYPE_FIELDS (type)), gnu_decl);
else
gnu_lhs = gnu_decl;
if (gnu_lhs)
{
tree gnu_assign_stmt
= build_binary_op (MODIFY_EXPR, NULL_TREE,
gnu_lhs, DECL_INITIAL (gnu_decl));
gnu_stmt = build_binary_op (MODIFY_EXPR, NULL_TREE, gnu_lhs, gnu_init);
DECL_INITIAL (gnu_decl) = 0;
DECL_INITIAL (gnu_decl) = NULL_TREE;
if (TREE_READONLY (gnu_decl))
{
TREE_READONLY (gnu_decl) = 0;
annotate_with_locus (gnu_assign_stmt,
DECL_SOURCE_LOCATION (gnu_decl));
add_stmt (gnu_assign_stmt);
DECL_READONLY_ONCE_ELAB (gnu_decl) = 1;
}
add_stmt_with_node (gnu_stmt, gnat_entity);
}
}

View File

@@ -6,18 +6,17 @@
-- --
-- T e m p l a t e --
-- --
-- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2005, 2007 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 2, or (at your option) any later ver- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
-- for more details. You should have received a copy of the GNU General --
-- Public License distributed with GNAT; see file COPYING. If not, write --
-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
-- Boston, MA 02110-1301, USA. --
-- Public License distributed with GNAT; see the file COPYING3. If not see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --

View File

@@ -6,18 +6,17 @@
* *
* C Header File *
* *
* Copyright (C) 1992-2005, Free Software Foundation, Inc. *
* Copyright (C) 1992-2005, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -6,18 +6,17 @@
* *
* C Header File *
* *
* Copyright (C) 1992-2005, Free Software Foundation, Inc. *
* Copyright (C) 1992-2005, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -6,18 +6,17 @@
* *
* C Header File *
* *
* Copyright (C) 1992-2003 Free Software Foundation, Inc. *
* Copyright (C) 1992-2003, 2007 Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -6,18 +6,17 @@
* *
* C Implementation File *
* *
* Copyright (C) 1992-2006, Free Software Foundation, Inc. *
* Copyright (C) 1992-2007, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -6,18 +6,17 @@
* *
* C Implementation File *
* *
* Copyright (C) 1992-2006, Free Software Foundation, Inc. *
* Copyright (C) 1992-2007, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
* ware Foundation; either version 2, or (at your option) any later ver- *
* ware Foundation; either version 3, or (at your option) any later ver- *
* sion. GNAT is distributed in the hope that it will be useful, but WITH- *
* OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
* for more details. You should have received a copy of the GNU General *
* Public License distributed with GNAT; see file COPYING. If not, write *
* to the Free Software Foundation, 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301, USA. *
* Public License along with GCC; see the file COPYING3. If not see *
* <http://www.gnu.org/licenses/>. *
* *
* GNAT was originally developed by the GNAT team at New York University. *
* Extensive contributions were provided by Ada Core Technologies Inc. *

View File

@@ -1,11 +1,11 @@
/* Inline functions to test validity of reg classes for addressing modes.
Copyright (C) 2006 Free Software Foundation, Inc.
Copyright (C) 2006, 2007 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,9 +14,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* Wrapper function to unify target macros MODE_CODE_BASE_REG_CLASS,
MODE_BASE_REG_REG_CLASS, MODE_BASE_REG_CLASS and BASE_REG_CLASS.

View File

@@ -1,13 +1,13 @@
/* Alias analysis for GNU C
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007 Free Software Foundation, Inc.
Contributed by John Carr (jfc@mit.edu).
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -16,9 +16,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
#include "system.h"

View File

@@ -1,11 +1,11 @@
/* Exported functions from alias.c
Copyright (C) 2004 Free Software Foundation, Inc.
Copyright (C) 2004, 2007 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,9 +14,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#ifndef GCC_ALIAS_H
#define GCC_ALIAS_H

View File

@@ -1,13 +1,13 @@
/* Functions to support a pool of allocatable objects.
Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
2007 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@cgsoftware.com>
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -16,9 +16,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
#include "system.h"

View File

@@ -1,5 +1,5 @@
/* Functions to support a pool of allocatable objects
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2007
Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@cgsoftware.com>
@@ -7,7 +7,7 @@ This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
@@ -16,9 +16,8 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#ifndef ALLOC_POOL_H
#define ALLOC_POOL_H

View File

@@ -1,12 +1,12 @@
/* Functions dealing with attribute handling, used by most front ends.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005 Free Software Foundation, Inc.
2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,9 +15,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
#include "system.h"
@@ -139,6 +138,9 @@ decl_attributes (tree *node, tree attributes, int flags)
tree a;
tree returned_attrs = NULL_TREE;
if (TREE_TYPE (*node) == error_mark_node)
return NULL_TREE;
if (!attributes_initialized)
init_attributes ();

View File

@@ -1,12 +1,12 @@
/* Define control and data flow tables, and regsets.
Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2007 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,9 +15,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#ifndef GCC_BASIC_BLOCK_H
#define GCC_BASIC_BLOCK_H
@@ -946,6 +945,7 @@ extern void update_br_prob_note (basic_block);
extern void fixup_abnormal_edges (void);
extern bool inside_basic_block_p (rtx);
extern bool control_flow_insn_p (rtx);
extern rtx get_last_bb_insn (basic_block);
/* In bb-reorder.c */
extern void reorder_basic_blocks (unsigned int);

View File

@@ -1,11 +1,11 @@
/* Basic block reordering routines for the GNU compiler.
Copyright (C) 2000, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT
@@ -14,9 +14,8 @@
License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* This (greedy) algorithm constructs traces in several rounds.
The construction starts from "seeds". The seed for the first round

View File

@@ -1,12 +1,12 @@
/* Functions to support general ended bitmaps.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2007
Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,9 +15,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
#include "system.h"

View File

@@ -1,12 +1,12 @@
/* Functions to support general ended bitmaps.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,9 +15,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#ifndef GCC_BITMAP_H
#define GCC_BITMAP_H

View File

@@ -1,12 +1,12 @@
/* Perform branch target register load optimizations.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,9 +15,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
#include "system.h"

View File

@@ -1,11 +1,11 @@
/* Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
/* Copyright (C) 2001, 2002, 2004, 2005, 2007 Free Software Foundation, Inc.
Contributed by Joseph Myers <jsm28@cam.ac.uk>.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,9 +14,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* This header provides a declarative way of describing the attributes
that are applied to some functions by default.

View File

@@ -1,11 +1,11 @@
/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -14,9 +14,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* This header provides a declarative way of describing the types that
are used when declaring builtin functions.

View File

@@ -1,12 +1,13 @@
/* Expand builtin functions.
Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,9 +16,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
#include "system.h"
@@ -5492,14 +5492,19 @@ expand_builtin_sync_operation (enum machine_mode mode, tree arglist,
rtx target, bool ignore)
{
rtx val, mem;
enum machine_mode old_mode;
/* Expand the operands. */
mem = get_builtin_sync_mem (TREE_VALUE (arglist), mode);
arglist = TREE_CHAIN (arglist);
val = expand_expr (TREE_VALUE (arglist), NULL, mode, EXPAND_NORMAL);
/* If VAL is promoted to a wider mode, convert it back to MODE. */
val = convert_to_mode (mode, val, 1);
/* If VAL is promoted to a wider mode, convert it back to MODE. Take care
of CONST_INTs, where we know the old_mode only from the call argument. */
old_mode = GET_MODE (val);
if (old_mode == VOIDmode)
old_mode = TYPE_MODE (TREE_TYPE (TREE_VALUE (arglist)));
val = convert_modes (mode, old_mode, val, 1);
if (ignore)
return expand_sync_operation (mem, val, code);
@@ -5517,19 +5522,28 @@ expand_builtin_compare_and_swap (enum machine_mode mode, tree arglist,
bool is_bool, rtx target)
{
rtx old_val, new_val, mem;
enum machine_mode old_mode;
/* Expand the operands. */
mem = get_builtin_sync_mem (TREE_VALUE (arglist), mode);
arglist = TREE_CHAIN (arglist);
old_val = expand_expr (TREE_VALUE (arglist), NULL, mode, EXPAND_NORMAL);
/* If OLD_VAL is promoted to a wider mode, convert it back to MODE. */
old_val = convert_to_mode (mode, old_val, 1);
/* If VAL is promoted to a wider mode, convert it back to MODE. Take care
of CONST_INTs, where we know the old_mode only from the call argument. */
old_mode = GET_MODE (old_val);
if (old_mode == VOIDmode)
old_mode = TYPE_MODE (TREE_TYPE (TREE_VALUE (arglist)));
old_val = convert_modes (mode, old_mode, old_val, 1);
arglist = TREE_CHAIN (arglist);
new_val = expand_expr (TREE_VALUE (arglist), NULL, mode, EXPAND_NORMAL);
/* If NEW_VAL is promoted to a wider mode, convert it back to MODE. */
new_val = convert_to_mode (mode, new_val, 1);
/* If VAL is promoted to a wider mode, convert it back to MODE. Take care
of CONST_INTs, where we know the old_mode only from the call argument. */
old_mode = GET_MODE (new_val);
if (old_mode == VOIDmode)
old_mode = TYPE_MODE (TREE_TYPE (TREE_VALUE (arglist)));
new_val = convert_modes (mode, old_mode, new_val, 1);
if (is_bool)
return expand_bool_compare_and_swap (mem, old_val, new_val, target);
@@ -5548,14 +5562,19 @@ expand_builtin_lock_test_and_set (enum machine_mode mode, tree arglist,
rtx target)
{
rtx val, mem;
enum machine_mode old_mode;
/* Expand the operands. */
mem = get_builtin_sync_mem (TREE_VALUE (arglist), mode);
arglist = TREE_CHAIN (arglist);
val = expand_expr (TREE_VALUE (arglist), NULL, mode, EXPAND_NORMAL);
/* If VAL is promoted to a wider mode, convert it back to MODE. */
val = convert_to_mode (mode, val, 1);
/* If VAL is promoted to a wider mode, convert it back to MODE. Take care
of CONST_INTs, where we know the old_mode only from the call argument. */
old_mode = GET_MODE (val);
if (old_mode == VOIDmode)
old_mode = TYPE_MODE (TREE_TYPE (TREE_VALUE (arglist)));
val = convert_modes (mode, old_mode, val, 1);
return expand_sync_lock_test_and_set (mem, val, target);
}
@@ -8701,7 +8720,7 @@ fold_builtin_classify (tree fndecl, tree arglist, int builtin_index)
switch (builtin_index)
{
case BUILT_IN_ISINF:
if (!MODE_HAS_INFINITIES (TYPE_MODE (TREE_TYPE (arg))))
if (!HONOR_INFINITIES (TYPE_MODE (TREE_TYPE (arg))))
return omit_one_operand (type, integer_zero_node, arg);
if (TREE_CODE (arg) == REAL_CST)
@@ -8717,9 +8736,9 @@ fold_builtin_classify (tree fndecl, tree arglist, int builtin_index)
return NULL_TREE;
case BUILT_IN_FINITE:
if (!MODE_HAS_NANS (TYPE_MODE (TREE_TYPE (arg)))
&& !MODE_HAS_INFINITIES (TYPE_MODE (TREE_TYPE (arg))))
return omit_one_operand (type, integer_zero_node, arg);
if (!HONOR_NANS (TYPE_MODE (TREE_TYPE (arg)))
&& !HONOR_INFINITIES (TYPE_MODE (TREE_TYPE (arg))))
return omit_one_operand (type, integer_one_node, arg);
if (TREE_CODE (arg) == REAL_CST)
{
@@ -8731,7 +8750,7 @@ fold_builtin_classify (tree fndecl, tree arglist, int builtin_index)
return NULL_TREE;
case BUILT_IN_ISNAN:
if (!MODE_HAS_NANS (TYPE_MODE (TREE_TYPE (arg))))
if (!HONOR_NANS (TYPE_MODE (TREE_TYPE (arg))))
return omit_one_operand (type, integer_zero_node, arg);
if (TREE_CODE (arg) == REAL_CST)
@@ -8814,12 +8833,12 @@ fold_builtin_unordered_cmp (tree fndecl, tree arglist,
if (unordered_code == UNORDERED_EXPR)
{
if (!MODE_HAS_NANS (TYPE_MODE (TREE_TYPE (arg0))))
if (!HONOR_NANS (TYPE_MODE (TREE_TYPE (arg0))))
return omit_two_operands (type, integer_zero_node, arg0, arg1);
return fold_build2 (UNORDERED_EXPR, type, arg0, arg1);
}
code = MODE_HAS_NANS (TYPE_MODE (TREE_TYPE (arg0))) ? unordered_code
code = HONOR_NANS (TYPE_MODE (TREE_TYPE (arg0))) ? unordered_code
: ordered_code;
return fold_build1 (TRUTH_NOT_EXPR, type,
fold_build2 (code, type, arg0, arg1));
@@ -9227,6 +9246,11 @@ validate_arglist (tree arglist, ...)
if (! POINTER_TYPE_P (TREE_TYPE (TREE_VALUE (arglist))))
goto end;
}
else if (code == INTEGER_TYPE)
{
if (! INTEGRAL_TYPE_P (TREE_TYPE (TREE_VALUE (arglist))))
goto end;
}
else if (code != TREE_CODE (TREE_TYPE (TREE_VALUE (arglist))))
goto end;
break;
@@ -9911,6 +9935,7 @@ fold_builtin_sprintf (tree arglist, int ignored)
/* Get the destination string and the format specifier. */
dest = TREE_VALUE (arglist);
fmt = TREE_VALUE (TREE_CHAIN (arglist));
arglist = TREE_CHAIN (TREE_CHAIN (arglist));
/* Check whether the format is a literal string constant. */
fmt_str = c_getstr (fmt);
@@ -9931,6 +9956,10 @@ fold_builtin_sprintf (tree arglist, int ignored)
if (!fn)
return NULL_TREE;
/* Don't optimize sprintf (buf, "abc", ptr++). */
if (arglist)
return NULL_TREE;
/* Convert sprintf (str, fmt) into strcpy (str, fmt) when
'format' is known to contain no % formats. */
arglist = build_tree_list (NULL_TREE, fmt);
@@ -9949,8 +9978,12 @@ fold_builtin_sprintf (tree arglist, int ignored)
if (!fn)
return NULL_TREE;
/* Don't crash on sprintf (str1, "%s"). */
if (!arglist)
return NULL_TREE;
/* Convert sprintf (str1, "%s", str2) into strcpy (str1, str2). */
orig = TREE_VALUE (TREE_CHAIN (TREE_CHAIN (arglist)));
orig = TREE_VALUE (arglist);
arglist = build_tree_list (NULL_TREE, orig);
arglist = tree_cons (NULL_TREE, dest, arglist);
if (!ignored)

View File

@@ -7,7 +7,7 @@ This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -16,9 +16,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* Before including this file, you should define a macro:
@@ -255,9 +254,9 @@ DEF_C99_C90RES_BUILTIN (BUILT_IN_FMODL, "fmodl", BT_FN_LONGDOUBLE_LONGDOUBLE_LON
DEF_LIB_BUILTIN (BUILT_IN_FREXP, "frexp", BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
DEF_C99_C90RES_BUILTIN (BUILT_IN_FREXPF, "frexpf", BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
DEF_C99_C90RES_BUILTIN (BUILT_IN_FREXPL, "frexpl", BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMA, "gamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAF, "gammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAL, "gammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMA, "gamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAF, "gammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_STORE)
DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAL, "gammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
DEF_GCC_BUILTIN (BUILT_IN_HUGE_VAL, "huge_val", BT_FN_DOUBLE, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_HUGE_VALF, "huge_valf", BT_FN_FLOAT, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_HUGE_VALL, "huge_vall", BT_FN_LONGDOUBLE, ATTR_CONST_NOTHROW_LIST)
@@ -282,24 +281,24 @@ DEF_EXT_LIB_BUILTIN (BUILT_IN_J1L, "j1l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_M
DEF_EXT_LIB_BUILTIN (BUILT_IN_JN, "jn", BT_FN_DOUBLE_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_EXT_LIB_BUILTIN (BUILT_IN_JNF, "jnf", BT_FN_FLOAT_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_EXT_LIB_BUILTIN (BUILT_IN_JNL, "jnl", BT_FN_LONGDOUBLE_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_GCC_BUILTIN (BUILT_IN_LCEIL, "lceil", BT_FN_LONG_DOUBLE, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LCEILF, "lceilf", BT_FN_LONG_FLOAT, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LCEILL, "lceill", BT_FN_LONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LCEIL, "lceil", BT_FN_LONG_DOUBLE, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_LCEILF, "lceilf", BT_FN_LONG_FLOAT, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_LCEILL, "lceill", BT_FN_LONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LIST)
DEF_LIB_BUILTIN (BUILT_IN_LDEXP, "ldexp", BT_FN_DOUBLE_DOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_C99_C90RES_BUILTIN (BUILT_IN_LDEXPF, "ldexpf", BT_FN_FLOAT_FLOAT_INT, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_C99_C90RES_BUILTIN (BUILT_IN_LDEXPL, "ldexpl", BT_FN_LONGDOUBLE_LONGDOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_GCC_BUILTIN (BUILT_IN_LFLOOR, "lfloor", BT_FN_LONG_DOUBLE, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LFLOORF, "lfloorf", BT_FN_LONG_FLOAT, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LFLOORL, "lfloorl", BT_FN_LONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
DEF_C99_BUILTIN (BUILT_IN_LGAMMA, "lgamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_C99_BUILTIN (BUILT_IN_LGAMMAF, "lgammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_C99_BUILTIN (BUILT_IN_LGAMMAL, "lgammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_GCC_BUILTIN (BUILT_IN_LLCEIL, "llceil", BT_FN_LONGLONG_DOUBLE, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LLCEILF, "llceilf", BT_FN_LONGLONG_FLOAT, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LLCEILL, "llceill", BT_FN_LONGLONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LLFLOOR, "llfloor", BT_FN_LONGLONG_DOUBLE, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LLFLOORF, "llfloorf", BT_FN_LONGLONG_FLOAT, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LLFLOORL, "llfloorl", BT_FN_LONGLONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
DEF_GCC_BUILTIN (BUILT_IN_LFLOOR, "lfloor", BT_FN_LONG_DOUBLE, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_LFLOORF, "lfloorf", BT_FN_LONG_FLOAT, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_LFLOORL, "lfloorl", BT_FN_LONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN (BUILT_IN_LGAMMA, "lgamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
DEF_C99_BUILTIN (BUILT_IN_LGAMMAF, "lgammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_STORE)
DEF_C99_BUILTIN (BUILT_IN_LGAMMAL, "lgammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
DEF_GCC_BUILTIN (BUILT_IN_LLCEIL, "llceil", BT_FN_LONGLONG_DOUBLE, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_LLCEILF, "llceilf", BT_FN_LONGLONG_FLOAT, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_LLCEILL, "llceill", BT_FN_LONGLONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_LLFLOOR, "llfloor", BT_FN_LONGLONG_DOUBLE, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_LLFLOORF, "llfloorf", BT_FN_LONGLONG_FLOAT, ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN (BUILT_IN_LLFLOORL, "llfloorl", BT_FN_LONGLONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN (BUILT_IN_LLRINT, "llrint", BT_FN_LONGLONG_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_C99_BUILTIN (BUILT_IN_LLRINTF, "llrintf", BT_FN_LONGLONG_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
DEF_C99_BUILTIN (BUILT_IN_LLRINTL, "llrintl", BT_FN_LONGLONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)

View File

@@ -2,14 +2,14 @@
on information stored in GCC's tree structure. This code implements the
-aux-info option.
Copyright (C) 1989, 1991, 1994, 1995, 1997, 1998,
1999, 2000, 2003, 2004 Free Software Foundation, Inc.
1999, 2000, 2003, 2004, 2007 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@segfault.us.com).
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -18,9 +18,8 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
#include "system.h"

Some files were not shown because too many files have changed in this diff Show More