platform/upstream/linaro-gcc.git
15 years ago2009-09-01 Loren James Rittle <ljrittle@acm.org>
ljrittle [Tue, 1 Sep 2009 18:45:02 +0000 (18:45 +0000)]
2009-09-01  Loren James Rittle  <ljrittle@acm.org>

* lib/target-supports.exp (check_gc_sections_available):
Add proper pattern quote.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151279 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-09-01 Loren J. Rittle <ljrittle@acm.org>
ljrittle [Tue, 1 Sep 2009 18:13:18 +0000 (18:13 +0000)]
2009-09-01  Loren J. Rittle  <ljrittle@acm.org>

* mf-runtime.c (__mf_init): Support FreeBSD.
Prime mutex which calls calloc upon first lock to avoid deadlock.
* mf-hooks1.c (__mf_0fn_mmap): Support FreeBSD.
Ignore red zone allocation request for initial thread's stack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151278 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-09-01 Loren J. Rittle <ljrittle@acm.org>
ljrittle [Tue, 1 Sep 2009 18:10:39 +0000 (18:10 +0000)]
2009-09-01  Loren J. Rittle  <ljrittle@acm.org>
    Andreas Schwab  <schwab@linux-m68k.org>

* testsuite/libmudflap.c/pass51-frag.c (MAP_FAILED): Define,
if not in system header; use it.  On FreeBSD, must pass fd==-1
with MAP_ANON flag.  Correct mmap error check.
* testsuite/libmudflap.c/fail40-frag.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151277 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoForce block enders to be simulated once.
rth [Tue, 1 Sep 2009 14:37:52 +0000 (14:37 +0000)]
Force block enders to be simulated once.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151273 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoRemove leading testsuite/ or gcc/testsuite/ path from CL entries.
jakub [Tue, 1 Sep 2009 10:52:18 +0000 (10:52 +0000)]
Remove leading testsuite/ or gcc/testsuite/ path from CL entries.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151266 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-09-01 Chris Jefferson <chris@bubblescope.net>
paolo [Tue, 1 Sep 2009 10:19:11 +0000 (10:19 +0000)]
2009-09-01  Chris Jefferson  <chris@bubblescope.net>
    Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/util/testsuite_rvalref.h: Remove obsolete macro using
_GLIBCXX_TESTSUITE_ALLOW_RVALREF_ALIASING.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
move_iterators/1.cc: Adjust, do not define
_GLIBCXX_TESTSUITE_ALLOW_RVALREF_ALIASING.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/move/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/1.cc: Likewise.
* testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/heap/moveable.cc: Likewise.
* testsuite/25_algorithms/partial_sort/moveable.cc: Likewise; add
test for predicated test.
* testsuite/25_algorithms/sort/moveable.cc: Likewise.
* testsuite/25_algorithms/nth_element/moveable.cc: Add test
for predicated version.
* testsuite/25_algorithms/unique/moveable.cc: Likewise.

* testsuite/25_algorithms/inplace_merge/1.cc (S::operator<): Fix,
enable test2 and test3.

* testsuite/util/testsuite_iterators.h (operator=): Fix invalid
moving bug in C++0x mode.

* testsuite/25_algorithms/random_shuffle/moveable.cc: New.
* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
* testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
* testsuite/25_algorithms/heap/moveable2.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151264 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * boehm.c (mark_reference_fields): Compute % in HOST_WIDE_INT
jakub [Tue, 1 Sep 2009 10:18:34 +0000 (10:18 +0000)]
* boehm.c (mark_reference_fields): Compute % in HOST_WIDE_INT
type.

* gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
POINTER_SIZE to HOST_WIDE_INT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151263 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoFix bootstrap after patch PR debug/30161
dodji [Tue, 1 Sep 2009 08:45:38 +0000 (08:45 +0000)]
Fix bootstrap after patch PR debug/30161

gcc/ChangeLog:
PR bootstrap/41205
Fix AIX bootstrap after PR debug/30161
* dwarf2out.c (make_ith_pack_parameter_name): Don't used strnlen
that is a GNU extension.
(tmpl_value_parm_die_table): Move the definition of this global
outside #ifdef DWARF2_DEBUGGING_INFO region.

gcc/cp/ChangeLog:
PR bootstrap/41205
* pt.c (make_ith_pack_parameter_name): Don't use strnlen that is a
GNU extension.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151262 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-09-01 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 1 Sep 2009 08:41:53 +0000 (08:41 +0000)]
2009-09-01  Richard Guenther  <rguenther@suse.de>

* tree.c (tree_expr_size): New function.
* tree.h (tree_expr_size): Declare.
* rtlanal.c (rtx_addr_can_trap_p_1): Adjust comment.
* builtins.c (fold_builtin_memory_op): Use tree_expr_size.
* langhooks.c (lhd_expr_size): Remove.
* langhooks.h (struct lang_hooks): Remove expr_size.
* explow.c (expr_size): Use tree_expr_size.
(int_expr_size): Likewise.
* langhooks-def.h (lhd_expr_size): Remove.
(LANG_HOOKS_EXPR_SIZE): Likewise.
(LANG_HOOKS_INITIALIZER): Adjust.

cp/
* cp-objcp-common.c (cp_expr_size): Use tree_expr_size.
* cp-objcp-common.h (LANG_HOOKS_EXPR_SIZE): Do not define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151261 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-09-01 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 1 Sep 2009 08:38:10 +0000 (08:38 +0000)]
2009-09-01  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (mark_addressable): Move declaration ...
* tree.h (mark_addressable): ... here.
* stmt.c (expand_asm_operands): Use mark_addressable, not
lang_hooks.mark_addressable.
* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
LANG_HOOKS_MARK_ADDRESSABLE.
* langhooks.h (struct lang_hooks): Remove mark_addressable langhook.

* c-objc-common.h (LANG_HOOKS_MARK_ADDRESSABLE): Remove.

ada/
* gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.

cp/
* cp-objcp-common.h (LANG_HOOKS_MARK_ADDRESSABLE): Remove.

fortran/
* f95-lang.c (gfc_mark_addressable): Remove.
(LANG_HOOKS_MARK_ADDRESSABLE): Likewise.

java/
* lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
* java-tree.h (java_mark_addressable): Likewise.
* typeck.c (java_mark_addressable): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151260 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/i386/i386.c (ix86_vectorize_builtin_conversion): Never
uros [Tue, 1 Sep 2009 07:08:20 +0000 (07:08 +0000)]
* config/i386/i386.c (ix86_vectorize_builtin_conversion): Never
vectorize if not TARGET_SSE2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151259 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 1 Sep 2009 03:02:07 +0000 (03:02 +0000)]
2009-08-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/39229
* scanner.c (next_char): Fix typo in comment.
(gfc_get_char_literal): Warn if truncate flag is set for both fixed and
free form source, adjusting error locus as needed.
* parse.c (next_fixed): Clear the truncate flag.
(next_statement): Remove truncate warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151258 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago* config/mep/mep.h (FUNCTION_ARG_REGNO_P): Exclude coprocessor
dj [Tue, 1 Sep 2009 02:03:15 +0000 (02:03 +0000)]
* config/mep/mep.h (FUNCTION_ARG_REGNO_P): Exclude coprocessor
registers if no coprocessor is enabled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151257 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Tue, 1 Sep 2009 00:16:56 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151256 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * sv.po: Update.
jsm28 [Mon, 31 Aug 2009 23:30:36 +0000 (23:30 +0000)]
* sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151252 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * testsuite/18_support/numeric_limits/denorm_min.cc: Use
kkojima [Mon, 31 Aug 2009 22:29:47 +0000 (22:29 +0000)]
* testsuite/18_support/numeric_limits/denorm_min.cc: Use
dg-add-options ieee.
* testsuite/18_support/numeric_limits/digits10.cc: Likewise.
* testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
* testsuite/18_support/numeric_limits/infinity.cc: Likewise.
* testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
* testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
* testsuite/18_support/numeric_limits/min_max.cc: Likewise.
* testsuite/18_support/numeric_limits/quiet_NaN.cc: Likewise.
* testsuite/18_support/numeric_limits/
specialization_default_values.cc: Likewise.
* testsuite/18_support/numeric_limits/traps.cc: Likewise.
* testsuite/26_numerics/complex/pow.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
01_assoc_laguerre/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
02_assoc_legendre/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
03_beta/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
04_comp_ellint_1/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
05_comp_ellint_2/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
06_comp_ellint_3/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
07_conf_hyperg/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
08_cyl_bessel_i/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
09_cyl_bessel_j/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
10_cyl_bessel_k/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
11_cyl_neumann/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
12_ellint_1/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
13_ellint_2/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
14_ellint_3/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
15_expint/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
16_hermite/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
17_hyperg/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
18_laguerre/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
19_legendre/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
20_riemann_zeta/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
21_sph_bessel/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
22_sph_legendre/check_nan.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
23_sph_neumann/check_nan.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151251 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * lib/target-supports.exp (add_options_for_ieee): New procedure.
kkojima [Mon, 31 Aug 2009 22:23:27 +0000 (22:23 +0000)]
* lib/target-supports.exp (add_options_for_ieee): New procedure.
* g++.dg/cdce3.C: Use dg-add-options ieee.
* g++.dg/torture/type-generic-1.C: Likewise.
* gcc.c-torture/compile/fix-trunc-mem-1.c: Likewise.
* gcc.dg/pr28796-2.c: Likewise.
* gcc.dg/torture/builtin-math-7.c: Likewise.
* gcc.dg/torture/type-generic-1.c: Likewise.
* gfortran.dg/boz_14.f90: Likewise.
* gfortran.dg/erf_2.F90: Likewise.
* gfortran.dg/init_flag_3.f90: Likewise.
* gfortran.dg/init_flag_4.f90: Likewise.
* gfortran.dg/init_flag_5.f90: Likewise.
* gfortran.dg/integer_exponentiation_1.f90: Likewise.
* gfortran.dg/integer_exponentiation_5.F90: Likewise.
* gfortran.dg/isnan_1.f90: Likewise.
* gfortran.dg/isnan_2.f90: Likewise.
* gfortran.dg/maxlocval_2.f90: Likewise.
* gfortran.dg/maxlocval_4.f90: Likewise.
* gfortran.dg/minlocval_1.f90: Likewise.
* gfortran.dg/minlocval_4.f90: Likewise.
* gfortran.dg/module_nan.f90: Likewise.
* gfortran.dg/namelist_42.f90: Likewise.
* gfortran.dg/namelist_43.f90: Likewise.
* gfortran.dg/nan_1.f90: Likewise.
* gfortran.dg/nan_2.f90: Likewise.
* gfortran.dg/nan_3.f90: Likewise.
* gfortran.dg/nan_4.f90: Likewise.
* gfortran.dg/nan_5.f90: Likewise.
* gfortran.dg/nearest_1.f90: Likewise.
* gfortran.dg/nearest_2.f90: Likewise.
* gfortran.dg/nearest_3.f90: Likewise.
* gfortran.dg/pr37243.f: Likewise.
* gfortran.dg/real_const_3.f90: Likewise.
* gfortran.dg/transfer_simplify_2.f90: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151250 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoEmit DWARF for template parameters (PR debug/30161)
dodji [Mon, 31 Aug 2009 21:48:04 +0000 (21:48 +0000)]
Emit DWARF for template parameters (PR debug/30161)

ChangeLog:
PR debug/30161
* include/dwarf2.h (enum dwarf_tag): Added
DW_TAG_GNU_template_template_param
(enum dwarf_attribute): Added DW_AT_GNU_template_name.

gcc/ChangeLog:
PR debug/30161
* cgraph.h (cgraph_get_node): Declare ...
* cgraph.c (cgraph_get_node): ... new function.
* dwarf2out.c (gen_generic_params_dies,
generic_parameter_die, tree_add_const_value_attribute_for_decl,
make_ith_pack_parameter_name,
append_entry_to_tmpl_value_parm_die_table,
gen_remaining_tmpl_value_param_die_attribute): New functions.
(gen_subprogram_die): Generate debug info for template parameters
if debug info level is higher than DINFO_LEVEL_TERSE.
Use tree_add_const_value_attribute_for_decl instead of
tree_add_const_value_attribute.
(gen_const_die): Use tree_add_const_value_attribute_for_decl
instead of tree_add_const_value_attribute.
(gen_struct_or_union_type_die): Generate debug
info for template parameters if debug info level is higher than
DINFO_LEVEL_TERSE.
(tree_add_const_value_attribute): Handle integral and pointer
constants. Update comment.
(dwarf_tag_name): Support DW_TAG_GNU_template_template_param.
(dwarf_attr_name): Support DW_AT_GNU_template_name.
(reference_to_unused): Fix thinko. Remove redundant predicates from
tests.
(tree_add_const_value_attribute): Make this work for constant
expressions only.
tree_add_const_value_attribute_for_decl is to be used for variable
DECLs now.
(add_location_or_const_value_attribute): Use
tree_add_const_value_attribute_for_decl now.
(dwarf2out_finish): Emit the DW_AT_const_value attribute of
DW_TAG_template_value_param DIEs after function DIEs have been
emitted.
* langhooks.h (lang_hooks_for_types): Add
get_argument_pack_elems.
(lang_hooks_for_decls): Add generic_generic_parameter_decl_p.
(lang_hooks): Added get_innermost_generic_parms,
get_innermost_generic_args.
* langhooks-def.h (LANG_HOOKS_GET_INNERMOST_GENERIC_PARMS,
LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS,
LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS,
LANG_HOOKS_GENERIC_GENERIC_PARAMETER_DECL_P): New language hooks.

gcc/cp/ChangeLog:
PR debug/30161
* cp-tree.h (get_template_info): Parameter should be const.
(CLASSTYPE_SPECIALIZATION_OF_PRIMARY_TEMPLATE_P): Fix typo.
(get_template_argument_pack_elems,
get_primary_template_innermost_parameters,
get_template_innermost_arguments, template_template_parameter_p):
Declare ...
* pt.c (get_template_argument_pack_elems,
get_template_innermost_parameters, get_template_innermost_arguments,
template_template_parameter_p):
... New C++ front end implementation of new language hooks.
(primary_template_instantiation_p): New private helper.
(make_ith_pack_parameter_name): Use snprintf and strnlen instead of
printf and strlen.
(get_template_info): Const-ify parameter.
* cp-lang.c (LANG_HOOKS_GET_INNERMOST_GENERIC_PARMS,
LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS,
LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS,
LANG_HOOKS_GENERIC_TYPE_PARAMETER_DECL_P): Initialize these
interfaces for the C++ front-end.

gcc/testsuite/ChangeLog:
PR debug/30161
* g++.dg/debug/dwarf2/template-params-1.C: New test.
* g++.dg/debug/dwarf2/template-params-2.C: Likewise.
* g++.dg/debug/dwarf2/template-params-3.C: Likewise.
* g++.dg/debug/dwarf2/template-params-4.C: Likewise.
* g++.dg/debug/dwarf2/template-params-5.C: Likewise.
* g++.dg/debug/dwarf2/template-params-6.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-1.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-2.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-3.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-4.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-5.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-6.C: Likewise.
* g++.dg/debug/dwarf2/template-func-params-7.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151249 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago* config/mep/mep.c (machine_function): Add frame_locked flag. Set
dj [Mon, 31 Aug 2009 21:37:49 +0000 (21:37 +0000)]
* config/mep/mep.c (machine_function): Add frame_locked flag.  Set
it once we start generating the prologue or epilogue.
(mep_call_saves_register): If the frame is locked, re-use cached values.
(mep_assign_save_slots): New, broken out from mep_expand_prologue.
(mep_expand_prologue): Call it.
(mep_expand_epilogue): Likewise.
(mep_start_function): Use the same logic as mep_expand_prologue.
(mep_pass_by_reference): Make logic more readable.
(mep_return_in_memory): Zero-sized objects are passed in memory.
(mep_reorg_noframe): Make sure we have accurate REG_DEAD notes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151248 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR c++/41127
jason [Mon, 31 Aug 2009 21:08:33 +0000 (21:08 +0000)]
PR c++/41127
* parser.c (cp_parser_enum_specifier): Make sure the : is followed by a
type-specifier-seq before we commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151246 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-31 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 31 Aug 2009 19:08:03 +0000 (19:08 +0000)]
2009-08-31  Janus Weil  <janus@gcc.gnu.org>
    Paul Thomas  <pault@gcc.gnu.org>

PR fortran/40940
* array.c (gfc_match_array_constructor): Rename gfc_match_type_spec.
* decl.c (gfc_match_type_spec): Rename to gfc_match_decl_type_spec,
and reject CLASS with -std=f95.
(gfc_match_implicit, gfc_match_data_decl,gfc_match_prefix,
match_procedure_interface): Rename gfc_match_type_spec.
* gfortran.h (gfc_type_compatible): Add prototype.
* match.h (gfc_match_type_spec): Rename to gfc_match_decl_type_spec.
* match.c (match_intrinsic_typespec): Rename to match_type_spec, and
add handling of derived types.
(gfc_match_allocate): Rename match_intrinsic_typespec and check
type compatibility of derived types.
* symbol.c (gfc_type_compatible): New function to check if two types
are compatible.

2009-08-31  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40940
* gfortran.dg/allocate_derived_1.f90: New.
* gfortran.dg/class_3.f03: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151244 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-31 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 31 Aug 2009 12:52:17 +0000 (12:52 +0000)]
2009-08-31  Richard Guenther  <rguenther@suse.de>

* builtins.c (fold_builtin_memory_op): Use the alias oracle
to query if the memory regions for memmove overlap.
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Relax the
asserts on pointers, instead deal with odd trees.
(ptr_derefs_may_alias_p): Likewise.
(refs_may_alias_p_1): Constructor bases also never alias.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151241 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-31 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 31 Aug 2009 10:22:32 +0000 (10:22 +0000)]
2009-08-31  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40996
* check.c (gfc_check_allocated): Implement allocatable scalars.
* resolve.c (resolve_allocate_expr,resolve_fl_var_and_proc): Ditto.
* trans-intrinsic.c (gfc_conv_allocated): Ditto.

2009-08-31  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40996
* gfortran.dg/allocatable_scalar_1.f90: New.
* gfortran.dg/allocatable_scalar_2.f90: Renamed from finalize_9.f03.
* gfortran.dg/finalize_9.f03: Renamed to allocatable_scalar_2.f90.
* gfortran.dg/proc_ptr_comp_pass_4.f90: Modified.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151240 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Mon, 31 Aug 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151238 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * doc/install.texi (Final install): Adjust reference on where to
gerald [Sun, 30 Aug 2009 22:32:40 +0000 (22:32 +0000)]
* doc/install.texi (Final install): Adjust reference on where to
printed manuals.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151231 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * dwarf2out.c (switch_to_frame_table_section): Move
hainque [Sun, 30 Aug 2009 17:22:15 +0000 (17:22 +0000)]
    * dwarf2out.c (switch_to_frame_table_section): Move
        definition prior to first use.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151230 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-30 Paolo Bonzini <bonzini@gnu.org>
bonzini [Sun, 30 Aug 2009 16:36:31 +0000 (16:36 +0000)]
2009-08-30  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.tpl (AWK): Fix typo.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151229 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-30 Paolo Bonzini <bonzini@gnu.org>
bonzini [Sun, 30 Aug 2009 14:33:13 +0000 (14:33 +0000)]
2009-08-30  Paolo Bonzini  <bonzini@gnu.org>

* configure.ac: Detect awk and sed.
* Makefile.def (flags_to_pass): Add AWK and SED.
* Makefile.tpl (AWK, SED): New.
(BASE_FLAGS_TO_PASS): Add AWK and SED.
* configure: Regenerate.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151228 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-30 Paolo Bonzini <bonzini@gnu.org>
bonzini [Sun, 30 Aug 2009 14:26:37 +0000 (14:26 +0000)]
2009-08-30  Paolo Bonzini  <bonzini@gnu.org>

PR ada/41122
* configure.ac: Add AC_PROG_AWK.  Remove useless duplicate
call to AC_PROG_CC.
* configure: Regenerate.
* Makefile.in: Substitute AWK.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151227 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-30 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 30 Aug 2009 11:52:13 +0000 (11:52 +0000)]
2009-08-30  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/41186
* tree-ssa-alias.c (ptr_deref_may_alias_ref_p): Remove.
(ao_ref_init_from_ptr_and_size): New function.
(ref_maybe_used_by_call_p_1): Be more precise tracking
used ranges for builtin functions.
(ref_maybe_used_by_call_p): Adjust.
(call_may_clobber_ref_p_1): Be more precise tracking clobbered
ranges for builtin functions.
* tree-ssa-alias.h (ao_ref_init_from_ptr_and_size): Declare.

* g++.dg/torture/pr41186.C: New testcase.
* g++.dg/tree-ssa/pr41186.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151226 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-30 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 30 Aug 2009 09:02:01 +0000 (09:02 +0000)]
2009-08-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

* m4/pack.m4 (pack_'rtype_code`): Use count_0 for counting true
values in a logical array.  Mark bounds checking tests as
unlikely.
* intrinsics/pack_generic.c (pack_internal): Likewise.
* runtime/bounds.c (count_0):  Fix off-by-one error in detecting
empty arrays.
* generated/pack_c4.c: Regenerated.
* generated/pack_c8.c: Regenerated.
* generated/pack_c10.c: Regenerated.
* generated/pack_c16.c: Regenerated.
* generated/pack_i1.c: Regenerated.
* generated/pack_i16.c: Regenerated.
* generated/pack_i2.c: Regenerated.
* generated/pack_i4.c: Regenerated.
* generated/pack_i8.c: Regenerated.
* generated/pack_r4.c: Regenerated.
* generated/pack_r8.c: Regenerated.
* generated/pack_r10.c: Regenerated.
* generated/pack_r16.c: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151225 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-30 Daniel Kraft <d@domob.eu>
domob [Sun, 30 Aug 2009 08:26:38 +0000 (08:26 +0000)]
2009-08-30  Daniel Kraft  <d@domob.eu>

PR fortran/37425
* dump-parse-tree.c (show_typebound_proc): Renamed from `show_typebound'
and accept gfc_typebound_proc and name instead of the symtree, needed
for intrinsic operator output.
(show_typebound_symtree): New method calling `show_typebound_proc'.
(show_f2k_derived): Output type-bound operators also.
(show_symbol): Moved output of `Procedure bindings:' label to
`show_f2k_derived'.
* gfortran.texi (Fortran 2003 status): Mention support of
array-constructors with explicit type specification, type-bound
procedures/operators, type extension, ABSTRACT types and DEFERRED.
Link to Fortran 2003 wiki page.
(Fortran 2008 status): Fix typo.  Link to Fortran 2008 wiki page.
* gfc-internals.texi (Type-bound Procedures): Document the new
members/attributes of gfc_expr.value.compcall used for type-bound
operators.
(Type-bound Operators): New section documenting their internals.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151224 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoFix c++/41187
dodji [Sun, 30 Aug 2009 07:26:29 +0000 (07:26 +0000)]
Fix c++/41187

gcc/testsuite/ChangeLog:
PR c++/41187
* g++.dg/debug/dwarf2/namespace-1.C: Use a loosier regexp to
take ia64 assembly comments syntax in account.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151223 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * gcc.target/i386/funcspec-5.c: Remove fused-add test.
uros [Sun, 30 Aug 2009 06:44:20 +0000 (06:44 +0000)]
* gcc.target/i386/funcspec-5.c: Remove fused-add test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151222 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR target/41081
amodra [Sun, 30 Aug 2009 06:09:42 +0000 (06:09 +0000)]
PR target/41081
* fwprop.c (get_reg_use_in): Delete.
(free_load_extend): New function.
(forward_propagate_subreg): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151221 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoFix ChangeLog entries for PR debug/41170.
hjl [Sun, 30 Aug 2009 01:52:18 +0000 (01:52 +0000)]
Fix ChangeLog entries for PR debug/41170.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151217 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Sun, 30 Aug 2009 00:16:54 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151216 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config.gcc (sh*-*-elf): Add superh stuff only for sh*-superh-elf.
kkojima [Sat, 29 Aug 2009 23:50:31 +0000 (23:50 +0000)]
* config.gcc (sh*-*-elf): Add superh stuff only for sh*-superh-elf.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151213 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * gfortran.dg/whole_file_5.f90: Add -fpie when pic, fix scan
ghazi [Sat, 29 Aug 2009 20:28:59 +0000 (20:28 +0000)]
* gfortran.dg/whole_file_5.f90: Add -fpie when pic, fix scan
pattern.
* gfortran.dg/whole_file_6.f90: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151211 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sat, 29 Aug 2009 19:35:21 +0000 (19:35 +0000)]
2009-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_construct.h: Include <bits/move.h>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151208 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-29 Chris Jefferson <chris@bubblescope.net>
paolo [Sat, 29 Aug 2009 19:27:05 +0000 (19:27 +0000)]
2009-08-29  Chris Jefferson  <chris@bubblescope.net>

* include/bits/move.h (_GLIBCXX_FORWARD): Add.
* include/bits/stl_uninitialized.h (__uninitialized_construct_range):
Add.
* include/bits/stl_tempbuf.h (_Temporary_buffer::
_Temporary_buffer(_ForwardIterator, _ForwardIterator)): Use the latter.
* include/bits/stl_construct.h (_Construct(_T1*, _T2&&)): Add in
C++0x mode.
* testsuite/util/testsuite_hooks.h (operator<(const copy_tracker&,
     const copy_tracker&)): Add.
* testsuite/25_algorithms/stable_partition/mem_check.cc: New.
* testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151207 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-29 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sat, 29 Aug 2009 19:06:11 +0000 (19:06 +0000)]
2009-08-29  Steven G. Kargl  <kargl@gcc.gnu.org>

* trans-expr.c(gfc_trans_assignment_1): Correct a comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151205 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-29 Kai Tietz<kai.tietz@onevision.com>
ktietz [Sat, 29 Aug 2009 17:58:52 +0000 (17:58 +0000)]
2009-08-29  Kai Tietz<kai.tietz@onevision.com>

        PR/41184
        * config/i386.c (ix86_expand_epilogue): Correct stack adjustment for
        padding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151204 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * crtstuff.c (__do_global_dtors_aux): Use atexit if no
rupp [Sat, 29 Aug 2009 15:37:48 +0000 (15:37 +0000)]
* crtstuff.c (__do_global_dtors_aux): Use atexit if no
fini or fini_array section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151202 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Sat, 29 Aug 2009 00:16:53 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151199 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
spop [Fri, 28 Aug 2009 20:41:53 +0000 (20:41 +0000)]
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (graphite_legal_transform_bb): Call
pbb_remove_duplicate_pdrs.
* graphite-poly.c (can_collapse_pdr): Removed.
(pdr_find_duplicate): Removed.
(can_collapse_pdrs): New.
(pbb_remove_duplicate_pdrs): New.
(new_poly_dr): Do not look for duplicates.
* graphite-poly.h (struct poly_bb): New field pdr_duplicates_removed.
(PBB_PDR_DUPLICATES_REMOVED): New.
(pbb_remove_duplicate_pdrs): Declared.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151192 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
spop [Fri, 28 Aug 2009 20:40:59 +0000 (20:40 +0000)]
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-interchange.c (pbb_interchange_profitable_p): Adjust
the strides by multiplying by PDR_NB_REFS.
* graphite-poly.c (can_collapse_pdr): New.
(pdr_find_duplicate): New.
(new_poly_dr): Call pdr_find_duplicate.  Collapse duplicate PDRs.
Initialize PDR_NB_REFS.
* graphite-poly.h (struct poly_dr): Add field nb_refs.
(PDR_NB_REFS): New.
(new_poly_dr): Number of subscripts is a graphite_dim_t.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151191 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
spop [Fri, 28 Aug 2009 20:39:43 +0000 (20:39 +0000)]
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/40965
* graphite-poly.c (apply_poly_transforms): Remove legality test before
any transform.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151190 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
spop [Fri, 28 Aug 2009 20:37:56 +0000 (20:37 +0000)]
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (pddr_original_scattering): Return NULL
for read-read dependence relations.
* graphite-poly.h (enum poly_dr_type): Fix comment.
(pdr_read_p): New.
(pdr_write_p): New.
(pdr_may_write_p): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151189 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
spop [Fri, 28 Aug 2009 20:37:06 +0000 (20:37 +0000)]
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-poly.h (enum POLY_DR_TYPE): Renamed poly_dr_type.
(struct poly_dr): Same.
(new_poly_dr): Same.
* graphite-poly.c (new_poly_dr): Same.
* graphite-dependences.c (dot_deps): Disable call to system.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151188 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agogcc/ChangeLog:
ccoutant [Fri, 28 Aug 2009 20:35:16 +0000 (20:35 +0000)]
gcc/ChangeLog:

PR debug/41063
* dwarf2out.c (gen_type_die_with_usage): Use proper context for
struct/union/enum types local to a function.

gcc/testsuite/ChangeLog:

PR debug/41063
* g++.dg/debug/dwarf2/pr41063.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151187 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Konrad Trifunovic <konrad.trifunovic@gmail.com>
spop [Fri, 28 Aug 2009 20:33:10 +0000 (20:33 +0000)]
2009-08-28  Konrad Trifunovic  <konrad.trifunovic@gmail.com>
    Sebastian Pop  <sebastian.pop@amd.com>

* graphite-blocking.c (pbb_strip_mine_loop_depth): Renamed
pbb_strip_mine_time_depth.  Changed the implementation so that
transformation is expressed as a transformation on
time (scatttering) dimensions.  Also, ensures that the 2d+1
scheduling format is preserved.
(pbb_strip_mine_profitable_p): Profitability is based on the
iteration number of a given time (scattering) dimension,
and not on a original loop depth dimension.
(pbb_strip_mine): Call pbb_number_of_iterations_at_time.
(pbb_do_strip_mine): Call psct_dynamic_dim.
* graphite-poly.c (pbb_number_of_iterations_at_time): New.
* graphite-poly.h (pbb_number_of_iterations_at_time): Declared.
(pbb_nb_dynamic_scattering_transform): New.
(psct_dynamic_dim): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151186 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agogcc/ChangeLog:
ccoutant [Fri, 28 Aug 2009 20:32:29 +0000 (20:32 +0000)]
gcc/ChangeLog:

PR debug/41063
* dwarf2out.c (gen_type_die_with_usage): Use proper context for
struct/union/enum types local to a function.

gcc/testsuite/ChangeLog:

PR debug/41063
* g++.dg/debug/dwarf2/pr41063.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151185 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Konrad Trifunovic <konrad.trifunovic@gmail.com>
spop [Fri, 28 Aug 2009 20:32:20 +0000 (20:32 +0000)]
2009-08-28  Konrad Trifunovic  <konrad.trifunovic@gmail.com>

* graphite-ppl.c (ppl_max_for_le): Renamed ppl_max_for_le_pointset.
* graphite-ppl.h (ppl_max_for_le): Renamed ppl_max_for_le_pointset.
* graphite-poly.c (pbb_number_of_iterations): Rename ppl_max_for_le.
* graphite-interchange.c (build_linearized_memory_access): Same.
(memory_stride_in_loop): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151184 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
spop [Fri, 28 Aug 2009 20:31:28 +0000 (20:31 +0000)]
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (pddr_original_scattering): New.
(graphite_legal_transform_dr): Call pddr_original_scattering.
(dot_deps_1): New.
(dot_deps): New.
* graphite-dependences.h (dot_deps): Declared.
* graphite-poly.c (new_poly_dr): Initialize PDR_ID.
(print_pdr): Print PDR_ID.
* graphite-poly.h (struct poly_dr): Add field id.
(PDR_ID): New.
(pbb_index): New.
* graphite-scop-detection.c (dot_all_scops_1): Cleanup comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151183 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
spop [Fri, 28 Aug 2009 20:30:09 +0000 (20:30 +0000)]
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (graphite_carried_dependence_level_k): Do
not delete the original dependence relation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151182 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
spop [Fri, 28 Aug 2009 20:27:56 +0000 (20:27 +0000)]
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (new_poly_dr_pair): Renamed new_poly_ddr.
(eq_poly_dr_pair_p): Renamed eq_poly_ddr_p.
(hash_poly_dr_pair_p): Renamed hash_poly_ddr_p.
(free_poly_ddr): New.
(pddr_is_empty): New.
(dependence_polyhedron_1): Now returns a poly_ddr_p.
(dependence_polyhedron): Same.  Remove useless gcc_assert.
Remove fprintfs.
(graphite_legal_transform_dr): Call pddr_is_empty and free_poly_ddr.
(graphite_carried_dependence_level_k): Call pddr_is_empty.
* graphite-dependences.h (enum poly_dependence_kind): New.
(poly_dr_pair): Renamed poly_ddr.  Added a field kind.
(PDRP_SOURCE): Renamed PDDR_SOURCE.
(PDRP_SINK): Renamed PDDR_SINK.
(PDRP_DDP): Renamed PDDR_DDP.
(PDDR_KIND): New.
(free_poly_ddr): Declared.
* graphite-poly.c (new_scop): Use the new hash function names.
* graphite-poly.h (struct scop): Renamed field original_pdr_pairs
into original_pddrs.
(SCOP_ORIGINAL_PDR_PAIRS): Renamed SCOP_ORIGINAL_PDDRS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151181 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
spop [Fri, 28 Aug 2009 20:24:51 +0000 (20:24 +0000)]
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

* cfgloopmanip.c (create_empty_loop_on_edge): Generate upper
bounds with LT_EXPR to make niter analysis more precise on code
generated by Graphite.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151180 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
spop [Fri, 28 Aug 2009 20:23:46 +0000 (20:23 +0000)]
2009-08-28  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (graphite_legal_transform_dr): Fix formatting.
(graphite_legal_transform_bb): Same.
(poly_drs_may_alias_p): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151179 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Bruce Korb <bkorb@gnu.org>
sje [Fri, 28 Aug 2009 19:42:41 +0000 (19:42 +0000)]
2009-08-28   Bruce Korb <bkorb@gnu.org>
     Steve Ellcey  <sje@cup.hp.com>

* README (files): Describe files entry.
* inclhack.def (hpux_stdint_least): Remove.
(hpux_stdint_fast): Remove.
(hpux_stdint_fast): Remove.
(hpux_stdint_least_fast): New.
(hpux_inttype_int_least8_t): Remove.
(hpux_inttype_int8_t): Modify.
* fixincl.x: Regenerate.
* tests/base/stdint.h: Update.
* tests/base/sys/_inttypes.h: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151178 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 28 Aug 2009 19:37:37 +0000 (19:37 +0000)]
2009-08-28  Richard Guenther  <rguenther@suse.de>

* tree.def: Remove note about obsolete TYPE_NONCOPIED_PARTS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151177 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 28 Aug 2009 19:36:05 +0000 (19:36 +0000)]
2009-08-28  Richard Guenther  <rguenther@suse.de>

PR lto/41058
* cp-gimplify.c (cp_genericize_r): Do not leak zero-sized stores
into the generic IL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151176 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Steve Ellcey <sje@cup.hp.com>
sje [Fri, 28 Aug 2009 17:53:46 +0000 (17:53 +0000)]
2009-08-28  Steve Ellcey  <sje@cup.hp.com>

* inclhack.def (hpux_imaginary_i): Remove spaces.
* fixincl.x: Regenerate.
* tests/base/stdint.h: Update AIX fixes.
* tests/base/complex.h: Change HPUX_IMAGINARY_I_CHECK fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151171 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Jan Beulich <jbeulich@novell.com>
jbeulich [Fri, 28 Aug 2009 15:28:11 +0000 (15:28 +0000)]
2009-08-28  Jan Beulich  <jbeulich@novell.com>

* config/i386/netware.c: Include langhooks.h.
(i386_nlm_encode_section_info): Simplify.
(netware_override_options): Delete.
* config/i386/netware.h (netware_override_options): Delete
declaration.
(OVERRIDE_OPTIONS): Delete definition.
(SUBTARGET_OVERRIDE_OPTIONS): Define.
(ASM_COMMENT_START): Define.
* config/i386/nwld.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151164 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-28 Jan Beulich <jbeulich@novell.com>
jbeulich [Fri, 28 Aug 2009 15:22:18 +0000 (15:22 +0000)]
2009-08-28  Jan Beulich  <jbeulich@novell.com>

* configure.ac: For in-tree ld, do a plain version check to
determine whether comdat groups are supported.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151162 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * collect2.c (DO_COLLECT_EXPORT_LIST): New internal macro,
hainque [Fri, 28 Aug 2009 09:04:52 +0000 (09:04 +0000)]
    * collect2.c (DO_COLLECT_EXPORT_LIST): New internal macro,
        always defined.  Reflect definition or absence of such for
        COLLECT_EXPORT_LIST.  Readability helper.
        (scanfilter): New enum, to help control what symbols
        are to be considered or ignored by scan_prog_file.
        (enum pass): Rename as "scanpass", moved together with scanfilter
        prior to scan_prog_file's prototype.
        (scan_prog_file): Accept and honor scanpass and scanfilter arguments.
        Group prototype with the scanpass/scanfilter definitions, factorize
        head comments for the several implementations at the prototype.
        (main): Reorganize the first pass link control to let AIX
        drag only the needed frame tables in executables.  Prevent
        frame tables collection during the scan aimed at static ctors.
        Pre-link and scan for frame tables later to compensate.
        * doc/tm.texi (ASM_OUTPUT_DWARF_TABLE_REF): New macro.
        A C statement to issue assembly directives that create a reference
        to the given DWARF table identifier label from the current function
        section.
        * dwarf2out.c (switch_to_eh_frame_section): Add a BACK argument
        to differentiate first time section entry.  Only emit a .data
        tables start identifier label the first time around.
        (switch_to_frame_table_section): New function.  Helper for
        output_call_frame_info to switch possibly BACK into the eh_frame
        or the debug_frame section depending on FOR_EH.
        (output_call_frame_info): Use helper to first enter the proper
        frame section.
        (output_fde): Use ASM_OUTPUT_DWARF_TABLE_REF when defined to
        emit a link to the frame table start label from each function
        section.
        * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_table_ref):
        New function.  Implementation of ASM_OUTPUT_DWARF_TABLE_REF.
        * config/rs6000/rs6000-protos.h: Declare it.
        * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151157 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Fri, 28 Aug 2009 00:16:48 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151156 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/sh/sh.c (split_branches): Check the result of
kkojima [Thu, 27 Aug 2009 22:56:41 +0000 (22:56 +0000)]
* config/sh/sh.c (split_branches): Check the result of
next_active_insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151152 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-27 Steve Ellcey <sje@cup.hp.com>
sje [Thu, 27 Aug 2009 22:35:16 +0000 (22:35 +0000)]
2009-08-27  Steve Ellcey  <sje@cup.hp.com>

* config/ia64/hpux.h (LIB_SPEC): Add -lrt for when
using -pthread -fopenmp

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151151 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * doc/service.texi (service directory): Update URL.
gerald [Thu, 27 Aug 2009 21:21:18 +0000 (21:21 +0000)]
* doc/service.texi (service directory): Update URL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151150 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago PR rtl-optimization/40861
uros [Thu, 27 Aug 2009 20:54:28 +0000 (20:54 +0000)]
PR rtl-optimization/40861
* simplify-rtx.c (simplify_subreg): Do not call simplify_gen_subreg to
extract word from a multi-word subreg for negative byte positions.

testsuite/ChangeLog:

PR rtl-optimization/40861
* gcc.dg/pr40861.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151149 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/ia64/ia64.c (ia64_attribute_table): Add "common_object"
rupp [Thu, 27 Aug 2009 20:08:49 +0000 (20:08 +0000)]
* config/ia64/ia64.c (ia64_attribute_table): Add "common_object"
entry.
(SECTION_VMS_OVERLAY): Define.
(ia64_vms_common_object_attribute): Added.  Handle the "common_object"
attribute.
(ia64_vms_elf_asm_named_section): Added.  Generate .section pseudo-op
for common_object.
(ia64_vms_output_aligned_decl_common): Added.  Generate pseudo-op for
common_object declarations.
(ia64_section_type_flags): Set section flag for common_object.
* config/ia64/ia64-protos.h
(ia64_vms_output_aligned_decl_common): Declare.
(ia64_vms_elf_asm_named_section): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151148 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-27 Janus Weil <janus@gcc.gnu.org>
janus [Thu, 27 Aug 2009 19:48:46 +0000 (19:48 +0000)]
2009-08-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40869
* expr.c (gfc_check_pointer_assign): Enable interface check for
pointer assignments involving procedure pointer components.
* gfortran.h (gfc_compare_interfaces): Modified prototype.
* interface.c (gfc_compare_interfaces): Add argument 'name2', to be
used instead of s2->name. Don't rely on the proc_pointer attribute,
but instead on the flags handed to this function.
(check_interface1,compare_parameter): Add argument for
gfc_compare_interfaces.
* resolve.c (check_generic_tbp_ambiguity): Ditto.

2009-08-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40869
* gfortran.dg/proc_ptr_comp_20.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151147 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoLet test_summary invoke, not parse config.status contents.
rwild [Thu, 27 Aug 2009 18:59:32 +0000 (18:59 +0000)]
Let test_summary invoke, not parse config.status contents.

contrib/*
PR testsuite/41166
* test_summary: Invoke config.status, rather than trying to
parse it.  Adjust awk script.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151145 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoPR libfortran/39667 Fix testcases to not need fd_truncate.
jb [Thu, 27 Aug 2009 17:40:55 +0000 (17:40 +0000)]
PR libfortran/39667 Fix testcases to not need fd_truncate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151144 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * expr.c (expand_expr_real_2): New function taking exploded
matz [Thu, 27 Aug 2009 12:42:18 +0000 (12:42 +0000)]
    * expr.c (expand_expr_real_2): New function taking exploded
        unary or binary expression, split out from ...
        (expand_expr_real_1): ... here.  Move over all unary/binary
        switch parts to above function, in particular these codes:
        PAREN_EXPR, NOP_EXPR, CONVERT_EXPR, POINTER_PLUS_EXPR, PLUS_EXPR,
        MINUS_EXPR, MULT_EXPR, TRUNC_DIV_EXPR, FLOOR_DIV_EXPR, CEIL_DIV_EXPR,
        ROUND_DIV_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, TRUNC_MOD_EXPR,
        FLOOR_MOD_EXPR, CEIL_MOD_EXPR, ROUND_MOD_EXPR, FIXED_CONVERT_EXPR,
        FIX_TRUNC_EXPR, FLOAT_EXPR, NEGATE_EXPR, ABS_EXPR, MAX_EXPR, MIN_EXPR,
        BIT_NOT_EXPR, TRUTH_AND_EXPR, BIT_AND_EXPR, TRUTH_OR_EXPR,
        BIT_IOR_EXPR, TRUTH_XOR_EXPR, BIT_XOR_EXPR, LROTATE_EXPR, RROTATE_EXPR,
        LSHIFT_EXPR, RSHIFT_EXPR, LT_EXPR, LE_EXPR, GT_EXPR, GE_EXPR, EQ_EXPR,
        NE_EXPR, UNORDERED_EXPR, ORDERED_EXPR, UNLT_EXPR, UNLE_EXPR, UNGT_EXPR,
        UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR, TRUTH_NOT_EXPR, COMPLEX_EXPR,
        WIDEN_SUM_EXPR, REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR,
        VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR,
        VEC_INTERLEAVE_LOW_EXPR, VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR,
        VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR, VEC_UNPACK_FLOAT_HI_EXPR,
        VEC_UNPACK_FLOAT_LO_EXPR, VEC_WIDEN_MULT_HI_EXPR,
        VEC_WIDEN_MULT_LO_EXPR, VEC_PACK_TRUNC_EXPR, VEC_PACK_SAT_EXPR,
        VEC_PACK_FIX_TRUNC_EXPR.
        (<case PAREN_EXPR>): Call set_mem_attributes() with type, not the
        full expression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151142 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-27 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 27 Aug 2009 11:59:51 +0000 (11:59 +0000)]
2009-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/28039
        * gfortran.dg/fmt_with_extra.f: xfail testcase as patch was
        * reverted.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151141 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-27 Daniel Kraft <d@domob.eu>
domob [Thu, 27 Aug 2009 11:42:56 +0000 (11:42 +0000)]
2009-08-27  Daniel Kraft  <d@domob.eu>

PR fortran/37425
* gfortran.h (gfc_expr): Optionally store base-object in compcall value
and add a new flag to distinguish assign-calls generated.
(gfc_find_typebound_proc): Add locus argument.
(gfc_find_typebound_user_op), (gfc_find_typebound_intrinsic_op): Ditto.
(gfc_extend_expr): Return if failure was by a real error.
* interface.c (matching_typebound_op): New routine.
(build_compcall_for_operator): New routine.
(gfc_extend_expr): Handle type-bound operators, some clean-up and
return if failure was by a real error or just by not finding an
appropriate operator definition.
(gfc_extend_assign): Handle type-bound assignments.
* module.c (MOD_VERSION): Incremented.
(mio_intrinsic_op): New routine.
(mio_full_typebound_tree): New routine to make typebound-procedures IO
code reusable for type-bound user operators.
(mio_f2k_derived): IO of type-bound operators.
* primary.c (gfc_match_varspec): Initialize new fields in gfc_expr and
pass locus to gfc_find_typebound_proc.
* resolve.c (resolve_operator): Only output error about no matching
interface if gfc_extend_expr did not already fail with an error.
(extract_compcall_passed_object): Use specified base-object if present.
(update_compcall_arglist): Handle ignore_pass field.
(resolve_ordinary_assign): Update to handle extended code for
type-bound assignments, too.
(resolve_code): Handle EXEC_ASSIGN_CALL statement code.
(resolve_tb_generic_targets): Pass locus to gfc_find_typebound_proc.
(resolve_typebound_generic), (resolve_typebound_procedure): Ditto.
(resolve_typebound_intrinsic_op), (resolve_typebound_user_op): Ditto.
(ensure_not_abstract_walker), (resolve_fl_derived): Ditto.
(resolve_typebound_procedures): Remove not-implemented error.
(resolve_typebound_call): Handle assign-call flag.
* symbol.c (find_typebound_proc_uop): New argument to pass locus for
error message about PRIVATE, verify that a found procedure is not marked
as erraneous.
(gfc_find_typebound_intrinsic_op): Ditto.
(gfc_find_typebound_proc), (gfc_find_typebound_user_op): New locus arg.

2009-08-27  Daniel Kraft  <d@domob.eu>

PR fortran/37425
* gfortran.dg/impure_assignment_1.f90: Change expected error message.
* gfortran.dg/typebound_operator_1.f03: Remove check for not-implemented
error and fix problem with recursive assignment.
* gfortran.dg/typebound_operator_2.f03: No not-implemented check.
* gfortran.dg/typebound_operator_3.f03: New test.
* gfortran.dg/typebound_operator_4.f03: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151140 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-27 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 27 Aug 2009 08:56:10 +0000 (08:56 +0000)]
2009-08-27  Richard Guenther  <rguenther@suse.de>

* gengtype.c (main): Handle uint64_t.
* ipa-utils.c (get_base_var): Indent properly.
* tree-ssa-live.c (debug_scope_block): New function.
* tree-flow.h (debug_scope_block): Declare.
* tree-ssa-copy.c (replace_exp_1): Add vertical space.
* basic-block.h (enum profile_status): Rename to
enum profile_status_d.
(x_profile_status): Adjust type.

cp/
* class.c (build_vtbl_ref_1): Remove excess vertical space.
* Make-lang.in (CXX_TREE_H): Remove c-common.def dependency
tracked by $(TREE_H).
* semantics.c (expand_or_defer_fn): Zero DECL_SAVED_TREE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151139 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoFix for PR debug/41170
dodji [Thu, 27 Aug 2009 07:05:24 +0000 (07:05 +0000)]
Fix for PR debug/41170

gcc/ChangeLog:
PR debug/41770
* dwarf2out.c (get_context_die): Declare this static function.
(gen_type_die_with_usage): Make sure a DIE is a generated for
the context of a typedef.

gcc/testsuite/ChangeLog:
PR debug/41770
* debug/dwarf2/namespace-1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151138 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-26 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Thu, 27 Aug 2009 05:54:56 +0000 (05:54 +0000)]
2009-08-26  Benjamin Kosnik  <bkoz@redhat.com>

* config/abi/pre/gnu.ver: Fixups for string member functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151137 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Thu, 27 Aug 2009 00:16:37 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151135 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * doc/invoke.texi (AVR Options): Remove documentation of -minit-stack
aesok [Wed, 26 Aug 2009 21:21:34 +0000 (21:21 +0000)]
* doc/invoke.texi (AVR Options): Remove documentation of -minit-stack
switch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151132 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-26 H.J. Lu <hongjiu.lu@intel.com>
hjl [Wed, 26 Aug 2009 20:55:42 +0000 (20:55 +0000)]
2009-08-26  H.J. Lu  <hongjiu.lu@intel.com>

PR fortran/41162
* gfortran.dg/pr41162.f: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151130 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agogcc/testsuite/
rsandifo [Wed, 26 Aug 2009 20:49:34 +0000 (20:49 +0000)]
gcc/testsuite/
2009-08-18  Adam Nemet  <anemet@caviumnetworks.com>
    Richard Sandiford  <rdsandiford@googlemail.com>

* gcc.target/mips/mips.exp: Replace isa(_rev)=...!... mechanism
with "forbid_cpu".
* gcc.target/mips/branch-1.c: Update accordingly.
* gcc.target/mips/extend-1.c: Likewise.
* gcc.target/mips/dmult-1.c: Likewise.  Remove redundant isa=64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151129 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agogcc/
rsandifo [Wed, 26 Aug 2009 20:39:27 +0000 (20:39 +0000)]
gcc/
* config/mips/mips-protos.h (mips_output_sync): Declare.
(mips_sync_loop_insns): Likewise.
(mips_output_sync_loop): Replace first two parameters with an rtx.
* config/mips/mips.c (mips_multi_member): New structure.
(mips_multi_members): New variable.
(mips_multi_start): New function.
(mips_multi_add): Likewise.
(mips_multi_add_insn): Likewise.
(mips_multi_add_label): Likewise.
(mips_multi_last_index): Likewise.
(mips_multi_copy_insn): Likewise.
(mips_multi_set_operand): Likewise.
(mips_multi_write): Likewise.
(mips_print_operand_punctuation): Remove '%|' and '%-'.
(mips_init_print_operand_punct): Update accordingly.
(mips_start_ll_sc_sync_block): New function.
(mips_end_ll_sc_sync_block): Likewise.
(mips_output_sync): Likewise.
(mips_sync_insn1_template): Likewise.
(mips_sync_insn2_template): Likewise.
(mips_get_sync_operand): Likewise.
(mips_process_sync_loop): Likewise.
(mips_output_sync_loop): Use mips_process_sync_loop.
(mips_sync_loop_insns): New function.
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Delete.
(MIPS_COMPARE_AND_SWAP_12): Likewise.
(MIPS_COMPARE_AND_SWAP_12_ZERO_OP): Likewise.
(MIPS_COMPARE_AND_SWAP_12_NONZERO_OP): Likewise.
(MIPS_SYNC_OP, MIPS_SYNC_OP_12): Likewise.
(MIPS_SYNC_OP_12_AND, MIPS_SYNC_OP_12_XOR): Likewise.
(MIPS_SYNC_OLD_OP_12): Likewise.
(MIPS_SYNC_OLD_OP_12_AND, MIPS_SYNC_OLD_OP_12_XOR): Likewise.
(MIPS_SYNC_NEW_OP_12): Likewise.
(MIPS_SYNC_NEW_OP_12_AND, MIPS_SYNC_NEW_OP_12_XOR): Likewise.
(MIPS_SYNC_OLD_OP, MIPS_SYNC_NEW_OP): Likewise.
(MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND): Likewise.
(MIPS_SYNC_EXCHANGE, MIPS_SYNC_EXCHANGE_12): Likewise.
(MIPS_SYNC_EXCHANGE_12_ZERO_OP): Likewise.
(MIPS_SYNC_EXCHANGE_12_NONZER_OP): Likewise.
* config/mips/mips.md (sync_mem): New attribute.
(sync_oldval, sync_newval, sync_inclusive_mask): Likewise.
(sync_exclusive_mask, sync_required_oldval): Likewise.
(sync_insn1_op2, sync_insn1, sync_insn2): Likewise.
(sync_release_barrier): Likewise.
(length): Handle sync loops.
(sync): Use mips_output_sync.
* config/mips/sync.md (*memory_barrier): Use mips_output_sync.
(sync_compare_and_swap<mode>): Set the new sync_* attributes
and use mips_output_sync_loop.
(compare_and_swap_12, sync_add<mode>, sync_<optab>_12): Likewise.
(sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12): Likewise.
(sync_old_nand_12, sync_new_nand_12, sync_sub<mode>): Likewise.
(sync_old_add<mode>, sync_old_sub<mode>): Likewise.
(sync_new_add<mode>, sync_new_sub<mode>): Likewise.
(sync_<optab><mode>, sync_old_<optab><mode>): Likewise.
(sync_new_<optab><mode>, sync_nand<mode>): Likewise.
(sync_old_nand<mode>, sync_new_nand<mode>): Likewise.
(sync_lock_test_and_set<mode>, test_and_set_12): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151128 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-26 Jonathan Wakely <jwakely.gcc@gmail.com>
redi [Wed, 26 Aug 2009 19:03:24 +0000 (19:03 +0000)]
2009-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/41005
* configure.ac: Bump libtool_VERSION to 6:14:0.
* configure: Regenerate.
* src/Makefile.am: Compile fstream-inst.cc as C++0x.
* src/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add new symbols and disambiguate old ones,
move <future> symbols to 3.4.14 version.
* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.14 version.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151126 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoChangeLog:
davek [Wed, 26 Aug 2009 14:52:45 +0000 (14:52 +0000)]
ChangeLog:

* ltmain.sh (removedotparts): Don't use comma as 's' separator.
(collapseslashes): Likewise.

libjava/classpath/ChangeLog:

* ltmain.sh (removedotparts): Don't use comma as 's' separator.
(collapseslashes): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151124 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-26 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 26 Aug 2009 13:23:04 +0000 (13:23 +0000)]
2009-08-26  Richard Guenther  <rguenther@suse.de>

PR middle-end/41163
* gimplify.c (gimplify_addr_expr): Canonicalize ADDR_EXPRs if
the types to not match.
* tree-cfg.c (verify_gimple_assign_single): Adjust ADDR_EXPR
verification.
* tree-ssa.c (useless_type_conversion_p): Conversions to
pointers to unprototyped functions are useless.

* gcc.c-torture/compile/pr41163.c: New testcase.
* gcc.dg/pr35899.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151122 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoRevert accidental commit of tree-cfg.c in r151099.
matz [Wed, 26 Aug 2009 10:47:12 +0000 (10:47 +0000)]
Revert accidental commit of tree-cfg.c in r151099.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151119 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-26 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 26 Aug 2009 09:02:01 +0000 (09:02 +0000)]
2009-08-26  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (create_variable_info_for): Remove
strange whole-program condition, prepare to be called for non-globals.
(intra_create_variable_infos): For restrict qualified DECL_BY_REFERENCE
params build a representative with known type and track its fields.

* gcc.dg/tree-ssa/restrict-4.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151117 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/alpha/sync.md: Update comment about unpredictable LL/SC lock
uros [Wed, 26 Aug 2009 06:19:37 +0000 (06:19 +0000)]
* config/alpha/sync.md: Update comment about unpredictable LL/SC lock
clearing by a taken branch.
(sync_<fetchop_name><mode>): Split when epilogue_completed is set,
effectively after bbro pass.
(sync_nand<mode>): Ditto.
(sync_old_<fetchop_name><mode>): Ditto.
(sync_old_nand<mode>): Ditto.
(sync_new_<fetchop_name><mode>): Dito.
(sync_new_nand<mode>): Ditto.
(sync_compare_and_swap<mode>_1): Ditto.
(*sync_compare_and_swap<mode>): Ditto.
(sync_lock_test_and_set<mode>_1): Ditto.
("sync_lock_test_and_set<mode>): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151115 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * call.c (build_builtin_candidate): Don't set LOOKUP_ONLYCONVERTING
jason [Wed, 26 Aug 2009 04:35:26 +0000 (04:35 +0000)]
* call.c (build_builtin_candidate): Don't set LOOKUP_ONLYCONVERTING
if we're contextually converting to bool.
(build_conditional_expr): Likewise.
* typeck.c (condition_conversion): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151114 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * call.c (build_conditional_expr): Fix logic errors.
jason [Wed, 26 Aug 2009 04:35:17 +0000 (04:35 +0000)]
* call.c (build_conditional_expr): Fix logic errors.
(build_new_op): Remove dead COND_EXPR handling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151113 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-22 Bud Davis <bdavis9659@sbcglobal.net>
bdavis [Wed, 26 Aug 2009 02:18:14 +0000 (02:18 +0000)]
2009-08-22      Bud Davis <bdavis9659@sbcglobal.net>

         PR fortran/28093
         * io.c: reverted previous patch

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151112 138bc75d-0d04-0410-961f-82ee72b054a4

15 years agoDaily bump.
gccadmin [Wed, 26 Aug 2009 00:16:32 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151111 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * hwint.h (HOST_LONG_FORMAT): New macro
rupp [Tue, 25 Aug 2009 23:19:16 +0000 (23:19 +0000)]
* hwint.h (HOST_LONG_FORMAT): New macro
* bitmap.c, c-decl.c, mips-tfile.c, print-rtl.c, print-tree.c:
Use HOST_PTR_PRINTF.
* system.h (HOST_PTR_PRINTF): Resurrect old macro
* doc/hostconfig.texi (HOST_LONG_FORMAT): Document.
(HOST_PTR_PRINTF): Document.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151108 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * gcc.dg/torture/builtin-math-7.c: Add -mieee for sh*-*-* targets.
kkojima [Tue, 25 Aug 2009 22:59:23 +0000 (22:59 +0000)]
* gcc.dg/torture/builtin-math-7.c: Add -mieee for sh*-*-* targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151107 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago2009-08-25 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Tue, 25 Aug 2009 22:29:08 +0000 (22:29 +0000)]
2009-08-25  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/basic_string.h (basic_string): Add cbegin(),
cend(), crbegin(), crend() in C++0x mode.
* config/abi/pre/gnu.ver: Add exports.

* testsuite/util/testsuite_containers.h: New.
* testsuite/util/testsuite_container_traits.h: New.
* testsuite/21_strings/basic_string/requirements/citerators.cc: New.
* testsuite/21_strings/basic_string/requirements/typedefs.cc: New.
* testsuite/ext/vstring/requirements/citerators.cc: Edit.
* testsuite/ext/vstring/requirements/typedefs.cc: New.
* testsuite/23_containers/unordered_map/requirements/
cliterators.cc: Edit.
* testsuite/23_containers/unordered_map/requirements/
citerators.cc: Edit.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation/1.cc: New.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation/2.cc: New.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation/3.cc: New.
* testsuite/23_containers/unordered_map/requirements/typedefs.cc: Edit.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation.cc: Move to nested directory.
* testsuite/23_containers/queue/requirements/typedefs.cc: New.
* testsuite/23_containers/priority_queue/requirements/typedefs.cc: New.
* testsuite/23_containers/multimap/requirements/citerators.cc: Edit.
* testsuite/23_containers/multimap/requirements/typedefs.cc: New.
* testsuite/23_containers/set/requirements/citerators.cc: Edit.
* testsuite/23_containers/set/requirements/typedefs.cc: New.
* testsuite/23_containers/unordered_multimap/requirements/
cliterators.cc: Edit.
* testsuite/23_containers/unordered_multimap/requirements/
citerators.cc: Edit.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation/1.cc: New.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation/2.cc: Edit.: New.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation/3.cc: New.
* testsuite/23_containers/unordered_multimap/requirements/
typedefs.cc: Edit.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation.cc: Move to nested.
* testsuite/23_containers/forward_list/requirements/citerators.cc: New.
* testsuite/23_containers/forward_list/requirements/1.cc: Remove.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: New.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: New.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: New.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: New.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor.cc: New.
* testsuite/23_containers/forward_list/requirements/typedefs.cc: New.
* testsuite/23_containers/unordered_set/requirements/
cliterators.cc: Edit.
* testsuite/23_containers/unordered_set/requirements/
citerators.cc: Edit.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation/1.cc: New.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation/2.cc: New.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation/3.cc: New.
* testsuite/23_containers/unordered_set/requirements/typedefs.cc: Edit.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation.cc: Move to nested.
* testsuite/23_containers/vector/requirements/citerators.cc: Edit.
* testsuite/23_containers/vector/requirements/dr438/bool/
constructor.cc: Move.
* testsuite/23_containers/vector/requirements/typedefs.cc: New.
* testsuite/23_containers/vector/bool/requirements/citerators.cc: Edit.
* testsuite/23_containers/vector/bool/requirements/dr438/
constructor.cc: New.
* testsuite/23_containers/deque/requirements/citerators.cc: Edit.
* testsuite/23_containers/deque/requirements/typedefs.cc
* testsuite/23_containers/stack/requirements/typedefs.cc
* testsuite/23_containers/multiset/requirements/citerators.cc: Edit.
* testsuite/23_containers/multiset/requirements/typedefs.cc: New.
* testsuite/23_containers/list/requirements/citerators.cc: Edit.
* testsuite/23_containers/list/requirements/typedefs.cc: New.
* testsuite/23_containers/unordered_multiset/requirements/
cliterators.cc: Edit.
* testsuite/23_containers/unordered_multiset/requirements/
citerators.cc: Edit.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation.cc: Move.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation/1.cc: New.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation/2.cc: New.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation/3.cc: New.
* testsuite/23_containers/unordered_multiset/requirements/typedefs.cc
* testsuite/23_containers/map/requirements/citerators.cc: Edit.
* testsuite/23_containers/map/requirements/typedefs.cc: New.
* testsuite/23_containers/array/requirements/citerators.cc: Edit.
* testsuite/23_containers/array/requirements/explicit_instantiation.cc:
Move.
* testsuite/23_containers/array/requirements/
explicit_instantiation/1.cc: New.
* testsuite/23_containers/array/requirements/
explicit_instantiation/2.cc: New.
* testsuite/23_containers/array/requirements/typedefs.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151106 138bc75d-0d04-0410-961f-82ee72b054a4

15 years ago * config/i386/bmmintrin.h: Replace by #error.
hubicka [Tue, 25 Aug 2009 21:44:20 +0000 (21:44 +0000)]
* config/i386/bmmintrin.h: Replace by #error.

Revert:
Michael Meissner  <michael.meissner@amd.com>
Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
Tony Linthicum  <tony.linthicum@amd.com>

* config/i386/i386.h (TARGET_SSE5): New macro for SSE5.
(TARGET_ROUND): New macro for the round/ptest instructions which
are shared between SSE4.1 and SSE5.
(OPTION_MASK_ISA_ROUND): Ditto.
(OPTION_ISA_ROUND): Ditto.
(TARGET_FUSED_MADD): New macro for -mfused-madd swtich.
(TARGET_CPU_CPP_BUILTINS): Add SSE5 support.

* config/i386/i386.opt (-msse5): New switch for SSE5 support.
(-mfused-madd): New switch to give users control over whether the
compiler optimizes to use the multiply/add SSE5 instructions.

* config/i386/i386.c (enum pta_flags): Add PTA_SSE5.
(ix86_handle_option): Turn off 3dnow if -msse5.
(override_options): Add SSE5 support.
(print_operand): %Y prints comparison codes for SSE5 com/pcom
instructions.
(ix86_expand_sse_movcc): Add SSE5 support.
(ix86_expand_sse5_unpack): New function to use pperm to unpack a
vector type to the next largest size.
(ix86_expand_sse5_pack): New function to use pperm to pack a
vector type to the next smallest size.
(IX86_BUILTIN_FMADDSS): New for SSE5 intrinsic.
(IX86_BUILTIN_FMADDSD): Ditto.
(IX86_BUILTIN_FMADDPS): Ditto.
(IX86_BUILTIN_FMADDPD): Ditto.
(IX86_BUILTIN_FMSUBSS): Ditto.
(IX86_BUILTIN_FMSUBSD): Ditto.
(IX86_BUILTIN_FMSUBPS): Ditto.
(IX86_BUILTIN_FMSUBPD): Ditto.
(IX86_BUILTIN_FNMADDSS): Ditto.
(IX86_BUILTIN_FNMADDSD): Ditto.
(IX86_BUILTIN_FNMADDPS): Ditto.
(IX86_BUILTIN_FNMADDPD): Ditto.
(IX86_BUILTIN_FNMSUBSS): Ditto.
(IX86_BUILTIN_FNMSUBSD): Ditto.
(IX86_BUILTIN_FNMSUBPS): Ditto.
(IX86_BUILTIN_FNMSUBPD): Ditto.
(IX86_BUILTIN_PCMOV_V2DI): Ditto.
(IX86_BUILTIN_PCMOV_V4SI): Ditto.
(IX86_BUILTIN_PCMOV_V8HI): Ditto.
(IX86_BUILTIN_PCMOV_V16QI): Ditto.
(IX86_BUILTIN_PCMOV_V4SF): Ditto.
(IX86_BUILTIN_PCMOV_V2DF): Ditto.
(IX86_BUILTIN_PPERM): Ditto.
(IX86_BUILTIN_PERMPS): Ditto.
(IX86_BUILTIN_PERMPD): Ditto.
(IX86_BUILTIN_PMACSSWW): Ditto.
(IX86_BUILTIN_PMACSWW): Ditto.
(IX86_BUILTIN_PMACSSWD): Ditto.
(IX86_BUILTIN_PMACSWD): Ditto.
(IX86_BUILTIN_PMACSSDD): Ditto.
(IX86_BUILTIN_PMACSDD): Ditto.
(IX86_BUILTIN_PMACSSDQL): Ditto.
(IX86_BUILTIN_PMACSSDQH): Ditto.
(IX86_BUILTIN_PMACSDQL): Ditto.
(IX86_BUILTIN_PMACSDQH): Ditto.
(IX86_BUILTIN_PMADCSSWD): Ditto.
(IX86_BUILTIN_PMADCSWD): Ditto.
(IX86_BUILTIN_PHADDBW): Ditto.
(IX86_BUILTIN_PHADDBD): Ditto.
(IX86_BUILTIN_PHADDBQ): Ditto.
(IX86_BUILTIN_PHADDWD): Ditto.
(IX86_BUILTIN_PHADDWQ): Ditto.
(IX86_BUILTIN_PHADDDQ): Ditto.
(IX86_BUILTIN_PHADDUBW): Ditto.
(IX86_BUILTIN_PHADDUBD): Ditto.
(IX86_BUILTIN_PHADDUBQ): Ditto.
(IX86_BUILTIN_PHADDUWD): Ditto.
(IX86_BUILTIN_PHADDUWQ): Ditto.
(IX86_BUILTIN_PHADDUDQ): Ditto.
(IX86_BUILTIN_PHSUBBW): Ditto.
(IX86_BUILTIN_PHSUBWD): Ditto.
(IX86_BUILTIN_PHSUBDQ): Ditto.
(IX86_BUILTIN_PROTB): Ditto.
(IX86_BUILTIN_PROTW): Ditto.
(IX86_BUILTIN_PROTD): Ditto.
(IX86_BUILTIN_PROTQ): Ditto.
(IX86_BUILTIN_PROTB_IMM): Ditto.
(IX86_BUILTIN_PROTW_IMM): Ditto.
(IX86_BUILTIN_PROTD_IMM): Ditto.
(IX86_BUILTIN_PROTQ_IMM): Ditto.
(IX86_BUILTIN_PSHLB): Ditto.
(IX86_BUILTIN_PSHLW): Ditto.
(IX86_BUILTIN_PSHLD): Ditto.
(IX86_BUILTIN_PSHLQ): Ditto.
(IX86_BUILTIN_PSHAB): Ditto.
(IX86_BUILTIN_PSHAW): Ditto.
(IX86_BUILTIN_PSHAD): Ditto.
(IX86_BUILTIN_PSHAQ): Ditto.
(IX86_BUILTIN_FRCZSS): Ditto.
(IX86_BUILTIN_FRCZSD): Ditto.
(IX86_BUILTIN_FRCZPS): Ditto.
(IX86_BUILTIN_FRCZPD): Ditto.
(IX86_BUILTIN_CVTPH2PS): Ditto.
(IX86_BUILTIN_CVTPS2PH): Ditto.
(IX86_BUILTIN_COMEQSS): Ditto.
(IX86_BUILTIN_COMNESS): Ditto.
(IX86_BUILTIN_COMLTSS): Ditto.
(IX86_BUILTIN_COMLESS): Ditto.
(IX86_BUILTIN_COMGTSS): Ditto.
(IX86_BUILTIN_COMGESS): Ditto.
(IX86_BUILTIN_COMUEQSS): Ditto.
(IX86_BUILTIN_COMUNESS): Ditto.
(IX86_BUILTIN_COMULTSS): Ditto.
(IX86_BUILTIN_COMULESS): Ditto.
(IX86_BUILTIN_COMUGTSS): Ditto.
(IX86_BUILTIN_COMUGESS): Ditto.
(IX86_BUILTIN_COMORDSS): Ditto.
(IX86_BUILTIN_COMUNORDSS): Ditto.
(IX86_BUILTIN_COMFALSESS): Ditto.
(IX86_BUILTIN_COMTRUESS): Ditto.
(IX86_BUILTIN_COMEQSD): Ditto.
(IX86_BUILTIN_COMNESD): Ditto.
(IX86_BUILTIN_COMLTSD): Ditto.
(IX86_BUILTIN_COMLESD): Ditto.
(IX86_BUILTIN_COMGTSD): Ditto.
(IX86_BUILTIN_COMGESD): Ditto.
(IX86_BUILTIN_COMUEQSD): Ditto.
(IX86_BUILTIN_COMUNESD): Ditto.
(IX86_BUILTIN_COMULTSD): Ditto.
(IX86_BUILTIN_COMULESD): Ditto.
(IX86_BUILTIN_COMUGTSD): Ditto.
(IX86_BUILTIN_COMUGESD): Ditto.
(IX86_BUILTIN_COMORDSD): Ditto.
(IX86_BUILTIN_COMUNORDSD): Ditto.
(IX86_BUILTIN_COMFALSESD): Ditto.
(IX86_BUILTIN_COMTRUESD): Ditto.
(IX86_BUILTIN_COMEQPS): Ditto.
(IX86_BUILTIN_COMNEPS): Ditto.
(IX86_BUILTIN_COMLTPS): Ditto.
(IX86_BUILTIN_COMLEPS): Ditto.
(IX86_BUILTIN_COMGTPS): Ditto.
(IX86_BUILTIN_COMGEPS): Ditto.
(IX86_BUILTIN_COMUEQPS): Ditto.
(IX86_BUILTIN_COMUNEPS): Ditto.
(IX86_BUILTIN_COMULTPS): Ditto.
(IX86_BUILTIN_COMULEPS): Ditto.
(IX86_BUILTIN_COMUGTPS): Ditto.
(IX86_BUILTIN_COMUGEPS): Ditto.
(IX86_BUILTIN_COMORDPS): Ditto.
(IX86_BUILTIN_COMUNORDPS): Ditto.
(IX86_BUILTIN_COMFALSEPS): Ditto.
(IX86_BUILTIN_COMTRUEPS): Ditto.
(IX86_BUILTIN_COMEQPD): Ditto.
(IX86_BUILTIN_COMNEPD): Ditto.
(IX86_BUILTIN_COMLTPD): Ditto.
(IX86_BUILTIN_COMLEPD): Ditto.
(IX86_BUILTIN_COMGTPD): Ditto.
(IX86_BUILTIN_COMGEPD): Ditto.
(IX86_BUILTIN_COMUEQPD): Ditto.
(IX86_BUILTIN_COMUNEPD): Ditto.
(IX86_BUILTIN_COMULTPD): Ditto.
(IX86_BUILTIN_COMULEPD): Ditto.
(IX86_BUILTIN_COMUGTPD): Ditto.
(IX86_BUILTIN_COMUGEPD): Ditto.
(IX86_BUILTIN_COMORDPD): Ditto.
(IX86_BUILTIN_COMUNORDPD): Ditto.
(IX86_BUILTIN_COMFALSEPD): Ditto.
(IX86_BUILTIN_COMTRUEPD): Ditto.
(IX86_BUILTIN_PCOMEQUB): Ditto.
(IX86_BUILTIN_PCOMNEUB): Ditto.
(IX86_BUILTIN_PCOMLTUB): Ditto.
(IX86_BUILTIN_PCOMLEUB): Ditto.
(IX86_BUILTIN_PCOMGTUB): Ditto.
(IX86_BUILTIN_PCOMGEUB): Ditto.
(IX86_BUILTIN_PCOMFALSEUB): Ditto.
(IX86_BUILTIN_PCOMTRUEUB): Ditto.
(IX86_BUILTIN_PCOMEQUW): Ditto.
(IX86_BUILTIN_PCOMNEUW): Ditto.
(IX86_BUILTIN_PCOMLTUW): Ditto.
(IX86_BUILTIN_PCOMLEUW): Ditto.
(IX86_BUILTIN_PCOMGTUW): Ditto.
(IX86_BUILTIN_PCOMGEUW): Ditto.
(IX86_BUILTIN_PCOMFALSEUW): Ditto.
(IX86_BUILTIN_PCOMTRUEUW): Ditto.
(IX86_BUILTIN_PCOMEQUD): Ditto.
(IX86_BUILTIN_PCOMNEUD): Ditto.
(IX86_BUILTIN_PCOMLTUD): Ditto.
(IX86_BUILTIN_PCOMLEUD): Ditto.
(IX86_BUILTIN_PCOMGTUD): Ditto.
(IX86_BUILTIN_PCOMGEUD): Ditto.
(IX86_BUILTIN_PCOMFALSEUD): Ditto.
(IX86_BUILTIN_PCOMTRUEUD): Ditto.
(IX86_BUILTIN_PCOMEQUQ): Ditto.
(IX86_BUILTIN_PCOMNEUQ): Ditto.
(IX86_BUILTIN_PCOMLTUQ): Ditto.
(IX86_BUILTIN_PCOMLEUQ): Ditto.
(IX86_BUILTIN_PCOMGTUQ): Ditto.
(IX86_BUILTIN_PCOMGEUQ): Ditto.
(IX86_BUILTIN_PCOMFALSEUQ): Ditto.
(IX86_BUILTIN_PCOMTRUEUQ): Ditto.
(IX86_BUILTIN_PCOMEQB): Ditto.
(IX86_BUILTIN_PCOMNEB): Ditto.
(IX86_BUILTIN_PCOMLTB): Ditto.
(IX86_BUILTIN_PCOMLEB): Ditto.
(IX86_BUILTIN_PCOMGTB): Ditto.
(IX86_BUILTIN_PCOMGEB): Ditto.
(IX86_BUILTIN_PCOMFALSEB): Ditto.
(IX86_BUILTIN_PCOMTRUEB): Ditto.
(IX86_BUILTIN_PCOMEQW): Ditto.
(IX86_BUILTIN_PCOMNEW): Ditto.
(IX86_BUILTIN_PCOMLTW): Ditto.
(IX86_BUILTIN_PCOMLEW): Ditto.
(IX86_BUILTIN_PCOMGTW): Ditto.
(IX86_BUILTIN_PCOMGEW): Ditto.
(IX86_BUILTIN_PCOMFALSEW): Ditto.
(IX86_BUILTIN_PCOMTRUEW): Ditto.
(IX86_BUILTIN_PCOMEQD): Ditto.
(IX86_BUILTIN_PCOMNED): Ditto.
(IX86_BUILTIN_PCOMLTD): Ditto.
(IX86_BUILTIN_PCOMLED): Ditto.
(IX86_BUILTIN_PCOMGTD): Ditto.
(IX86_BUILTIN_PCOMGED): Ditto.
(IX86_BUILTIN_PCOMFALSED): Ditto.
(IX86_BUILTIN_PCOMTRUED): Ditto.
(IX86_BUILTIN_PCOMEQQ): Ditto.
(IX86_BUILTIN_PCOMNEQ): Ditto.
(IX86_BUILTIN_PCOMLTQ): Ditto.
(IX86_BUILTIN_PCOMLEQ): Ditto.
(IX86_BUILTIN_PCOMGTQ): Ditto.
(IX86_BUILTIN_PCOMGEQ): Ditto.
(IX86_BUILTIN_PCOMFALSEQ): Ditto.
(IX86_BUILTIN_PCOMTRUEQ): Ditto.
(enum multi_arg_type): New enum for describing the various SSE5
intrinsic argument types.
(bdesc_multi_arg): New table for SSE5 intrinsics.
(ix86_init_mmx_sse_builtins): Add SSE5 intrinsic support.
(ix86_expand_multi_arg_builtin): New function for creating SSE5
intrinsics.
(ix86_expand_builtin): Add SSE5 intrinsic support.
(ix86_sse5_valid_op_p): New function to validate SSE5 3 and 4
operand instructions.
(ix86_expand_sse5_multiple_memory): New function to split the
second memory reference from SSE5 instructions.
(type_has_variadic_args_p): Delete in favor of stdarg_p.
(ix86_return_pops_args): Use stdarg_p to determine if the function
has variable arguments.
(ix86_setup_incoming_varargs): Ditto.
(x86_this_parameter): Ditto.

* config/i386/i386-protos.h (ix86_expand_sse5_unpack): Add
declaration.
(ix86_expand_sse5_pack): Ditto.
(ix86_sse5_valid_op_p): Ditto.
(ix86_expand_sse5_multiple_memory): Ditto.

* config/i386/i386.md (UNSPEC_SSE5_INTRINSIC): Add new UNSPEC
constant for SSE5 support.
(UNSPEC_SSE5_UNSIGNED_CMP): Ditto.
(UNSPEC_SSE5_TRUEFALSE): Ditto.
(UNSPEC_SSE5_PERMUTE): Ditto.
(UNSPEC_SSE5_ASHIFT): Ditto.
(UNSPEC_SSE5_LSHIFT): Ditto.
(UNSPEC_FRCZ): Ditto.
(UNSPEC_CVTPH2PS): Ditto.
(UNSPEC_CVTPS2PH): Ditto.
(PCOM_FALSE): Add new constant for true/false SSE5 comparisons.
(PCOM_TRUE): Ditto.
(COM_FALSE_S): Ditto.
(COM_FALSE_P): Ditto.
(COM_TRUE_S): Ditto.
(COM_TRUE_P): Ditto.
(type attribute): Add ssemuladd, sseiadd1, ssecvt1, sse4arg types.
(unit attribute): Add support for ssemuladd, ssecvt1, sseiadd1 sse4arg
types.
(memory attribute): Ditto.
(sse4_1_round<mode>2): Use TARGET_ROUND instead of TARGET_SSE4_1.
Use SSE4_1_ROUND_* constants instead of hard coded numbers.
(rint<mode>2): Use TARGET_ROUND instead of TARGET_SSE4_1.
(floor<mode>2): Ditto.
(ceil<mode>2): Ditto.
(btrunc<mode>2): Ditto.
(nearbyintdf2): Ditto.
(nearbyintsf2): Ditto.
(sse_setccsf): Disable if SSE5.
(sse_setccdf): Ditto.
(sse5_setcc<mode>): New support for SSE5 conditional move.
(sse5_pcmov_<mode>): Ditto.

* config/i386/sse.md (SSEMODE1248): New mode iterator for SSE5.
(SSEMODEF4): Ditto.
(SSEMODEF2P): Ditto.
(ssemodesuffixf4): New mode attribute for SSE5.
(ssemodesuffixf2s): Ditto.
(ssemodesuffixf2c): Ditto.
(sserotatemax): Ditto.
(ssescalarmode): Ditto.
(sse_maskcmpv4sf3): Disable if SSE5.
(sse_maskcmpv2df3): Ditto.
(sse_vmmaskcmpv4sf3): Ditto.
(sse5_fmadd<mode>4): Add SSE5 floating point multiply/add
instructions.
(sse5_vmfmadd<mode>4): Ditto.
(sse5_fmsub<mode>4): Ditto.
(sse5_vmfmsub<mode>4): Ditto.
(sse5_fnmadd<mode>4): Ditto.
(sse5_vmfnmadd<mode>4): Ditto.
(sse5_fnmsub<mode>4): Ditto.
(sse5_vmfnmsub<mode>4): Ditto.
(sse5i_fmadd<mode>4): Ditto.
(sse5i_fmsub<mode>4): Ditto.
(sse5i_fnmadd<mode>4): Ditto.
(sse5i_fnmsub<mode>4): Ditto.
(sse5i_vmfmadd<mode>4): Ditto.
(sse5i_vmfmsub<mode>4): Ditto.
(sse5i_vmfnmadd<mode>4): Ditto.
(sse5i_vmfnmsub<mode>4): Ditto.
(mulv16qi3): Add SSE5 support.
(mulv4si3): Ditto.
(sse5_mulv4si3): New insn for 32-bit multiply support on SSE5.
(sse2_mulv4si3): Disable if SSE5.
(sse4_1_roundpd): Use TARGET_ROUND instead of TARGET_SSE4_1.
(sse4_1_roundps): Ditto.
(sse4_1_roundsd): Ditto.
(sse4_1_roundss): Ditto.
(sse_maskcmpv4sf3): Disable if SSE5 so the SSE5 instruction will
be generated.
(sse_maskcmpsf3): Ditto.
(sse_vmmaskcmpv4sf3): Ditto.
(sse2_maskcmpv2df3): Ditto.
(sse2_maskcmpdf3): Ditto.
(sse2_vmmaskcmpv2df3): Ditto.
(sse2_eq<mode>3): Ditto.
(sse2_gt<mode>3): Ditto.
(sse5_pcmov_<mode>): Add SSE5 support.
(vec_unpacku_hi_v16qi): Ditto.
(vec_unpacks_hi_v16qi): Ditto.
(vec_unpacku_lo_v16qi): Ditto.
(vec_unpacks_lo_v16qi): Ditto.
(vec_unpacku_hi_v8hi): Ditto.
(vec_unpacks_hi_v8hi): Ditto.
(vec_unpacku_lo_v8hi): Ditto.
(vec_unpacks_lo_v8hi): Ditto.
(vec_unpacku_hi_v4si): Ditto.
(vec_unpacks_hi_v4si): Ditto.
(vec_unpacku_lo_v4si): Ditto.
(vec_unpacks_lo_v4si): Ditto.
(sse5_pmacsww): New SSE5 intrinsic insn.
(sse5_pmacssww): Ditto.
(sse5_pmacsdd): Ditto.
(sse5_pmacssdd): Ditto.
(sse5_pmacssdql): Ditto.
(sse5_pmacssdqh): Ditto.
(sse5_pmacsdqh): Ditto.
(sse5_pmacsswd): Ditto.
(sse5_pmacswd): Ditto.
(sse5_pmadcsswd): Ditto.
(sse5_pmadcswd): Ditto.
(sse5_pcmov_<move>): Conditional move support on SSE5.
(sse5_phaddbw): New SSE5 intrinsic insn.
(sse5_phaddbd): Ditto.
(sse5_phaddbq): Ditto.
(sse5_phaddwd): Ditto.
(sse5_phaddwq): Ditto.
(sse5_phadddq): Ditto.
(sse5_phaddubw): Ditto.
(sse5_phaddubd): Ditto.
(sse5_phaddubq): Ditto.
(sse5_phadduwd): Ditto.
(sse5_phadduwq): Ditto.
(sse5_phaddudq): Ditto.
(sse5_phsubbw): Ditto.
(sse5_phsubwd): Ditto.
(sse5_phsubdq): Ditto.
(sse5_pperm): Ditto.
(sse5_pperm_sign_v16qi_v8hi): New insns for pack/unpack with SSE5.
(sse5_pperm_zero_v16qi_v8hi): Ditto.
(sse5_pperm_sign_v8hi_v4si): Ditto.
(sse5_pperm_zero_v8hi_v4si): Ditto.
(sse5_pperm_sign_v4si_v2di): Ditto.
(sse5_pperm_sign_v4si_v2di): Ditto.
(sse5_pperm_pack_v2di_v4si): Ditto.
(sse5_pperm_pack_v4si_v8hi): Ditto.
(sse5_pperm_pack_v8hi_v16qi): Ditto.
(sse5_perm<mode>): New SSE5 intrinsic insn.
(rotl<mode>3): Ditto.
(sse5_rotl<mode>3): Ditto.
(sse5_ashl<mode>3): Ditto.
(sse5_lshl<mode>3): Ditto.
(sse5_frcz<mode>2): Ditto.
(sse5s_frcz<mode>2): Ditto.
(sse5_cvtph2ps): Ditto.
(sse5_cvtps2ph): Ditto.
(sse5_vmmaskcmp<mode>3): Ditto.
(sse5_com_tf<mode>3): Ditto.
(sse5_maskcmp<mode>3): Ditto.
(sse5_maskcmp_uns<mode>3): Ditto.
(sse5_maskcmp_uns2<mode>3): Ditto.
(sse5_pcom_tf<mode>3): Ditto.

* config/i386/predicates.md (sse5_comparison_float_operator): New predicate to match the
comparison operators supported by the SSE5 com instruction.
(ix86_comparison_int_operator): New predicate to match just the
signed int comparisons.
(ix86_comparison_uns_operator): New predicate to match just the
unsigned int comparisons.

* doc/invoke.texi (-msse5): Add documentation.
(-mfused-madd): Ditto.

* doc/extend.texi (x86 intrinsics): Document new SSE5 intrinsics.

* config.gcc (i[34567]86-*-*): Include bmmintrin.h and
mmintrin-common.h.
(x86_64-*-*): Ditto.

* config/i386/cpuid.h (bit_SSE5): Define SSE5 bit.

* config/i386/bmmintrin.h: New file, provide common x86 compiler
intrinisics for SSE5.

* config/i386/smmintrin.h: Move instructions shared with SSE5 to
mmintrin-common.h.

* config/i386/mmintrin-common.h: New file, to contain common
instructions between SSE4.1 and SSE5.

* config/i386/netware.c (gen_stdcall_or_fastcall_decoration): Use
FOREACH_FUNCTION_ARGS to iterate over the argument list.
(gen_regparm_prefix): Ditto.

* config/i386/winnt.c (gen_stdcall_or_fastcall_suffix): Use
FOREACH_FUNCTION_ARGS to iterate over the argument list.  Use
prototype_p to determine if a function is prototyped.

* gcc.target/i386/sse5-shift1-vector.c
* gcc.target/i386/isa-12.c
* gcc.target/i386/isa-12.cgcc.target/i386/isa-12.c
* gcc.target/i386/sse5-pcmov2.c
* gcc.target/i386/isa-3.c
* gcc.target/i386/sse5-shift2-vector.c
* gcc.target/i386/isa-7.c
* gcc.target/i386/funcspec-2.c
* gcc.target/i386/sse5-haddX.c
* gcc.target/i386/sse5-hadduX.c
* gcc.target/i386/isa-9.c
* gcc.target/i386/sse5-maccXX.c
* gcc.target/i386/sse5-shift3-vector.c
* gcc.target/i386/sse5-msubXX.c
* gcc.target/i386/sse5-permpX.c
* gcc.target/i386/sse5-check.h
* gcc.target/i386/sse-12.c
* gcc.target/i386/sse-11.c
* gcc.target/i386/sse-10.c
* gcc.target/i386/sse-13.c
* gcc.target/i386/sse-14.c
* gcc.target/i386/sse-22.c
* gcc.target/i386/sse-2.c
* gcc.target/i386/sse-13.c
* gcc.target/i386/avx-2.c
* gcc.target/i386/sse5-rotate1-vector.c
* gcc.target/i386/isa-4.c
* gcc.target/i386/sse5-hsubX.c
* gcc.target/i386/sse5-pcmov.c
* gcc.target/i386/sse5-fma.c
* gcc.target/i386/isa-8.c
* gcc.target/i386/sse5-rotate2-vector.c
* gcc.target/i386/sse5-nmaccXX.c
* gcc.target/i386/sse5-imul64-vector.c
* gcc.target/i386/sse5-nmsubXX.c
* gcc.target/i386/sse5-rotate3-vector.c
* gcc.target/i386/sse5-fma-vector.c
* gcc.target/i386/sse5-imul32widen-vector.c: Remove SSE5 related testcases
* gcc.target/i386/sse5-ima-vector.c

* gcc.target/i386/funcspec-8.c: Replace SSE5 by SSE4.
* gcc.target/i386/funcspec-5.c: Remove SSE5.
* gcc.target/i386/funcspec-6.c: Remove fused-add test.
* gcc.target/i386/avx-1.c: Remove SSE5.
* gcc.target/i386/avx-2.c: Remove SSE5.
* g++.dg/other/i386-2.C: Replace SSE5 by SSE4A.
* g++.dg/other/i386-3.C: Replace SSE5 by SSE4A.
* g++.dg/other/i386-6.C: Replace SSE5 by SSE4A.
* g++.dg/other/i386-5.C: Replace SSE5 by SSE4A.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151099 138bc75d-0d04-0410-961f-82ee72b054a4