platform/upstream/gcc.git
17 years agoMakefile.in (PREPROCESSOR_DEFINES): Add directory terminators to PREFIX and STANDARD_...
Richard Sandiford [Wed, 14 Mar 2007 16:06:36 +0000 (16:06 +0000)]
Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators to PREFIX and STANDARD_PREFIX.

gcc/
* Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators
to PREFIX and STANDARD_PREFIX.

From-SVN: r122924

17 years ago200x-xx-xx Richard Sandiford <richard@codesourcery.com> Phil Edwards <phil@codesource...
Richard Sandiford [Wed, 14 Mar 2007 13:58:21 +0000 (13:58 +0000)]
200x-xx-xx Richard Sandiford <richard@codesourcery.com> Phil Edwards <phil@codesourcery.com>

gcc/
200x-xx-xx  Richard Sandiford  <richard@codesourcery.com>
    Phil Edwards  <phil@codesourcery.com>

* gthr-vxworks.h: Add an extern "C" wrapper for C++.
(__gthread_once_t): Remove busy field for RTPs.
(__GTHREAD_ONCE_INIT): Update accordingly.

Co-Authored-By: Phil Edwards <phil@codesourcery.com>
From-SVN: r122923

17 years agoinvoke.texi: Document VxWorks options.
Richard Sandiford [Wed, 14 Mar 2007 13:58:04 +0000 (13:58 +0000)]
invoke.texi: Document VxWorks options.

gcc/
* doc/invoke.texi: Document VxWorks options.

From-SVN: r122922

17 years agotrans-array.c (gfc_trans_auto_array_allocation): Replace fold(convert()) by fold_conv...
Francois-Xavier Coudert [Wed, 14 Mar 2007 13:31:09 +0000 (14:31 +0100)]
trans-array.c (gfc_trans_auto_array_allocation): Replace fold(convert()) by fold_convert().

* trans-array.c (gfc_trans_auto_array_allocation): Replace
fold(convert()) by fold_convert().
(gfc_duplicate_allocatable): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
build_int_cst instead of converting an integer_zero_node
to the final type.

From-SVN: r122921

17 years agoMakefile.am (AM_MAKEFLAGS): Pass through mandir.
Jakub Jelinek [Wed, 14 Mar 2007 12:58:23 +0000 (13:58 +0100)]
Makefile.am (AM_MAKEFLAGS): Pass through mandir.

* Makefile.am (AM_MAKEFLAGS): Pass through mandir.
* Makefile.in: Rebuilt.

From-SVN: r122919

17 years agomodule.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
Jakub Jelinek [Wed, 14 Mar 2007 12:16:24 +0000 (13:16 +0100)]
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: r122915

17 years agounix.c (regular_file): For ACTION_UNSPECIFIED retry with O_RDONLY even if errno is...
Jakub Jelinek [Wed, 14 Mar 2007 12:14:58 +0000 (13:14 +0100)]
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: r122914

17 years agolibstdc++.exp (check_v3_target_fileio, [...]): New.
Nathan Sidwell [Wed, 14 Mar 2007 11:37:55 +0000 (11:37 +0000)]
libstdc++.exp (check_v3_target_fileio, [...]): New.

* testsuite/lib/libstdc++.exp (check_v3_target_fileio,
        check_v3_target_time): New.
* testsuite/lib/dg-options.exp (dg-require-fileio,
        dg-require-time): New.
* testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Use it.
* testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Use it.
* testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Use it.
* testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Use it.
* testsuite/ext/stdio_sync_filebuf/char/1.cc: Use it.
* testsuite/ext/stdio_filebuf/char/2.cc: Use it.
* testsuite/ext/stdio_filebuf/char/10063-1.cc: Use it.
* testsuite/ext/stdio_filebuf/char/10063-2.cc: Use it.
* testsuite/ext/stdio_filebuf/char/10063-3.cc: Use it.
* testsuite/22_locale/time_put/put/char/12439_1.cc: Use it.
* testsuite/22_locale/time_put/put/char/12439_3.cc: Use it.
* testsuite/27_io/basic_ofstream/open/char/1.cc: Use it.
* testsuite/27_io/basic_ofstream/cons/char/2.cc: Use it.
* testsuite/27_io/objects/char/12048-2.cc: Use it.
* testsuite/27_io/objects/char/12048-4.cc: Use it.
* testsuite/27_io/objects/char/12048-1.cc: Use it.
* testsuite/27_io/objects/char/12048-3.cc: Use it.
* testsuite/27_io/objects/char/10.cc: Use it.
* testsuite/27_io/objects/char/12048-5.cc: Use it.
* testsuite/27_io/basic_istream/get/char/2.cc: Use it.
* testsuite/27_io/basic_istream/ignore/char/2.cc: Use it.
* testsuite/27_io/basic_istream/ignore/char/3.cc: Use it.
* testsuite/27_io/basic_istream/getline/char/5.cc: Use it.
* testsuite/27_io/basic_istream/seekg/char/sstream.cc: Use it.
* testsuite/27_io/basic_istream/seekg/char/fstream.cc: Use it.
* testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Use it.
* testsuite/27_io/basic_istream/extractors_other/char/2.cc: Use it.
* testsuite/27_io/basic_istream/tellg/char/sstream.cc: Use it.
* testsuite/27_io/basic_istream/tellg/char/1.cc: Use it.
* testsuite/27_io/basic_istream/tellg/char/fstream.cc: Use it.
* testsuite/27_io/basic_istream/extractors_character/char/4.cc: Use it.
* testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Use it.
* testsuite/27_io/basic_ostream/tellp/char/1.cc: Use it.
* testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Use it.
* testsuite/27_io/basic_ifstream/open/char/1.cc: Use it.
* testsuite/27_io/basic_ifstream/cons/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Use it.
* testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Use it.
* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Use it.
* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Use it.
* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Use it.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Use it.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Use it.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Use it.
* testsuite/27_io/basic_filebuf/is_open/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Use it.
* testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Use it.
* testsuite/27_io/basic_filebuf/open/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/open/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/open/char/2.cc: Use it.
* testsuite/27_io/basic_filebuf/open/char/3.cc: Use it.
* testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Use it.
* testsuite/27_io/basic_filebuf/overflow/char/2.cc: Use it.
* testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Use it.
* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Use it.
* testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Use it.
* testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/close/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/1.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/2.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Use it.
* testsuite/27_io/basic_filebuf/close/char/4.cc: Use it.
* testsuite/27_io/basic_filebuf/underflow/10096.cc: Use it.
* testsuite/27_io/basic_filebuf/underflow/char/2.cc: Use it.
* testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Use it.
* testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Use it.
* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Use it.
* testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Use it.
* testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Use it.
* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Use it.
* testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Use it.
* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Use it.
* testsuite/21_strings/basic_string/inserters_extractors/char/10.cc: Use it.
* testsuite/21_strings/basic_string/inserters_extractors/char/11.cc: Use it.
* testsuite/21_strings/basic_string/inserters_extractors/char/5.cc: Use it.

From-SVN: r122913

17 years agopass59-frag.c (main): Fix casting of arg.
Uros Bizjak [Wed, 14 Mar 2007 07:53:32 +0000 (08:53 +0100)]
pass59-frag.c (main): Fix casting of arg.

        * testsuite/libmudflap.cth/pass59-frag.c (main): Fix casting of arg.

From-SVN: r122911

17 years agoinvoke.texi (i386 and x86-64 Options): Clarify -msahf option.
Uros Bizjak [Wed, 14 Mar 2007 07:47:32 +0000 (08:47 +0100)]
invoke.texi (i386 and x86-64 Options): Clarify -msahf option.

       * doc/invoke.texi (i386 and x86-64 Options): Clarify -msahf option.

From-SVN: r122910

17 years agore PR tree-optimization/30590 (tree-nrv optimization clobbers return variable)
Seongbae Park [Wed, 14 Mar 2007 05:48:35 +0000 (05:48 +0000)]
re PR tree-optimization/30590 (tree-nrv optimization clobbers return variable)

2007-03-13  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: r122909

17 years agoFixed pr-number typo in last ChangeLog entry.
Brooks Moses [Wed, 14 Mar 2007 04:49:11 +0000 (21:49 -0700)]
Fixed pr-number typo in last ChangeLog entry.

From-SVN: r122908

17 years agore PR fortran/30922 (IMPORT fails for same symbol in multiple interface bodies of...
Brooks Moses [Wed, 14 Mar 2007 04:38:47 +0000 (04:38 +0000)]
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: r122905

17 years agore PR fortran/28068 (Non-standard intrinsics should be documented)
Brooks Moses [Wed, 14 Mar 2007 02:43:27 +0000 (02:43 +0000)]
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: r122902

17 years agoflags.h (flag_random_seed): Remove declaration, in favor of...
Alexandre Oliva [Wed, 14 Mar 2007 01:47:33 +0000 (01:47 +0000)]
flags.h (flag_random_seed): Remove declaration, in favor of...

gcc/ChangeLog:
* flags.h (flag_random_seed): Remove declaration, in favor of...
* toplev.h (get_random_seed, set_random_seed): ... these.
* tree.c (get_file_function_name): Use the former.
* opts.c (common_handle_option): Use the latter.
* toplev.c
gcc/cp/ChangeLog:
* cp/repo.c (init_repo): Initialize random_seed saved options.
(finish_repo): Adjust.

From-SVN: r122901

17 years agore PR middle-end/31127 (ICE in cse_find_path, at cse.c:5930)
Alexandre Oliva [Wed, 14 Mar 2007 01:45:39 +0000 (01:45 +0000)]
re PR middle-end/31127 (ICE in cse_find_path, at cse.c:5930)

gcc/ChangeLog:
PR middle-end/31127
* cse.c (cse_find_path): Do not bail out if a basic block that
we already visited now becomes part of a path that starts at a
different basic block.  Just disallow this, to make sure we
visit each basic block at most once.
gcc/testsuite/ChangeLog:
PR middle-end/31127
* gcc.dg/pr31127.c: New.

From-SVN: r122900

17 years agoipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes...
Jan Hubicka [Wed, 14 Mar 2007 01:26:00 +0000 (02:26 +0100)]
ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes...

* ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes,
when profile esitmate is present, calls with very low frequency are
cold.

From-SVN: r122898

17 years agore PR tree-optimization/30730 (-Wunsafe-loop-optimizations gives too many warnings)
Zdenek Dvorak [Wed, 14 Mar 2007 00:38:34 +0000 (00:38 +0000)]
re PR tree-optimization/30730 (-Wunsafe-loop-optimizations gives too many warnings)

PR tree-optimization/30730
PR tree-optimization/26900
* tree-ssa-loop-niter.c: Include gmp.h.
(bounds): New type.
(mpz_set_double_int, get_type_bounds, mpz_to_double_int,
split_to_var_and_offset, determine_value_range,
bound_difference_of_offsetted_base, refine_bounds_using_guard,
bound_difference, bounds_add, bounds_negate,
number_of_iterations_ne_max, dump_affine_iv): New functions.
(number_of_iterations_ne, number_of_iterations_lt_to_ne,
assert_loop_rolls_lt, assert_loop_rolls_le): Use bounds on the
difference of initial and final value of control iv to validate
results.
(number_of_iterations_cond): Add loop parameter.  Determine bounds
on the difference of the extremes of the control iv.  Add dumps.
(expand_simple_operations): Handle phi nodes.
(simplify_using_initial_conditions): Do not record used conditions.
(number_of_iterations_exit): Pass loop to number_of_iterations_cond.
Do not set additional_info.
(implies_nonnegative_p, implies_ge_p): Removed.
(derive_constant_upper_bound): Do not use parameter `additional'.
(record_estimate): Parameter `additional' removed.  Parameter
`i_bound' added.  Do not call derive_constant_upper_bound.
(record_nonwrapping_iv): Use derive_constant_upper_bound to
bound the number of iterations estimate.
(estimate_numbers_of_iterations_loop): Pass the estimate from
the number of iterations analysis to record_estimate.
* tree.h (multiple_of_p): Declare.
* tree-scalar-evolution.c (expression_expensive_p): Removed.
(scev_const_prop): Do not check expression_expensive_p.
* fold-const.c (multiple_of_p): Exported.
* double-int.c (double_int_mask): Exported.
* double-int.h (double_int_mask): Declare.
* tree-flow.h (struct tree_niter_desc): Removed additional_info
field.  Added max field.

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

From-SVN: r122896

17 years agoDaily bump.
GCC Administrator [Wed, 14 Mar 2007 00:17:13 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r122894

17 years agore PR bootstrap/30899 (build failure with --enable-generated-files-in-srcdir)
Mark Mitchell [Tue, 13 Mar 2007 23:51:07 +0000 (23:51 +0000)]
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: r122890

17 years agore PR driver/12448 (-MT / -MQ don't behave as documented.)
David Taylor [Tue, 13 Mar 2007 23:50:42 +0000 (23:50 +0000)]
re PR driver/12448 (-MT / -MQ don't behave as documented.)

2007-03-13  David Taylor  <taylor@candd.org>

PR driver/12448:
* gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass
default -MQ.

From-SVN: r122889

17 years agore PR target/31123 (FAIL: gcc.c-torture/execute/builtin-bitops-1.c compilation, ...
John David Anglin [Tue, 13 Mar 2007 23:23:54 +0000 (23:23 +0000)]
re PR target/31123 (FAIL: gcc.c-torture/execute/builtin-bitops-1.c compilation,  -O3 ...)

PR target/31123
Fix ChangeLog entry.

From-SVN: r122887

17 years agopa.md (vdepi_ior): Don't allow zero length deposit.
John David Anglin [Tue, 13 Mar 2007 23:09:08 +0000 (23:09 +0000)]
pa.md (vdepi_ior): Don't allow zero length deposit.

* pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
two unamed patterns.

From-SVN: r122885

17 years agoi386.opt (mcx16, msahf): New options.
Uros Bizjak [Tue, 13 Mar 2007 21:18:33 +0000 (22:18 +0100)]
i386.opt (mcx16, msahf): New options.

        * config/i386/i386.opt (mcx16, msahf): New options.
        * config/i386/i386.c (x86_cmpxchg16b, x86_sahf): Remove.
        (ix86_tune_features) [X86_TUNE_USE_SAHF]: Enable for m_GENERIC.

        * config/i386/driver-i386.c (bit_LAHF_LM): New define.
        (host_detect_local_cpu): Detect cx16 and lahf_lm cpuid bits.
        Output -mcx16 and -msahf options when corresponding bit is set.

        * doc/invoke.texi (i386 and x86-64 Options): Document -mcx16
        and -msahf options.

testsuite/ChangeLog

        * testsuite/gcc.target/i386/cmpxchg16b-1.c: New test.

From-SVN: r122884

17 years agotuple: Only include <utility> for std::pair, and forward declare reference_wrapper...
Paolo Carlini [Tue, 13 Mar 2007 20:02:59 +0000 (20:02 +0000)]
tuple: Only include <utility> for std::pair, and forward declare reference_wrapper...

2007-03-13  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/tuple: Only include <utility> for std::pair, and
forward declare reference_wrapper; formatting fixes.
* include/tr1/ref_fwd.h: Remove.
* include/tr1/tuple_defs.h: Remove, unused.
* include/Makefile.am: Update.
* include/Makefile.in: Regenerate.
* testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
Include <tr1/functional> too.

* include/tr1/tuple: Define tuple_size<tuple<_Elements...> >::value.

From-SVN: r122883

17 years agojava-interp.h (_Jv_InterpClass): Declare friend function _Jv_GetInterpClassSourceFile.
Keith Seitz [Tue, 13 Mar 2007 19:27:13 +0000 (19:27 +0000)]
java-interp.h (_Jv_InterpClass): Declare friend function _Jv_GetInterpClassSourceFile.

        * include/java-interp.h (_Jv_InterpClass): Declare
        friend function _Jv_GetInterpClassSourceFile.
        * java/lang/Class.h (Class): Likewise.
        * java/lang/natClass.cc (_Jv_GetInterpClassSourceFile):
        New function.
        * gnu/classpath/jdwp/natVMVirtualMachine.cc
        (getSourceFile): Implement.

From-SVN: r122882

17 years agoconfigure.ac: Test for assembler tolerance to # 0 "".
Alexandre Oliva [Tue, 13 Mar 2007 07:19:14 +0000 (07:19 +0000)]
configure.ac: Test for assembler tolerance to # 0 "".

* configure.ac: Test for assembler tolerance to # 0 "".
* configure, config.in: Rebuilt.
* final.c (final_scan_insn): Emit it if HAVE_AS_LINE_ZERO.

From-SVN: r122879

17 years ago* doc/invoke.texi (Spec Files): Update for '%{,' spec.
Geoffrey Keating [Tue, 13 Mar 2007 07:15:51 +0000 (07:15 +0000)]
* doc/invoke.texi (Spec Files): Update for '%{,' spec.

From-SVN: r122878

17 years agodarwin-fallback.c: Compile file only on powerpc.
Geoffrey Keating [Tue, 13 Mar 2007 07:13:16 +0000 (07:13 +0000)]
darwin-fallback.c: Compile file only on powerpc.

* config/rs6000/darwin-fallback.c: Compile file only on powerpc.
(handle_syscall): Handle direct system calls.
* config/rs6000/darwin.h (HAS_MD_FALLBACK_FRAME_STATE_FOR): Delete.

From-SVN: r122877

17 years agoMakefile.am (AM_CXXFLAGS): Define ECJ_JAR_FILE.
Thomas Fitzsimmons [Tue, 13 Mar 2007 05:48:03 +0000 (05:48 +0000)]
Makefile.am (AM_CXXFLAGS): Define ECJ_JAR_FILE.

2007-03-13  Thomas Fitzsimmons  <fitzsim@redhat.com>

        * Makefile.am (AM_CXXFLAGS): Define ECJ_JAR_FILE.
        * classpath/configure.ac: Add --with-ecj-jar configure option.
        * classpath/gnu/classpath/Configuration.java.in (ECJ_JAR): New
        field.
        * classpath/INSTALL: Document --with-ecj-jar configure option and
        ecj jar requirement for com.sun.tools.javac support.
        * classpath/tools/Makefile.am: Build decendents of com and sun
        directories.
        * configure.ac: Substitute ECJ_JAR in stub Configuration.java.
        * gnu/classpath/Configuration.java,
        gnu/classpath/natConfiguration.cc (ecj): New method.
        (ECJ_JAR): New field.
        * scripts/makemake.tcl (scan_packages): Add com directory.
        * sources.am (property_files): Add
        classpath/resource/sun/rmi/rmic/messages.properties and
        classpath/resource/com/sun/tools/javac/messages.properties.
        * classpath/resource/com, classpath/resource/com/sun,
        classpath/resource/com/sun/tools,
        classpath/resource/com/sun/tools/javac, classpath/resource/sun,
        classpath/resource/sun/rmi, classpath/resource/sun/rmi/rmic,
        classpath/tools/classes/com, classpath/tools/classes/com/sun,
        classpath/tools/classes/com/sun/javadoc,
        classpath/tools/classes/com/sun/tools,
        classpath/tools/classes/com/sun/tools/doclets,
        classpath/tools/classes/sun, classpath/tools/classes/sun/rmi,
        classpath/tools/classes/sun/rmi/rmic, classpath/tools/com,
        classpath/tools/com/sun, classpath/tools/com/sun/javadoc,
        classpath/tools/com/sun/tools,
        classpath/tools/com/sun/tools/doclets,
        classpath/tools/com/sun/tools/javac, classpath/tools/sun,
        classpath/tools/sun/rmi, classpath/tools/sun/rmi/rmic: New
        directories.
        * classpath/resource/com/sun/tools/javac/messages.properties,
        classpath/resource/sun/rmi/rmic/messages.properties,
        classpath/tools/classes/com/sun/javadoc/ClassDoc.class,
        classpath/tools/classes/com/sun/javadoc/ConstructorDoc.class,
        classpath/tools/classes/com/sun/javadoc/Doc.class,
        classpath/tools/classes/com/sun/javadoc/DocErrorReporter.class,
        classpath/tools/classes/com/sun/javadoc/Doclet.class,
        classpath/tools/classes/com/sun/javadoc/ExecutableMemberDoc.class,
        classpath/tools/classes/com/sun/javadoc/FieldDoc.class,
        classpath/tools/classes/com/sun/javadoc/MemberDoc.class,
        classpath/tools/classes/com/sun/javadoc/MethodDoc.class,
        classpath/tools/classes/com/sun/javadoc/PackageDoc.class,
        classpath/tools/classes/com/sun/javadoc/ParamTag.class,
        classpath/tools/classes/com/sun/javadoc/Parameter.class,
        classpath/tools/classes/com/sun/javadoc/ProgramElementDoc.class,
        classpath/tools/classes/com/sun/javadoc/RootDoc.class,
        classpath/tools/classes/com/sun/javadoc/SeeTag.class,
        classpath/tools/classes/com/sun/javadoc/SerialFieldTag.class,
        classpath/tools/classes/com/sun/javadoc/SourcePosition.class,
        classpath/tools/classes/com/sun/javadoc/Tag.class,
        classpath/tools/classes/com/sun/javadoc/ThrowsTag.class,
        classpath/tools/classes/com/sun/javadoc/Type.class,
        classpath/tools/classes/com/sun/javadoc/TypeVariable.class,
        classpath/tools/classes/com/sun/tools/doclets/Taglet.class,
        classpath/tools/classes/sun/rmi/rmic/Main.class,
        classpath/tools/classes/sun/rmi/rmic/Messages.class,
        classpath/tools/com/sun/javadoc/ClassDoc.java,
        classpath/tools/com/sun/javadoc/ConstructorDoc.java,
        classpath/tools/com/sun/javadoc/Doc.java,
        classpath/tools/com/sun/javadoc/DocErrorReporter.java,
        classpath/tools/com/sun/javadoc/Doclet.java,
        classpath/tools/com/sun/javadoc/ExecutableMemberDoc.java,
        classpath/tools/com/sun/javadoc/FieldDoc.java,
        classpath/tools/com/sun/javadoc/MemberDoc.java,
        classpath/tools/com/sun/javadoc/MethodDoc.java,
        classpath/tools/com/sun/javadoc/PackageDoc.java,
        classpath/tools/com/sun/javadoc/ParamTag.java,
        classpath/tools/com/sun/javadoc/Parameter.java,
        classpath/tools/com/sun/javadoc/ProgramElementDoc.java,
        classpath/tools/com/sun/javadoc/RootDoc.java,
        classpath/tools/com/sun/javadoc/SeeTag.java,
        classpath/tools/com/sun/javadoc/SerialFieldTag.java,
        classpath/tools/com/sun/javadoc/SourcePosition.java,
        classpath/tools/com/sun/javadoc/Tag.java,
        classpath/tools/com/sun/javadoc/ThrowsTag.java,
        classpath/tools/com/sun/javadoc/Type.java,
        classpath/tools/com/sun/javadoc/TypeVariable.java,
        classpath/tools/com/sun/tools/doclets/Taglet.java,
        classpath/tools/com/sun/tools/javac/Main.java,
        classpath/tools/com/sun/tools/javac/Messages.java,
        classpath/tools/sun/rmi/rmic/Main.java,
        classpath/tools/sun/rmi/rmic/Messages.java: New files.
        * Makefile.in, classpath/Makefile.in, classpath/configure,
        classpath/doc/Makefile.in, classpath/doc/api/Makefile.in,
        classpath/examples/Makefile.in, classpath/external/Makefile.in,
        classpath/external/jsr166/Makefile.in,
        classpath/external/relaxngDatatype/Makefile.in,
        classpath/external/sax/Makefile.in,
        classpath/external/w3c_dom/Makefile.in,
        classpath/include/Makefile.in, classpath/include/config.h.in,
        classpath/lib/Makefile.in,
        classpath/lib/gnu/classpath/Configuration.class,
        classpath/native/Makefile.in, classpath/native/fdlibm/Makefile.in,
        classpath/native/jawt/Makefile.in,
        classpath/native/jni/Makefile.in,
        classpath/native/jni/classpath/Makefile.in,
        classpath/native/jni/gconf-peer/Makefile.in,
        classpath/native/jni/gtk-peer/Makefile.in,
        classpath/native/jni/java-io/Makefile.in,
        classpath/native/jni/java-lang/Makefile.in,
        classpath/native/jni/java-net/Makefile.in,
        classpath/native/jni/java-nio/Makefile.in,
        classpath/native/jni/java-util/Makefile.in,
        classpath/native/jni/midi-alsa/Makefile.in,
        classpath/native/jni/midi-dssi/Makefile.in,
        classpath/native/jni/native-lib/Makefile.in,
        classpath/native/jni/qt-peer/Makefile.in,
        classpath/native/jni/xmlj/Makefile.in,
        classpath/native/plugin/Makefile.in,
        classpath/resource/Makefile.in, classpath/scripts/Makefile.in,
        classpath/tools/Makefile.in, configure,
        gnu/classpath/Configuration.h: Regenerate.

From-SVN: r122876

17 years agoDaily bump.
GCC Administrator [Tue, 13 Mar 2007 00:17:33 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r122874

17 years agoc90-vla-1.c: Reflect the change of the error message.
Seongbae Park [Mon, 12 Mar 2007 22:37:51 +0000 (22:37 +0000)]
c90-vla-1.c: Reflect the change of the error message.

2007-03-12  Seongbae Park <seongbae.park@gmail.com>

* gcc.dg/c90-vla-1.c: Reflect the change of the error message.
* gcc.dg/c99-vla-1.c: Likewise.
* g++.dg/ext/vla1.C: Likewise

From-SVN: r122871

17 years agoinvoke.texi: Fix cpp.info cross-reference.
Brooks Moses [Mon, 12 Mar 2007 22:05:07 +0000 (22:05 +0000)]
invoke.texi: Fix cpp.info cross-reference.

* doc/invoke.texi: Fix cpp.info cross-reference.
* doc/passes.texi: Fix gcc.info cross-reference.

From-SVN: r122869

17 years agoregex: Add "boilerplate" implementations.
Stephen M. Webb [Mon, 12 Mar 2007 21:57:51 +0000 (21:57 +0000)]
regex: Add "boilerplate" implementations.

2007-03-12  Stephen M. Webb  <stephen.webb@bregmasoft.com>

* include/tr1/regex: Add "boilerplate" implementations.
* testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
translate_nocase.cc: New.
* testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
ctor.cc: Likewise.
* testsuite/tr1/7_regular_expressions/regex_traits/char/
translate_nocase.cc: Likewise.
* testsuite/tr1/7_regular_expressions/regex_traits/char/
ctor.cc: Likewise.
* testsuite/tr1/7_regular_expressions/regex/cons/char/
c_string_ecma.cc: Likewise.
* testsuite/tr1/7_regular_expressions/regex/cons/char/
default.cc: Likewise.
* testsuite/tr1/7_regular_expressions/regex/cons/char/
c_string_grep.cc: Likewise.
* testsuite/tr1/7_regular_expressions/regex/cons/char/
c_string_extended.cc: Likewise.
* testsuite/tr1/7_regular_expressions/regex/cons/char/
c_string_basic.cc: Likewise.
* testsuite/tr1/7_regular_expressions/regex/cons/char/
c_string_awk.cc: Likewise.
* testsuite/tr1/7_regular_expressions/regex/cons/char/
c_string_egrep.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
range.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
string_op.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
string.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
pstring.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
cstring_op.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
cstring.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
range.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
string_op.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
string.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
pstring.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
cstring_op.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
cstring.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
range.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
default.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
string.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
pstring.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
cstring.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
range.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
default.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
string.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
pstring.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
cstring.cc: Likewise.
* testsuite/tr1/7_regular_expressions/match_results/ctors/char/
default.cc: Likewise.

From-SVN: r122867

17 years agore PR middle-end/30835 (ICE with -O2 -ftree-loop-linear)
Zdenek Dvorak [Mon, 12 Mar 2007 21:56:12 +0000 (21:56 +0000)]
re PR middle-end/30835 (ICE with -O2 -ftree-loop-linear)

PR tree-optimization/30835
* lambda-code.c (can_convert_to_perfect_nest): Check whether
bb_for_stmt is not NULL before accessing it.

From-SVN: r122866

17 years agogcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for some multilibs.
Joseph Myers [Mon, 12 Mar 2007 21:32:41 +0000 (21:32 +0000)]
gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for some multilibs.

* gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for
some multilibs.

From-SVN: r122865

17 years agojvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count as a sigle slot.
Kyle Galloway [Mon, 12 Mar 2007 20:15:25 +0000 (20:15 +0000)]
jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count as a sigle slot.

2007-03-12  Kyle Galloway  <kgallowa@redhat.com>

* jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count
as a sigle slot.

From-SVN: r122864

17 years agojvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count as a sigle slot.
Kyle Galloway [Mon, 12 Mar 2007 20:12:47 +0000 (20:12 +0000)]
jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count as a sigle slot.

2007-03-12  Kyle Galloway  <kgallowa@redhat.com>

* jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count
as a sigle slot.

From-SVN: r122863

17 years agore PR bootstrap/30635 (--enable-stage1-langauges configure option is not documented.)
Brooks Moses [Mon, 12 Mar 2007 20:03:33 +0000 (20:03 +0000)]
re PR bootstrap/30635 (--enable-stage1-langauges configure option is not documented.)

PR 30635
* doc/install.texi: Document --enable-stage1-languages

From-SVN: r122861

17 years agonatString.cc (getBytes (jstring enc)): Fixed the loop for multiple cycles, Code cleanup
Marco Trudel [Mon, 12 Mar 2007 19:48:32 +0000 (20:48 +0100)]
natString.cc (getBytes (jstring enc)): Fixed the loop for multiple cycles, Code cleanup

2007-03-12  Marco Trudel  <mtrudel@gmx.ch>

* java/lang/natString.cc (getBytes (jstring enc)):
Fixed the loop for multiple cycles, Code cleanup

From-SVN: r122859

17 years agotree-pass.h (pass_into_cfg_layout_mode, [...]): Declare.
Steven Bosscher [Mon, 12 Mar 2007 19:38:06 +0000 (19:38 +0000)]
tree-pass.h (pass_into_cfg_layout_mode, [...]): Declare.

* tree-pass.h (pass_into_cfg_layout_mode,
pass_outof_cfg_layout_mode): Declare.
* cfglayout.c (into_cfg_layout_mode, outof_cfg_layout_mode,
pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode): New.
* passes.c (pass_into_cfg_layout_mode): Schedule before jump2.
(pass_outof_cfg_layout_mode): Schedule after pass_rtl_ifcvt.

From-SVN: r122858

17 years agoFixed erroneous ChangeLog and gcc/ChangeLog entries.
Brooks Moses [Mon, 12 Mar 2007 19:00:28 +0000 (12:00 -0700)]
Fixed erroneous ChangeLog and gcc/ChangeLog entries.

From-SVN: r122856

17 years agoMakefile.in: Add dummy "install-info" target.
Brooks Moses [Mon, 12 Mar 2007 18:58:12 +0000 (18:58 +0000)]
Makefile.in: Add dummy "install-info" target.

fixincludes/
* Makefile.in: Add dummy "install-info" target.
<toplevel>
* Makefile.def (fixincludes): Remove unneeded "missing" lines.
* Makefile.in: Regenerate

From-SVN: r122855

17 years agoinvoke.texi (Wvla): New warning.
Seongbae Park [Mon, 12 Mar 2007 18:31:39 +0000 (18:31 +0000)]
invoke.texi (Wvla): New warning.

ChangeLog:

2007-03-12  Seongbae Park <seongbae.park@gmail.com>

* gcc/doc/invoke.texi (Wvla): New warning.

gcc/ChangeLog:

2007-03-12  Seongbae Park <seongbae.park@gmail.com>

* c-decl.c (warn_variable_length_array): New function.
Refactored from grokdeclarator to handle warn_vla
and handle unnamed array case.
(grokdeclarator): Refactored VLA warning case.
* c.opt (Wvla): New flag.

gcc/cp/ChangeLog:

2007-03-12  Seongbae Park <seongbae.park@gmail.com>

* decl.c (compute_array_index_type): New warning flag warn_vla.

gcc/testsuite/ChangeLog:

2007-03-12  Seongbae Park <seongbae.park@gmail.com>

  * gcc.dg/wvla-1.c: New test
  * gcc.dg/wvla-2.c: New test
  * gcc.dg/wvla-3.c: New test
  * gcc.dg/wvla-4.c: New test
  * gcc.dg/wvla-5.c: New test
  * gcc.dg/wvla-6.c: New test
  * gcc.dg/wvla-7.c: New test
* g++.dg/warn/Wvla-1.C: New test
* g++.dg/warn/Wvla-2.C: New test
* g++.dg/warn/Wvla-3.C: New test

From-SVN: r122851

17 years agoalpha.c (alpha_elf_section_type_flags): New.
Richard Henderson [Mon, 12 Mar 2007 18:15:51 +0000 (11:15 -0700)]
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: r122850

17 years agodarwin.c (machopic_reloc_rw_mask): New.
Richard Henderson [Mon, 12 Mar 2007 17:00:11 +0000 (10:00 -0700)]
darwin.c (machopic_reloc_rw_mask): New.

        * config/darwin.c (machopic_reloc_rw_mask): New.
        * config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
        * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.

From-SVN: r122846

17 years agore PR c++/30108 (internal compiler error: in make_decl_rtl, at varasm.c:890)
Mark Mitchell [Mon, 12 Mar 2007 16:24:18 +0000 (16:24 +0000)]
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: r122844

17 years agocppdefault.c (cpp_EXEC_PREFIX): New variable.
Mark Mitchell [Mon, 12 Mar 2007 15:59:06 +0000 (15:59 +0000)]
cppdefault.c (cpp_EXEC_PREFIX): New variable.

* cppdefault.c (cpp_EXEC_PREFIX): New variable.
* cppdefault.h (cpp_PREFIX): Document.
(cpp_PREFIX_len): Likewise.
(cpp_EXEC_PREFIX): New variable.
* Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX.
* c-incpath.c (add_standard_paths): Correct logic for relocating
paths within prefix.

From-SVN: r122843

17 years agostl_algo.h (swap_ranges): Move...
Paolo Carlini [Mon, 12 Mar 2007 13:59:50 +0000 (13:59 +0000)]
stl_algo.h (swap_ranges): Move...

2007-03-12  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algo.h (swap_ranges): Move...
* include/bits/stl_algobase.h: ... here.
* include/tr1/array: Trim includes, stl_algobase.h is enough.

From-SVN: r122840

17 years agoi386.md (fixuns_trunc<mode>hi2): Implement from fixuns_truncsfhi2 and fixuns_truncdfh...
Uros Bizjak [Mon, 12 Mar 2007 11:32:13 +0000 (12:32 +0100)]
i386.md (fixuns_trunc<mode>hi2): Implement from fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF mode macro.

* config/i386/i386.md (fixuns_trunc<mode>hi2): Implement from
fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF
mode macro.
(fix_trunc<mode>di_sse): Implement from fix_truncsfdi_sse and
fix_truncdfdi_sse using SSEMODEF mode macro.
(fix_trunc<mode>si_sse): Implement from fix_truncsfsi_sse and
fix_truncdfsi_sse using SSEMODEF mode macro.
(fix_trunc?f?i_sse peephole2): Implement using SSEMODEF mode macro.
(fix_trunc?f?i_sse K8 peephole2): Fix register constraint.

From-SVN: r122839

17 years agotarget-supports.exp (check_profiling_available): Return false for VxWorks.
Richard Sandiford [Mon, 12 Mar 2007 10:44:52 +0000 (10:44 +0000)]
target-supports.exp (check_profiling_available): Return false for VxWorks.

gcc/testsuite/
* lib/target-supports.exp (check_profiling_available): Return false
for VxWorks.
(check_effective_target_vxworks_kernel): New procedure.
* gcc.dg/20040813-1.c: Extend list of stabless targets to include
VxWorks.
* gcc.dg/builtins-config.h: Do not define HAVE_C99_RUNTIME on VxWorks.
* gcc.dg/intmax_t-1.c: Extend the list of targets without inttypes.h
to include VxWorks.
* gcc.dg/vxworks/initpri2.c: Require vxworks_kernel.

From-SVN: r122838

17 years agoconfig.gcc (i[4567]86-wrs-vxworks, [...]): Add elfos.h to tm_file.
Richard Sandiford [Mon, 12 Mar 2007 09:58:50 +0000 (09:58 +0000)]
config.gcc (i[4567]86-wrs-vxworks, [...]): Add elfos.h to tm_file.

gcc/
* config.gcc (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add
elfos.h to tm_file.

From-SVN: r122837

17 years ago981006-1.c: Use the non-PIC options if PIC is not supported.
Richard Sandiford [Mon, 12 Mar 2007 08:59:07 +0000 (08:59 +0000)]
981006-1.c: Use the non-PIC options if PIC is not supported.

gcc/testsuite/
* gcc.c-torture/compile/981006-1.c: Use the non-PIC options if
PIC is not supported.
* gcc.dg/20020103-1.c: Add dg-require-effective-target fpic.
* gcc.dg/20020426-2.c: Likewise.
* gcc.dg/pr28243.c: Likewise.
* gcc.dg/visibility-11.c: Likewise.
* gcc.dg/tls/opt-9.c: Likewise.
* gcc.dg/tls/opt-10.c: Likewise.
* gcc.dg/tls/pic-1.c: Likewise.
* gcc.dg/tls/struct-1.c: Likewise.
* gcc.target/i386/20000807-1.c: Likewise.
* gcc.target/i386/20000904-1.c: Likewise.
* gcc.target/i386/20011119-1.c: Likewise.
* gcc.target/i386/990213-2.c: Likewise.
* gcc.target/i386/990214-1.c: Likewise.
* gcc.target/i386/compress-float-387-pic.c: Likewise.
* gcc.target/i386/compress-float-sse-pic.c: Likewise.
* gcc.target/i386/pic-1.c: Likewise.
* gcc.target/i386/pr21518.c: Likewise.
* gcc.target/i386/pr23098.c: Likewise.
* gcc.target/i386/pr23943.c: Likewise.

From-SVN: r122836

17 years agoipa-type-escape improvements
Olga Golovanevsky [Mon, 12 Mar 2007 08:44:48 +0000 (08:44 +0000)]
ipa-type-escape improvements

From-SVN: r122835

17 years ago* Makefile.in (install-info): New dummy target.
Brooks Moses [Mon, 12 Mar 2007 06:13:30 +0000 (06:13 +0000)]
* Makefile.in (install-info): New dummy target.

From-SVN: r122832

17 years agore PR c++/30328 (bit-field: unassemblable assembly code)
Mark Mitchell [Mon, 12 Mar 2007 00:26:39 +0000 (00:26 +0000)]
re PR c++/30328 (bit-field: unassemblable assembly code)

PR c++/30328
* semantics.c (finish_typeof): Use unlowered_expr_type.

PR c++/30328
* g++.dg/ext/bitfield1.C: New test.

PR c++/31038
* parser.c (cp_parser_postfix_expression): Disallow compound
literals in constant expressions.

PR c++/31038
* g++.dg/template/complit2.C: New test.

From-SVN: r122829

17 years agoDaily bump.
GCC Administrator [Mon, 12 Mar 2007 00:17:17 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r122827

17 years agore PR fortran/30883 ([4.1/4.2 only] procedure with dummy procedure f1 rejected with...
Paul Thomas [Sun, 11 Mar 2007 16:17:32 +0000 (16:17 +0000)]
re PR fortran/30883 ([4.1/4.2 only] procedure with dummy procedure f1  rejected with implicit none)

2007-03-11  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30883
* parse.c (parse_interface): Use the default types from the
formal namespace if a function or its result do not have a type
after parsing the specification statements.

2007-03-11  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/30883
* gfortran.dg/interface_11.f90: New test.

From-SVN: r122822

17 years agore PR middle-end/31115 (libstdc++ 22_locale/num_get/get/char/2.cc 27_io/basic_ostream...
Richard Guenther [Sun, 11 Mar 2007 16:08:35 +0000 (16:08 +0000)]
re PR middle-end/31115 (libstdc++ 22_locale/num_get/get/char/2.cc 27_io/basic_ostream/inserters_arithmetic/char/6.cc)

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

PR tree-optimization/31115
* tree-vrp.c (extract_range_from_binary_expr): Make sure
the shift count is positive and non-anti-range for RSHIFT_EXPR.
A shift count of zero is not special as with *_DIV_EXPR.
(vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow
direction.

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

From-SVN: r122821

17 years agotree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and the *_DIV_EXPR codes correctly...
Ian Lance Taylor [Sun, 11 Mar 2007 15:53:30 +0000 (15:53 +0000)]
tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and the *_DIV_EXPR codes correctly with overflow infinities.

* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
the *_DIV_EXPR codes correctly with overflow infinities.

From-SVN: r122820

17 years agoPR libstdc++/28080 (final)
Paolo Carlini [Sun, 11 Mar 2007 12:03:34 +0000 (12:03 +0000)]
PR libstdc++/28080 (final)

2007-03-11  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/28080 (final)
* include/std/iosfwd: Do not include <bits/c++io.h>.
* config/io/basic_file_stdio.h: Do it here.
* include/ext/stdio_sync_filebuf.h: Likewise.
* include/ext/rope: Include <bits/gthr.h> unconditionally.
* include/std/fstream: Do not include <bits/gthr.h>.

* include/std/ios: Do not include <cstdio>.
* include/bits/ios_base.h: Do it here.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
line numbers.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.

From-SVN: r122818

17 years agotree-data-ref.c (analyze_offset): Add a return value (bool) to indicate success/failu...
Ira Rosen [Sun, 11 Mar 2007 11:13:34 +0000 (11:13 +0000)]
tree-data-ref.c (analyze_offset): Add a return value (bool) to indicate success/failure of the analysis.

* 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: r122817

17 years ago* Fix a typo in my previous commit.
Uros Bizjak [Sun, 11 Mar 2007 10:36:36 +0000 (11:36 +0100)]
* Fix a typo in my previous commit.

From-SVN: r122816

17 years agoi386.md (frndintxf2): Rename to ...
Uros Bizjak [Sun, 11 Mar 2007 10:27:30 +0000 (11:27 +0100)]
i386.md (frndintxf2): Rename to ...

        * config/i386/i386.md (frndintxf2): Rename to ...
        (rintxf2): ... this. Remove expander having same name.
        (rintsf2, rintdf2): Implement using SSEMODEF macro.
        (roundsf2, rounddf2): Ditto.
        (lrint<mode>di2, lrint<mode>si2): Implement using SSEMODEI24 macro.
        (lround<mode>di2, lround<mode>si2): Ditto.

From-SVN: r122815

17 years agore PR c++/30274 (bool bit-field: wrong increment and decremenet)
Mark Mitchell [Sun, 11 Mar 2007 03:07:59 +0000 (03:07 +0000)]
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: r122813

17 years agoDaily bump.
GCC Administrator [Sun, 11 Mar 2007 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r122810

17 years agolower-subreg.c: Include except.h.
Steven Bosscher [Sat, 10 Mar 2007 23:33:40 +0000 (23:33 +0000)]
lower-subreg.c: Include except.h.

* lower-subreg.c: Include except.h.
(decompose_multiword_subregs): Verify that the only control flow
insns we can split are loads to multi-words pseudos.
Handle breaking such blocks after splitting, instead of calling
find_many_sub_basic_blocks.

* loop-unroll.c (split_edge_and_insert): Don't set BB_SUPERBLOCK
on the new basic block.  Add a lengthy comment explaining why we
thought this was necessary.
* cfglayout.c (cfg_layout_finalize): Don't break superblocks.

From-SVN: r122807

17 years agoPR libstdc++/28080 (partial)
Paolo Carlini [Sat, 10 Mar 2007 20:29:45 +0000 (20:29 +0000)]
PR libstdc++/28080 (partial)

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

PR libstdc++/28080 (partial)
* include/std/memory: Move C++03 implementation...
* include/bits/stl_memory.h: ... here, new.
* include/Makefile.am: Add.
* include/bits/stl_tempbuf.h: Include the latter instead.
* include/tr1/hashtable: Include allocator.h instead of
the whole <memory>.
* include/tr1/hashtable_policy.h: Include stl_function.h
instead of <functional>.
* include/Makefile.in: Regenerate.
* testsuite/20_util/auto_ptr/assign_neg.cc: Adjust dg-error
line numbers.

From-SVN: r122805

17 years agoFix PR number.
Mark Mitchell [Sat, 10 Mar 2007 19:48:44 +0000 (19:48 +0000)]
Fix PR number.

From-SVN: r122804

17 years agore PR target/20924 (inline float divide does not set correct fpu status flags)
Mark Mitchell [Sat, 10 Mar 2007 19:35:03 +0000 (19:35 +0000)]
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: r122801

17 years agoc-common.c (warn_logical_operator): Fix condition.
Dirk Mueller [Sat, 10 Mar 2007 18:49:28 +0000 (18:49 +0000)]
c-common.c (warn_logical_operator): Fix condition.

2007-03-10  Dirk Mueller  <dmueller@suse.de>

       * c-common.c (warn_logical_operator): Fix condition.

From-SVN: r122800

17 years agoWlogical-op-1.c: Remove duplicated part.
Dirk Mueller [Sat, 10 Mar 2007 17:38:42 +0000 (17:38 +0000)]
Wlogical-op-1.c: Remove duplicated part.

2007-03-10  Dirk Mueller  <dmueller@suse.de>

       * gcc.dg/Wlogical-op-1.c: Remove duplicated part.
       * g++.dg/warn/Wlogical-op-1.C: Remove duplicated part.

From-SVN: r122799

17 years agore PR c/17946 (wanted: warning for "a && MASK" when "a & MASK" was probably intended)
Dirk Mueller [Sat, 10 Mar 2007 17:26:33 +0000 (17:26 +0000)]
re PR c/17946 (wanted: warning for "a && MASK" when "a & MASK" was probably intended)

2007-03-10  Dirk Mueller  <dmueller@suse.de>

       PR c++/17946
       * gcc.dg/Wlogical-op-1.c: Remove duplicated part.
       * g++.dg/warn/Wlogical-op-1.C: Remove duplicated part.

From-SVN: r122798

17 years agoFix typo in ChangeLog entry
Tobias Schlüter [Sat, 10 Mar 2007 17:07:41 +0000 (18:07 +0100)]
Fix typo in ChangeLog entry

From-SVN: r122797

17 years agodarwin.h (DARWIN_MINVERSION_SPEC): Add missing quotation mark.
Tobias Schlüter [Sat, 10 Mar 2007 17:06:19 +0000 (18:06 +0100)]
darwin.h (DARWIN_MINVERSION_SPEC): Add missing quotation mark.

* config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing
quotation mark.
* config/i386/darwin.c (machopic_select_section): Remove
superfluous argument in call to categorize_decl_for_section.
Remove unused variable shlib.

From-SVN: r122796

17 years agoconfigure.ac (glibc_header_dir): Set using with_build_sysroot if defined.
Joseph Myers [Sat, 10 Mar 2007 16:43:55 +0000 (16:43 +0000)]
configure.ac (glibc_header_dir): Set using with_build_sysroot if defined.

* configure.ac (glibc_header_dir): Set using with_build_sysroot if
defined.
* configure: Regenerate.

From-SVN: r122795

17 years agoi386.md (UNSPEC_C2_FLAG): New constant.
Uros Bizjak [Sat, 10 Mar 2007 12:52:52 +0000 (13:52 +0100)]
i386.md (UNSPEC_C2_FLAG): New constant.

        * config/i386/i386.md (UNSPEC_C2_FLAG): New constant.
        (fpremxf4_i387, fprem1xf4_i387): Use UNSPEC_C2_FLAG.
        (fmodxf3, fmod<mode>3, remainderxf3, remainder<mode>3):
        Add LABEL_NUSES to emmitted label.
        * config/i386/i386.c (ix86_emit_fp_unordered_jump): Add
        branch probability value to emmitted jump insn.
        * reg-stack.c (subst_stack_regs_pat)[UNSPEC]: Handle UNSPEC_C2_FLAG.
        Do not check life information and do not re-arrange input operands
        for UNSPEC_FSCALE_EXP, UNSPEC_FPREM_U and UNSPEC_FPREM1_U.

From-SVN: r122793

17 years agosh.c (sh_insn_length_adjustment): Adjust for the change of decode_asm_operands.
Kaz Kojima [Sat, 10 Mar 2007 06:57:16 +0000 (06:57 +0000)]
sh.c (sh_insn_length_adjustment): Adjust for the change of decode_asm_operands.

* config/sh/sh.c (sh_insn_length_adjustment): Adjust for
the change of decode_asm_operands.

From-SVN: r122792

17 years agomode-switching.c (create_pre_exit): Skip blockage insn.
Kaz Kojima [Sat, 10 Mar 2007 05:04:10 +0000 (05:04 +0000)]
mode-switching.c (create_pre_exit): Skip blockage insn.

* mode-switching.c (create_pre_exit): Skip blockage insn.

From-SVN: r122791

17 years agoMakefile.in: Regenerate.
Douglas Gregor [Sat, 10 Mar 2007 02:04:13 +0000 (02:04 +0000)]
Makefile.in: Regenerate.

2007-03-09  Douglas Gregor  <doug.gregor@gmail.com>

* include/Makefile.in: Regenerate.
* include/tr1/mu_iterate.h: Remove.
* include/tr1/tuple (_Tuple_impl): New.
(tuple): Make variadic, re-implement as shell over _Tuple_impl.
(0-element tuple): Basis case.
(2-element tuple): Handle pair methods.
(__get_helper): Remove.
(tuple_element): Reimplement with variadic templates.
(tuple_size): Ditto.
(get): Ditto.
(operator==): Use variadic templates in the signature.
(operator<): Ditto.
(operator!=): Ditto.
(operator>): Ditto.
(operator<=): Ditto.
(operator>=): Ditto.
(__stripped_tuple_type): Remove; we've inlined its behavior.
(make_tuple): Reimplement with variadic templates.
(tie): Ditto.
* include/tr1/tuple_iterate.h: Remove.
* include/tr1/bind_repeat.h: Remove.
* include/tr1/ref_wrap_iterate.h: Remove.
* include/tr1/bind_iterate.h: Remove.
* include/tr1/functional (_Weak_result_type): Add variadic
partial specializations.
(result_of): Ditto.
(__invoke): Reimplement using variadic templates.
(reference_wrapper): Reimplement operator() with variadic
templates.
(_Maybe_unary_or_binary_function): New.
(_Mem_fn): Implement for member function pointers using variadic
templates.
(placeholders): Define 30 placeholders.
(_Index_tuple): New.
(_Build_index_tuple): New.
(_No_tuple_element): New.
(_Safe_tuple_element_impl): New.
(_Safe_tuple_element): New.
(_Mu): Reimplement with variadic templates, use
_Safe_tuple_element instead of tuple_element.
(_Bind): Reimplement with variadic templates and tuples.
(_Bind_result): Ditto.
(bind): Reimplement with variadic templates.
(_Function_handler): Ditto.
(function): Ditto.
* include/tr1/functional_iterate.h: Remove.
* include/tr1/repeat.h: Remove.
* include/Makefile.am: Don't install removed headers.

From-SVN: r122790

17 years agore PR c++/20599 (variadic template support)
Douglas Gregor [Sat, 10 Mar 2007 02:01:49 +0000 (02:01 +0000)]
re PR c++/20599 (variadic template support)

2007-03-09  Douglas Gregor  <doug.gregor@gmail.com>

PR c++/20599
* g++.dg/cpp0x/variadic-bind.C: New.
* g++.dg/cpp0x/variadic-function.C: New.
* g++.dg/cpp0x/variadic-mem_fn.C: New.
* g++.dg/cpp0x/variadic-tuple.C: New.
* g++.dg/cpp0x/variadic1.C: New.
* g++.dg/cpp0x/variadic2.C: New.
* g++.dg/cpp0x/variadic3.C: New.
* g++.dg/cpp0x/variadic4.C: New.
* g++.dg/cpp0x/variadic5.C: New.
* g++.dg/cpp0x/variadic6.C: New.
* g++.dg/cpp0x/variadic7.C: New.
* g++.dg/cpp0x/variadic8.C: New.
* g++.dg/cpp0x/variadic9.C: New.
* g++.dg/cpp0x/variadic10.C: New.
* g++.dg/cpp0x/variadic11.C: New.
* g++.dg/cpp0x/variadic12.C: New.
* g++.dg/cpp0x/variadic13.C: New.
* g++.dg/cpp0x/variadic14.C: New.
* g++.dg/cpp0x/variadic15.C: New.
* g++.dg/cpp0x/variadic16.C: New.
* g++.dg/cpp0x/variadic17.C: New.
* g++.dg/cpp0x/variadic18.C: New.
* g++.dg/cpp0x/variadic19.C: New.
* g++.dg/cpp0x/variadic20.C: New.
* g++.dg/cpp0x/variadic21.C: New.
* g++.dg/cpp0x/variadic22.C: New.
* g++.dg/cpp0x/variadic23.C: New.
* g++.dg/cpp0x/variadic24.C: New.
* g++.dg/cpp0x/variadic25.C: New.
* g++.dg/cpp0x/variadic26.C: New.
* g++.dg/cpp0x/variadic27.C: New.
* g++.dg/cpp0x/variadic28.C: New.
* g++.dg/cpp0x/variadic29.C: New.
* g++.dg/cpp0x/variadic30.C: New.
* g++.dg/cpp0x/variadic31.C: New.
* g++.dg/cpp0x/variadic32.C: New.
* g++.dg/cpp0x/variadic33.C: New.
* g++.dg/cpp0x/variadic34.C: New.
* g++.dg/cpp0x/variadic35.C: New.
* g++.dg/cpp0x/variadic36.C: New.
* g++.dg/cpp0x/variadic37.C: New.
* g++.dg/cpp0x/variadic38.C: New.
* g++.dg/cpp0x/variadic39.C: New.
* g++.dg/cpp0x/variadic40.C: New.
* g++.dg/cpp0x/variadic41.C: New.
* g++.dg/cpp0x/variadic42.C: New.
* g++.dg/cpp0x/variadic43.C: New.
* g++.dg/cpp0x/variadic44.C: New.
* g++.dg/cpp0x/variadic45.C: New.
* g++.dg/cpp0x/variadic46.C: New.
* g++.dg/cpp0x/variadic47.C: New.
* g++.dg/cpp0x/variadic48.C: New.
* g++.dg/cpp0x/variadic49.C: New.
* g++.dg/cpp0x/variadic50.C: New.
* g++.dg/cpp0x/variadic51.C: New.
* g++.dg/cpp0x/variadic52.C: New.
* g++.dg/cpp0x/variadic53.C: New.
* g++.dg/cpp0x/variadic54.C: New.
* g++.dg/cpp0x/variadic55.C: New.
* g++.dg/cpp0x/variadic56.C: New.
* g++.dg/cpp0x/variadic57.C: New.
* g++.dg/cpp0x/variadic58.C: New.
* g++.dg/cpp0x/variadic59.C: New.
        * g++.dg/cpp0x/variadic60.C : New.
        * g++.dg/cpp0x/variadic61.C : New.
        * g++.dg/cpp0x/variadic62.C : New.
        * g++.dg/cpp0x/variadic63.C : New.
        * g++.dg/cpp0x/variadic64.C : New.
        * g++.dg/cpp0x/variadic65.C : New.
        * g++.dg/cpp0x/variadic66.C : New.
        * g++.dg/cpp0x/variadic67.C : New.
        * g++.dg/cpp0x/variadic68.C : New.
        * g++.dg/cpp0x/variadic69.C : New.
* g++.dg/cpp0x/variadic70.C : New.
* g++.dg/cpp0x/variadic71.C : New.
* g++.dg/cpp0x/variadic72.C : New.
* g++.dg/cpp0x/variadic73.C : New.
* g++.dg/cpp0x/variadic74.C : New.
* g++.dg/cpp0x/variadic75.C : New.
* g++.dg/cpp0x/variadic-ex1.C : New.
* g++.dg/cpp0x/variadic-ex2.C : New.
* g++.dg/cpp0x/variadic-ex3.C : New.
* g++.dg/cpp0x/variadic-ex4.C : New.
* g++.dg/cpp0x/variadic-ex5.C : New.
* g++.dg/cpp0x/variadic-ex6.C : New.
* g++.dg/cpp0x/variadic-ex7.C : New.
* g++.dg/cpp0x/variadic-ex8.C : New.
* g++.dg/cpp0x/variadic-ex9.C : New.
* g++.dg/cpp0x/variadic-ex10.C : New.
* g++.dg/cpp0x/variadic-ex11.C : New.
* g++.dg/cpp0x/variadic-ex12.C : New.
* g++.dg/cpp0x/variadic-ex13.C : New.
* g++.dg/cpp0x/variadic-ex14.C : New.

From-SVN: r122789

17 years agore PR c++/20599 (variadic template support)
Douglas Gregor [Sat, 10 Mar 2007 01:58:58 +0000 (01:58 +0000)]
re PR c++/20599 (variadic template support)

2007-03-09  Douglas Gregor  <doug.gregor@gmail.com>

PR c++/20599
* typeck.c (check_return_expr): Check for bare parameter packs.
(comptypes): Compare template parameter packs and
type pack expansions.
* decl.c (grokdeclarator): Deal with the declaration of function
parameter packs.
(grokparms): Verify that the (optional) function parameter pack is
at the end of the parameter list.
(xref_basetypes): Handle pack expansions in the base class.
(cp_tree_node_structure): Handle ARGUMENT_PACK_SELECT.
* cp-tree.def (TYPE_ARGUMENT_PACK): New.
(NONTYPE_ARGUMENT_PACK): New.
(TYPE_PACK_EXPANSION): New.
(EXPR_PACK_EXPANSION): New.
(ARGUMENT_PACK_SELECT): New.
* cp-objcp-common.c (cp_tree_size): Compute size of
(NON)TYPE_ARGUMENT_PACK, (TYPE|EXPR)_PACK_EXPANSION, and
ARGUMENT_PACK_SELECT.
* error.c (dump_template_argument): Print template argument packs.
(dump_template_argument_list): Ditto.
(dump_template_parameter): Dump `...' for template type parameter
packs.
(dump_type): Dump TYPE_PACK_EXPANSION nodes.
(dump_parameters): Print function parameter packs.
(dump_template_parms): Print template argument packs.
(dump_expr): Dump EXPR_PACK_EXPANSION nodes.
(maybe_warn_variadic_templates): New.
* operators.def: Add ellipsis operator for EXPR_PACK_EXPANSION.
* tree.c (cp_walk_subtrees): Walk BASELINK, TYPE_ARGUMENT_PACK,
NONTYPE_ARGUMENT_PACK, TYPE_PACK_EXPANSION, EXPR_PACK_EXPANSION,
CAST_EXPR.
* mangle.c (write_type): Mangle TYPE_PACK_EXPANSION.
(write_template_arg): Write argument packs as separate arguments.
* cp-tree.h (struct template_parm_index_s): Add flag that
indicates that the template parameter is actually a parameter
pack.
(struct tree_argument_pack_select): New.
(enum cp_tree_node_structure_enum): Add TS_CP_ARGUMENT_PACK_SELECT.
(union lang_tree_node): Add argument_pack_select.
(FUNCTION_PARAMETER_PACK_P): New.
(PACK_EXPANSION_P): New.
(PACK_EXPANSION_PATTERN): New.
(SET_PACK_EXPANSION_PATTERN): New.
(PACK_EXPANSION_PARAMETER_PACKS): New.
(ARGUMENT_PACK_P): New.
(ARGUMENT_PACK_ARGS): New.
(SET_ARGUMENT_PACK_ARGS): New.
(ARGUMENT_PACK_INCOMPLETE_P): New.
(ARGUMENT_PACK_EXPLICIT_ARGS): New.
(TEMPLATE_PARM_PARAMETER_PACK): New.
(TEMPLATE_TYPE_PARAMETER_PACK): New.
(ARGUMENT_PACK_SELECT_FROM_PACK): New.
(ARGUMENT_PACK_SELECT_INDEX): New.
(ARGUMENT_PACK_SELECT_ARG): New.
(struct cp_declarator): Add parameter_pack_p flag.
(maybe_warn_variadic_templates): Declare.
(process_template_parm): Add bool parameter IS_PARAMETER_PACK, to
indicate a template parameter pack.
(uses_parameter_packs): Declare.
(template_parameter_pack_p): Declare.
(template_parms_variadic_p): Declare.
(make_pack_expansion): Declare.
(check_for_bare_parameter_packs): Declare.
* cxx-pretty-print.c (pp_cxx_unary_expression): Print
sizeof... expressions.
(pp_cxx_expression): Print pack expansions and non-type argument
packs.
(pp_cxx_exception_specification): Print pack expansions.
(pp_cxx_direct_declarator): Print ellipsis for parameter packs.
(pp_cxx_ctor_initializer): Print pack expansions.
(pp_cxx_type_id): Print pack expansions.
(pp_cxx_template_argument_list): Print argument packs.
(pp_cxx_template_parameter): Print ellipsis for template parameter
packs.
* pt.c (comp_template_parms): Compare template parameter packs.
(template_parameter_pack_p): New.
(template_parms_variadic_p): New.
(template_args_variadic_p): New.
(make_ith_pack_parameter_name): New.
(struct find_parameter_pack_data): New.
(find_parameter_packs_r): New.
(uses_parameter_packs): New.
(make_pack_expansion): New.
(check_for_bare_parameter_packs): New.
(expand_template_argument_pack): New.
(reduce_template_parm_level): Propagate parameter pack flag.
(process_template_parm): Add is_parameter_pack parameter to state
when the parameter is actually a parameter pack. Create template
parameter packs when is_parameter_pack is true.
(current_template_args): The argument for a template parameter
pack is an argument pack containing a single pack expansion.
(process_partial_specialization): When checking that non-type
argument expressions do not involve template parameters, loop over
the arguments in argument packs separately.
(push_template_decl_real): Check that the type of the declaration
does not have any bare parameter packs. Check that primary
templates have no more than one parameter pack, and that it comes
at the end of the template parameter list.
(convert_template_argument): Handle coercions for pack expansion
expressions by coercing the pattern then rebuilding the expansion.
(coerce_template_parms): When coercing the arguments for a
variadic template, pack "extra" arguments into an argument pack.
(coerce_template_template_parms): Cannot coerce between parameter
packs and non-pack parameters.
(template_args_equal): Compare PACK_EXPANSION_P expressions.
(comp_template_args): Expand all template arguments packs before
comparing template argument lists.
(mangle_class_name_for_template): Make argument packs as separate
template arguments.
(for_each_template_parm_r): No need to handle BASELINK.
(instantiate_class_template): Handle pack expansions in the base
class list.
(tsubst_pack_expansion): New.
(tsubst_template_args): Handle substitutions of argument packs and
pack expansion into template argument lists.
(tsubst_decl): Expand function parameter packs into separate
function parameters.
(tsubst_arg_types): Expand a type pack expansion into separate
argument types.
(tsubst_exception_specification): Handle pack expansions in
exception specifiers.
(tsubst): See through ARGUMENT_PACK_SELECT arguments when
replacing a template parameter with its argument. If we encounter
a substitution for an argument pack, just return the parameter
itself.
(tsubst_copy): sizeof(X...) returns the number of elements in
parameter pack X.  See through ARGUMENT_PACK_SELECT when the
PARM_DECL is a parameter pack.
(tsubst_expr): Expression pack expansions and argument packs
cannot show up here; they will all be handled through function
calls, sizeof, and template argument lists.
(tsubst_copy_and_build): sizeof(X...) returns the number of
elements in parameter pack X.  Handle pack expansions in TREE_LIST
and CONSTRUCTOR nodes.
(fn_type_unification): Handle "incomplete" explicit template
argument lists that specify some of the arguments for a template
parameter pack.
(type_unification_real): Unify arguments against pack expansions.
(template_parm_level_and_index): New, helper function.
(unify_pack_expansion): New.
(unify): Unify argument packs on an argument-by-argument basis,
handling variadic argument packs as well.
(more_specialized_fn): Handle unification of function parameter
packs. All things being equal, prefer non-variadic function
templates to variadic function templates.
(more_specialized_class): Prefer the variadic class template
partial specialization that binds fewer arguments to a parameter
pack.
(regenerate_decl_from_template): Expand function parameter packs
into separate parameters.
(instantiate_decl): Ditto.
(tsubst_initializer_list): Handle pack expansions for base-class
initializers.
(dependent_type_p_r): Determine dependent types in argument packs
and pack expansions.
(value_dependent_expression_p): Determine value-dependence of
non-type argument packs.
(dependent_template_arg_p): Handle argument packs.
* semantics.c (finish_cond): Check for bare parameter packs.
(finish_expr_stmt): Ditto.
(finish_for_expr): Ditto.
(finish_switch_cond): Ditto.
(finish_mem_initializers): Ditto.
* name-lookup.c (arg_assoc_type): Handle pack expansions and
argument packs.
* decl2.c (cp_build_parm_decl): Mark function parameter packs.
* parser.c (make_declarator): Declarator is not an expansion.
(make_pointer_declarator): Transfer parameter pack flag to outer
declarator.
(make_reference_declarator): Ditto.
(make_ptrmem_declarator): Ditto.
(make_call_declarator): Ditto.
(make_array_declarator): Ditto.
(cp_parser_postfix_expression): Allow pack expansion expressions
in the argument list for a call expression.
(cp_parser_parenthesized_expression_list): Add new parameter
ALLOW_EXPANSION_P. When true, parse the ellipsis to mean "expand
into separate arguments."
(cp_parser_new_placement): Allow pack expansion expressions.
(cp_parser_new_initializer): Ditto.
(cp_parser_mem_initializer_list): Allow ellipsis to create a
base-class initializer expansion.
(cp_parser_mem_initializer): Ditto.
(cp_parser_template_parameter_list): Keep track of whether the
template parameter is a template parameter pack.
(cp_parser_template_parameter): Parse the ellipsis to indicate a
template parameter pack.
(cp_parser_type_parameter): Ditto.
(cp_parser_template_argument_list): Parse the ellipsis to indicate
a pack expansion.
(cp_parser_direct_declarator): Parse the ellipsis to indicate that
this declarator is a parameter pack.
(cp_parser_parameter_declaration): The ellipsis does not end the
parameter declaration, because it might be a parameter pack. Parse
the ellipsis to indicate a parameter pack.
(cp_parser_initializer): Allow pack expansions.
(cp_parser_initializer_list): Allow ellipsis to create an
initializer expansion.
(cp_parser_base_clause): Allow ellipsis to create a base specifier
expansion.
(cp_parser_type_id_list): Allow ellipsis to create an exception
specifier expansion.
(cp_parser_attribute_list): Don't allow pack expansions.
(cp_parser_functional_cast): Allow pack expansions.
(cp_parser_sizeof_operand): Allow ellipsis following "sizeof" to
compute the length of a parameter pack.
(cp_parser_next_token_ends_template_argument_p): An ellipsis can
end a template argument.
* tree.c (cp_walk_subtrees): Walk BASELINK, TYPE_ARGUMENT_PACK,
NONTYPE_ARGUMENT_PACK, TYPE_PACK_EXPANSION, EXPR_PACK_EXPANSION,
CAST_EXPR.

From-SVN: r122788

17 years agotree-pass.h (TODO_update_smt_usage): Remove.
Diego Novillo [Sat, 10 Mar 2007 01:54:13 +0000 (01:54 +0000)]
tree-pass.h (TODO_update_smt_usage): Remove.

* tree-pass.h (TODO_update_smt_usage): Remove.
Update all users.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove
argument SOME.
Update all users.

From-SVN: r122787

17 years agopa.c (attr_length_call): Revise condition for long pc-relative branch.
John David Anglin [Sat, 10 Mar 2007 01:34:23 +0000 (01:34 +0000)]
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: r122784

17 years agogcc.c: Document %{, in big comment at top.
Geoffrey Keating [Sat, 10 Mar 2007 01:03:36 +0000 (01:03 +0000)]
gcc.c: Document %{, in big comment at top.

* gcc.c: Document %{, in big comment at top.
(input_suffix_matches): Remove special handling for .s and
.S.
(input_spec_matches): New.
(handle_braces): Handle %{,.
(validate_switches): ',' indicates a value which is not a switch.
* config/alpha/osf.h (ASM_FINAL_SPEC): Use %{, rather than %{.
to detect assembler input.
* config/i386/sol2.h (CPP_SPEC): Likewise.
* config/rs6000/sysv4.h (ASM_SPEC): Likewise.
* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
* config/rs6000/lynx.h (ASM_SPEC): Likewise.
* config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
* config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Objective-C plus
-m64 causes deployment target to default to 10.5.
* config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Likewise.

From-SVN: r122783

17 years agore PR target/26090 (IA-64 creates DT_TEXTREL binaries)
Richard Henderson [Sat, 10 Mar 2007 00:53:09 +0000 (16:53 -0800)]
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: r122781

17 years agoDaily bump.
GCC Administrator [Sat, 10 Mar 2007 00:17:59 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r122779

17 years agore PR libfortran/31099 (Runtime error on legal code using RECL)
Jerry DeLisle [Sat, 10 Mar 2007 00:03:19 +0000 (00:03 +0000)]
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: r122776

17 years agofold-const.c (fold_comparison): Remove compile-time evaluation of complex constant...
Roger Sayle [Fri, 9 Mar 2007 23:09:10 +0000 (23:09 +0000)]
fold-const.c (fold_comparison): Remove compile-time evaluation of complex constant equality/inequality...

* fold-const.c (fold_comparison): Remove compile-time evaluation of
complex constant equality/inequality comparisons for here.
(fold_binary) <EQ_EXPR>: Simplify complex comparisons that are
known at compile-time or can be simplified to a scalar comparison.
(fold_relational_const): Move compile-time evaluation of complex
constant equality/inequality comparisons to here.

* gcc.dg/fold-eqcmplx-1.c: New test case.

From-SVN: r122767

17 years agosources.am, [...]: Rebuilt.
Tom Tromey [Fri, 9 Mar 2007 22:10:49 +0000 (22:10 +0000)]
sources.am, [...]: Rebuilt.

* sources.am, Makefile.in: Rebuilt.
* scripts/makemake.tcl (scan_directory): Allow service files to be
omitted.
Omit all XML-related service files.

From-SVN: r122764

17 years agore PR libfortran/31099 (Runtime error on legal code using RECL)
Jerry DeLisle [Fri, 9 Mar 2007 21:51:39 +0000 (21:51 +0000)]
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: r122763

17 years agoAdd line that went missing in the last ChangeLog entry.
Alexandre Oliva [Fri, 9 Mar 2007 20:16:25 +0000 (20:16 +0000)]
Add line that went missing in the last ChangeLog entry.

From-SVN: r122761

17 years agore PR rtl-optimization/30643 (CSE pessimization)
Alexandre Oliva [Fri, 9 Mar 2007 20:13:10 +0000 (20:13 +0000)]
re PR rtl-optimization/30643 (CSE pessimization)

gcc/ChangeLog:
PR rtl-optimization/30643
* cse.c (cse_insn): Recompute dest_hash after insert_regs for
(fold_rtx): Recurse, like before 2006-11-03.
gcc/testsuite/ChangeLog:
PR rtl-optimization/30643
* gcc.dg/pr30643.c: New.

From-SVN: r122760

17 years ago* config/m32c/t-m32c (m32c-pragma.o): Add TM_H dependency to m32c-pragma.o
DJ Delorie [Fri, 9 Mar 2007 20:08:13 +0000 (15:08 -0500)]
* config/m32c/t-m32c (m32c-pragma.o): Add TM_H dependency to m32c-pragma.o

From-SVN: r122759

17 years agore PR tree-optimization/30375 (tree-ssa-dse incorrectly removes struct initialization)
Aldy Hernandez [Fri, 9 Mar 2007 20:05:08 +0000 (20:05 +0000)]
re PR tree-optimization/30375 (tree-ssa-dse incorrectly removes struct initialization)

        PR tree-optimization/30375
        * tree-ssa-dse.c (dse_possible_dead_store_p): Do not eliminate if
        LHS of statements is not the same.
        * testsuite/gcc.dg/tree-ssa/ssa-dse-10.c: New.

From-SVN: r122758

17 years agomips32-dspr2-type.c: New test.
Chao-ying Fu [Fri, 9 Mar 2007 19:23:22 +0000 (19:23 +0000)]
mips32-dspr2-type.c: New test.

* gcc.target/mips/mips32-dspr2-type.c: New test.
* gcc.target/mips/mips32-dspr2.c: New test.
* gcc.target/mips/dspr2-MULT.c: New test.
* gcc.target/mips/dspr2-MULTU.c: New test.
* gcc.target/mips/mips32-dsp-run.c: New test to check execution.
* gcc.target/mips/mips32-dsp.c: Change v4i8 typedef to use signed char.
Adjust some formats.

From-SVN: r122757

17 years agoextend.texi (MIPS DSP Built-in Functions): Document the DSP REV 2.
Chao-ying Fu [Fri, 9 Mar 2007 19:19:44 +0000 (19:19 +0000)]
extend.texi (MIPS DSP Built-in Functions): Document the DSP REV 2.

* doc/extend.texi (MIPS DSP Built-in Functions): Document the DSP
REV 2.
* doc/invoke.texi (-mdspr2): Document new option.
* config/mips/mips.md (UNSPEC_ABSQ_S_QB .. UNSPEC_DPSQX_SA_W_PH):
New unspec for DSP REV 2.
(<u>mulsidi3_32bit_internal): Check if !TARGET_DSPR2, because
these instructions are extended in DSP REV 2.
(mips-dspr2.md): Include.
* config/mips/mips.opt (mdspr2): New option.
* config/mips/mips.c (mips_function_type): Add MIPS_V4QI_FTYPE_V4QI,
MIPS_SI_FTYPE_SI_SI_SI, MIPS_DI_FTYPE_DI_USI_USI, MIPS_DI_FTYPE_SI_SI,
MIPS_DI_FTYPE_USI_USI, MIPS_V2HI_FTYPE_SI_SI_SI.
(override_options): Check TARGET_DSPR2 to enable MASK_DSP.
(CODE_FOR_mips_mul_ph): Define it to CODE_FOR_mulv2hi3.
(dsp_bdesc): Add DSP REV 2 builtins.  Remove 32-bit only DSP builtins.
(dsp_32only_bdesc): New description table for 32-bit only DSP REV 1
and 2 builtins.
(bdesc_map): Add one field of unsupported_target_flags.
(bdesc_arrays):  Update entries to have extra fields.  Add
dsp_32only_bdesc.
(mips_init_builtins): Initialize new function types.
Check unsupported_target_fileds to filter out builtins.
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dspr2 if
TARGET_DSPR2.
(ASM_SPEC): Pass mdspr2 to the assembler.
* config/mips/mips-dspr2.md: New file.

From-SVN: r122756

17 years agoaltivec.md: Fix vcond patterns using if_then_else.
Sa Liu [Fri, 9 Mar 2007 18:17:08 +0000 (18:17 +0000)]
altivec.md: Fix vcond patterns using if_then_else.

2007-03-09  Sa Liu  <saliu@de.ibm.com>

* config/rs6000/altivec.md: Fix vcond patterns using if_then_else.

From-SVN: r122755

17 years agoopts.c (common_handle_option): Treat -Wstrict-overflow (with no argument) like -Wstri...
Ian Lance Taylor [Fri, 9 Mar 2007 17:59:47 +0000 (17:59 +0000)]
opts.c (common_handle_option): Treat -Wstrict-overflow (with no argument) like -Wstrict-overflow=2.

* opts.c (common_handle_option): Treat -Wstrict-overflow (with no
argument) like -Wstrict-overflow=2.
* doc/invoke.texi (Warning Options): Update documentation.

From-SVN: r122753

17 years agocuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling fold with the result...
Roger Sayle [Fri, 9 Mar 2007 17:09:54 +0000 (17:09 +0000)]
cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling fold with the result of buildN.

* cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling
fold with the result of buildN.
* decl.c (gnat_to_gnu_entity): Likewise.
* trans.c (Attribute_to_gnu, gnat_to_gnu, emit_check): Likewise.
* utils.c (finish_record_type, merge_sizes, max_size, convert):
Likewise.
* utils2.c (gnat_truthvalue_conversion, compare_arrays,
nonbinary_modular_operation, build_binary_op, build_unary_op,
build_cond_expr): Likewise.

* utils.c (convert): Use fold_build1 when casting values to void.
* utils2.c (gnat_truthvalue_conversion): Use build_int_cst and
fold_convert instead of convert when appropriate.

From-SVN: r122752