gcc.git
16 years agomips.md: Remove TARGET_DEBUG_D_MODE conditions from splits that must be made for...
Richard Sandiford [Fri, 13 Jun 2008 07:01:53 +0000 (07:01 +0000)]
mips.md: Remove TARGET_DEBUG_D_MODE conditions from splits that must be made for correctness.

gcc/
* config/mips/mips.md: Remove TARGET_DEBUG_D_MODE conditions from
splits that must be made for correctness.

From-SVN: r136739

16 years agomips.c (BUILTIN_AVAIL_NON_MIPS16): New macro.
Richard Sandiford [Fri, 13 Jun 2008 06:56:31 +0000 (06:56 +0000)]
mips.c (BUILTIN_AVAIL_NON_MIPS16): New macro.

gcc/
* config/mips/mips.c (BUILTIN_AVAIL_NON_MIPS16): New macro.
(AVAIL_NON_MIPS16): Likewise.
(mips_builtin_description): Replace target_flags with a predicate.
(paired_single, sb1_paired_single, mips3d, dsp, dspr2, dsp_32)
(dspr2_32): New availability predicates.
(MIPS_BUILTIN): New macro.
(DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS)
(CMP_4S_BUILTINS, MOVTF_BUILTINS, CMP_BUILTINS)
(DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): Use it.
Replace the TARGET_FLAGS parameters with AVAIL parameters.
(mips_ps_bdesc, mips_sb1_bdesc, mips_dsp_bdesc)
(mips_dsp_32only_bdesc): Merge into...
(mips_builtins): ...this new array.
(mips_bdesc_map, mips_bdesc_arrays): Delete.
(mips_init_builtins): Update after above changes.
(mips_expand_builtin_1): Merge into...
(mips_expand_builtin): ...here and update after above changes.

From-SVN: r136738

16 years agoDaily bump.
GCC Administrator [Fri, 13 Jun 2008 00:17:43 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r136729

16 years agolonglong.h (__arm__): Define count_leading_zeros.
Paul Brook [Thu, 12 Jun 2008 17:29:47 +0000 (17:29 +0000)]
longlong.h (__arm__): Define count_leading_zeros.

2008-06-12  Paul Brook  <paul@codesourcery.com>

gcc/
* longlong.h (__arm__): Define count_leading_zeros.
* config/arm/lib1funcs.asm (xxh, xxl, yyh, yyl): Define.
(clzsi2, clzdi2): New functions.
* config/arm/bpabi-v6m.S (xxh, xxl, yyh, yyl): Remove.
* config/arm/bpabi.S (xxh, xxl, yyh, yyl): Remove.
* config/arm/t-strongarm-elf (LIB1ASMFUNCS): Ditto.
* config/arm/t-vxworks (LIB1ASMFUNCS): Ditto.
* config/arm/t-pe (LIB1ASMFUNCS): Ditto.
* config/arm/t-arm-elf (LIB1ASMFUNCS): Ditto.
* config/arm/t-arm-coff (LIB1ASMFUNCS): Ditto.
* config/arm/t-linux (LIB1ASMFUNCS): Ditto.
* config/arm/t-symbian (LIB1ASMFUNCS): Ditto.
* config/arm/t-wince-pe (LIB1ASMFUNCS): Ditto.

From-SVN: r136718

16 years agoconfigure.ac: Add powerpc*-*-* to gold supported targets.
David S. Miller [Thu, 12 Jun 2008 17:13:12 +0000 (17:13 +0000)]
configure.ac: Add powerpc*-*-* to gold supported targets.

2008-06-12  David S. Miller  <davem@davemloft.net>
            David Edelsohn  <edelsohn@gnu.org>

        * configure.ac: Add powerpc*-*-* to gold supported targets.
        * configure: Regenerate.

Co-Authored-By: David Edelsohn <edelsohn@gnu.org>
From-SVN: r136717

16 years agore PR preprocessor/36479 (Short buffer in libcpp)
H.J. Lu [Thu, 12 Jun 2008 17:03:41 +0000 (17:03 +0000)]
re PR preprocessor/36479 (Short buffer in libcpp)

2008-06-12  H.J. Lu  <hongjiu.lu@intel.com>

PR preprocessor/36479
* charset.c (cpp_interpret_string_notranslate): Also set
narrow_cset_desc.width.

From-SVN: r136714

16 years agore PR fortran/36462 ([F03] Audit intrinsics for KIND arguments)
Tobias Burnus [Thu, 12 Jun 2008 16:16:39 +0000 (18:16 +0200)]
re PR fortran/36462 ([F03] Audit intrinsics for KIND arguments)

2008-06-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36462
        * trans-intrinsic.c (gfc_conv_intrinsic_index_scan_verify):
        Fix passing of the BACK= argument.

2008-06-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36462
        * gfortran.dg/index_2.f90: New.

From-SVN: r136712

16 years agom68k.c (m68k_tune_flags): New.
Kazu Hirata [Thu, 12 Jun 2008 16:15:58 +0000 (16:15 +0000)]
m68k.c (m68k_tune_flags): New.

* config/m68k/m68k.c (m68k_tune_flags): New.
(override_options): Compute m68k_tune_flags.
(MULL_COST, MULW_COST): Update for various variants of CFV2.
* config/m68k/m68k.h (TUNE_MAC, TUNE_EMAC): New.

From-SVN: r136711

16 years agore PR middle-end/36506 (Broken #pragma omp sections reduction (+:x))
Jakub Jelinek [Thu, 12 Jun 2008 13:49:18 +0000 (15:49 +0200)]
re PR middle-end/36506 (Broken #pragma omp sections reduction (+:x))

PR middle-end/36506
* omp-low.c (expand_omp_sections): Initialize l2 to avoid bogus
warning.

From-SVN: r136708

16 years agodecl.c (gnat_to_gnu_entity): In the case of a constrained subtype of a discriminated...
Eric Botcazou [Thu, 12 Jun 2008 13:19:06 +0000 (13:19 +0000)]
decl.c (gnat_to_gnu_entity): In the case of a constrained subtype of a discriminated type...

* decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
constrained subtype of a discriminated type, discard the fields that
are beyond its limits according to its size.

From-SVN: r136707

16 years agostruct-layout-1.exp (orig_gcc_exec_prefix_saved): Always initialize.
Joseph Myers [Thu, 12 Jun 2008 12:19:02 +0000 (13:19 +0100)]
struct-layout-1.exp (orig_gcc_exec_prefix_saved): Always initialize.

* gcc.dg/compat/struct-layout-1.exp (orig_gcc_exec_prefix_saved):
Always initialize.
* g++.dg/compat/struct-layout-1.exp (orig_gcc_exec_prefix_saved):
Always initialize.

From-SVN: r136704

16 years agoomp_lib.f90.in: Add "implicit none".
Tobias Burnus [Thu, 12 Jun 2008 12:15:29 +0000 (14:15 +0200)]
omp_lib.f90.in: Add "implicit none".

2008-06-12  Tobias Burnus  <burnus@net-b.de>

        * omp_lib.f90.in: Add "implicit none".

From-SVN: r136703

16 years agotree-inline.c (copy_body_r): Copy TREE_SIDE_EFFECTS along with TREE_THIS_VOLATILE...
Eric Botcazou [Thu, 12 Jun 2008 12:10:06 +0000 (12:10 +0000)]
tree-inline.c (copy_body_r): Copy TREE_SIDE_EFFECTS along with TREE_THIS_VOLATILE on INDIRECT_REF nodes.

* tree-inline.c (copy_body_r): Copy TREE_SIDE_EFFECTS along with
TREE_THIS_VOLATILE on INDIRECT_REF nodes.

From-SVN: r136702

16 years agoexpr.c (store_field): Do a block copy from BLKmode to BLKmode-like.
Eric Botcazou [Thu, 12 Jun 2008 11:36:34 +0000 (11:36 +0000)]
expr.c (store_field): Do a block copy from BLKmode to BLKmode-like.

* expr.c (store_field): Do a block copy from BLKmode to BLKmode-like.
(get_inner_reference): Use BLKmode for byte-aligned BLKmode bitfields.

From-SVN: r136699

16 years agore PR testsuite/36443 (HOSTCC doesn't work with installed gcc)
Jakub Jelinek [Thu, 12 Jun 2008 11:17:05 +0000 (13:17 +0200)]
re PR testsuite/36443 (HOSTCC doesn't work with installed gcc)

PR testsuite/36443
* gcc.dg/compat/struct-layout-1.exp: Temporarily unset
GCC_EXEC_PREFIX from environment when running $HOSTCC.
* g++.dg/compat/struct-layout-1.exp: Likewise.

From-SVN: r136698

16 years agore PR middle-end/36506 (Broken #pragma omp sections reduction (+:x))
Jakub Jelinek [Thu, 12 Jun 2008 11:03:50 +0000 (13:03 +0200)]
re PR middle-end/36506 (Broken #pragma omp sections reduction (+:x))

PR middle-end/36506
* omp-low.c (expand_omp_sections): Handle #pragma omp sections with
reductions.

* testsuite/libgomp.c/reduction-5.c: New test.

From-SVN: r136696

16 years agore PR tree-optimization/36345 (TBAA-pruning of points-to sets ineffective)
Richard Guenther [Thu, 12 Jun 2008 10:21:45 +0000 (10:21 +0000)]
re PR tree-optimization/36345 (TBAA-pruning of points-to sets ineffective)

2008-06-12  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/36345
* tree-flow.h (struct ptr_info_def): Align escape_mask,
add memory_tag_needed flag.
(may_alias_p): Declare.
* tree-ssa-alias.c (may_alias_p): Export.
(set_initial_properties): Use memory_tag_needed flag.
(update_reference_counts): Likewise.
(reset_alias_info): Reset memory_tag_needed flag.
(create_name_tags): Check memory_tag_needed flag.
(dump_points_to_info_for): Dump it.
* tree-ssa-structalias.c (struct variable_info): Remove
directly_dereferenced flag.
(new_var_info): Do not initialize it.
(process_constraint_1): Do not set it.
(update_alias_info): Set is_dereferenced flag.
(set_uids_in_ptset): Use may_alias_p.
(set_used_smts): Check memory_tag_needed flag.
(find_what_p_points_to): Likewise.  Pass is_dereferenced flag.
* tree-ssa-alias.c (verify_flow_sensitive_alias_info): Check
memory_tag_needed flag.
* tree-ssa-alias-warnings.c (dsa_named_for): Try to recover
from broken design.

* gcc.c-torture/execute/20020619-1.c: Remove broken part of
the testcase.

From-SVN: r136695

16 years agocomplex (pow(const complex<>&, int)): Do not define in C++0x mode, per DR 844.
Paolo Carlini [Thu, 12 Jun 2008 10:17:53 +0000 (10:17 +0000)]
complex (pow(const complex<>&, int)): Do not define in C++0x mode, per DR 844.

2008-06-12  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/complex (pow(const complex<>&, int)): Do not define in
C++0x mode, per DR 844.
* include/tr1/complex (pow(const complex<>&, int)): Remove.
* doc/xml/manual/intro.xml: Add an entry for DR 844.
* testsuite/26_numerics/complex/dr844.cc: New.
* testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Adjust.

From-SVN: r136694

16 years agoi386.c (ix86_compute_frame_layout): Disable red zone for w64 abi.
Kai Tietz [Thu, 12 Jun 2008 09:19:35 +0000 (09:19 +0000)]
i386.c (ix86_compute_frame_layout): Disable red zone for w64 abi.

2008-06-11  Kai Tietz  <kai.tietz@onevision.com>

* config/i386/i386.c (ix86_compute_frame_layout): Disable red zone for
w64 abi.
(ix86_expand_prologue): Likewise.
(ix86_force_to_memory): Likewise.
(ix86_free_from_memory): Likewise.

From-SVN: r136693

16 years agoDaily bump.
GCC Administrator [Thu, 12 Jun 2008 00:17:22 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r136689

16 years agohashtable (_Hashtable<>::cbegin(size_type), [...]): Add per DR 691.
Paolo Carlini [Wed, 11 Jun 2008 22:56:51 +0000 (22:56 +0000)]
hashtable (_Hashtable<>::cbegin(size_type), [...]): Add per DR 691.

2008-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

* include/tr1_impl/hashtable (_Hashtable<>::cbegin(size_type),
cend(size_type)): Add per DR 691.
* testsuite/23_containers/unordered_map/requirements/cliterators.cc:
New.
* testsuite/23_containers/unordered_multimap/requirements/
cliterators.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/cliterators.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/requirements/
cliterators.cc: Likewise.
* doc/xml/manual/intro.xml: Add an entry for DR 691.

From-SVN: r136685

16 years agolibgomp.h (struct gomp_task): Add in_tied_task field.
Jakub Jelinek [Wed, 11 Jun 2008 21:43:45 +0000 (23:43 +0200)]
libgomp.h (struct gomp_task): Add in_tied_task field.

* libgomp.h (struct gomp_task): Add in_tied_task field.
* task.c (gomp_init_task): Initialize it.
(GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
unconditionally.  Don't call gomp_team_barrier_wake if
current task is implicit or if(0) from implicit and number of
running tasks is equal to nthreads - 1.

From-SVN: r136682

16 years agore PR target/36425 (Option -mno-isel not working)
Edmar Wienskoski [Wed, 11 Jun 2008 20:02:55 +0000 (20:02 +0000)]
re PR target/36425 (Option -mno-isel not working)

2008-06-11  Edmar Wienskoski  <edmar@freescale.com>

PR target/36425
* config/rs6000/rs6000.c (rs6000_override_options): Set
rs6000_isel conditionally to the absence of comand line
override.
* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
Remove duplicate rs6000_isel setting.
* config/rs6000/eabispe.h: Ditto.

testsuite:
2008-06-11  Edmar Wienskoski  <edmar@freescale.com>

* gcc.target/powerpc/e500-1.c: New test case to verify
mno-isel option.

From-SVN: r136681

16 years agoalias.c (get_alias_set): Use the element alias-set for arrays.
Richard Guenther [Wed, 11 Jun 2008 18:19:28 +0000 (18:19 +0000)]
alias.c (get_alias_set): Use the element alias-set for arrays.

2008-06-11  Richard Guenther  <rguenther@suse.de>

* alias.c (get_alias_set): Use the element alias-set for arrays.
(record_component_aliases): For arrays and vectors do nothing.
* c-common.c (strict_aliasing_warning): Handle the cases
of alias set zero explicitly.
* Makefile.in (dfp.o-warn): Add -Wno-error.

From-SVN: r136679

16 years agoconfig.gcc (all_defaults): Add arch_32 arch_64 cpu_32 cpu_64 tune_32 tune_64.
Joseph Myers [Wed, 11 Jun 2008 16:03:18 +0000 (17:03 +0100)]
config.gcc (all_defaults): Add arch_32 arch_64 cpu_32 cpu_64 tune_32 tune_64.

* config.gcc (all_defaults): Add arch_32 arch_64 cpu_32 cpu_64
tune_32 tune_64.
(i[34567]86-*-* | x86_64-*-*): Add arch_32 arch_64 cpu_32 cpu_64
tune_32 tune_64 to supported_defaults.  Allow values not
supporting 64-bit mode for arch_32, cpu_32 and tune_32 for
x86_64.  Do not override cpu_32 or cpu_64 values from target name.
(i[34567]86-*-linux*, i[34567]86-*-solaris2.1[0-9]*): Only default
with_cpu_64 to generic for 64-bit-supporting configurations, not
with_cpu.  Remove FIXMEs.
* doc/install.texi (--with-cpu-32, --with-cpu-64, --with-arch-32,
--with-arch-64, --with-tune-32, --with-tune-64): Document.
* config/i386/i386.h (OPT_ARCH32, OPT_ARCH64): Define.
(OPTION_DEFAULT_SPECS): Add tune_32, tune_64, cpu_32, cpu_64,
arch_32 and arch_64.

From-SVN: r136674

16 years agobuiltins.c (get_memory_rtx): Accept byte-addressable bitfields.
Eric Botcazou [Wed, 11 Jun 2008 15:56:41 +0000 (15:56 +0000)]
builtins.c (get_memory_rtx): Accept byte-addressable bitfields.

* builtins.c (get_memory_rtx): Accept byte-addressable bitfields.
Use DECL_SIZE_UNIT to retrieve the size of the field.

Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r136673

16 years agolock_error, once_flag: Remove empty directories.
Matthias Klose [Wed, 11 Jun 2008 15:33:30 +0000 (15:33 +0000)]
lock_error, once_flag: Remove empty directories.

2008-06-11  Matthias Klose  <doko@ubuntu.com>

        * testsuite/30_threads/lock_error, testsuite/30_threads/once_flag:
        Remove empty directories.

From-SVN: r136671

16 years agoarm.c (arm_init_neon_builtins): Move initialization with function calls after declara...
Joseph Myers [Wed, 11 Jun 2008 10:51:34 +0000 (11:51 +0100)]
arm.c (arm_init_neon_builtins): Move initialization with function calls after declarations.

* config/arm/arm.c (arm_init_neon_builtins): Move initialization
with function calls after declarations.  Lay out
neon_float_type_node before further use.

From-SVN: r136660

16 years agotls.m4: Fix typos.
Bernhard Reutner-Fischer [Wed, 11 Jun 2008 09:57:11 +0000 (11:57 +0200)]
tls.m4: Fix typos.

config:
* tls.m4: Fix typos.

libgcc:
* configure: Regenerate.

From-SVN: r136658

16 years agotree-flow.h (may_point_to_global_var): Declare.
Richard Guenther [Wed, 11 Jun 2008 09:22:27 +0000 (09:22 +0000)]
tree-flow.h (may_point_to_global_var): Declare.

2008-06-11  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (may_point_to_global_var): Declare.
* tree-ssa-alias.c (may_point_to_global_var): New function.
* tree-ssa-sink.c (is_hidden_global_store): Use it.

From-SVN: r136657

16 years agorevert another accidental check-in
Sa Liu [Wed, 11 Jun 2008 08:34:50 +0000 (08:34 +0000)]
revert another accidental check-in

From-SVN: r136655

16 years agore PR libgomp/36471 (omp_get_ancestor_thread_num_8 has no implicit type.)
Jakub Jelinek [Wed, 11 Jun 2008 07:06:14 +0000 (09:06 +0200)]
re PR libgomp/36471 (omp_get_ancestor_thread_num_8 has no implicit type.)

PR libgomp/36471
* omp_lib.f90.in (omp_get_ancestor_thread_num_8,
omp_get_team_size_8): Fix pastos.

From-SVN: r136654

16 years agoRevert the accidental check-in that casued build error on SPU.
Sa Liu [Wed, 11 Jun 2008 06:55:31 +0000 (06:55 +0000)]
Revert the accidental check-in that casued build error on SPU.

From-SVN: r136653

16 years agore PR c++/36408 (ICE with statement expression in template)
Jakub Jelinek [Wed, 11 Jun 2008 06:30:55 +0000 (08:30 +0200)]
re PR c++/36408 (ICE with statement expression in template)

PR c++/36408
* semantics.c (stmt_expr_value_expr): Don't crash on empty
STATEMENT_LIST.

From-SVN: r136651

16 years agore PR libgomp/36469 (bootstrap broken on HPUX PA)
Jakub Jelinek [Wed, 11 Jun 2008 06:27:04 +0000 (08:27 +0200)]
re PR libgomp/36469 (bootstrap broken on HPUX PA)

PR libgomp/36469
* configure.ac: Add AC_CHECK_FUNCS (strtoull).
* configure: Regenerated.
* config.h.in: Regenerated.
* env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
defined.

From-SVN: r136650

16 years agocpp.c: Add copyright notice.
Jerry DeLisle [Wed, 11 Jun 2008 04:37:24 +0000 (04:37 +0000)]
cpp.c: Add copyright notice.

2008-06-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* cpp.c: Add copyright notice.
* cpp.h: Add copyright notice.

From-SVN: r136649

16 years agoconfigure.ac: Teach that fido supports .debug_line.
Kazu Hirata [Wed, 11 Jun 2008 03:08:10 +0000 (03:08 +0000)]
configure.ac: Teach that fido supports .debug_line.

* configure.ac: Teach that fido supports .debug_line.
* configure: Regenerate.

From-SVN: r136648

16 years agoc-lex.c (fe_file_change): Pass SOURCE_LINE to start_source_file debug hook.
Tom Tromey [Wed, 11 Jun 2008 00:18:49 +0000 (00:18 +0000)]
c-lex.c (fe_file_change): Pass SOURCE_LINE to start_source_file debug hook.

* c-lex.c (fe_file_change): Pass SOURCE_LINE to start_source_file
debug hook.

From-SVN: r136647

16 years agoDaily bump.
GCC Administrator [Wed, 11 Jun 2008 00:17:38 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r136645

16 years agodfp.c (WORDS_BIGENDIAN): Define to 0 if not defined.
Joseph Myers [Tue, 10 Jun 2008 23:43:09 +0000 (00:43 +0100)]
dfp.c (WORDS_BIGENDIAN): Define to 0 if not defined.

gcc:
* dfp.c (WORDS_BIGENDIAN): Define to 0 if not defined.
(encode_decimal64, decode_decimal64, encode_decimal128,
decode_decimal128): Reverse order of 32-bit parts of value if host
and target endianness differ.

libdecnumber:
* dconfig.h: New.
* decContext.c, decExcept.c, decExcept.h, decLibrary.c,
decNumber.c, decNumberLocal.h, decRound.c, dpd/decimal128.c,
dpd/decimal32.c, dpd/decimal64.c: Include dconfig.h not config.h.
* dpd/decimal128Local.h (decimal128SetSign, decimal128ClearSign,
decimal128FlipSign): Use WORDS_BIGENDIAN not
FLOAT_WORDS_BIG_ENDIAN.
* bid/host-ieee128.c: Include dconfig.h.
(__host_to_ieee_128, __ieee_to_host_128): Swap 64-bit halves of
value if WORDS_BIGENDIAN.

libgcc:
* Makefile.in (DECNUMINC): Remove
-I$(MULTIBUILDTOP)../../libdecnumber.
* gstdint.h: New.

From-SVN: r136641

16 years agovalue_prob.c (tree_divmod_fixed_value_transform): Use gcov_type.
Vinodha Ramasamy [Tue, 10 Jun 2008 20:21:24 +0000 (20:21 +0000)]
value_prob.c (tree_divmod_fixed_value_transform): Use gcov_type.

2008-06-10  Vinodha Ramasamy  <vinodha@google.com>
        * value_prob.c (tree_divmod_fixed_value_transform): Use gcov_type.
Avoid division by 0.
(tree_mod_pow2_value_transform): Likewise.
(tree_ic_transform): Likewise.
(tree_stringops_transform): Likewise.
(tree_mod_subtract_transform): Likewise.
* tree-inline-c (copy_bb): Corrected int type to gcov_type.
(copy_edges_for_bb): Likewise.
(initialize_cfun): Likewise.

From-SVN: r136639

16 years agoi386.md (*btdi_rex64): Change operand 1 predicate to nonmemory_operand.
Uros Bizjak [Tue, 10 Jun 2008 18:50:23 +0000 (20:50 +0200)]
i386.md (*btdi_rex64): Change operand 1 predicate to nonmemory_operand.

* config/i386/i386.md (*btdi_rex64): Change operand 1 predicate to
nonmemory_operand. Add "N" operand constraint.
(*btsi): Ditto.
(*jcc_btdi_mask_rex64): New instruction and split pattern.
(*jcc_btsi_mask): Ditto.
(*jcc_btsi_mask_1): Ditto.

testsuite/ChangeLog:

* gcc.target/i386/bt-mask-1.c: New test.
* gcc.target/i386/bt-mask-2.c: Ditto.

From-SVN: r136636

16 years agors6000.c (build_opaque_vector_type): Set TYPE_CANONICAL for copied element type.
Joseph Myers [Tue, 10 Jun 2008 17:12:43 +0000 (18:12 +0100)]
rs6000.c (build_opaque_vector_type): Set TYPE_CANONICAL for copied element type.

* config/rs6000/rs6000.c (build_opaque_vector_type): Set
TYPE_CANONICAL for copied element type.

From-SVN: r136632

16 years agoutils.c (create_subprog_decl): If this is for the 'main' entry point according to...
Olivier Hainque [Tue, 10 Jun 2008 13:14:15 +0000 (13:14 +0000)]
utils.c (create_subprog_decl): If this is for the 'main' entry point according to the asm name...

        * utils.c (create_subprog_decl): If this is for the 'main' entry
        point according to the asm name, redirect main_identifier_node.

From-SVN: r136619

16 years agoObject.m (compare): Add type id.
Kai Tietz [Tue, 10 Jun 2008 12:37:51 +0000 (12:37 +0000)]
Object.m (compare): Add type id.

2008-06-10  Kai Tietz  <kai.tietz@onevision.com>

* Object.m (compare): Add type id.
* objc/Object.h: Likewise.
* archive.c (objc_read_class): Use size_t to extend version to be
size of pointer scalar width.
* sendmsg.c (rtx): Undefine it before redefinition.
(__objc_print_dtable_stats): Cast arguments to long as intended.

From-SVN: r136617

16 years agore PR target/36473 (Generate bit test (bt) instructions)
Uros Bizjak [Tue, 10 Jun 2008 10:29:36 +0000 (12:29 +0200)]
re PR target/36473 (Generate bit test (bt) instructions)

PR target/36473
* config/i386/i386.c (ix86_tune_features) [TUNE_USE_BT]:
Add m_CORE2 and m_GENERIC.
* config/i386/predicates.md (bt_comparison_operator): New predicate.
* config/i386/i386.md (*btdi_rex64): New instruction pattern.
(*btsi): Ditto.
(*jcc_btdi_rex64): New instruction and split pattern.
(*jcc_btsi): Ditto.
(*jcc_btsi_1): Ditto.
(*btsq): Fix Intel asm dialect operand order.
(*btrq): Ditto.
(*btcq): Ditto.

testsuite/ChangeLog:

PR target/36473
* testsuite/gcc.target/i386/bt-1.c: New test.
* testsuite/gcc.target/i386/bt-2.c: Ditto.

From-SVN: r136615

16 years agoDaily bump.
GCC Administrator [Tue, 10 Jun 2008 00:17:27 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r136609

16 years ago* gcc.c-torture/execute/builtins/lib/chk.c: Only include sys/types.h for unix to...
Andy Hutchinson [Mon, 9 Jun 2008 22:56:35 +0000 (22:56 +0000)]
* gcc.c-torture/execute/builtins/lib/chk.c: Only include sys/types.h for unix to check for uClibc.

From-SVN: r136605

16 years agore PR testsuite/36285 (gcc.dg/compat/struct-by-value-xxx improper test for AVR target)
Andy Hutchinson [Mon, 9 Jun 2008 22:48:37 +0000 (22:48 +0000)]
re PR testsuite/36285 (gcc.dg/compat/struct-by-value-xxx improper test for AVR target)

PR testsuite/36285
* gcc.dg/compat/struct-return-10_y.c: Remove test_va.
* gcc.dg/compat/vector-defs.h: Add check for availability of 8 byte double.
* gcc.dg/compat/struct-layout-1_test.h: Change bitfield to match integer size.

From-SVN: r136604

16 years agore PR middle-end/36447 (simplify_subreg ICE with right shift more than length type...
Andy Hutchinson [Mon, 9 Jun 2008 22:38:34 +0000 (22:38 +0000)]
re PR middle-end/36447 (simplify_subreg ICE with right shift more than length type AVR)

PR middle-end/36447
* simplify-rtx.c (simplify_subreg): Add check for shift count greater than size.

From-SVN: r136602

16 years agopr34856.c: Condition use of -maltivec on powerpc_altivec_ok.
Joseph Myers [Mon, 9 Jun 2008 21:11:40 +0000 (22:11 +0100)]
pr34856.c: Condition use of -maltivec on powerpc_altivec_ok.

* gcc.dg/pr34856.c: Condition use of -maltivec on
powerpc_altivec_ok.  Use -w on other powerpc*-*-linux*.

From-SVN: r136601

16 years agomd.texi: Synchronize with later constraints.md change.
Richard Sandiford [Mon, 9 Jun 2008 20:45:56 +0000 (20:45 +0000)]
md.texi: Synchronize with later constraints.md change.

gcc/
* doc/md.texi: Synchronize with later constraints.md change.
* longlong.h (umul_ppmm): Replace the MIPS asm implementation
with a C implementation.
* config/mips/mips.c (mips_legitimize_move): Remove MFHI and
MFLO handling.
(mips_subword): Assume TImode for CONST_INTs if TARGET_64BIT.
(mips_split_doubleword_move): Use special MTHI and MFHI instructions
when moving to and from MD_REGNUM.
(mips_output_move): Don't handle moves from GPRs to HI_REGNUM.
Handle moves from LO_REGNUM to GPRs using MFLO, MACC or DMACC.
Handle byte and halfword moves.
(mips_hard_regno_mode_ok_p): Handle MD_REGS and DSP_ACC_REGS
separately.
* config/mips/constraints.md (h): Turn into NO_REGS.
(l, x): Update documentation.
* config/mips/mips.md (UNSPEC_MFHILO): Delete.
(UNSPEC_MFHI, UNSPEC_MTHI, UNSPEC_SET_HILO): New.
(UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): Renumber.
(HILO): New mode iterator.
(MOVE128): Add TI.
(any_div): New code iterator.
(u): Extend code attribute to div and udiv.
(*add<mode>3_mips16, *movdi_64bit_mips16, *movsi_mips16): Use
d_operand in the splitters.  Remove redundant CONST_INT checks.
(mulsi3_mult3, mul<mode>3_internal, mul<mode>3_r4000, *mul_acc_si)
(*macc, *msac, *msac_using_macc, *macc2, *msac2, *mul_sub_si)
(*muls): Remove "=h" clobbers.  Adjust peephole2s and define_splits
accordingly, using normal moves instead of unspecs to move LO into
a GPR.  Use d_operand and lo_operand instead of *_REG_P checks.
(<u>mulsidi3): Handle expansion in C code.
(<u>mulsidi3_32bit_internal): Rename to...
(<u>mulsidi3_32bit): ...this.
(<u>mulsidi3_32bit_r4000): Fix insn separator.
(*<u>mulsidi3_64bit): Rename to...
(<u>mulsidi3_64bit): ...this.  Combine DImode "=h" and "=l" clobbers
into a TImode "=x" clobber.  In the split, use an UNSPEC_SET_HILO
to set LO and HI to the multiplication result.  Use a normal move
for MFLO and an unspec for MFHI.
(*<u>mulsidi3_64bit_parts): Replace with...
(<u>mulsidi3_64bit_hilo): ...this new instruction.
(<su>mulsi3_highpart): Extend to TARGET_FIX_R4000.
(<su>mulsi3_highpart_internal): Turn into a define_insn_and_split
and extend it to TARGET_FIX_R4000.  Store the destination in a GPR
instead of HI.  Split the instruction into a separate multiplication
and MFHI if !TARGET_FIX_R4000.
(<su>muldi3_highpart): Likewise.
(<su>mulsi3_highpart_mulhi_internal): Remove the first alternative
and the "=h" clobber.
(*<su>mulsi3_highpart_neg_mulhi_internal): Likewise.
(<u>mulditi3): New expander.
(<u>mulditi3_internal, <u>mulditi3_r4000): New patterns.
(madsi): Remove "=h" clobber.
(divmod<mode>4, udivmod<mode>4): Turn into define_insn_and_splits.
Force the modulus result to be a GPR and split the instruction into
a division followed by an MFHI after reload.
(<u>divmod<GPR:mode>4_hilo_<HILO:mode>): New instruction.
(*lea_high64): Use d_operand in the define_peephole2.  Likewise
the MIPS16 HIGH define_split.
(*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16): Change type
of acc<->gpr moves to "multi".
(*movdi_64bit): Replace the single "x" alternative with
alternatives for moving into and out of "a".
(*movhi_internal, *movqi_internal): Likewise.  Use mips_output_move.
(*movsi_internal): Extend the "d<-A" alternative to "d<-a".
(*movdi_64bit_mips16, *movsi_mips16): Add d<-a alternatives.
Use d_operand in the splitters.  Remove redundant CONST_INT checks.
(*movhi_mips16, *movqi_mips16): Likewise.  Use mips_output_move.
(movti): New expander.
(*movti, *movti_mips16): New insns.
(mfhilo_<mode>, *mfhilo_<mode>, *mfhilo_<mode>_macc): Delete.
(mfhi<GPR:mode>_<HILO:mode>): New pattern.
(mthi<GPR:mode>_<HILO:mode>): Likewise.
* config/mips/predicates.md (fpr_operand): Delete.
(d_operand): New predicate.

gcc/testsuite/
* gcc.dg/torture/mips-hilo-1.c: Delete.
* gcc.target/mips/pr35232.c: Likewise.
* gcc.target/mips/fix-vr4130-1.c: Use modulus to create an mfhi.
* gcc.target/mips/fix-vr4130-3.c: Likewise.
* gcc.target/mips/int-moves-1.c: New test.
* gcc.target/mips/int-moves-2.c: Likewise.
* gcc.target/mips/fix-r4000-1.c: Likewise.
* gcc.target/mips/fix-r4000-2.c: Likewise.
* gcc.target/mips/fix-r4000-3.c: Likewise.
* gcc.target/mips/fix-r4000-4.c: Likewise.
* gcc.target/mips/fix-r4000-5.c: Likewise.
* gcc.target/mips/fix-r4000-6.c: Likewise.
* gcc.target/mips/fix-r4000-7.c: Likewise.
* gcc.target/mips/fix-r4000-8.c: Likewise.
* gcc.target/mips/fix-r4000-9.c: Likewise.
* gcc.target/mips/fix-r4000-10.c: Likewise.
* gcc.target/mips/fix-r4000-11.c: Likewise.
* gcc.target/mips/fix-r4000-12.c: Likewise.
* gcc.target/mips/timode-1.c: Likewise.
* gcc.target/mips/timode-2.c: Likewise.

From-SVN: r136600

16 years agoFix config.gcc shell script lossage
Michael Meissner [Mon, 9 Jun 2008 16:19:10 +0000 (16:19 +0000)]
Fix config.gcc shell script lossage

From-SVN: r136596

16 years agocygming.h (TARGET_SUBTARGET64_DEFAULT): New.
Kai Tietz [Mon, 9 Jun 2008 14:14:58 +0000 (14:14 +0000)]
cygming.h (TARGET_SUBTARGET64_DEFAULT): New.

2008-06-09  Kai Tietz  <kai.tietz@onevision.com>

* config/i386/cygming.h (TARGET_SUBTARGET64_DEFAULT): New.

From-SVN: r136590

16 years agoinstall.texi (*-*-solaris2*): Remove obsolete contents.
Eric Botcazou [Mon, 9 Jun 2008 10:16:15 +0000 (12:16 +0200)]
install.texi (*-*-solaris2*): Remove obsolete contents.

* doc/install.texi (*-*-solaris2*): Remove obsolete contents.
(sparc-sun-solaris2*): Likewise.

From-SVN: r136585

16 years agodecl.c (components_to_record): Adjust the packedness for the qualified union as well.
Eric Botcazou [Mon, 9 Jun 2008 09:41:16 +0000 (09:41 +0000)]
decl.c (components_to_record): Adjust the packedness for the qualified union as well.

* decl.c (components_to_record): Adjust the packedness for the
qualified union as well.

From-SVN: r136583

16 years ago* doc/install.texi: Update requirements to build the Ada compiler.
Arnaud Charlet [Mon, 9 Jun 2008 08:27:03 +0000 (10:27 +0200)]
* doc/install.texi: Update requirements to build the Ada compiler.

From-SVN: r136580

16 years agoMake-lang.in: Use -gnatwns instead of -gnatws to make sytyle checks non fatal.
Arnaud Charlet [Mon, 9 Jun 2008 07:50:46 +0000 (07:50 +0000)]
Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle checks non fatal.

* Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
checks non fatal.

From-SVN: r136578

16 years agodf-scan.c (struct df_scan_problem_data): Remove the mw_link_pool alloc pool.
Steven Bosscher [Mon, 9 Jun 2008 01:56:08 +0000 (01:56 +0000)]
df-scan.c (struct df_scan_problem_data): Remove the mw_link_pool alloc pool.

2008-06-08  Steven Bosscher  <stevenb.gcc@gmail.com>

* df-scan.c (struct df_scan_problem_data): Remove the
mw_link_pool alloc pool.
(df_scan_free_internal): Don't free it.
(df_scan_alloc): Don't allocate it.
* df.h (struct df_link): Update comment.

From-SVN: r136576

16 years agoDaily bump.
GCC Administrator [Mon, 9 Jun 2008 00:17:18 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r136574

16 years agore PR c++/35242 (ICE with invalid specialization of variadic template)
Paolo Carlini [Sun, 8 Jun 2008 21:25:49 +0000 (21:25 +0000)]
re PR c++/35242 (ICE with invalid specialization of variadic template)

/cp
2008-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/35242
        * pt.c (maybe_process_partial_specialization): Check the tree
returned by push_template_decl for error_mark_node.
* parser.c (cp_parser_class_head): Likewise, check the tree
returned by the latter.

/testsuite
2008-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/35242
        * g++.dg/cpp0x/vt-35242.C: New.

From-SVN: r136569

16 years ago* except.h: Correct checks for when SJLJ exceptions must be used.
Nathan Sidwell [Sun, 8 Jun 2008 19:06:49 +0000 (19:06 +0000)]
* except.h: Correct checks for when SJLJ exceptions must be used.

From-SVN: r136568

16 years agoinvoke.texi (Wenum-compare): Mention that it is enabled by default.
Manuel López-Ibáñez [Sun, 8 Jun 2008 16:56:57 +0000 (16:56 +0000)]
invoke.texi (Wenum-compare): Mention that it is enabled by default.

2008-06-08  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

* doc/invoke.texi (Wenum-compare): Mention that it is enabled by
default.

From-SVN: r136567

16 years agoUpdate the copyright years and put the licensing text directly into the template...
Bruce Korb [Sun, 8 Jun 2008 16:22:00 +0000 (16:22 +0000)]
Update the copyright years and put the licensing text directly into the template file.

Update the copyright years and put the licensing text directly
into the template file.  The license needs to be version dependent, so burn
it in directly.

From-SVN: r136566

16 years agore PR tree-optimization/36218 (VRP causes stack overflow while building libgcj)
Joseph Myers [Sun, 8 Jun 2008 16:14:33 +0000 (17:14 +0100)]
re PR tree-optimization/36218 (VRP causes stack overflow while building libgcj)

PR tree-optimization/36218
* Makefile.def (flags_to_pass): Add LDFLAGS_FOR_BUILD.
* Makefile.tpl (EXTRA_BUILD_FLAGS): Define.
(all prefix="build-"): Pass them to build-system sub-makes.
* Makefile.in: Regenerate.

config:
* config/mh-mingw (LDFLAGS): Define.

gcc:
* configure.ac: Use LDFLAGS="${LDFLAGS_FOR_BUILD}" when running
configure for the build system.
(BUILD_LDFLAGS): Define.
* configure: Regenerate.
* Makefile.in (BUILD_LDFLAGS): Define to @BUILD_LDFLAGS@.

From-SVN: r136563

16 years agore PR target/36424 (avr-gcc use don't saved registers in ISR with -O3 ('-frename...
Anatoly Sokolov [Sun, 8 Jun 2008 16:08:08 +0000 (20:08 +0400)]
re PR target/36424 (avr-gcc use don't saved registers in ISR with -O3 ('-frename-registers' ) optimization)

PR target/36424
* config/avr/avr.h (HARD_REGNO_RENAME_OK): Define.
* config/avr/avr.c (avr_hard_regno_rename_ok): New function.
* config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype.

From-SVN: r136562

16 years agoRemove commentary fixes. Regenerate fixincl.x just to show there is no difference.
Bruce Korb [Sun, 8 Jun 2008 16:07:17 +0000 (16:07 +0000)]
Remove commentary fixes.  Regenerate fixincl.x just to show there is no difference.

From-SVN: r136561

16 years agore PR fortran/36459 (Wrong interface use for PROCEDURE)
Janus Weil [Sun, 8 Jun 2008 11:55:41 +0000 (13:55 +0200)]
re PR fortran/36459 (Wrong interface use for PROCEDURE)

2008-06-08  Janus Weil  <janus@gcc.gnu.org>

PR fortran/36459
* decl.c (match_procedure_decl): Correctly recognize if the interface
is an intrinsic procedure.

2008-06-08  Janus Weil  <janus@gcc.gnu.org>

PR fortran/36459
* gfortran.dg/proc_decl_16.f90: New.

From-SVN: r136555

16 years agore PR fortran/35830 (ICE with PROCEDURE(<interface>) containing array formal arguments)
Tobias Burnus [Sun, 8 Jun 2008 07:48:53 +0000 (09:48 +0200)]
re PR fortran/35830 (ICE with PROCEDURE(<interface>) containing array formal arguments)

2008-06-08  Tobias Burnus  <burnus@net-b.de>

       PR fortran/35830
       * resolve.c (resolve_symbol): Copy more attributes for
       PROCEDUREs with interfaces.

2008-06-08  Tobias Burnus  <burnus@net-b.de>

       PR fortran/35830
       * proc_decl_13.f90: New.
       * proc_decl_14.f90: New.
       * proc_decl_15.f90: New.

From-SVN: r136554

16 years agoDaily bump.
GCC Administrator [Sun, 8 Jun 2008 00:17:13 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r136551

16 years agore PR fortran/36420 (Fortran 2008: g0 edit descriptor)
Jerry DeLisle [Sun, 8 Jun 2008 00:09:01 +0000 (00:09 +0000)]
re PR fortran/36420 (Fortran 2008: g0 edit descriptor)

2008-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/36420
PR fortran/36421
PR fortran/36422
* gfortran.dg/fmt_g0_1.f08: New test.
* gfortran.dg/fmt_g0_2.f08: New test.
* gfortran.dg/fmt_g0_3.f08: New test.

From-SVN: r136547

16 years agoFix ChangeLog
Jerry DeLisle [Sun, 8 Jun 2008 00:01:19 +0000 (00:01 +0000)]
Fix ChangeLog

From-SVN: r136546

16 years agore PR fortran/36420 (Fortran 2008: g0 edit descriptor)
Jerry DeLisle [Sat, 7 Jun 2008 23:59:53 +0000 (23:59 +0000)]
re PR fortran/36420 (Fortran 2008: g0 edit descriptor)

2008-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/36420
PR libfortran/36421
PR libfortran/36422
* io/io.h: Add prototype for write_real.
* io/transfer.c (formatted_transfer_scalar): For FMT_G and width zero,
use write_real.
* io/format.c: Add zero width error message. (parse_format_list): Use
error message for FMT_A if followed by FMT_ZERO. Use zero width error
message for FMT_G if mode is READ or if -std=f95 or f2003. (fmormat0):
Fix typo in comment.
* io/write.c (write_a): Set wlen to len if FMT_G and length is zero.
(write_l): Add wlen variable and use it if FMT_G and width is zero.
(write_decimal): If FMT_G, set m to -1 to flag processor dependent
formatting. (write_real): Remove static declaration.

From-SVN: r136545

16 years agoPR fortran/36420, 36422
Jerry DeLisle [Sat, 7 Jun 2008 23:55:47 +0000 (23:55 +0000)]
PR fortran/36420, 36422

2008-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/36420, 36422
* io.c (check_format): Add new error message for zero width. Use new
error message for FMT_A and with READ, FMT_G.  Allow FMT_G with WRITE
except when -std=F95 and -std=F2003.

From-SVN: r136544

16 years agocdce1.c: Remove run target clause.
Xinliang David Li [Sat, 7 Jun 2008 22:56:15 +0000 (22:56 +0000)]
cdce1.c: Remove run target clause.

2008-06-07  Xinliang David Li  <davidxl@google.com>

PR/36440
* gcc.dg/cdce1.c: Remove run target clause.
* gcc.dg/cdce2.c: Ditto.
* g++.dg/cdce3.C: Fix a bug in target specification.

From-SVN: r136542

16 years agocygming.h (MAYBE_UWIN_CPP_BUILTINS): Remove.
Danny Smith [Sat, 7 Jun 2008 22:50:24 +0000 (22:50 +0000)]
cygming.h (MAYBE_UWIN_CPP_BUILTINS): Remove.

* config/i386/cygming.h (MAYBE_UWIN_CPP_BUILTINS): Remove.

From-SVN: r136541

16 years agocopy in the new generated "pthread.h" header
Bruce Korb [Sat, 7 Jun 2008 22:25:33 +0000 (22:25 +0000)]
copy in the new generated "pthread.h" header

From-SVN: r136540

16 years agoclean up fixes
Bruce Korb [Sat, 7 Jun 2008 22:19:45 +0000 (22:19 +0000)]
clean up fixes

From-SVN: r136539

16 years agoAdd missing PR to change log. (Forgot it in Rev. 136536)
Tobias Burnus [Sat, 7 Jun 2008 18:56:19 +0000 (20:56 +0200)]
Add missing PR to change log. (Forgot it in Rev. 136536)

From-SVN: r136537

16 years agore PR fortran/36437 (Simplify argument to [c_]sizeof)
Tobias Burnus [Sat, 7 Jun 2008 18:53:07 +0000 (20:53 +0200)]
re PR fortran/36437 (Simplify argument to [c_]sizeof)

2008-06-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36437
        * intrinsic.c (add_functions): Implement c_sizeof.
        * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Do not
        create unneeded variable in the scalar case.

2008-06-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36437
        * gfortran.dg/c_sizeof_1.f90: New.
        * gfortran.dg/c_sizeof_2.f90: New.

From-SVN: r136536

16 years agoMAINTAINERS (mt port): Remove.
Joseph Myers [Sat, 7 Jun 2008 18:00:15 +0000 (19:00 +0100)]
MAINTAINERS (mt port): Remove.

* MAINTAINERS (mt port): Remove.
(sco5, unixware, sco udk): Remove.
(Kean Johnston): Add to Write After Approval.

fixincludes:
* inclhack.def (AAB_svr4_replace_byteorder,
AAB_ultrix_ansi_compat, AAB_ultrix_limits, AAB_ultrix_memory,
libc1_G_va_list, libc1_ifdefd_memx, nested_motorola,
ptx_sys_mc_param_h, sco_regset, sco_static_func, sco_utime,
solaris_mutex_init_1, solaris_socket, solaris_unistd,
solaris_widec, svr4_krnl, ultrix_atexit_param, ultrix_atof_param,
ultrix_const3, ultrix_fix_fixproto, ultrix_ifdef, ultrix_locale,
ultrix_math_ifdef, ultrix_nested_ioctl, ultrix_nested_svc,
ultrix_stat, ultrix_static, ultrix_stdlib, ultrix_strings,
ultrix_strings2, ultrix_sys_time, ultrix_unistd,
unicosmk_restrict, uw7_byteorder_fix, windiss_math1,
windiss_math2, windiss_valist): Remove.
* fixincl.x: Regenerate.
* mkfixinc.sh: (arm-semi-aof, hppa1.1-*-osf*, hppa1.1-*-bsd*,
i370-*-openedition, i?86-*-moss*, i?86-*-uwin*,
powerpc-*-eabiaix*): Remove.
* tests/base/math.h: Update.
* tests/base/pthread.h: Update.
* tests/base/stdio.h: Update.
* tests/base/stdlib.h: Update.
* tests/base/string.h: Update.
* tests/base/strings.h: Update.
* tests/base/sys/file.h: Update.
* tests/base/sys/limits.h: Update.
* tests/base/sys/socket.h: Update.
* tests/base/sys/stat.h: Update.
* tests/base/sys/time.h: Update.
* tests/base/testing.h: Update.
* tests/base/unistd.h: Update.
* tests/base/_G_config.h: Remove.
* tests/base/arpa: Remove directory.
* tests/base/fs: Remove directory.
* tests/base/locale.h: Remove.
* tests/base/machine: Remove directory.
* tests/base/rpc/svc.h: Remove.
* tests/base/sys/ioctl.h: Remove.
* tests/base/sys/regset.h: Remove.
* tests/base/sys/times.h: Remove.
* tests/base/sys/utsname.h: Remove.
* tests/base/widec.h: Remove.

gcc:
* config.gcc (Obsolete configurations): Remove list of
configurations.
(Unsupported targets list): Add *-*-linux*aout*, *-*-linux*libc1*,
*-*-solaris2.[0-6], *-*-solaris2.[0-6].*, *-*-sysv*.  Remove other
targets matched by those patterns.
(strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*,
m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
vax-*-ultrix*, xscale-*-elf, xscale-*-coff,
i[34567]86-*-linux*aout*, i[34567]86-*-linux*libc1): Remove.
Make code for Solaris 7 and greater unconditional for Solaris.
(ep9312-*-*, parisc1*, m680[012]0-*-*, parisc*-*-*, mt-*-*):
Remove --with-* handling.
* config/rs6000/sysv4.h (-mwindiss): Remove from all specs.
(LIB_WINDISS_SPEC, CPP_OS_WINDISS_SPEC, STARTFILE_WINDISS_SPEC,
ENDFILE_WINDISS_SPEC, LINK_START_WINDISS_SPEC,
LINK_OS_WINDISS_SPEC): Remove.
* config/rs6000/sysv4.opt (mwindiss): Remove.
* configure.ac (strongarm*-*-*, xscale*-*-*): Remove.
* configure: Regenerate.
* doc/cpp.texi: Don't mention BeOS.
* doc/extend.texi (interrupt): Don't mention MS1.
* doc/install.texi: (i386-@var{any}-sysv, m68k-bull-sysv,
m68k-hp-hpux, m68000-hp-hpux, m68000-att-sysv,
alphaev5-cray-unicosmk*, xscale-*-*, i?86-*-linux*aout,
i?86-*-sco3.2v5*, i?86-*-udk, m68k-hp-hpux, powerpc-*-sysv4,
powerpc-*-sysv4, powerpcle-*-sysv4, *-*-sysv*, vax-dec-ultrix):
Remove.
* doc/invoke.texi (MT Options): Remove.
(-mwindiss): Remove.
(CRIS Options): Remove cris-axis-aout references.
(HPPA Options): Don't mention hppa1.1-*-pro.
* doc/md.texi: (MorphoTech family): Remove.
* libgcc2.c: Don't handle UWIN.
* config/alpha/t-unicosmk: Remove.
* config/alpha/unicosmk.h: Remove.
* config/arm/kaos-arm.h: Remove.
* config/arm/kaos-strongarm.h: Remove.
* config/arm/strongarm-coff.h: Remove.
* config/arm/strongarm-elf.h: Remove.
* config/arm/strongarm-pe.h: Remove.
* config/arm/t-strongarm-pe: Remove.
* config/arm/t-xscale-coff: Remove.
* config/arm/t-xscale-elf: Remove.
* config/arm/xscale-coff.h: Remove.
* config/arm/xscale-elf.h: Remove.
* config/chorus.h: Remove.
* config/cris/aout.h: Remove.
* config/cris/aout.opt: Remove.
* config/cris/t-aout: Remove.
* config/i386/beos-elf.h: Remove.
* config/i386/kaos-i386.h: Remove.
* config/i386/ptx4-i.h: Remove.
* config/i386/sco5.h: Remove.
* config/i386/sco5.opt: Remove.
* config/i386/sysv4-cpp.h: Remove.
* config/i386/sysv5.h: Remove.
* config/i386/t-beos: Remove.
* config/i386/t-sco5: Remove.
* config/i386/t-uwin: Remove.
* config/i386/uwin.asm: Remove.
* config/i386/uwin.h: Remove.
* config/kaos.h: Remove.
* config/mips/windiss.h: Remove.
* config/mt: Remove directory.
* config/pa/pa-osf.h: Remove.
* config/pa/pa-pro-end.h: Remove.
* config/pa/t-pro: Remove.
* config/ptx4.h: Remove.
* config/rs6000/beos.h: Remove.
* config/rs6000/kaos-ppc.h: Remove.
* config/rs6000/t-beos: Remove.
* config/rs6000/windiss.h: Remove.
* config/sh/kaos-sh.h: Remove.
* config/sol2-6.h: Remove.
* config/sparc/sol26-sld.h: Remove.
* config/sparc/sysv4-only.h: Remove.
* config/vax/bsd.h: Remove.
* config/vax/t-memfuncs: Remove.
* config/vax/ultrix.h: Remove.
* config/vax/vaxv.h: Remove.
* config/windiss.h: Remove.

gcc/testsuite:
* g++.dg/abi/arm_cxa_vec1.C: Don't handle xscale*-*-*.
* g++.dg/eh/spbp.C: Don't handle *-*-solaris2.[56]*.
* g++.dg/warn/miss-format-1.C: Don't handle Solaris before Solaris
7.
* gcc.c-torture/compile/981006-1.c: Don't handle xscale*-*-*,
strongarm*-*-* and cris-*-aout*.
* gcc.c-torture/execute/941014-1.x: Don't handle xscale*-*-* and
strongarm*-*-*.
* gcc.dg/20030909-1.c: Don't handle xscale*-*-* and
strongarm*-*-*.
* gcc.dg/20031108-1.c: Don't handle xscale*-*-* and
strongarm*-*-*.
* gcc.dg/20040813-1.c: Don't handle *-*-sysv5*.
* gcc.dg/arm-asm.c: Don't handle strongarm*-*-* and xscale*-*-*.
* gcc.dg/arm-scd42-1.c: Use target arm*-*-*.
* gcc.dg/arm-scd42-3.c: Use target arm*-*-*.
* gcc.dg/cpp/assert4.c: Don't handle BeOS.
* gcc.dg/debug/pr35154.c: Don't handle *-*-sysv5*.
* gcc.dg/intmax_t-1.c: Don't handle *-*-solaris2.5.1 and
xscale*-*-elf*.
* gcc.dg/pragma-align.c: Don't handle i?86-*-sco3.2v5*.
* gcc.dg/pthread-init-2.c: Don't handle *-*-solaris2.5.1.
* gcc.misc-tests/arm-isr.exp: Use target arm*-*-*.
* gcc.target/powerpc/ppc-sdata-1.c: Don't handle powerpc-*-sysv*.
* gcc.target/powerpc/ppc-sdata-2.c: Don't handle powerpc-*-sysv*.
* gcc.target/powerpc/ppc-stackalign-1.c: Don't handle
powerpc-*-sysv*.
* gfortran.dg/debug/pr35154-stabs.f: Don't handle *-*-sysv5*.
* lib/target-supports.exp: Don't handle strongarm*-*-elf,
xscale*-*-elf and *-*-windiss.
* obj-c++.dg/dwarf-2.mm: Don't handle *-*-solaris2.[56]*.
* objc.dg/dwarf-1.m: Don't handle *-*-solaris2.[56]*.
* objc.dg/dwarf-2.m: Don't handle *-*-solaris2.[56]*.
* gcc.dg/mt-loopi1.c: Remove.

gnattools:
* configure.ac (xscale*-wrs-vx*, xscale*-wrs-coff): Remove.
* configure: Regenerate.

libcpp:
* configure.ac (parisc*64*-*-*): Remove.
* configure: Regenerate.

libffi:
* configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
powerpc-*-beos*): Remove.
* configure: Regenerate.

libgcc:
* config.host (strongarm*-*-*, ep9312*-*-*, xscale-*-*,
parisc*-*-*, m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
vax-*-ultrix*, xscale-*-elf, xscale-*-coff): Remove.

libjava:
* configure.host (strongarm*-elf, xscale*-elf): Remove.

libstdc++-v3:
* configure.host (xscale, ep9312, m680[246]0, solaris2.5,
solaris2.5.[0-9], solaris2.6, windiss*): Remove.
* crossconfig.m4 (*-solaris2.5, *-solaris2.6, *-windiss*): Remove.
* configure: Regenerate.
* config/os/solaris/solaris2.5: Remove directory.
* config/os/solaris/solaris2.6: Remove directory.
* config/os/windiss: Remove directory.

From-SVN: r136534

16 years agosem_res.adb (Large_Storage_Type): A type is large if it requires as many bits as...
Samuel Tardieu [Sat, 7 Jun 2008 16:10:50 +0000 (16:10 +0000)]
sem_res.adb (Large_Storage_Type): A type is large if it requires as many bits as Positive to store its values and...

    gcc/ada/
* sem_res.adb (Large_Storage_Type): A type is large if it
requires as many bits as Positive to store its values and its
bounds are known at compile time.
* sem_ch13.adb (Minimum_Size): Note that this function returns
0 if the size is not known at compile time.

    gcc/testsuite/
* gnat.dg/specs/oversize.ads: New.

From-SVN: r136532

16 years agore PR c++/35327 (ICE with invalid constructor)
Paolo Carlini [Sat, 7 Jun 2008 08:06:46 +0000 (08:06 +0000)]
re PR c++/35327 (ICE with invalid constructor)

/cp
2008-06-07  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/35327
        * decl.c (grokdeclarator): In case of wrong return type return
immediately error_mark_node.

/testsuite
2008-06-07  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/35327
        * g++.dg/parse/crash41.C: New.

From-SVN: r136518

16 years agoMove Ada specific log to the Ada ChangeLog file.
Olivier Hainque [Sat, 7 Jun 2008 07:12:05 +0000 (07:12 +0000)]
Move Ada specific log to the Ada ChangeLog file.

From-SVN: r136517

16 years agoDaily bump.
GCC Administrator [Sat, 7 Jun 2008 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r136513

16 years agoada-tree.h (DECL_PARALLEL_TYPE): New language specific attribute...
Nicolas Setton [Fri, 6 Jun 2008 21:36:28 +0000 (21:36 +0000)]
ada-tree.h (DECL_PARALLEL_TYPE): New language specific attribute...

2008-06-06  Nicolas Setton  <setton@adacore.com>
            Olivier Hainque  <hainque@adacore.com>

        * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
        attribute, parallel descriptive type attached to another type
        for debug info generation purposes.
        * utils.c (add_parallel_type): New function, register parallel
        type to be attached to a type.
        (get_parallel_type): New function, fetch a registered parallel
        type, if any.
        (rest_of_record_type_compilation): Register the parallel type we
        make for variable size records.
        * gigi.h (add_parallel_type, get_parallel_type): Declare.
        * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
        parallel debug types we make.
        * trans.c (extract_encoding, decode_name): New functions.
        (gigi): If the DWARF attribute extensions are available, setup
        to use them.
        * lang.opt: Register language specific processing request
        for -gdwarf+.
        * misc.c (gnat_dwarf_extensions): New global variable.  How much
        do we want of our DWARF extensions. 0 by default.
        (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
        (gnat_post_options): Map gnat_dwarf_extensions to the common
        use_gnu_debug_info_extensions for later processing.

Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r136506

16 years agore PR bootstrap/36452 (Broken bootstrap while building libgomp.)
Andreas Tobler [Fri, 6 Jun 2008 20:30:31 +0000 (20:30 +0000)]
re PR bootstrap/36452 (Broken bootstrap while building libgomp.)

2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>

PR bootstrap/36452
* loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
(GOMP_loop_ull_dynamic_start): Likewise.
(GOMP_loop_ull_guided_start): Likewise.
(GOMP_loop_ull_ordered_static_start): Likewise.
(GOMP_loop_ull_ordered_dynamic_start): Likewise.
(GOMP_loop_ull_ordered_guided_start): Likewise.

From-SVN: r136503

16 years agousing.xml: Outline exception topics.
Benjamin Kosnik [Fri, 6 Jun 2008 19:38:03 +0000 (19:38 +0000)]
using.xml: Outline exception topics.

2008-06-06  Benjamin Kosnik  <bkoz@redhat.com>

* doc/xml/manual/using.xml: Outline exception topics.

* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Format.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
policy_access_fn_imps.hpp: Same.
* include/ext/pb_ds/priority_queue.hpp: Same.
* include/ext/throw_allocator.h: Same.

* include/ext/pb_ds/tag_and_trait.hpp (string_tag): New tag.
(sequence_tag): New tag. Doxygen markup fixes.

* testsuite/lib/libstdc++.exp: Remove twister_ran_gen.cc source file.

* testsuite/performance/ext/pb_ds/text_find_timing.cc: Fix
comment typo, include paths, format.
* testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
hash_random_int_erase_mem_usage.cc: Same.
* testsuite/performance/ext/pb_ds/
random_int_subscript_find_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
priority_queue_text_push_timing.cc: Same.
* testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
* testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
* testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
* testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp
* testsuite/performance/ext/pb_ds/
priority_queue_random_int_push_timing.cc: Same.
* testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
* testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
priority_queue_text_push_pop_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
priority_queue_text_join_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
priority_queue_random_int_push_pop_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
random_int_subscript_insert_timing.cc: Same.
* testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
* testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp
* testsuite/performance/ext/pb_ds/
priority_queue_text_pop_mem_usage.cc: Same.
* testsuite/performance/ext/pb_ds/
hash_zlob_random_int_find_timing.cc: Same.
* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
* testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
* testsuite/util/regression/trait/erase_if_fn.hpp: Same.
* testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/node_update_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/get_set_load_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/trait.hpp: Same.
* testsuite/util/regression/trait/assoc/resize_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/to_string.hpp: Same.
* testsuite/util/regression/basic_type.hpp: Same.
* testsuite/util/common_type/priority_queue/string_form.hpp: Same.
* testsuite/util/common_type/priority_queue/detail/
ds_string_form.hpp: Same.
* testsuite/util/common_type/assoc/string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
resize_policy_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
trigger_policy_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
comb_hash_fn_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
size_policy_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
probe_fn_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
list_update_policy_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
store_hash_string_form.hpp: Same.
* testsuite/util/common_type/assoc/native_set.hpp: Same.
* testsuite/util/io/prog_bar.cc: Same.

* testsuite/util/regression/rand/io: Remove.
* testsuite/util/regression/rand/io/priority_queue: Same.
* testsuite/util/regression/rand/io/assoc: Same.
* testsuite/util/regression/rand/io/priority_queue/
xml_formatter.hpp: Consolidate this...
* testsuite/util/regression/rand/io/assoc/xml_formatter.hpp: ...this
* testsuite/util/regression/rand/io/xml_formatter.hpp: ... and this
* testsuite/util/regression/rand/xml_formatter.hpp: ...here.

* testsuite/util/regression/rand/priority_queue/
container_rand_regression_test.hpp:To ...
container_rand_regression_test.h: ... this.
* testsuite/util/regression/rand/priority_queue/detail/*.hpp:To ...
* testsuite/util/regression/rand/priority_queue/
container_rand_regression_test.tcc: ... this.
PB_DS_THROW_IF_FAIL: Change to _GLIBCXX_THROW_IF, adjust predicate.
PB_DS_SET_DESTRUCT_PRINT: Fold inline.
PB_DS_CANCEL_DESTRUCT_PRINT: Fold inline.
* testsuite/util/regression/rand/priority_queue/
rand_regression_test.hpp: Adjust includes.

* testsuite/util/regression/rand/assoc/
container_rand_regression_test.hpp: To ...
* testsuite/util/regression/rand/assoc/
container_rand_regression_test.h: ... this.
* testsuite/util/regression/rand/assoc/detail/*.hpp:To ...
* testsuite/util/regression/rand/assoc/
container_rand_regression_test.tcc: ...this.
* testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Adjust
includes.

* testsuite/util/regression/priority_queue: Remove.
* testsuite/util/regression/assoc: Remove.
* testsuite/util/regression/priority_queue/
common_type.hpp: Consolidate this...
* testsuite/util/regression/assoc/common_type.hpp: ... and this
* testsuite/util/regression/common_type.hpp: ...here.

* testsuite/util/rng: Remove.
* testsuite/util/rng/twister_rand_gen.cc: Consolidate...
* testsuite/util/rng/twister_rand_gen.hpp: ... and this
* testsuite/util/testsuite_rng.h: ...here.

* testsuite/util/native_type/priority_queue: Remove.
* testsuite/util/native_type/priority_queue/
native_priority_queue.hpp: To...
* testsuite/util/native_type/native_priority_queue.hpp: ...here.

* testsuite/util/native_type/assoc: Remove.
* testsuite/util/native_type/assoc/native_multimap.hpp: To...
* testsuite/util/native_type/assoc/native_tree_tag.hpp: To...
* testsuite/util/native_type/assoc/native_hash_multimap.hpp: To...
* testsuite/util/native_type/assoc/native_set.hpp: To...
* testsuite/util/native_type/assoc/native_map.hpp: To...
* testsuite/util/native_type/assoc/native_hash_set.hpp: To...
* testsuite/util/native_type/assoc/native_hash_tag.hpp: To...
* testsuite/util/native_type/assoc/native_hash_map.hpp: To...
* testsuite/util/native_type/native_multimap.hpp: ...here.
* testsuite/util/native_type/native_tree_tag.hpp: ...here.
* testsuite/util/native_type/native_hash_multimap.hpp: ...here.
* testsuite/util/native_type/native_set.hpp: ...here.
* testsuite/util/native_type/native_map.hpp: ...here.
* testsuite/util/native_type/native_hash_set.hpp: ...here.
* testsuite/util/native_type/native_hash_tag.hpp: ...here.
* testsuite/util/native_type/native_hash_map.hpp: ...here.

* testsuite/util/common_type/priority_queue/common_type.hpp:
Make include guard distinct.
* testsuite/util/common_type/assoc/common_type.hpp: Same.

From-SVN: r136498

16 years agousing.xml: Outline exception topics.
Benjamin Kosnik [Fri, 6 Jun 2008 19:32:43 +0000 (19:32 +0000)]
using.xml: Outline exception topics.

2008-06-06  Benjamin Kosnik  <bkoz@redhat.com>

* doc/xml/manual/using.xml: Outline exception topics.

* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Format.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
policy_access_fn_imps.hpp: Same.
* include/ext/pb_ds/priority_queue.hpp: Same.
* include/ext/throw_allocator.h: Same.

* include/ext/pb_ds/tag_and_trait.hpp (string_tag): New tag.
(sequence_tag): New tag. Doxygen markup fixes.

* testsuite/lib/libstdc++.exp: Remove twister_ran_gen.cc source file.

* testsuite/performance/ext/pb_ds/text_find_timing.cc: Fix
comment typo, include paths, format.
* testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
hash_random_int_erase_mem_usage.cc: Same.
* testsuite/performance/ext/pb_ds/
random_int_subscript_find_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
priority_queue_text_push_timing.cc: Same.
* testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
* testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
* testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
* testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp
* testsuite/performance/ext/pb_ds/
priority_queue_random_int_push_timing.cc: Same.
* testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
* testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
priority_queue_text_push_pop_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
priority_queue_text_join_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
priority_queue_random_int_push_pop_timing.cc: Same.
* testsuite/performance/ext/pb_ds/
random_int_subscript_insert_timing.cc: Same.
* testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
* testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp
* testsuite/performance/ext/pb_ds/
priority_queue_text_pop_mem_usage.cc: Same.
* testsuite/performance/ext/pb_ds/
hash_zlob_random_int_find_timing.cc: Same.
* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
* testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
* testsuite/util/regression/trait/erase_if_fn.hpp: Same.
* testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/node_update_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/get_set_load_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/trait.hpp: Same.
* testsuite/util/regression/trait/assoc/resize_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
* testsuite/util/regression/trait/assoc/to_string.hpp: Same.
* testsuite/util/regression/basic_type.hpp: Same.
* testsuite/util/common_type/priority_queue/string_form.hpp: Same.
* testsuite/util/common_type/priority_queue/detail/
ds_string_form.hpp: Same.
* testsuite/util/common_type/assoc/string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
resize_policy_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
trigger_policy_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
comb_hash_fn_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
size_policy_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
probe_fn_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
list_update_policy_string_form.hpp: Same.
* testsuite/util/common_type/assoc/detail/
store_hash_string_form.hpp: Same.
* testsuite/util/common_type/assoc/native_set.hpp: Same.
* testsuite/util/io/prog_bar.cc: Same.

* testsuite/util/regression/rand/io: Remove.
* testsuite/util/regression/rand/io/priority_queue: Same.
* testsuite/util/regression/rand/io/assoc: Same.
* testsuite/util/regression/rand/io/priority_queue/
xml_formatter.hpp: Consolidate this...
* testsuite/util/regression/rand/io/assoc/xml_formatter.hpp: ...this
* testsuite/util/regression/rand/io/xml_formatter.hpp: ... and this
* testsuite/util/regression/rand/xml_formatter.hpp: ...here.

* testsuite/util/regression/rand/priority_queue/
container_rand_regression_test.hpp:To ...
container_rand_regression_test.h: ... this.
* testsuite/util/regression/rand/priority_queue/detail/*.hpp:To ...
* testsuite/util/regression/rand/priority_queue/
container_rand_regression_test.tcc: ... this.
PB_DS_THROW_IF_FAIL: Change to _GLIBCXX_THROW_IF, adjust predicate.
PB_DS_SET_DESTRUCT_PRINT: Fold inline.
PB_DS_CANCEL_DESTRUCT_PRINT: Fold inline.
* testsuite/util/regression/rand/priority_queue/
rand_regression_test.hpp: Adjust includes.

* testsuite/util/regression/rand/assoc/
container_rand_regression_test.hpp: To ...
* testsuite/util/regression/rand/assoc/
container_rand_regression_test.h: ... this.
* testsuite/util/regression/rand/assoc/detail/*.hpp:To ...
* testsuite/util/regression/rand/assoc/
container_rand_regression_test.tcc: ...this.
* testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Adjust
includes.

* testsuite/util/regression/priority_queue: Remove.
* testsuite/util/regression/assoc: Remove.
* testsuite/util/regression/priority_queue/
common_type.hpp: Consolidate this...
* testsuite/util/regression/assoc/common_type.hpp: ... and this
* testsuite/util/regression/common_type.hpp: ...here.

* testsuite/util/rng: Remove.
* testsuite/util/rng/twister_rand_gen.cc: Consolidate...
* testsuite/util/rng/twister_rand_gen.hpp: ... and this
* testsuite/util/testsuite_rng.h: ...here.

* testsuite/util/native_type/priority_queue: Remove.
* testsuite/util/native_type/priority_queue/
native_priority_queue.hpp: To...
* testsuite/util/native_type/native_priority_queue.hpp: ...here.

* testsuite/util/native_type/assoc: Remove.
* testsuite/util/native_type/assoc/native_multimap.hpp: To...
* testsuite/util/native_type/assoc/native_tree_tag.hpp: To...
* testsuite/util/native_type/assoc/native_hash_multimap.hpp: To...
* testsuite/util/native_type/assoc/native_set.hpp: To...
* testsuite/util/native_type/assoc/native_map.hpp: To...
* testsuite/util/native_type/assoc/native_hash_set.hpp: To...
* testsuite/util/native_type/assoc/native_hash_tag.hpp: To...
* testsuite/util/native_type/assoc/native_hash_map.hpp: To...
* testsuite/util/native_type/native_multimap.hpp: ...here.
* testsuite/util/native_type/native_tree_tag.hpp: ...here.
* testsuite/util/native_type/native_hash_multimap.hpp: ...here.
* testsuite/util/native_type/native_set.hpp: ...here.
* testsuite/util/native_type/native_map.hpp: ...here.
* testsuite/util/native_type/native_hash_set.hpp: ...here.
* testsuite/util/native_type/native_hash_tag.hpp: ...here.
* testsuite/util/native_type/native_hash_map.hpp: ...here.

* testsuite/util/common_type/priority_queue/common_type.hpp:
Make include guard distinct.

From-SVN: r136497

16 years agoconfigure.ac: Do not check for gconv.h.
Joseph Myers [Fri, 6 Jun 2008 19:11:26 +0000 (20:11 +0100)]
configure.ac: Do not check for gconv.h.

* configure.ac: Do not check for gconv.h.
* crossconfig.m4 (GLIBCXX_CROSSCONFIG): Do not test for gconv.h or
gconf.h.  For glibc and uClibc systems, define
_GLIBCXX_USE_RANDOM_TR1 and HAVE_MMAP and use AC_LC_MESSAGES and
AM_ICONV.
* configure, config.h.in: Regenerate.

From-SVN: r136494

16 years agointrinsic.texi (BESSEL_J1): Fix BES(S)EL_J1 typo.
Tobias Burnus [Fri, 6 Jun 2008 17:19:02 +0000 (19:19 +0200)]
intrinsic.texi (BESSEL_J1): Fix BES(S)EL_J1 typo.

2008-06-06  Tobias Burnus  <burnus@net-b.de>

       * intrinsic.texi (BESSEL_J1): Fix BES(S)EL_J1 typo.

From-SVN: r136491

16 years agore PR rtl-optimization/36438 (gcc ICE compiling code with mmx builtin)
Uros Bizjak [Fri, 6 Jun 2008 15:04:51 +0000 (17:04 +0200)]
re PR rtl-optimization/36438 (gcc ICE compiling code with mmx builtin)

PR rtl-optimization/36438
* cse.c (fold_rtx) [ASHIFT, LSHIFTRT, ASHIFTRT]: Break out early
for vector shifts with constant scalar shift operands.

From-SVN: r136486

16 years agoall.cc, [...]: Only include <ext/codecvt_specializations.h> and <ext/enc_filebuf...
Joseph Myers [Fri, 6 Jun 2008 15:03:52 +0000 (16:03 +0100)]
all.cc, [...]: Only include <ext/codecvt_specializations.h> and <ext/enc_filebuf.h> if...

* testsuite/17_intro/headers/all.cc,
testsuite/17_intro/headers/all_c++200x_compatibility.cc,
testsuite/17_intro/headers/all_pedantic_errors.cc,
testsuite/ext/headers.cc: Only include
<ext/codecvt_specializations.h> and <ext/enc_filebuf.h> if
_GLIBCXX_HAVE_ICONV.

From-SVN: r136485

16 years agoinvoke.texi: Document -march=xlr.
Sandip Matte [Fri, 6 Jun 2008 14:24:57 +0000 (14:24 +0000)]
invoke.texi: Document -march=xlr.

gcc/
2008-06-05  Sandip Matte  <sandip@rmicorp.com>

* doc/invoke.texi: Document -march=xlr.
* config/mips/xlr.md: New file.
* config/mips/mips.md: Include it.
(cpu): Add "xlr".
* config/mips/mips.h (PROCESSOR_XLR): New processor_type.
* config/mips/mips.c (mips_cpu_info_table): Add an XLR entry.
(mips_rtx_cost_data): Likewise.

From-SVN: r136438

16 years agors6000.c (rs6000_mode_dependent_address): Remove PRE_INC and PRE_DEC cases.
Nathan Froyd [Fri, 6 Jun 2008 13:46:45 +0000 (13:46 +0000)]
rs6000.c (rs6000_mode_dependent_address): Remove PRE_INC and PRE_DEC cases.

* config/rs6000/rs6000.c (rs6000_mode_dependent_address): Remove
PRE_INC and PRE_DEC cases.

From-SVN: r136437

16 years agore PR rtl-optimization/36419 (Wrong unwind info with -Os -fasynchronous-unwind-tables)
Jakub Jelinek [Fri, 6 Jun 2008 13:24:45 +0000 (15:24 +0200)]
re PR rtl-optimization/36419 (Wrong unwind info with -Os -fasynchronous-unwind-tables)

PR rtl-optimization/36419
* except.c (expand_resx_expr): Call do_pending_stack_adjust () before
the emitting jump insn.

From-SVN: r136435

16 years agore PR target/36362 (ICE in simplify_subreg)
Jakub Jelinek [Fri, 6 Jun 2008 13:23:04 +0000 (15:23 +0200)]
re PR target/36362 (ICE in simplify_subreg)

PR target/36362
* gimplify.c (gimplify_expr) <case TRUTH_NOT_EXPR>: If *expr_p type
is not bool, boolify the whole *expr_p and convert to the desired type.

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

From-SVN: r136434

16 years agoc-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805.
Jakub Jelinek [Fri, 6 Jun 2008 13:01:54 +0000 (15:01 +0200)]
c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to 200805.

* c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP value to
200805.
* langhooks.h (struct lang_hooks_for_decls): Add omp_finish_clause.
Add omp_private_outer_ref hook, add another argument to
omp_clause_default_ctor hook.
* langhooks-def.h (LANG_HOOKS_OMP_FINISH_CLAUSE): Define.
(LANG_HOOKS_OMP_PRIVATE_OUTER_REF): Define.
(LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR): Change to
hook_tree_tree_tree_tree_null.
(LANG_HOOKS_DECLS): Add LANG_HOOKS_OMP_FINISH_CLAUSE and
LANG_HOOKS_OMP_PRIVATE_OUTER_REF.
* hooks.c (hook_tree_tree_tree_tree_null): New function.
* hooks.h (hook_tree_tree_tree_tree_null): New prototype.
* tree.def (OMP_TASK): New tree code.
* tree.h (OMP_TASK_COPYFN, OMP_TASK_ARG_SIZE, OMP_TASK_ARG_ALIGN,
OMP_CLAUSE_PRIVATE_OUTER_REF, OMP_CLAUSE_LASTPRIVATE_STMT,
OMP_CLAUSE_COLLAPSE_ITERVAR, OMP_CLAUSE_COLLAPSE_COUNT,
OMP_TASKREG_CHECK, OMP_TASKREG_BODY, OMP_TASKREG_CLAUSES,
OMP_TASKREG_FN, OMP_TASKREG_DATA_ARG, OMP_TASK_BODY,
OMP_TASK_CLAUSES, OMP_TASK_FN, OMP_TASK_DATA_ARG,
OMP_CLAUSE_COLLAPSE_EXPR): Define.
(enum omp_clause_default_kind): Add OMP_CLAUSE_DEFAULT_FIRSTPRIVATE.
(OMP_DIRECTIVE_P): Add OMP_TASK.
(OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED): New clause codes.
(OMP_CLAUSE_SCHEDULE_AUTO): New schedule kind.
* tree.c (omp_clause_code_name): Add OMP_CLAUSE_COLLAPSE
and OMP_CLAUSE_UNTIED entries.
(omp_clause_num_ops): Likewise.  Increase OMP_CLAUSE_LASTPRIVATE
num_ops to 2.
(walk_tree_1): Handle OMP_CLAUSE_COLLAPSE and OMP_CLAUSE_UNTIED.
Walk OMP_CLAUSE_LASTPRIVATE_STMT.
* tree-pretty-print.c (dump_omp_clause): Handle
OMP_CLAUSE_SCHEDULE_AUTO, OMP_CLAUSE_UNTIED, OMP_CLAUSE_COLLAPSE,
OMP_CLAUSE_DEFAULT_FIRSTPRIVATE.
(dump_generic_node): Handle OMP_TASK and collapsed OMP_FOR loops.
* c-omp.c (c_finish_omp_for): Allow pointer iterators.  Remove
warning about unsigned iterators.  Change decl/init/cond/incr
arguments to TREE_VECs, check arguments for all collapsed loops.
(c_finish_omp_taskwait): New function.
(c_split_parallel_clauses): Put OMP_CLAUSE_COLLAPSE clause to
ws_clauses.
* c-parser.c (c_parser_omp_for_loop): Parse collapsed loops.  Call
default_function_array_conversion on init.  Add par_clauses argument.
If decl is present in parallel's lastprivate clause, change it to
shared and add lastprivate clause for decl to OMP_FOR_CLAUSES.
Add clauses argument, on success set OMP_FOR_CLAUSES to it.  Look up
collapse count in clauses.
(c_parser_omp_for, c_parser_omp_parallel): Adjust
c_parser_omp_for_loop callers.
(OMP_FOR_CLAUSE_MASK): Add 1 << PRAGMA_OMP_CLAUSE_COLLAPSE.
(c_parser_pragma): Handle PRAGMA_OMP_TASKWAIT.
(c_parser_omp_clause_name): Handle collapse and untied clauses.
(c_parser_omp_clause_collapse, c_parser_omp_clause_untied): New
functions.
(c_parser_omp_clause_schedule): Handle schedule(auto).
Include correct location in the error message.
(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_COLLAPSE
and PRAGMA_OMP_CLAUSE_UNTIED.
(OMP_TASK_CLAUSE_MASK): Define.
(c_parser_omp_task, c_parser_omp_taskwait): New functions.
(c_parser_omp_construct): Handle PRAGMA_OMP_TASK.
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Handle OMP_CLAUSE_LASTPRIVATE_STMT,
OMP_CLAUSE_REDUCTION_INIT, OMP_CLAUSE_REDUCTION_MERGE,
OMP_CLAUSE_COLLAPSE and OMP_CLAUSE_UNTIED.
Don't handle TREE_STATIC or DECL_EXTERNAL VAR_DECLs in
OMP_CLAUSE_DECL.
(conver_nonlocal_reference, convert_local_reference,
convert_call_expr): Handle OMP_TASK the same as OMP_PARALLEL.  Use
OMP_TASKREG_* macros rather than OMP_PARALLEL_*.
(walk_omp_for): Adjust for OMP_FOR_{INIT,COND,INCR} changes.
* tree-gimple.c (is_gimple_stmt): Handle OMP_TASK.
* c-tree.h (c_begin_omp_task, c_finish_omp_task): New prototypes.
* c-pragma.h (PRAGMA_OMP_TASK, PRAGMA_OMP_TASKWAIT): New.
(PRAGMA_OMP_CLAUSE_COLLAPSE, PRAGMA_OMP_CLAUSE_UNTIED): New.
* c-typeck.c (c_begin_omp_task, c_finish_omp_task): New functions.
(c_finish_omp_clauses): Handle OMP_CLAUSE_COLLAPSE and
OMP_CLAUSE_UNTIED.
* c-pragma.c (init_pragma): Init omp task and omp taskwait pragmas.
* c-common.h (c_finish_omp_taskwait): New prototype.
* gimple-low.c (lower_stmt): Handle OMP_TASK.
* tree-parloops.c (create_parallel_loop): Create 1 entry
vectors for OMP_FOR_{INIT,COND,INCR}.
* tree-cfg.c (remove_useless_stmts_1): Handle OMP_* containers.
(make_edges): Handle OMP_TASK.
* tree-ssa-operands.c (get_expr_operands): Handle collapsed OMP_FOR
loops, adjust for OMP_FOR_{INIT,COND,INCR} changes.
* tree-inline.c (estimate_num_insns_1): Handle OMP_TASK.
* builtin-types.def (BT_PTR_ULONGLONG, BT_PTR_FN_VOID_PTR_PTR,
BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): New.
* omp-builtins.def (BUILT_IN_GOMP_TASK, BUILT_IN_GOMP_TASKWAIT,
BUILT_IN_GOMP_LOOP_ULL_STATIC_START,
BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_START,
BUILT_IN_GOMP_LOOP_ULL_GUIDED_START,
BUILT_IN_GOMP_LOOP_ULL_RUNTIME_START,
BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_START,
BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START,
BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_START,
BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_START,
BUILT_IN_GOMP_LOOP_ULL_STATIC_NEXT,
BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_NEXT,
BUILT_IN_GOMP_LOOP_ULL_GUIDED_NEXT,
BUILT_IN_GOMP_LOOP_ULL_RUNTIME_NEXT,
BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT,
BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT,
BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT,
BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): New builtins.
* gimplify.c (gimplify_omp_for): Allow pointer type for decl,
handle POINTER_PLUS_EXPR.  If loop counter has been replaced and
original iterator is present in lastprivate clause or if
collapse > 1, set OMP_CLAUSE_LASTPRIVATE_STMT.  Handle collapsed
OMP_FOR loops, adjust for OMP_FOR_{INIT,COND,INCR} changes.
(gimplify_expr): Handle OMP_SECTIONS_SWITCH and OMP_TASK.
(enum gimplify_omp_var_data): Add GOVD_PRIVATE_OUTER_REF.
(omp_notice_variable): Set GOVD_PRIVATE_OUTER_REF if needed,
if it is set, lookup var in outer contexts too.  Handle
OMP_CLAUSE_DEFAULT_FIRSTPRIVATE.  Handle vars that are supposed
to be implicitly determined firstprivate for task regions.
(gimplify_scan_omp_clauses): Set GOVD_PRIVATE_OUTER_REF if needed,
if it is set, lookup var in outer contexts too.  Set
OMP_CLAUSE_PRIVATE_OUTER_REF if GOVD_PRIVATE_OUTER_REF is set.
Handle OMP_CLAUSE_LASTPRIVATE_STMT, OMP_CLAUSE_COLLAPSE and
OMP_CLAUSE_UNTIED.  Take region_type as last argument
instead of in_parallel and in_combined_parallel.
(gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
Adjust callers.
(gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_PRIVATE_OUTER_REF if
GOVD_PRIVATE_OUTER_REF is set.  Call omp_finish_clause
langhook.
(new_omp_context): Set default_kind to
OMP_CLAUSE_DEFAULT_UNSPECIFIED for OMP_TASK regions.
(omp_region_type): New enum.
(struct gimplify_omp_ctx): Remove is_parallel and is_combined_parallel
fields, add region_type.
(new_omp_context): Take region_type as argument instead of is_parallel
and is_combined_parallel.
(gimple_add_tmp_var, omp_firstprivatize_variable, omp_notice_variable,
omp_is_private, omp_check_private): Adjust ctx->is_parallel and
ctx->is_combined_parallel checks.
(gimplify_omp_task): New function.
(gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_COLLAPSE and
OMP_CLAUSE_UNTIED.
* omp-low.c (extract_omp_for_data): Use schedule(static)
for schedule(auto).  Handle pointer and unsigned iterators.
Compute fd->iter_type.  Handle POINTER_PLUS_EXPR increments.
Add loops argument.  Extract data for collapsed OMP_FOR loops.
(expand_parallel_call): Assert sched_kind isn't auto,
map runtime schedule to index 3.
(struct omp_for_data_loop): New type.
(struct omp_for_data): Remove v, n1, n2, step, cond_code fields.
Add loop, loops, collapse and iter_type fields.
(workshare_safe_to_combine_p): Disallow combined for if
iter_type is unsigned long long.  Don't combine collapse > 1 loops
unless all bounds and steps are constant.  Adjust extract_omp_for_data
caller.
(expand_omp_for_generic): Handle pointer, unsigned and long long
iterators.  Handle collapsed OMP_FOR loops.  Adjust
for struct omp_for_data changes.  If libgomp function doesn't return
boolean_type_node, add comparison of the return value with 0.
(expand_omp_for_static_nochunk, expand_omp_for_static_chunk): Handle
pointer, unsigned and long long iterators.  Adjust for struct
omp_for_data changes.
(expand_omp_for): Assert sched_kind isn't auto, map runtime schedule
to index 3.  Use GOMP_loop_ull*{start,next} if iter_type is
unsigned long long.  Allocate loops array, pass it to
extract_omp_for_data.  For collapse > 1 loops use always
expand_omp_for_generic.
(omp_context): Add sfield_map and srecord_type fields.
(is_task_ctx, lookup_sfield): New functions.
(use_pointer_for_field): Use is_task_ctx helper.  Change first
argument's type from const_tree to tree.  Clarify comment.
In OMP_TASK disallow copy-in/out sharing.
(build_sender_ref): Call lookup_sfield instead of lookup_field.
(install_var_field): Add mask argument.  Populate both record_type
and srecord_type if needed.
(delete_omp_context): Destroy sfield_map, clear DECL_ABSTRACT_ORIGIN
in srecord_type.
(fixup_child_record_type): Also remap FIELD_DECL's DECL_SIZE{,_UNIT}
and DECL_FIELD_OFFSET.
(scan_sharing_clauses): Adjust install_var_field callers.  For
firstprivate clauses on explicit tasks allocate the var by value in
record_type unconditionally, rather than by reference.
Handle OMP_CLAUSE_PRIVATE_OUTER_REF.  Scan OMP_CLAUSE_LASTPRIVATE_STMT.
Use is_taskreg_ctx instead of is_parallel_ctx.
Handle OMP_CLAUSE_COLLAPSE and OMP_CLAUSE_UNTIED.
(create_omp_child_function_name): Add task_copy argument, use
*_omp_cpyfn* names if it is true.
(create_omp_child_function): Add task_copy argument, if true create
*_omp_cpyfn* helper function.
(scan_omp_parallel): Adjust create_omp_child_function callers.
Rename parallel_nesting_level to taskreg_nesting_level.
(scan_omp_task): New function.
(lower_rec_input_clauses): Don't run constructors for firstprivate
explicit task vars which are initialized by *_omp_cpyfn*.
Pass outer var ref to omp_clause_default_ctor hook if
OMP_CLAUSE_PRIVATE_OUTER_REF or OMP_CLAUSE_LASTPRIVATE.
Replace OMP_CLAUSE_REDUCTION_PLACEHOLDER decls in
OMP_CLAUSE_REDUCTION_INIT.
(lower_send_clauses): Clear DECL_ABSTRACT_ORIGIN if in task to
avoid duplicate setting of fields.  Handle
OMP_CLAUSE_PRIVATE_OUTER_REF.
(lower_send_shared_vars): Use srecord_type if non-NULL.  Don't
copy-out if TREE_READONLY, only copy-in.
(expand_task_copyfn): New function.
(expand_task_call): New function.
(struct omp_taskcopy_context): New type.
(task_copyfn_copy_decl, task_copyfn_remap_type, create_task_copyfn):
New functions.
(lower_omp_parallel): Rename to...
(lower_omp_taskreg): ... this.  Use OMP_TASKREG_* macros where needed.
Call create_task_copyfn if srecord_type is needed.  Adjust
sender_decl type.
(task_shared_vars): New variable.
(check_omp_nesting_restrictions): Warn if work-sharing,
barrier, master or ordered region is closely nested inside OMP_TASK.
Add warnings for barrier if closely nested inside of work-sharing,
ordered, or master region.
(scan_omp_1): Call check_omp_nesting_restrictions even for
GOMP_barrier calls.  Rename parallel_nesting_level to
taskreg_nesting_level.  Handle OMP_TASK.
(lower_lastprivate_clauses): Even if some lastprivate is found on a
work-sharing construct, continue looking for them on parent parallel
construct.
(lower_omp_for_lastprivate): Add lastprivate clauses
to the beginning of dlist rather than end.  Adjust for struct
omp_for_data changes.
(lower_omp_for): Add rec input clauses before OMP_FOR_PRE_BODY,
not after it.  Handle collapsed OMP_FOR loops, adjust for
OMP_FOR_{INIT,COND,INCR} changes, adjust extract_omp_for_data
caller.
(get_ws_args_for): Adjust extract_omp_for_data caller.
(scan_omp_for): Handle collapsed OMP_FOR
loops, adjust for OMP_FOR_{INIT,COND,INCR} changes.
(lower_omp_single_simple): If libgomp function doesn't return
boolean_type_node, add comparison of the return value with 0.
(diagnose_sb_1, diagnose_sb_2): Handle collapsed OMP_FOR
loops, adjust for OMP_FOR_{INIT,COND,INCR} changes.  Handle OMP_TASK.
(parallel_nesting_level): Rename to...
(taskreg_nesting_level): ... this.
(is_taskreg_ctx): New function.
(build_outer_var_ref, omp_copy_decl): Use is_taskreg_ctx instead
of is_parallel_ctx.
(execute_lower_omp): Rename parallel_nesting_level to
taskreg_nesting_level.
(expand_omp_parallel): Rename to...
(expand_omp_taskreg): ... this.  Use OMP_TASKREG_* macros where needed.
Call omp_task_call for OMP_TASK regions.
(expand_omp): Adjust caller, handle OMP_TASK.
(lower_omp_1): Adjust lower_omp_taskreg caller, handle OMP_TASK.

* bitmap.c (bitmap_default_obstack_depth): New variable.
(bitmap_obstack_initialize, bitmap_obstack_release): Do nothing
if argument is NULL and bitmap_default_obstack is already initialized.
* ipa-struct-reorg.c (do_reorg_1): Call bitmap_obstack_release
at the end.
* matrix-reorg.c (matrix_reorg): Likewise.
cp/
* cp-tree.h (cxx_omp_finish_clause, cxx_omp_create_clause_info,
dependent_omp_for_p, begin_omp_task, finish_omp_task,
finish_omp_taskwait): New prototypes.
(cxx_omp_clause_default_ctor): Add outer argument.
(finish_omp_for): Add new clauses argument.
* cp-gimplify.c (cxx_omp_finish_clause): New function.
(cxx_omp_predetermined_sharing): Moved from semantics.c, rewritten.
(cxx_omp_clause_default_ctor): Add outer argument.
(cp_genericize_r): Walk OMP_CLAUSE_LASTPRIVATE_STMT.
* cp-objcp-common.h (LANG_HOOKS_OMP_FINISH_CLAUSE): Define.
* parser.c (cp_parser_omp_for_loop): Parse collapsed for loops.
Add par_clauses argument.  If decl is present in parallel's
lastprivate clause, change that clause to shared and add
a lastprivate clause for decl to OMP_FOR_CLAUSES.
Fix wording of error messages.  Adjust finish_omp_for caller.
Add clauses argument.  Parse loops with random access iterators.
(cp_parser_omp_clause_collapse, cp_parser_omp_clause_untied): New
functions.
(cp_parser_omp_for, cp_parser_omp_parallel): Adjust
cp_parser_omp_for_loop callers.
(cp_parser_omp_for_cond, cp_parser_omp_for_incr): New helper
functions.
(cp_parser_omp_clause_name): Handle collapse and untied
clauses.
(cp_parser_omp_clause_schedule): Handle auto schedule.
(cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_COLLAPSE
and PRAGMA_OMP_CLAUSE_UNTIED.
(OMP_FOR_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_COLLAPSE.
(OMP_TASK_CLAUSE_MASK): Define.
(cp_parser_omp_task, cp_parser_omp_taskwait): New functions.
(cp_parser_omp_construct): Handle PRAGMA_OMP_TASK.
(cp_parser_pragma): Handle PRAGMA_OMP_TASK and
PRAGMA_OMP_TASKWAIT.
* pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_COLLAPSE and
OMP_CLAUSE_UNTIED.  Handle OMP_CLAUSE_LASTPRIVATE_STMT.
(tsubst_omp_for_iterator): New function.
(dependent_omp_for_p): New function.
(tsubst_expr) <case OMP_FOR>: Use it.  Handle collapsed OMP_FOR
loops.  Adjust finish_omp_for caller.  Handle loops with random
access iterators.  Adjust for OMP_FOR_{INIT,COND,INCR} changes.
(tsubst_expr): Handle OMP_TASK.
* semantics.c (cxx_omp_create_clause_info): New function.
(finish_omp_clauses): Call it.  Handle OMP_CLAUSE_UNTIED and
OMP_CLAUSE_COLLAPSE.
(cxx_omp_predetermined_sharing): Removed.
* semantics.c (finish_omp_for): Allow pointer iterators.  Use
handle_omp_for_class_iterator and dependent_omp_for_p.  Handle
collapsed for loops.  Adjust c_finish_omp_for caller.  Add new
clauses argument.  Fix check for type dependent cond or incr.
Set OMP_FOR_CLAUSES to clauses.  Use cp_convert instead of
fold_convert to convert incr amount to difference_type.  Only
fold if not in template.  If decl is mentioned in lastprivate
clause, set OMP_CLAUSE_LASTPRIVATE_STMT.  Handle loops with random
access iterators.  Adjust for OMP_FOR_{INIT,COND,INCR}
changes.
(finish_omp_threadprivate): Allow static class members of the
current class.
(handle_omp_for_class_iterator, begin_omp_task, finish_omp_task,
finish_omp_taskwait): New functions.

* parser.c (cp_parser_binary_expression): Add prec argument.
(cp_parser_assignment_expression): Adjust caller.
* cp-tree.h (outer_curly_brace_block): New prototype.
* decl.c (outer_curly_brace_block): No longer static.
fortran/
* scanner.c (skip_free_comments, skip_fixed_comments): Handle tabs.
* parse.c (next_free): Allow tab after !$omp.
(decode_omp_directive): Handle !$omp task, !$omp taskwait
and !$omp end task.
(case_executable): Add ST_OMP_TASKWAIT.
(case_exec_markers): Add ST_OMP_TASK.
(gfc_ascii_statement): Handle ST_OMP_TASK, ST_OMP_END_TASK and
ST_OMP_TASKWAIT.
(parse_omp_structured_block, parse_executable): Handle ST_OMP_TASK.
* gfortran.h (gfc_find_sym_in_expr): New prototype.
(gfc_statement): Add ST_OMP_TASK, ST_OMP_END_TASK and ST_OMP_TASKWAIT.
(gfc_omp_clauses): Add OMP_SCHED_AUTO to sched_kind,
OMP_DEFAULT_FIRSTPRIVATE to default_sharing.  Add collapse and
untied fields.
(gfc_exec_op): Add EXEC_OMP_TASK and EXEC_OMP_TASKWAIT.
* f95-lang.c (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP, LANG_HOOKS_OMP_CLAUSE_DTOR,
LANG_HOOKS_OMP_PRIVATE_OUTER_REF): Define.
* trans.h (gfc_omp_clause_default_ctor): Add another argument.
(gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op,
gfc_omp_clause_dtor, gfc_omp_private_outer_ref): New prototypes.
* types.def (BT_ULONGLONG, BT_PTR_ULONGLONG,
BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
BT_FN_VOID_PTR_PTR, BT_PTR_FN_VOID_PTR_PTR,
BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): New.
(BT_BOOL): Use integer type with BOOL_TYPE_SIZE rather
than boolean_type_node.
* dump-parse-tree.c (gfc_show_omp_node): Handle EXEC_OMP_TASK,
EXEC_OMP_TASKWAIT, OMP_SCHED_AUTO, OMP_DEFAULT_FIRSTPRIVATE,
untied and collapse clauses.
(gfc_show_code_node): Handle EXEC_OMP_TASK and EXEC_OMP_TASKWAIT.
* trans.c (gfc_trans_code): Handle EXEC_OMP_TASK and
EXEC_OMP_TASKWAIT.
* st.c (gfc_free_statement): Likewise.
* resolve.c (gfc_resolve_blocks, resolve_code): Likewise.
(find_sym_in_expr): Rename to...
(gfc_find_sym_in_expr): ... this.  No longer static.
(resolve_allocate_expr, resolve_ordinary_assign): Adjust caller.
* match.h (gfc_match_omp_task, gfc_match_omp_taskwait): New
prototypes.
* openmp.c (resolve_omp_clauses): Allow allocatable arrays in
firstprivate, lastprivate, reduction, copyprivate and copyin
clauses.
(omp_current_do_code): Made static.
(omp_current_do_collapse): New variable.
(gfc_resolve_omp_do_blocks): Compute omp_current_do_collapse,
clear omp_current_do_code and omp_current_do_collapse on return.
(gfc_resolve_do_iterator): Handle collapsed do loops.
(resolve_omp_do): Likewise, diagnose errorneous collapsed do loops.
(OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED): Define.
(gfc_match_omp_clauses): Handle default (firstprivate),
schedule (auto), untied and collapse (n) clauses.
(OMP_DO_CLAUSES): Add OMP_CLAUSE_COLLAPSE.
(OMP_TASK_CLAUSES): Define.
(gfc_match_omp_task, gfc_match_omp_taskwait): New functions.
* trans-openmp.c (gfc_omp_private_outer_ref): New function.
(gfc_omp_clause_default_ctor): Add outer argument.  For allocatable
arrays allocate them with the bounds of the outer var if outer
var is allocated.
(gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op,
gfc_omp_clause_dtor): New functions.
(gfc_trans_omp_array_reduction): If decl is allocatable array,
allocate it with outer var's bounds in OMP_CLAUSE_REDUCTION_INIT
and deallocate it in OMP_CLAUSE_REDUCTION_MERGE.
(gfc_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
for assumed-size arrays.
(gfc_trans_omp_do): Add par_clauses argument.  If dovar is
present in lastprivate clause and do loop isn't simple,
set OMP_CLAUSE_LASTPRIVATE_STMT.  If dovar is present in
parallel's lastprivate clause, change it to shared and add
lastprivate clause to OMP_FOR_CLAUSES.  Handle collapsed do loops.
(gfc_trans_omp_directive): Adjust gfc_trans_omp_do callers.
(gfc_trans_omp_parallel_do): Likewise.  Move collapse clause to
OMP_FOR from OMP_PARALLEL.
(gfc_trans_omp_clauses): Handle OMP_SCHED_AUTO,
OMP_DEFAULT_FIRSTPRIVATE, untied and collapse clauses.
(gfc_trans_omp_task, gfc_trans_omp_taskwait): New functions.
(gfc_trans_omp_directive): Handle EXEC_OMP_TASK and
EXEC_OMP_TASKWAIT.
gcc/testsuite/
* gcc.dg/gomp/collapse-1.c: New test.
* gcc.dg/gomp/nesting-1.c: New test.
* g++.dg/gomp/task-1.C: New test.
* g++.dg/gomp/predetermined-1.C: New test.
* g++.dg/gomp/tls-4.C: New test.
* gfortran.dg/gomp/collapse1.f90: New test.
* gfortran.dg/gomp/sharing-3.f90: New test.
* gcc.dg/gomp/pr27499.c (foo): Remove is unsigned dg-warning.
* g++.dg/gomp/pr27499.C (foo): Likewise.
* g++.dg/gomp/for-16.C (foo): Likewise.
* g++.dg/gomp/tls-3.C: Remove dg-error, add S::s definition.
* g++.dg/gomp/pr34607.C: Adjust dg-error location.
* g++.dg/gomp/for-16.C (foo): Add a new dg-error.
* gcc.dg/gomp/appendix-a/a.35.4.c: Add dg-warning.
* gcc.dg/gomp/appendix-a/a.35.6.c: Likewise.
* gfortran.dg/gomp/appendix-a/a.35.4.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.35.6.f90: Likewise.
* gfortran.dg/gomp/omp_parse1.f90: Remove !$omp tab test.
* gfortran.dg/gomp/appendix-a/a.33.4.f90: Remove dg-error
about allocatable array.
* gfortran.dg/gomp/reduction1.f90: Likewise.
libgomp/
* configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
Substitute also OMP_*LOCK_25*.
* configure: Regenerated.
* config.h.in: Regenerated.
* Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
ptrlock.c and task.c.
* Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* task.c: New file.
* loop_ull.c: New file.
* iter_ull.c: New file.
* libgomp.h: Include ptrlock.h.
(enum gomp_task_kind): New type.
(struct gomp_team): Add task_lock, task_queue, task_count,
task_running_count, single_count fields.  Add
work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
Remove work_share_lock, generation_mask,
oldest_live_gen, num_live_gen and init_work_shares fields, add
work work_share_list_alloc, work_share_list_free and work_share_chunk
fields.  Change work_shares from pointer to pointers into an array.
Change ordered_release field into gomp_sem_t ** from flexible array
member.  Add implicit_task and initial_work_shares fields.
Move close to the end of the struct.
(struct gomp_team_state): Add single_count, last_work_share,
active_level and level fields, remove work_share_generation.
(gomp_barrier_handle_tasks): New prototype.
(gomp_finish_task): New inline function.
(struct gomp_work_share): Move chunk_size, end, incr into
transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
next_ll fields.  Reshuffle fields.  Add next_alloc,
next_ws, next_free and inline_ordered_team_ids fields, change
ordered_team_ids into pointer from flexible array member.
Add mode field.  Put lock and next into a different cache line
from most of the write-once fields.
(gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
gomp_iter_ull_guided_next): New prototypes.
(gomp_new_icv): New prototype.
(struct gomp_thread): Add thread_pool and task fields.
(struct gomp_thread_pool): New type.
(gomp_new_team): New prototype.
(gomp_team_start): Change type of last argument.
(gomp_new_work_share): Removed.
(gomp_init_work_share, gomp_fini_work_share): New prototypes.
(gomp_work_share_init_done): New static inline.
(gomp_throttled_spin_count_var, gomp_available_cpus,
gomp_managed_threads): New extern decls.
(gomp_init_task): New prototype.
(gomp_spin_count_var): New extern var decl.
(LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
or no alias support, or if not PIC.
(gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
gomp_test_nest_lock_25): New prototypes.
(omp_lock_symver, strong_alias): Define.
(gomp_remaining_threads_count, gomp_remaining_threads_lock): New
decls.
(gomp_end_task): New.
(struct gomp_task_icv, gomp_global_icv): New.
(gomp_thread_limit_var, gomp_max_active_levels_var): New.
(struct gomp_task): New.
(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
gomp_run_sched_var, gomp_run_sched_chunk): Remove.
(gomp_icv): New.
(gomp_schedule_type): Reorder enum to match
omp_sched_t.
* team.c (struct gomp_thread_start_data): Add thread_pool and task
fields.
(gomp_thread_start): Add gomp_team_barrier_wait call.
For non-nested case remove clearing of docked thread thr fields.
Use pool fields instead of global gomp_* variables.  Use
gomp_barrier_wait_last when needed.  Initialize ts.active_level.
Create tasks for each member thread.
(free_team): Only destroy team barrier, task_lock here and free it.
(gomp_free_thread): Free last_team if non-NULL.
(gomp_team_end): Call gomp_team_barrier_wait instead of
gomp_barrier_wait.  For nested case call one extra
gomp_barrier_wait.  Move here some destruction from free_team.
Call free_team on pool->last_team if any, rather than freeing
current team.  Destroy work_share_list_free_lock ifndef
HAVE_SYNC_BUILTINS.
(gomp_new_icv): New function.
(gomp_threads, gomp_threads_size, gomp_threads_used,
gomp_threads_dock): Removed.
(gomp_thread_destructor): New variable.
(gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
functions.
(gomp_team_start): Create new pool if current thread doesn't have
one.  Use pool fields instead of global gomp_* variables.
Initialize thread_pool field for new threads.  Clear single_count.
Change last argument from ws to team, don't create
new team, set ts.work_share to &team->work_shares[0] and clear
ts.last_work_share.  Don't clear ts.work_share_generation.
If number of threads changed, adjust atomically gomp_managed_threads.
Use gomp_init_task instead of gomp_new_task,
set thr->task to the corresponding implicit_task array entry.
Create tasks for each member thread.  Initialize ts.level.
(initialize_team): Call pthread_key_create on
gomp_thread_destructor.
(team_destructor): New function.
(new_team): Removed.
(gomp_new_team): New function.
(free_team): Free gomp_work_share blocks chained through next_alloc,
instead of freeing work_shares and destroying work_share_lock.
(gomp_team_end): Call gomp_fini_work_share.  If number of threads
changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
* barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
of gomp_barrier_wait.
* single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
instead of gomp_barrier_wait.  Call gomp_work_share_init_done
if gomp_work_share_start returned true.  Don't unlock ws->lock.
(GOMP_single_copy_end): Call gomp_team_barrier_wait instead
of gomp_barrier_wait.
(GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
gomp_work_share_init_done if gomp_work_share_start returned true.
Don't unlock ws->lock.
* work.c: Include stddef.h.
(free_work_share): Use work_share_list_free_lock instead
of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
Call gomp_fini_work_share and then either free ws if orphaned, or
put it into work_share_list_free list of the current team.
(alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
functions.
(gomp_work_share_start, gomp_work_share_end,
gomp_work_share_end_nowait): Rewritten.
* omp_lib.f90.in Change some tabs to spaces to prevent warnings.
(openmp_version): Set to 200805.
(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
omp_sched_guided, omp_sched_auto): New parameters.
(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
omp_set_max_active_levels, omp_get_max_active_levels,
omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
omp_get_active_level): New interfaces.
* omp_lib.h.in (openmp_version): Set to 200805.
(omp_sched_kind, omp_sched_static, omp_sched_dynamic,
omp_sched_guided, omp_sched_auto): New parameters.
(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
omp_set_max_active_levels, omp_get_max_active_levels,
omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
omp_get_active_level): New externals.
* loop.c: Include limits.h.
(GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
GFS_AUTO.
(GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
Likewise.  Use gomp_icv.
(gomp_loop_static_start, gomp_loop_dynamic_start): Clear
ts.static_trip here.
(gomp_loop_static_start, gomp_loop_ordered_static_start): Call
gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
(gomp_loop_dynamic_start, gomp_loop_guided_start): Call
gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
don't unlock ws->lock, otherwise lock it.
(gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
(gomp_parallel_loop_start): Call gomp_new_team instead of
gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
Adjust gomp_team_start caller.  Pass 0 as second argument to
gomp_resolve_num_threads.
(gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
If adding ws->chunk_size nthreads + 1 times after end won't
overflow, set ws->mode to 1.
* libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
GOMP_loop_ull_ordered_static_start,
GOMP_loop_ull_ordered_dynamic_start,
GOMP_loop_ull_ordered_guided_start,
GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
prototypes.
* libgomp.map: Export lock routines also @@OMP_2.0.
(GOMP_loop_ordered_dynamic_first,
GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
GOMP_loop_ordered_static_first): Remove.
(GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
GOMP_loop_ull_ordered_dynamic_next,
GOMP_loop_ull_ordered_dynamic_start,
GOMP_loop_ull_ordered_guided_next,
GOMP_loop_ull_ordered_guided_start,
GOMP_loop_ull_ordered_runtime_next,
GOMP_loop_ull_ordered_runtime_start,
GOMP_loop_ull_ordered_static_next,
GOMP_loop_ull_ordered_static_start,
GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
(omp_set_schedule, omp_get_schedule,
omp_get_thread_limit, omp_set_max_active_levels,
omp_get_max_active_levels, omp_get_level,
omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
omp_set_schedule_, omp_set_schedule_8_,
omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
omp_set_max_active_levels_, omp_set_max_active_levels_8_,
omp_get_max_active_levels_, omp_get_level_,
omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
New exports @@OMP_3.0.
* omp.h.in (omp_sched_t): New type.
(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
omp_set_max_active_levels, omp_get_max_active_levels,
omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
omp_get_active_level): New prototypes.
* env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
gomp_thread_limit_var, gomp_remaining_threads_count,
gomp_remaining_threads_lock): New variables.
(parse_spincount): New function.
(initialize_env): Call gomp_init_num_threads unconditionally.
Initialize gomp_available_cpus.  Call parse_spincount,
initialize gomp_{,throttled_}spin_count_var
depending on presence and value of OMP_WAIT_POLICY and
GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
(gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
gomp_run_sched_var, gomp_run_sched_chunk): Remove.
(gomp_global_icv): New.
(parse_schedule): Use it.  Parse "auto".
(omp_set_num_threads): Use gomp_icv.
(omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
Likewise.
(omp_get_max_threads): Move from parallel.c.
(omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
omp_set_max_active_levels, omp_get_max_active_levels): New functions,
add ialias.
(parse_stacksize, parse_wait_policy): New functions.
* fortran.c: Rewrite lock wrappers, if symbol versioning provide
both wrappers for compatibility and new locks.
(omp_set_schedule, omp_get_schedule,
omp_get_thread_limit, omp_set_max_active_levels,
omp_get_max_active_levels, omp_get_level,
omp_get_ancestor_thread_num, omp_get_team_size,
omp_get_active_level): New ialias_redirect.
(omp_set_schedule_, omp_set_schedule_8_,
omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
omp_set_max_active_levels_, omp_set_max_active_levels_8_,
omp_get_max_active_levels_, omp_get_level_,
omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
New functions.
* parallel.c: Include limits.h.
(gomp_resolve_num_threads): Add count argument.  Rewritten.
(GOMP_parallel_start): Call gomp_new_team and pass that as last
argument to gomp_team_start.  Pass 0 as second argument to
gomp_resolve_num_threads.
(GOMP_parallel_end): Decrease gomp_remaining_threads_count
if gomp_thread_limit_var != ULONG_MAX.
(omp_in_parallel): Implement using ts.active_level.
(omp_get_max_threads): Move to env.c.
(omp_get_level, omp_get_ancestor_thread_num,
omp_get_team_size, omp_get_active_level): New functions,
add ialias.
* sections.c (GOMP_sections_start): Call gomp_work_share_init_done
after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
gomp_iter_dynamic_next instead of the _locked variant and don't take
lock around it, otherwise acquire it before calling
gomp_iter_dynamic_next_locked.
(GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
gomp_iter_dynamic_next instead of the _locked variant and don't take
lock around it.
(GOMP_parallel_sections_start): Call gomp_new_team instead of
gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
Adjust gomp_team_start caller.  Pass count as second argument to
gomp_resolve_num_threads, don't adjust num_threads after the call.
Use gomp_icv.
* iter.c (gomp_iter_dynamic_next_locked): Don't multiply
ws->chunk_size by incr.
(gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
code.
* libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
types.
(omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
(omp_check_defines): Check even the compat defines.
* config/linux/ptrlock.c: New file.
* config/linux/ptrlock.h: New file.
* config/linux/wait.h: New file.
* config/posix/ptrlock.c: New file.
* config/posix/ptrlock.h: New file.
* config/linux/bar.h (gomp_team_barrier_wait,
gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
(gomp_team_barrier_set_task_pending,
gomp_team_barrier_clear_task_pending,
gomp_team_barrier_set_waiting_for_tasks,
gomp_team_barrier_waiting_for_tasks,
gomp_team_barrier_done): New inlines.
(gomp_barrier_t): Rewritten.
(gomp_barrier_state_t): New typedef.
(gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
gomp_barrier_wait_start): Rewritten.
(gomp_barrier_wait_end): Change second argument to
gomp_barrier_state_t.
(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
inlines.
* config/linux/bar.c: Include wait.h instead of libgomp.h and
futex.h.
(gomp_barrier_wait_end): Rewritten.
(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
* config/posix/bar.h (gomp_barrier_t): Add generation field.
(gomp_barrier_state_t): New typedef.
(gomp_team_barrier_wait,
gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
(gomp_barrier_wait_start): Or all but low 2 bits from generation
into the return value.  Return gomp_barrier_state_t.
(gomp_team_barrier_set_task_pending,
gomp_team_barrier_clear_task_pending,
gomp_team_barrier_set_waiting_for_tasks,
gomp_team_barrier_waiting_for_tasks,
gomp_team_barrier_done): New inlines.
(gomp_barrier_wait_end): Change second argument to
gomp_barrier_state_t.
(gomp_barrier_last_thread, gomp_barrier_wait_last): New static
inlines.
* config/posix/bar.c (gomp_barrier_init): Clear generation field.
(gomp_barrier_wait_end): Change second argument to
gomp_barrier_state_t.
(gomp_team_barrier_wait, gomp_team_barrier_wait_end,
gomp_team_barrier_wake): New functions.
* config/linux/mutex.c: Include wait.h instead of libgomp.h and
futex.h.
(gomp_futex_wake, gomp_futex_wait): New variables.
(gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
* config/linux/lock.c: Rewrite to make locks task owned,
for backwards compatibility provide the old entrypoints
if symbol versioning.  Include wait.h instead of libgomp.h and
futex.h.
(gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
* config/posix95/lock.c: Rewrite to make locks task owned,
for backwards compatibility provide the old entrypoints
if symbol versioning.
* config/posix/lock.c: Rewrite to make locks task owned,
for backwards compatibility provide the old entrypoints
if symbol versioning.
* config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
(get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
* config/posix/proc.c, config/mingw32/proc.c: Similarly.
* config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
(sys_futex0): Return error code.
(futex_wake, futex_wait): If ENOSYS was returned, clear
FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
(cpu_relax, atomic_write_barrier): New static inlines.
* config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
(futex_wake, futex_wait): If ENOSYS was returned, clear
FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
(cpu_relax, atomic_write_barrier): New static inlines.
* config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
(sys_futex0): Return error code.
(futex_wake, futex_wait): If ENOSYS was returned, clear
FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
(cpu_relax, atomic_write_barrier): New static inlines.
* config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
(sys_futex0): Return error code.
(futex_wake, futex_wait): If ENOSYS was returned, clear
FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
(cpu_relax, atomic_write_barrier): New static inlines.
* config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
(sys_futex0): Return error code.
(futex_wake, futex_wait): If ENOSYS was returned, clear
FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
(cpu_relax, atomic_write_barrier): New static inlines.
* config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
(sys_futex0): Return error code.
(futex_wake, futex_wait): If ENOSYS was returned, clear
FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
(cpu_relax, atomic_write_barrier): New static inlines.
* config/linux/sem.c: Include wait.h instead of libgomp.h and
futex.h.
(gomp_sem_wait_slow): Call do_wait instead of futex_wait.
* config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
* config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
types.
(omp_nest_lock_t): Change owner into void *, add lock field.
* config/posix95/omp-lock.h: Include semaphore.h.
(omp_lock_25_t, omp_nest_lock_25_t): New types.
(omp_lock_t): Use sem_t instead of mutex if semaphores
aren't broken.
(omp_nest_lock_t): Likewise.  Change owner to void *.
* config/posix/omp-lock.h: Include semaphore.h.
(omp_lock_25_t, omp_nest_lock_25_t): New types.
(omp_lock_t): Use sem_t instead of mutex if semaphores
aren't broken.
(omp_nest_lock_t): Likewise.  Add owner field.

* testsuite/libgomp.c/collapse-1.c: New test.
* testsuite/libgomp.c/collapse-2.c: New test.
* testsuite/libgomp.c/collapse-3.c: New test.
* testsuite/libgomp.c/icv-1.c: New test.
* testsuite/libgomp.c/icv-2.c: New test.
* testsuite/libgomp.c/lib-2.c: New test.
* testsuite/libgomp.c/lock-1.c: New test.
* testsuite/libgomp.c/lock-2.c: New test.
* testsuite/libgomp.c/lock-3.c: New test.
* testsuite/libgomp.c/loop-4.c: New test.
* testsuite/libgomp.c/loop-5.c: New test.
* testsuite/libgomp.c/loop-6.c: New test.
* testsuite/libgomp.c/loop-7.c: New test.
* testsuite/libgomp.c/loop-8.c: New test.
* testsuite/libgomp.c/loop-9.c: New test.
* testsuite/libgomp.c/nested-3.c: New test.
* testsuite/libgomp.c/nestedfn-6.c: New test.
* testsuite/libgomp.c/sort-1.c: New test.
* testsuite/libgomp.c/task-1.c: New test.
* testsuite/libgomp.c/task-2.c: New test.
* testsuite/libgomp.c/task-3.c: New test.
* testsuite/libgomp.c/task-4.c: New test.
* testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
to C++ testsuite default compiler options.
* testsuite/libgomp.c++/collapse-1.C: New test.
* testsuite/libgomp.c++/collapse-2.C: New test.
* testsuite/libgomp.c++/ctor-10.C: New test.
* testsuite/libgomp.c++/for-1.C: New test.
* testsuite/libgomp.c++/for-2.C: New test.
* testsuite/libgomp.c++/for-3.C: New test.
* testsuite/libgomp.c++/for-4.C: New test.
* testsuite/libgomp.c++/for-5.C: New test.
* testsuite/libgomp.c++/loop-8.C: New test.
* testsuite/libgomp.c++/loop-9.C: New test.
* testsuite/libgomp.c++/loop-10.C: New test.
* testsuite/libgomp.c++/task-1.C: New test.
* testsuite/libgomp.c++/task-2.C: New test.
* testsuite/libgomp.c++/task-3.C: New test.
* testsuite/libgomp.c++/task-4.C: New test.
* testsuite/libgomp.c++/task-5.C: New test.
* testsuite/libgomp.c++/task-6.C: New test.
* testsuite/libgomp.fortran/allocatable1.f90: New test.
* testsuite/libgomp.fortran/allocatable2.f90: New test.
* testsuite/libgomp.fortran/allocatable3.f90: New test.
* testsuite/libgomp.fortran/allocatable4.f90: New test.
* testsuite/libgomp.fortran/collapse1.f90: New test.
* testsuite/libgomp.fortran/collapse2.f90: New test.
* testsuite/libgomp.fortran/collapse3.f90: New test.
* testsuite/libgomp.fortran/collapse4.f90: New test.
* testsuite/libgomp.fortran/lastprivate1.f90: New test.
* testsuite/libgomp.fortran/lastprivate2.f90: New test.
* testsuite/libgomp.fortran/lib4.f90: New test.
* testsuite/libgomp.fortran/lock-1.f90: New test.
* testsuite/libgomp.fortran/lock-2.f90: New test.
* testsuite/libgomp.fortran/nested1.f90: New test.
* testsuite/libgomp.fortran/nestedfn4.f90: New test.
* testsuite/libgomp.fortran/strassen.f90: New test.
* testsuite/libgomp.fortran/tabs1.f90: New test.
* testsuite/libgomp.fortran/tabs2.f: New test.
* testsuite/libgomp.fortran/task1.f90: New test.
* testsuite/libgomp.fortran/task2.f90: New test.
* testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
* testsuite/libgomp.fortran/vla5.f90: Likewise.
* testsuite/libgomp.c/pr26943-2.c: Likewise.
* testsuite/libgomp.c/pr26943-3.c: Likewise.
* testsuite/libgomp.c/pr26943-4.c: Likewise.

Co-Authored-By: Jakob Blomer <jakob.blomer@ira.uka.de>
Co-Authored-By: Richard Henderson <rth@redhat.com>
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>
From-SVN: r136433

16 years agoi386.md (*indirect_jump): Macroize using P mode iterator.
Uros Bizjak [Fri, 6 Jun 2008 11:57:16 +0000 (13:57 +0200)]
i386.md (*indirect_jump): Macroize using P mode iterator.

* config/i386/i386.md (*indirect_jump): Macroize using P
mode iterator.  Remove !TARGET_64BIT from insn constraints.
(*tablejump_1): Ditto.
(*indirect_jump_rex64): Remove insn pattern.
(*tablejump_1_rex64): Ditto.
(eh_return_<mode>): Macroize using P mode iterator from eh_return_di
and eh_return_si insn patterns.

From-SVN: r136431

16 years agotree-ssa-structalias.c (merge_smts_into): Remove.
Richard Guenther [Fri, 6 Jun 2008 10:11:44 +0000 (10:11 +0000)]
tree-ssa-structalias.c (merge_smts_into): Remove.

2008-06-06  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (merge_smts_into): Remove.
(find_what_p_points_to): Do not bother to compute the
points-to set for pt_anything pointers.
* tree-ssa-operands.c (get_addr_dereference_operands): No NMT
for pt_anything pointers is ok.

* gcc.dg/tree-ssa/alias-18.c: XFAIL some sub-tests.

From-SVN: r136428