Janus Weil [Sun, 21 Jun 2009 19:05:35 +0000 (21:05 +0200)]
re PR fortran/39850 (Too strict checking for procedures as actual argument)
2009-06-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/39850
* interface.c (gfc_compare_interfaces): Take care of implicit typing
when checking the function attribute. Plus another bugfix.
(compare_parameter): Set attr.function and attr.subroutine according
to the usage of a procedure as actual argument.
2009-06-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/39850
* gfortran.dg/interface_19.f90: Add 'cleanup-modules'.
* gfortran.dg/interface_20.f90: Ditto.
* gfortran.dg/interface_21.f90: Ditto.
* gfortran.dg/interface_22.f90: Ditto.
* gfortran.dg/interface_30.f90: New.
* gfortran.dg/proc_ptr_11.f90: Fix invalid test case.
From-SVN: r148767
Uros Bizjak [Sun, 21 Jun 2009 17:38:47 +0000 (19:38 +0200)]
fre-vce-1.c: Cleanup "fre" tree dump.
* gcc.dg/tree-ssa/fre-vce-1.c: Cleanup "fre" tree dump.
* gcc.dg/vect/vect-shift-2.c: Cleanup "vect" tree dump.
* gcc.dg/vect/vect.exp (VECT_SLP_CFLAGS): Initialize with original
DEFAULT_VECTFLAGS.
From-SVN: r148766
Jonathan Wakely [Sun, 21 Jun 2009 14:02:09 +0000 (14:02 +0000)]
future: New.
2009-06-21 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/future: New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* src/future.cc: New.
* src/Makefile.am: Add.
* src/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add export.
* testsuite/30_threads/headers/future/std_c++0x_neg.cc: New.
* testsuite/30_threads/headers/future/types_std_c++0x.cc: New.
* testsuite/30_threads/packaged_task/cons/1.cc: New.
* testsuite/30_threads/packaged_task/cons/2.cc: New.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: New.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: New.
* testsuite/30_threads/packaged_task/cons/move_assign.cc: New.
* testsuite/30_threads/packaged_task/cons/move.cc: New.
* testsuite/30_threads/packaged_task/members/boolconv.cc: New.
* testsuite/30_threads/packaged_task/members/get_future.cc: New.
* testsuite/30_threads/packaged_task/members/get_future2.cc: New.
* testsuite/30_threads/packaged_task/members/invoke.cc: New.
* testsuite/30_threads/packaged_task/members/invoke2.cc: New.
* testsuite/30_threads/packaged_task/members/invoke3.cc: New.
* testsuite/30_threads/packaged_task/members/invoke4.cc: New.
* testsuite/30_threads/packaged_task/members/invoke5.cc: New.
* testsuite/30_threads/packaged_task/members/reset.cc: New.
* testsuite/30_threads/packaged_task/members/reset2.cc: New.
* testsuite/30_threads/packaged_task/members/swap.cc: New.
* testsuite/30_threads/packaged_task/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/promise/cons/1.cc: New.
* testsuite/30_threads/promise/cons/assign_neg.cc: New.
* testsuite/30_threads/promise/cons/copy_neg.cc: New.
* testsuite/30_threads/promise/cons/move_assign.cc: New.
* testsuite/30_threads/promise/cons/move.cc: New.
* testsuite/30_threads/promise/members/get_future.cc: New.
* testsuite/30_threads/promise/members/get_future2.cc: New.
* testsuite/30_threads/promise/members/set_exception.cc: New.
* testsuite/30_threads/promise/members/set_exception2.cc: New.
* testsuite/30_threads/promise/members/set_value.cc: New.
* testsuite/30_threads/promise/members/set_value2.cc: New.
* testsuite/30_threads/promise/members/set_value3.cc: New.
* testsuite/30_threads/promise/members/swap.cc: New.
* testsuite/30_threads/promise/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: New.
* testsuite/30_threads/shared_future/cons/copy.cc: New.
* testsuite/30_threads/shared_future/cons/default_neg.cc: New.
* testsuite/30_threads/shared_future/cons/move.cc: New.
* testsuite/30_threads/shared_future/members/get.cc: New.
* testsuite/30_threads/shared_future/members/get2.cc: New.
* testsuite/30_threads/shared_future/members/has_exception.cc: New.
* testsuite/30_threads/shared_future/members/has_value.cc: New.
* testsuite/30_threads/shared_future/members/is_ready.cc: New.
* testsuite/30_threads/shared_future/members/wait.cc: New.
* testsuite/30_threads/shared_future/members/wait_for.cc: New.
* testsuite/30_threads/shared_future/members/wait_until.cc: New.
* testsuite/30_threads/shared_future/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: New.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: New.
* testsuite/30_threads/unique_future/cons/default_neg.cc: New.
* testsuite/30_threads/unique_future/cons/move.cc: New.
* testsuite/30_threads/unique_future/members/get.cc: New.
* testsuite/30_threads/unique_future/members/get2.cc: New.
* testsuite/30_threads/unique_future/members/has_exception.cc: New.
* testsuite/30_threads/unique_future/members/has_value.cc: New.
* testsuite/30_threads/unique_future/members/is_ready.cc: New.
* testsuite/30_threads/unique_future/members/wait.cc: New.
* testsuite/30_threads/unique_future/members/wait_for.cc: New.
* testsuite/30_threads/unique_future/members/wait_until.cc: New.
* testsuite/30_threads/unique_future/requirements/
explicit_instantiation.cc: New.
* testsuite/performance/30_threads/future/polling.cc: New.
From-SVN: r148765
Arnaud Charlet [Sun, 21 Jun 2009 13:19:57 +0000 (15:19 +0200)]
[multiple changes]
2009-06-21 Thomas Quinot <quinot@adacore.com>
* exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
Factor out code to new subprogram...
(Exp_Util.Find_Init_Call): New shared routine to find the init proc call
for a default initialized variable.
(Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
entity that has an associated freeze node.
(Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
If there is an init call for the object, defer it to the object freeze
point.
(Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
name clash with new subprogram introduced in Exp_Util.
2009-06-21 Robert Dewar <dewar@adacore.com>
* einfo.ads: Minor reformatting
From-SVN: r148764
Arnaud Charlet [Sun, 21 Jun 2009 13:11:41 +0000 (15:11 +0200)]
[multiple changes]
2009-06-21 Ed Falis <falis@adacore.com>
* env.c (__gnat_environ): return NULL for vThreads - unimplemented
2009-06-21 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads: Update comments.
2009-06-21 Hristian Kirtchev <kirtchev@adacore.com>
* sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
where the controlling formal is of private class-wide type whose
completion is a synchronized type can be converted into direct calls.
2009-06-21 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Check_Files): When all sources of the project are to be
indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
of sources using -files=, so that the distinction can be made by the
tool of a call with no source (to display the usage) from a call with
a project file that contains no source.
2009-06-21 Jerome Lambourg <lambourg@adacore.com>
* exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
case of VM convention arrays.
From-SVN: r148763
Ira Rosen [Sun, 21 Jun 2009 11:36:03 +0000 (11:36 +0000)]
Fix 40359
Co-Authored-By: Revital Eres <eres@il.ibm.com>
From-SVN: r148762
Richard Guenther [Sun, 21 Jun 2009 10:22:08 +0000 (10:22 +0000)]
re PR middle-end/38729 (long time needed in tree canonical iv)
2009-06-21 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38729
* tree-ssa-loop-niter.c (find_loop_niter_by_eval): Restrict
to loops with a single exit if -fno-expensive-optimizations.
From-SVN: r148761
Jakub Jelinek [Sun, 21 Jun 2009 09:38:34 +0000 (11:38 +0200)]
var-tracking.c (struct shared_hash_def, [...]): New types.
* var-tracking.c (struct shared_hash_def, shared_hash): New types.
(dataflow_set): Change vars type from htab_t to shared_hash.
(shared_hash_pool, empty_shared_hash): New variables.
(vars_clear): Removed.
(shared_hash_shared, shared_hash_htab, shared_hash_copy,
shared_hash_find_slot_unshare, shared_hash_find_slot,
shared_hash_find_slot_noinsert, shared_hash_find): New
static inlines.
(shared_hash_unshare, shared_hash_destroy): New functions.
(unshare_variable): Unshare set->vars if shared, use
shared_hash_htab.
(vars_copy): Use htab_traverse_noresize instead of htab_traverse.
(get_init_value, find_src_set_src, dump_dataflow_set,
clobber_variable_part, emit_notes_for_differences): Use
shared_hash_htab.
(dataflow_set_init): Remove second argument, set vars to
empty_shared_hash instead of creating a new htab.
(dataflow_set_clear): Call shared_hash_destroy and set vars
to empty_shared_hash instead of calling vars_clear.
(dataflow_set_copy): Don't call vars_copy, instead just share
the src htab with dst.
(variable_union): Use shared_hash_*, use initially NO_INSERT
lookup if set->vars is shared. Don't keep slot cleared before
calling unshare_variable. Unshare set->vars if needed.
Even ->refcount == 1 vars must be unshared if set->vars is shared
and var needs to be modified.
(variable_canonicalize): New function.
(dataflow_set_union): If dst->vars is empty, just share src->vars
with dst->vars and traverse with variable_canonicalize to canonicalize
and unshare what is needed.
(dataflow_set_different): If old_set and new_set use the same shared
htab, they aren't different. If number of htab elements is different,
htabs are different. Use shared_hash_*.
(dataflow_set_destroy): Call shared_hash_destroy instead of
htab_delete.
(compute_bb_dataflow, emit_notes_in_bb, vt_emit_notes): Don't pass
second argument to dataflow_set_init.
(vt_initialize): Likewise. Initialize shared_hash_pool and
empty_shared_hash, move bb in/out initialization afterwards.
Use variable_htab_free instead of NULL as changed_variables del hook.
(variable_was_changed): Change type of second argument to pointer to
dataflow_set. When inserting var into changed_variables, bump
refcount. Unshare set->vars if set is shared htab and slot needs to
be cleared.
(set_variable_part): Use shared_hash_*, use initially NO_INSERT
lookup if set->vars is shared. Unshare set->vars if needed.
Even ->refcount == 1 vars must be unshared if set->vars is shared
and var needs to be modified. Adjust variable_was_changed caller.
(delete_variable_part): Use shared_hash_*. Even ->refcount == 1
vars must be unshared if set->vars is shared and var needs to be
modified. Adjust variable_was_changed caller.
(emit_note_insn_var_location): Don't pool_free var.
(emit_notes_for_differences_1): Initialize empty_var->refcount to 0
instead of 1.
(vt_finalize): Call htab_delete on empty_shared_hash->htab and
free_alloc_pool on shared_hash_pool.
From-SVN: r148760
Jakub Jelinek [Sun, 21 Jun 2009 09:37:31 +0000 (11:37 +0200)]
hashtab.c (htab_traverse): Don't call htab_expand for nearly empty hashtabs with sizes 7, 13 or 31.
* hashtab.c (htab_traverse): Don't call htab_expand for
nearly empty hashtabs with sizes 7, 13 or 31.
From-SVN: r148759
Ira Rosen [Sun, 21 Jun 2009 07:25:21 +0000 (07:25 +0000)]
re PR testsuite/40475 (gcc.dg/vect/vect-nest-cycle-[12].c)
PR testsuite/40475
* gcc.dg/vect/vect-nest-cycle-1.c: Fail to vectorize on targets
without misalignment support.
* gcc.dg/vect/vect-nest-cycle-2.c: Likewise.
From-SVN: r148758
Paolo Carlini [Sun, 21 Jun 2009 00:57:56 +0000 (00:57 +0000)]
2009-06-20 Paolo Carlini <paolo.carlini@oracle.com>
* Revert last Change.
From-SVN: r148756
GCC Administrator [Sun, 21 Jun 2009 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r148755
Paolo Carlini [Sat, 20 Jun 2009 22:27:04 +0000 (22:27 +0000)]
re PR libstdc++/40497 ([C++0x] troubles with std::next / std::prev declarations)
2009-06-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40497
* include/bits/stl_iterator_base_funcs.h (next, prev): Fix the
signature per the current C++1x draft (N2857).
* testsuite/24_iterators/operations/40497.cc: Add.
From-SVN: r148751
Tobias Burnus [Sat, 20 Jun 2009 18:07:10 +0000 (20:07 +0200)]
re PR fortran/40452 (-fbounds-check: False positive due to ignoring storage association)
2009-06-20 Tobias Burnus <burnus@net-b.de>
PR fortran/40452
* trans-decl.c (add_argument_checking): Disable bounds check
for allowed argument storage association.
2009-06-20 Tobias Burnus <burnus@net-b.de>
PR fortran/40452
* gfortran.dg/bounds_check_strlen_9.f90: New test.
From-SVN: r148750
Anthony Green [Sat, 20 Jun 2009 17:08:15 +0000 (17:08 +0000)]
Fixes for moxie sfp and memory loads
From-SVN: r148749
Richard Guenther [Sat, 20 Jun 2009 12:03:16 +0000 (12:03 +0000)]
tree-ssa-structalias.c (find_func_aliases): For memset use a constraint from NULL if we memset to zero.
2009-06-20 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (find_func_aliases): For memset use
a constraint from NULL if we memset to zero.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Add builtins
we explicitly handle that do not read from memory.
(call_may_clobber_ref_p_1): Properly handle builtins that may
set errno.
From-SVN: r148747
Robert Dewar [Sat, 20 Jun 2009 10:45:27 +0000 (10:45 +0000)]
* a-nudira.adb: Minor reformatting
From-SVN: r148746
Arnaud Charlet [Sat, 20 Jun 2009 10:32:58 +0000 (12:32 +0200)]
[multiple changes]
2009-06-20 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Build_Record_Init_Proc): When copying initial
expressions (possibly from a parent type) indicate that the scope of
the new itypes is the initialization procedure being built.
2009-06-20 Robert Dewar <dewar@adacore.com>
* a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
Needs_64, and now computed without anomolies for some dynamic types.
2009-06-20 Thomas Quinot <quinot@adacore.com>
* sem_prag.adb: Minor reformatting
* exp_disp.ads: Minor reformatting
From-SVN: r148745
Ed Schonberg [Sat, 20 Jun 2009 10:21:36 +0000 (10:21 +0000)]
sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a function call is a legal expression to initialize...
2009-06-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
function call is a legal expression to initialize a limited object.
* exp_ch3.adb: Rename various freeze operations that perform expansion
actions, to prevent confusion with subprograms in the freeze package.
From-SVN: r148744
Arnaud Charlet [Sat, 20 Jun 2009 10:18:00 +0000 (12:18 +0200)]
[multiple changes]
2009-06-20 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Walk_Library_Units): Check instantiations first.
* sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
private primitive if it is a function with a controlling result that is
a type extension with progenitors.
* exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
a primitive operation of a synchronized tagged type that has a
controlling result.
2009-06-20 Thomas Quinot <quinot@adacore.com>
* einfo.ads: Fix typo.
2009-06-20 Ed Falis <falis@adacore.com>
* s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
From-SVN: r148743
Richard Guenther [Sat, 20 Jun 2009 09:31:23 +0000 (09:31 +0000)]
re PR tree-optimization/40495 (libgomp.c++/task-4.C)
2009-06-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40495
* tree-ssa-structalias.c (get_constraint_exp_for_temp): Remove.
(new_scalar_tmp_constraint_exp): New function.
(process_constraint): Do not create temporary decls.
(process_all_all_constraints): Likewise.
(handle_const_call): Likewise.
(create_function_info_for): Do not set decl.
From-SVN: r148742
Ian Lance Taylor [Sat, 20 Jun 2009 01:23:50 +0000 (01:23 +0000)]
rs6000.c (rs6000_explicit_options): Make static.
* config/rs6000/rs6000.c (rs6000_explicit_options): Make static.
(rs6000_attribute_table): Make static; move before use.
From-SVN: r148738
GCC Administrator [Sat, 20 Jun 2009 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r148737
Paul Thomas [Fri, 19 Jun 2009 21:58:27 +0000 (21:58 +0000)]
re PR fortran/40440 (Automatic deallocation component of DT function return value)
2009-06-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40440
* trans-expr.c (gfc_conv_procedure_call): Do not deallocate
allocatable components if the argument is a pointer.
2009-06-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40440
* gfortran.dg/alloc_comp_result_2.f90: New test.
From-SVN: r148731
Eric Botcazou [Fri, 19 Jun 2009 21:33:21 +0000 (21:33 +0000)]
tree.c (substitute_in_expr): Tweak and reformat.
* tree.c (substitute_in_expr) <COMPONENT_REF>: Tweak and reformat.
<tcc_vl_exp>: Call process_call_operands on the new CALL_EXPR.
Propagate the TREE_READONLY flag without overwriting it.
(substitute_placeholder_in_expr) <tcc_vl_exp>: Likewise.
Propagate the TREE_READONLY flag onto the result.
(process_call_operands): Move around. Use correct constant value.
From-SVN: r148729
Ramana Radhakrishnan [Fri, 19 Jun 2009 21:22:44 +0000 (21:22 +0000)]
Fix PR 40482 2009-06-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Fix PR 40482
2009-06-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/40482
* config/arm/arm.c (thumb_shiftable_const): Truncate val to
32 bits.
* config/arm/arm.md: Likewise.
2009-06-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/40482
* gcc.target/arm/pr40482.c: New test.
From-SVN: r148728
Ian Lance Taylor [Fri, 19 Jun 2009 20:55:27 +0000 (20:55 +0000)]
tree-cfg.c (gimple_redirect_edge_and_branch): Change ERROR_MARK to GIMPLE_ERROR_MARK.
./: * tree-cfg.c (gimple_redirect_edge_and_branch): Change ERROR_MARK
to GIMPLE_ERROR_MARK.
* c-typeck.c (build_conditional_expr): Add op1_original_type and
op2_original_type parameters. Warn about using different enum
types.
* c-parser.c (c_parser_conditional_expression): Pass original
types to build_conditional_expr.
* c-tree.h (build_conditional_expr): Update declaration.
testsuite/:
* gcc.dg/Wcxx-compat-18.c: New testcase.
From-SVN: r148727
Eric Botcazou [Fri, 19 Jun 2009 18:18:54 +0000 (18:18 +0000)]
trans.c (emit_check): Do not wrap up the result in a SAVE_EXPR.
* gcc-interface/trans.c (emit_check): Do not wrap up the result
in a SAVE_EXPR.
(protect_multiple_eval): Always protect complex expressions.
From-SVN: r148723
Ian Lance Taylor [Fri, 19 Jun 2009 17:56:01 +0000 (17:56 +0000)]
i386.c (ix86_function_specific_save): Test that fields match values...
* config/i386/i386.c (ix86_function_specific_save): Test that
fields match values, rather than testing the values are in a
certain range.
From-SVN: r148721
Paolo Carlini [Fri, 19 Jun 2009 17:49:31 +0000 (17:49 +0000)]
random.h (_Adaptor): Simplify for _DInputType always a floating point type.
2009-06-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.h (_Adaptor): Simplify for _DInputType always
a floating point type.
(uniform_int_distribution<>::uniform_int_distribution(_IntType,
_IntType)): Fix second default argument.
(uniform_int_distribution<>::_M_call): Remove.
(uniform_int_distribution<>::operator()(_UniformRandomNumberGenerator&,
const param_type&)): Only declare.
* include/bits/random.tcc (uniform_int_distribution<>::_M_call(
_UniformRandomNumberGenerator&, result_type, result_type, true_type):
Remove.
uniform_int_distribution<>::operator()(_UniformRandomNumberGenerator&,
const param_type&): Define here.
(geometric_distribution<>::operator()(_UniformRandomNumberGenerator&,
const param_type&), discrete_distribution<>::operator()
(_UniformRandomNumberGenerator&, const param_type&),
piecewise_constant_distribution<>::operator()
(_UniformRandomNumberGenerator&, const param_type&),
piecewise_linear_distribution<>::operator()
(_UniformRandomNumberGenerator&, const param_type&)): Use double as
the second template argument of _Adaptor.
* testsuite/26_numerics/random/uniform_int_distribution/cons/
default.cc: Adjust.
From-SVN: r148720
Paolo Carlini [Fri, 19 Jun 2009 17:17:14 +0000 (17:17 +0000)]
random.tcc (discrete_distribution<>::param_type:: param_type(size_t, double, double, _Func), [...]): Tidy.
2009-06-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.tcc (discrete_distribution<>::param_type::
param_type(size_t, double, double, _Func),
discrete_distribution<>::operator()(_UniformRandomNumberGenerator&,
const param_type&)): Tidy.
(piecewise_constant_distribution<>::param_type::_M_initialize):
Use reserve, fix.
(piecewise_constant_distribution<>::param_type::
param_type(initializer_list<>, _Func),
piecewise_constant_distribution<>::param_type::
param_type(size_t, _RealType, _RealType, _Func),
piecewise_linear_distribution<>::param_type::
param_type(initializer_list<>, _Func),
piecewise_linear_distribution<>::param_type::
param_type(size_t, _RealType, _RealType, _Func)): Use reserve, tidy.
(piecewise_constant_distribution<>::param_type::
param_type(_InputIteratorB, _InputIteratorB, _InputIteratorW),
piecewise_constant_distribution<>::
operator()(_UniformRandomNumberGenerator&, const param_type&),
piecewise_linear_distribution<>::
operator()(_UniformRandomNumberGenerator&, const param_type&)): Fix.
(operator>>(std::basic_istream<>&,
piecewise_constant_distribution<>&),
operator>>(std::basic_istream<>&, piecewise_linear_distribution<>&)):
Use reserve.
* include/bits/random.h: Minor cosmetic changes.
From-SVN: r148719
Richard Guenther [Fri, 19 Jun 2009 16:47:35 +0000 (16:47 +0000)]
tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle ADDR_EXPR pointers.
2009-06-19 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
ADDR_EXPR pointers.
(ptr_derefs_may_alias_p): Likewise.
(ptr_deref_may_alias_ref_p_1): New function.
(ptr_deref_may_alias_ref_p): Likewise.
(ref_maybe_used_by_call_p_1): Handle builtins that are not
covered by looking at the ESCAPED solution.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-structalias.c (get_constraint_for_ptr_offset):
Handle NULL_TREE offset. Do not produce redundant constraints.
(process_all_all_constraints): New helper function.
(do_structure_copy): Use it.
(handle_lhs_call): Likewise.
(find_func_aliases): Handle some builtins with pointer arguments
and/or return values explicitly.
* gcc.c-torture/execute/
20090618-1.c: New testcase.
From-SVN: r148718
Ian Lance Taylor [Fri, 19 Jun 2009 15:57:06 +0000 (15:57 +0000)]
* varasm.c (const_rtx_hash_1): Remove const qualifier from shift.
From-SVN: r148713
Ian Lance Taylor [Fri, 19 Jun 2009 15:53:07 +0000 (15:53 +0000)]
* rtl.h (SUBREG_PROMOTED_UNSIGNED_P): Add cast to int.
From-SVN: r148712
Kaveh R. Ghazi [Fri, 19 Jun 2009 15:33:55 +0000 (15:33 +0000)]
gfortran.h (gfc_expr): Use mpc_t to represent complex numbers.
* gfortran.h (gfc_expr): Use mpc_t to represent complex numbers.
* arith.c, dump-parse-tree.c, expr.c, module.c, resolve.c,
simplify.c, target-memory.c, target-memory.h, trans-const.c,
trans-expr.c: Convert to mpc_t throughout.
From-SVN: r148711
Ian Lance Taylor [Fri, 19 Jun 2009 15:32:43 +0000 (15:32 +0000)]
ggc-page.c (ggc_pch_write_object): Initialize emptyBytes.
./: * ggc-page.c (ggc_pch_write_object): Initialize emptyBytes.
* sdbout.c (sdb_debug_hooks): Initialize non-SDB_DEBUGGING_INFO
version.
* c-decl.c (finish_decl): If -Wc++-compat, warn about
uninitialized const.
testsuite/:
* gcc.dg/Wcxx-compat-17.c: New testcase.
From-SVN: r148710
Ian Lance Taylor [Fri, 19 Jun 2009 15:29:18 +0000 (15:29 +0000)]
dse.c (struct store_info): Rename bitmap field to bmap.
./: * dse.c (struct store_info): Rename bitmap field to bmap. Change
all uses.
* c-decl.c (in_struct, struct_types): Remove.
(struct c_binding): Add in_struct field.
(c_binding_ptr): Define type, along with VEC.
(struct c_struct_parse_info): Define.
(struct_parse_info): New static variable.
(bind): Initialize in_struct field.
(start_struct): Remove enclosing_in_struct and
enclosing_struct_types parameters. Add
enclosing_struct_parse_info parameter. Change all callers. Set
struct_parse_info rather than in_struct and struct_types.
(grokfield): If -Wc++-compat and there is a symbol binding for the
field name, set the in_struct flag and push it on the
struct_parse_info->fields vector.
(warn_cxx_compat_finish_struct): New static function.
(finish_struct): Remove enclosing_in_struct and
enclosing_struct_types parameters. Add
enclosing_struct_parse_info parameter. Change all callers. Don't
set C_TYPE_DEFINED_IN_STRUCT here. Call
warn_cxx_compat_finish_struct. Free struct_parse_info and set to
parameter. Only push on struct_types if warn_cxx_compat.
(finish_enum): Only push on struct_types if warn_cxx_compat.
(declspecs_add_type): Add loc parameter. Change all callers.
Change all error calls to error_at. Pass loc, not input_location,
to pedwarn calls. Warn if -Wc++-compat and a typedef name is
defined in a struct. If -Wc++-compat and parsing a struct, record
that a typedef name was used.
* c-parser.c (c_parser_declspecs): Get location to pass to
declspecs_add_type.
(c_parser_struct_or_union_specifier): Update calls to start_struct
and finish_struct.
* c-tree.h (struct c_struct_parse_info): Declare.
(finish_struct, start_struct): Update declarations.
(declspecs_add_type): Update declaration.
objc/:
* objc-act.c (objc_in_struct, objc_struct_types): Remove.
(objc_struct_info): New static variable.
(objc_start_struct): Pass &objc_struct_info, not &objc_in_struct
and &objc_struct_types, to start_struct.
(objc_finish_struct): Likewise for finish_struct.
objcp/:
* objcp-decl.h (start_struct): Remove in_struct and struct_types
parameters. Add struct_info parameter.
(finish_struct): Likewise.
testsuite/:
* gcc.dg/Wcxx-compat-15.c: New testcase.
From-SVN: r148709
Ian Lance Taylor [Fri, 19 Jun 2009 15:25:16 +0000 (15:25 +0000)]
c-decl.c (grokdeclarator): If -Wc++-compat, warn about a global variable with an anonymous type.
./: * c-decl.c (grokdeclarator): If -Wc++-compat, warn about a global
variable with an anonymous type.
fortran/:
* cpp.c (struct gfc_cpp_option_data): Give this struct, used for
the global variable gfc_cpp_option, a name.
testsuite/:
* gcc.dg/Wcxx-compat-16.c: New testcase.
From-SVN: r148708
Uros Bizjak [Fri, 19 Jun 2009 14:26:24 +0000 (16:26 +0200)]
see.c: Remove for real.
* see.c: Remove for real.
From-SVN: r148707
Uros Bizjak [Fri, 19 Jun 2009 14:22:16 +0000 (16:22 +0200)]
re PR testsuite/40491 (Revision 148663 caused extra failures)
* optabs.h (enum optab_index): Add new OTI_significand.
(significand_optab): Define corresponding macro.
* optabs.c (init_optabs): Initialize significand_optab.
* genopinit.c (optabs): Implement significand_optab using
significand?f2 patterns.
* builtins.c (expand_builtin_mathfn): Handle
BUILT_IN_SIGNIFICAND{,F,L}.
(expand_builtin): Expand BUILT_IN_SIGNIFICAND{,F,L} using
expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
* config/i386/i386.md (significandxf2, significand<mode>2): New
expanders to implement significandf, significand and significandl
built-ins as inline x87 intrinsics.
testsuite/ChangeLog:
* gcc.dg/builtins-34.c: Add significand cases.
PR testsuite/40491
* testsuite/gcc.dg/
20080522-1.c: Remove testcase for real.
* testsuite/gcc.dg/
20080528-1.c: Ditto.
From-SVN: r148705
Arnaud Charlet [Fri, 19 Jun 2009 12:29:26 +0000 (14:29 +0200)]
Update comments.
From-SVN: r148703
Arnaud Charlet [Fri, 19 Jun 2009 12:29:07 +0000 (14:29 +0200)]
Minor reformatting.
From-SVN: r148702
Arnaud Charlet [Fri, 19 Jun 2009 12:23:38 +0000 (14:23 +0200)]
[multiple changes]
2009-06-19 Emmanuel Briot <briot@adacore.com>
* prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
make sure we always return a name ending with a path separator.
2009-06-19 Javier Miranda <miranda@adacore.com>
* sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
Save and restore the visibility of the parent when installed.
2009-06-19 Jose Ruiz <ruiz@adacore.com>
* s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
by Common which contains all these fields.
* s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
Remove code duplication in this package by means of calling the
equivalent code in s-taprob.
2009-06-19 Robert Dewar <dewar@adacore.com>
* a-einuoc.ads: Minor reformatting
From-SVN: r148701
Ed Falis [Fri, 19 Jun 2009 11:06:38 +0000 (11:06 +0000)]
a-einuoc.ads, [...]: Code clean up.
2009-06-19 Ed Falis <falis@adacore.com>
* a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
From-SVN: r148698
Arnaud Charlet [Fri, 19 Jun 2009 10:59:04 +0000 (12:59 +0200)]
[multiple changes]
2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
2009-06-19 Robert Dewar <dewar@adacore.com>
* a-nudira.adb (Need_64): Handle negative ranges and also dynamic
ranges
* checks.adb (Determine_Range): Move the test for generic types later.
* sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
cases.
(Eval_Relational_Op): Fold more cases including string compares
* sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
function.
From-SVN: r148697
Arnaud Charlet [Fri, 19 Jun 2009 10:54:36 +0000 (12:54 +0200)]
[multiple changes]
2009-06-19 Robert Dewar <dewar@adacore.com>
* sem_type.ads, sem_ch12.adb: Minor reformatting
* s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
2009-06-19 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
primitive operation of a rivate extension whose controlling argument
is an out parameter.
* sem.adb (Walk_Library_Units): exclude generic package declarations
from check.
From-SVN: r148696
Arnaud Charlet [Fri, 19 Jun 2009 10:49:31 +0000 (12:49 +0200)]
sem.adb (Walk_Library_Items): Include bodies in the list of units to traverse...
* sem.adb (Walk_Library_Items): Include bodies in the list of units to
traverse, to account for front-end inlining and instantiations in a
spec or in the main unit.
From-SVN: r148695
Arnaud Charlet [Fri, 19 Jun 2009 10:47:49 +0000 (12:47 +0200)]
[multiple changes]
2009-06-19 Thomas Quinot <quinot@adacore.com>
* i-vxwoio.ads: Add comments
2009-06-19 Thomas Quinot <quinot@adacore.com>
* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
(GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
(GNAT.Sockets.Thin.Socket_Ioctl): Use new function
Thin_Common.Socket_Ioctl.
(GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
__gnat_socket_ioctl.
(__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
argument after the file descriptor and request code.
2009-06-19 Robert Dewar <dewar@adacore.com>
* checks.adb: Minor reformatting
From-SVN: r148694
Arnaud Charlet [Fri, 19 Jun 2009 10:38:49 +0000 (12:38 +0200)]
[multiple changes]
2009-06-19 Jose Ruiz <ruiz@adacore.com>
* env.c (__gnat_environ): RTX does not support this functionality.
2009-06-19 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi, vms_data.ads: Fix VMS qualifiers.
2009-06-19 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Walk_Library_Items): Include bodies in the list of units to
traverse, to account for front-end inlining and instantiations in a
spec or in the main unit.
2009-06-19 Robert Dewar <dewar@adacore.com>
* checks.adb (Determine_Range): Do not attempt to get range of generic
type.
From-SVN: r148693
Sergey Rybin [Fri, 19 Jun 2009 10:34:46 +0000 (10:34 +0000)]
gnat_ugn.texi, [...]: Add the documentation for the new gnatmetric option for generating the schema...
2009-06-19 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi, vms_data.ads: Add the documentation for the new
gnatmetric option for generating the schema file for gnatmetric XML
output. Add corresponding VMS qualifier.
From-SVN: r148692
Arnaud Charlet [Fri, 19 Jun 2009 10:32:08 +0000 (12:32 +0200)]
[multiple changes]
2009-06-19 Robert Dewar <dewar@adacore.com>
* g-cgi.adb: Minor reformatting
2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
* s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
signal code for SIGFPE and raise Program_Error for SIGILL.
* s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
2009-06-19 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
generic package if there is a visibility candidate that is declared in
a regular package.
From-SVN: r148691
Janus Weil [Fri, 19 Jun 2009 08:11:21 +0000 (10:11 +0200)]
re PR fortran/40450 ([F03] procedure pointer as actual argument)
2009-06-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/40450
* trans-expr.c (gfc_conv_procedure_call): Only add an extra addr_expr
to a procedure pointer actual argument, if it is not itself a
dummy arg.
2009-06-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/40450
* gfortran.dg/proc_ptr_20.f90: New.
From-SVN: r148690
Anatoly Sokolov [Fri, 19 Jun 2009 07:35:25 +0000 (11:35 +0400)]
avr.c (avr_override_options): Remove setting value of PARAM_INLINE_CALL_COST.
* config/avr/avr.c (avr_override_options): Remove setting value of
PARAM_INLINE_CALL_COST.
From-SVN: r148689
GCC Administrator [Fri, 19 Jun 2009 00:16:33 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r148688
Richard Henderson [Thu, 18 Jun 2009 23:27:40 +0000 (16:27 -0700)]
re PR testsuite/40488 (Revision 148642 caused extra failures)
PR 40488
* tree-pass.h (TDF_ASMNAME): New.
* tree-dump.c (dump_options): Add asmname.
* doc/invoke.texi: Document it.
* tree-pretty-print.c (maybe_dump_asm_name): Merge into...
(dump_decl_name): ...here.
(dump_function_name): New flags arg; mind TDF_ASMNAME.
(dump_generic_node): Update dump_function_name calls.
(print_call_name): New flags arg; update all dump calls.
* diagnostic.h (print_call_name): Update.
* gimple-pretty-print.c (dump_gimple_call): Update.
From-SVN: r148685
H.J. Lu [Thu, 18 Jun 2009 21:12:12 +0000 (21:12 +0000)]
re PR target/40470 (unable to find a register to spill in class ‘SSE_FIRST_REG’)
gcc/
2009-06-18 H.J. Lu <hongjiu.lu@intel.com>
PR target/40470
* config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Add SSE_FIRST_REG.
gcc/testsuite/
2009-06-18 H.J. Lu <hongjiu.lu@intel.com>
PR target/40470
* gcc.dg/torture/pr40470-1.c: New.
* gcc.dg/torture/pr40470-2.c: Likewise.
* gcc.dg/torture/pr40470-3.c: Likewise.
* gcc.dg/torture/pr40470-4.c: Likewise.
From-SVN: r148673
Diego Novillo [Thu, 18 Jun 2009 19:48:35 +0000 (15:48 -0400)]
plugins.texi: Document plugin_is_GPL_compatible.
* doc/plugins.texi: Document plugin_is_GPL_compatible.
* plugin.c (str_license): Declare.
(try_init_one_plugin): Assert that the symbol
'plugin_is_GPL_compatible' exists.
testsuite/ChangeLog
* gcc.dg/plugin/selfassign.c: Declare plugin_is_GPL_compatible.
* gcc.dg/plugin/ggcplug.c: Likewise.
* gcc.dg/plugin/one_time_plugin.c: Likewise.
* g++.dg/plugin/selfassign.c: Likewise.
* g++.dg/plugin/attribute_plugin.c: Likewise.
* g++.dg/plugin/dumb_plugin.c: Likewise.
From-SVN: r148667
Aldy Hernandez [Thu, 18 Jun 2009 18:09:12 +0000 (18:09 +0000)]
class.c (get_vtable_decl): Replace finish_decl with cp_finish_decl.
* class.c (get_vtable_decl): Replace finish_decl with cp_finish_decl.
* decl.c (finish_decl): Remove.
(declare_global_var): Replace finish_decl with cp_finish_decl.
(start_method): Same.
* rtti.c (emit_tinfo_decl): Same.
* pt.c (tsubst_expr): Same.
(instantiate_decl): Same.
* decl2.c (grokbitfield): Same.
* name-lookup.c (pushdecl_top_level_1): Same.
* cp-tree.h: Remove finish_decl.
From-SVN: r148666
Sergei Dyshel [Thu, 18 Jun 2009 16:11:18 +0000 (16:11 +0000)]
see removal
From-SVN: r148665
Sergei Dyshel [Thu, 18 Jun 2009 16:08:00 +0000 (16:08 +0000)]
see removal
From-SVN: r148664
Martin Jambor [Thu, 18 Jun 2009 15:38:36 +0000 (17:38 +0200)]
tree-sra.c: Include statistics.h
2009-06-18 Martin Jambor <mjambor@suse.cz>
* tree-sra.c: Include statistics.h
(sra_stats): New variable.
(sra_initialize): Clear sra_stats.
(create_access_replacement): Increment sra_stats.replacements.
(get_access_replacement): Do not return twice.
(analyze_all_variable_accesses): Increment statistics counter by the
number of scalarized aggregates.
(generate_subtree_copies): Increment sra_stats.subtree_copies.
(sra_modify_expr): Increment sra_stats.exprs.
(load_assign_lhs_subreplacements): Increment sra_stats.subreplacements.
(sra_modify_assign): Increment sra_stats.exprs,
sra_stats.separate_lhs_rhs_handling and sra_stats.deleted.
(perform_intra_sra): Update statistics counters.
* Makefile.in (tree-sra.o): Add statistics.h to dependencies.
From-SVN: r148663
Manuel López-Ibáñez [Thu, 18 Jun 2009 15:10:23 +0000 (15:10 +0000)]
expr.c (num_div_op): Take explicit location.
2009-06-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
libcpp/
* expr.c (num_div_op): Take explicit location.
testsuite/
* gcc.dg/cpp/arith-3.c: Add column info.
From-SVN: r148662
Olivier Hainque [Thu, 18 Jun 2009 14:13:20 +0000 (14:13 +0000)]
system-aix64.ads: New file.
* system-aix64.ads: New file.
* gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
64bit system.ads for ppc64 multilib variants.
From-SVN: r148659
Sandra Loosemore [Thu, 18 Jun 2009 12:33:27 +0000 (08:33 -0400)]
arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
2009-06-18 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/arm/arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
(arm_scalar_mode_supported_p): New function.
gcc/testsuite/
* gcc.target/arm/fp16-compile-none-2.c: New.
* gcc.target/arm/fp16-compile-ieee-12.c: New.
* gcc.target/arm/fp16-compile-alt-12.c: New.
From-SVN: r148657
Sandra Loosemore [Thu, 18 Jun 2009 12:30:19 +0000 (08:30 -0400)]
fp16-compile-alt-1.c: New.
2009-06-18 Sandra Loosemore <sandra@codesourcery.com>
gcc/testsuite/
* gcc.target/arm/fp16-compile-alt-1.c: New.
* gcc.target/arm/fp16-compile-alt-2.c: New.
* gcc.target/arm/fp16-compile-alt-3.c: New.
* gcc.target/arm/fp16-compile-alt-4.c: New.
* gcc.target/arm/fp16-compile-alt-5.c: New.
* gcc.target/arm/fp16-compile-alt-6.c: New.
* gcc.target/arm/fp16-compile-alt-7.c: New.
* gcc.target/arm/fp16-compile-alt-8.c: New.
* gcc.target/arm/fp16-compile-alt-9.c: New.
* gcc.target/arm/fp16-compile-alt-10.c: New.
* gcc.target/arm/fp16-compile-alt-11.c: New.
* gcc.target/arm/fp16-compile-ieee-1.c: New.
* gcc.target/arm/fp16-compile-ieee-2.c: New.
* gcc.target/arm/fp16-compile-ieee-3.c: New.
* gcc.target/arm/fp16-compile-ieee-4.c: New.
* gcc.target/arm/fp16-compile-ieee-5.c: New.
* gcc.target/arm/fp16-compile-ieee-6.c: New.
* gcc.target/arm/fp16-compile-ieee-7.c: New.
* gcc.target/arm/fp16-compile-ieee-8.c: New.
* gcc.target/arm/fp16-compile-ieee-9.c: New.
* gcc.target/arm/fp16-compile-ieee-10.c: New.
* gcc.target/arm/fp16-compile-ieee-11.c: New.
* gcc.target/arm/fp16-compile-none-1.c: New.
* gcc.target/arm/fp16-compile-exprtype.c: New.
* gcc.target/arm/fp16-compile-vcvt.c: New.
* gcc.target/arm/fp16-builtins-1.c: New.
* gcc.target/arm/fp16-rounding-alt-1.c: New.
* gcc.target/arm/fp16-rounding-ieee-1.c: New.
* gcc.target/arm/fp16-param-1.c: New.
* gcc.target/arm/fp16-return-1.c: New.
* gcc.target/arm/fp16-unprototyped-1.c: New.
* gcc.target/arm/fp16-unprototyped-2.c: New.
* gcc.target/arm/fp16-variadic-1.c: New.
* gcc.dg/torture/arm-fp16-compile-assign.c: New.
* gcc.dg/torture/arm-fp16-compile-convert.c: New.
* gcc.dg/torture/arm-fp16-int-convert-alt.c: New.
* gcc.dg/torture/arm-fp16-int-convert-ieee.c: New.
* gcc.dg/torture/arm-fp16-ops.h: New.
* gcc.dg/torture/arm-fp16-ops-1.c: New.
* gcc.dg/torture/arm-fp16-ops-2.c: New.
* gcc.dg/torture/arm-fp16-ops-3.c: New.
* gcc.dg/torture/arm-fp16-ops-4.c: New.
* gcc.dg/torture/arm-fp16-ops-5.c: New.
* gcc.dg/torture/arm-fp16-ops-6.c: New.
* gcc.dg/torture/arm-fp16-ops-7.c: New.
* gcc.dg/torture/arm-fp16-ops-8.c: New.
* g++.dg/ext/arm-fp16/fp16-overload-1.C: New.
* g++.dg/ext/arm-fp16/fp16-return-1.C: New.
* g++.dg/ext/arm-fp16/fp16-param-1.C: New.
* g++.dg/ext/arm-fp16/fp16-mangle-1.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops.h: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-1.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-2.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-7.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-8.C: New.
From-SVN: r148656
Paul Brook [Thu, 18 Jun 2009 12:26:37 +0000 (12:26 +0000)]
sfp-machine.h (_FP_NANFRAC_H, [...]): Define.
2009-06-18 Paul Brook <paul@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/arm/sfp-machine.h (_FP_NANFRAC_H, _FP_NANSIGN_H): Define.
(__extendhfsf2, __truncsfhf2): Define.
* config/arm/fp16.c: New file.
* config/arm/t-bpabi (LIB2FUNCS_STATIC_EXTRA): Add fp16.c.
* config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA): Add fp16.c.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r148655
Sandra Loosemore [Thu, 18 Jun 2009 12:24:10 +0000 (08:24 -0400)]
extend.texi (Half-Precision): New section.
2009-06-18 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/extend.texi (Half-Precision): New section.
* doc/invoke.texi (Option Summary): List -mfp16-format.
(ARM Options): List neon-fp16 as -mfpu value. Document -mfp16-format.
* config/arm/arm.opt (mfp16-format=): New.
* config/arm/arm.c: Include intl.h.
(TARGET_INVALID_PARAMETER_TYPE): Redefine.
(TARGET_INVALID_RETURN_TYPE): Redefine.
(TARGET_PROMOTED_TYPE): Redefine.
(TARGET_CONVERT_TO_TYPE): Redefine.
(arm_fp16_format): Define.
(all_fpus): Add entry for neon-fp16.
(fp_model_for_fpu): Likewise.
(struct fp16_format): Declare.
(all_fp16_formats): Define.
(arm_init_libfuncs): Add entries for HFmode conversions and arithmetic
functions.
(arm_override_options): Set arm_fp16_format. Call sorry for fp16
and no ldrh.
(arm_legitimate_index_p): Treat HFmode like HImode.
(thumb1_legitimate_address_p): Make it recognize HFmode constants.
(coproc_secondary_reload_class): Special-case HFmode.
(arm_print_operand): Add 'z' specifier for vld1.16/vst1.16.
(arm_hard_regno_mode_ok): Allow HFmode values in VFP registers.
(arm_init_fp16_builtins): New.
(arm_init_builtins): Call it.
(arm_invalid_parameter_type): New.
(arm_invalid_return_type): New.
(arm_promoted_type): New.
(arm_convert_to_type).
(arm_file_start): Deal with neon-fp16 as fpu_name. Emit tag for fp16
format.
(arm_emit_fp16_const): New function.
(arm_mangle_type): Mangle __fp16 as "Dh".
* config/arm/arm.h (TARGET_VFPD32): Make it know about
FPUTYPE_NEON_FP16.
(TARGET_NEON_FP16): New.
(TARGET_NEON): Make it know about FPUTYPE_NEON_FP16.
(enum fputype): Add FPUTYPE_NEON_FP16.
(enum arm_fp16_format_type): Declare.
(arm_fp16_format): Declare.
(LARGEST_EXPONENT_IS_NORMAL): Define.
* config/arm/arm-protos.h (arm_emit_fp16_const): Declare.
* config/arm/arm-modes.def (HFmode): Define.
* config/arm/vfp.md: (*movhf_vfp): New.
(extendhfsf2): New.
(truncsfhf2): New.
* config/arm/arm.md: (fpu): Add neon_fp16.
(floatsihf2, floatdihf2): New.
(fix_trunchfsi2, fix_trunchfdi2): New.
(truncdfhf2): New.
(extendhfdf2): New.
(movhf): New.
(*arm32_movhf): New.
(*thumb1_movhf): New.
(consttable_2): Add check for HFmode constants.
(consttable_4): Handle HFmode constants.
From-SVN: r148654
Uros Bizjak [Thu, 18 Jun 2009 11:35:38 +0000 (13:35 +0200)]
convert.c (convert_to_integer): Convert (int)logb() into ilogb().
* convert.c (convert_to_integer): Convert (int)logb() into ilogb().
testsuite/ChangeLog:
* gcc.dg/builtins-65.c: New test.
From-SVN: r148653
Janus Weil [Thu, 18 Jun 2009 08:09:40 +0000 (10:09 +0200)]
re PR fortran/40451 ([F03] procedure pointer assignment rejected)
2009-06-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/40451
* resolve.c (resolve_contained_fntype): Prevent implicit typing for
procedures with explicit interface.
* symbol.c (gfc_check_function_type): Ditto.
2009-06-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/40451
* gfortran.dg/proc_ptr_result_4.f90: New.
From-SVN: r148652
Uros Bizjak [Thu, 18 Jun 2009 07:58:17 +0000 (09:58 +0200)]
ChangeLog: Various fixes.
* ChangeLog: Various fixes.
* testsuite/ChangeLog: Ditto.
From-SVN: r148651
Olivier Hainque [Thu, 18 Jun 2009 07:45:09 +0000 (07:45 +0000)]
collect2.c (main): Use CONST_CAST2 to perform char ** to const char ** conversion in AIX specific...
* collect2.c (main): Use CONST_CAST2 to perform char ** to
const char ** conversion in AIX specific section.
From-SVN: r148649
Benjamin Kosnik [Thu, 18 Jun 2009 01:40:44 +0000 (01:40 +0000)]
check_construct_destroy.h: New.
2009-06-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/23_containers/list/check_construct_destroy.h: New.
Move test logic here.
* testsuite/23_containers/list/moveable.h: Same.
* testsuite/23_containers/list/modifiers/insert/25288.h: Same.
* testsuite/23_containers/list/modifiers/1.h: Same.
* testsuite/23_containers/list/modifiers/2.h: Same.
* testsuite/23_containers/list/modifiers/3.h: Same.
* testsuite/23_containers/list/modifiers/swap/1.h: Same.
* testsuite/23_containers/list/modifiers/swap/2.h: Same.
* testsuite/23_containers/list/modifiers/swap/3.h: Same.
* testsuite/23_containers/list/operations/1.h: Same.
* testsuite/23_containers/list/operations/2.h: Same.
* testsuite/23_containers/list/operations/3.h: Same.
* testsuite/23_containers/list/operations/4.h: Same.
* testsuite/23_containers/list/operations/5.h: Same.
* testsuite/23_containers/list/capacity/1.h: Same.
* testsuite/23_containers/list/init-list.h: Same.
* testsuite/23_containers/list/cons/1.h: Same.
* testsuite/23_containers/list/cons/2.h: Same.
* testsuite/23_containers/list/cons/3.h: Same.
* testsuite/23_containers/list/cons/4.h: Same.
* testsuite/23_containers/list/cons/5.h: Same.
* testsuite/23_containers/list/cons/6.h: Same.
* testsuite/23_containers/list/cons/7.h: Same.
* testsuite/23_containers/list/cons/8.h: Same.
* testsuite/23_containers/list/cons/9.h: Same.
* testsuite/23_containers/list/cons/clear_allocator.h: Same.
* testsuite/23_containers/list/modifiers/insert/25288.cc: Include test
header.
* testsuite/23_containers/list/modifiers/1.cc: Same.
* testsuite/23_containers/list/modifiers/2.cc: Same.
* testsuite/23_containers/list/modifiers/3.cc: Same.
* testsuite/23_containers/list/modifiers/swap/1.cc: Same.
* testsuite/23_containers/list/modifiers/swap/2.cc: Same.
* testsuite/23_containers/list/modifiers/swap/3.cc: Same.
* testsuite/23_containers/list/operations/1.cc: Same.
* testsuite/23_containers/list/operations/2.cc: Same.
* testsuite/23_containers/list/operations/3.cc: Same.
* testsuite/23_containers/list/operations/4.cc: Same.
* testsuite/23_containers/list/operations/5.cc: Same.
* testsuite/23_containers/list/capacity/1.cc: Same.
* testsuite/23_containers/list/init-list.cc: Same.
* testsuite/23_containers/list/cons/1.cc: Same.
* testsuite/23_containers/list/cons/2.cc: Same.
* testsuite/23_containers/list/cons/3.cc: Same.
* testsuite/23_containers/list/cons/4.cc: Same.
* testsuite/23_containers/list/cons/5.cc: Same.
* testsuite/23_containers/list/cons/6.cc: Same.
* testsuite/23_containers/list/cons/7.cc: Same.
* testsuite/23_containers/list/cons/8.cc: Same.
* testsuite/23_containers/list/cons/9.cc: Same.
* testsuite/23_containers/list/cons/clear_allocator.cc: Same.
* testsuite/23_containers/list/check_construct_destroy.cc: Same.
* testsuite/23_containers/list/moveable.cc: Same.
From-SVN: r148644
H.J. Lu [Thu, 18 Jun 2009 01:06:55 +0000 (01:06 +0000)]
i386.c (ix86_special_builtin_type): Remove UINT64_FTYPE_PINT.
2009-06-17 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_special_builtin_type): Remove
UINT64_FTYPE_PINT. Add UINT64_FTYPE_PUNSIGNED.
(bdesc_special_args): Updated.
(ix86_init_mmx_sse_builtins): Likewise.
(ix86_expand_special_args_builtin): Likewise.
From-SVN: r148643
Richard Henderson [Thu, 18 Jun 2009 00:30:48 +0000 (17:30 -0700)]
tree-pretty-print.c (maybe_dump_asm_name): New.
* tree-pretty-print.c (maybe_dump_asm_name): New.
(dump_decl_name): Use it.
(PRINT_FUNCTION_NAME): Merge into...
(dump_function_name): ... here. Use maybe_dump_asm_name.
From-SVN: r148642
Cary Coutant [Thu, 18 Jun 2009 00:20:31 +0000 (17:20 -0700)]
Quick fix to last ChangeLog entry.
From-SVN: r148641
GCC Administrator [Thu, 18 Jun 2009 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r148640
Cary Coutant [Wed, 17 Jun 2009 23:54:40 +0000 (23:54 +0000)]
dbxout.c (dbxout_source_line): Add is_stmt parameter.
* dbxout.c (dbxout_source_line): Add is_stmt parameter.
Change caller.
* debug.c (struct gcc_debug_hooks): Change placeholder for
source_line hook.
(debug_nothing_int_charstar_int): Replaced by...
(debug_nothing_int_charstar_int_bool): ...this.
* debug.h (struct gcc_debug_hooks): Add is_stmt parameter to
source_line prototype.
(debug_nothing_int_charstar_int): Replaced by...
(debug_nothing_int_charstar_int_bool): ...this.
* defaults.h (SUPPORTS_DISCRIMINATOR): New constant.
* dwarf2out.c (dwarf2out_source_line): Add is_stmt parameter.
Output is_stmt operand when necessary.
* final.c (last_is_stmt): New variable.
(final_start_function): Initialize last_is_stmt.
(final_scan_insn): Pass is_stmt to source_line debug hook.
(notice_source_line): Add is_stmt parameter.
* sdbout.c (sdbout_source_line): Add is_stmt parameter.
* vmsdbgout.c (vmsdbgout_source_line): Add is_stmt parameter.
Change callers.
* xcoffout.c (xcoffout_source_line): Add is_stmt parameter.
* xcoffout.h (xcoffout_source_line): Add is_stmt parameter.
From-SVN: r148635
Ian Lance Taylor [Wed, 17 Jun 2009 22:48:45 +0000 (22:48 +0000)]
expr.c (struct move_by_pieces_d): Rename from move_by_pieces.
* expr.c (struct move_by_pieces_d): Rename from move_by_pieces.
Change all uses.
(struct store_by_pieces_d): Rename from store_by_pieces. Change
call uses.
From-SVN: r148633
Adam Nemet [Wed, 17 Jun 2009 22:11:47 +0000 (22:11 +0000)]
tree.h (STRIP_NOPS, [...]): Use tree_strip_nop_conversions...
* tree.h (STRIP_NOPS, STRIP_SIGN_NOPS,
STRIP_USELESS_TYPE_CONVERSION): Use tree_strip_nop_conversions,
tree_strip_sign_nop_conversions and
tree_ssa_strip_useless_type_conversions rather than stripping
the operations here.
(tree_strip_nop_conversions, tree_strip_sign_nop_conversions):
Declare them.
* gimple.h (tree_ssa_strip_useless_type_conversions): Declare it.
* tree-ssa.c (tree_ssa_strip_useless_type_conversions): New function.
* tree.c (tree_nop_conversion, tree_sign_nop_conversion,
tree_strip_nop_conversions, tree_strip_sign_nop_conversions): New
functions.
testsuite/
* gcc.c-torture/execute/bitfld-5.c: New test.
From-SVN: r148631
Michael Eager [Wed, 17 Jun 2009 21:51:28 +0000 (21:51 +0000)]
Create new constraint "d" for PowerPC FPRs with 64-bit values.
Replace uses of "f" constraint with "d" as needed.
From-SVN: r148630
Ian Lance Taylor [Wed, 17 Jun 2009 20:23:57 +0000 (20:23 +0000)]
profile.c (total_num_never_executed): Don't define.
* profile.c (total_num_never_executed): Don't define.
(compute_branch_probabilities): Don't count or print
num_never_executed.
(init_branch_prob): Don't set total_num_never_executed.
(end_branch_prob): Don't print total_num_never_executed.
From-SVN: r148628
Ian Lance Taylor [Wed, 17 Jun 2009 20:22:02 +0000 (20:22 +0000)]
* include/cpplib.h (progname): Don't declare.
From-SVN: r148627
Tom Tromey [Wed, 17 Jun 2009 20:06:27 +0000 (20:06 +0000)]
hook.in: Do not fail when there is no current objfile.
* python/hook.in: Do not fail when there is no current objfile.
Use os.path.normpath.
From-SVN: r148626
David Daney [Wed, 17 Jun 2009 19:27:35 +0000 (19:27 +0000)]
jump.c (cleanup_barriers): Handle case of no insns before a barrier.
2009-06-17 David Daney <ddaney@caviumnetworks.com>
* jump.c (cleanup_barriers): Handle case of no insns before a
barrier.
2009-06-17 David Daney <ddaney@caviumnetworks.com>
* gcc.dg/builtin-unreachable-3.c: New test.
From-SVN: r148624
David Daney [Wed, 17 Jun 2009 19:14:56 +0000 (19:14 +0000)]
builtin-unreachable.c: New test.
2009-06-17 David Daney <ddaney@caviumnetworks.com>
* gcc.target/i386/builtin-unreachable.c: New test.
From-SVN: r148622
David Edelsohn [Wed, 17 Jun 2009 18:18:34 +0000 (18:18 +0000)]
dfp.md (nabsdd2_fpr): Correct mode.
* config/rs6000/dfp.md (nabsdd2_fpr): Correct mode.
(nabstd2_fpr): Same.
From-SVN: r148621
Steve Ellcey [Wed, 17 Jun 2009 15:37:20 +0000 (15:37 +0000)]
expr.c (expand_assignment): Change complex type check.
2009-06-17 Steve Ellcey <sje@cup.hp.com>
* expr.c (expand_assignment): Change complex type check.
From-SVN: r148614
Basile Starynkevitch [Wed, 17 Jun 2009 13:36:47 +0000 (13:36 +0000)]
plugins.texi (Building GCC plugins): Added new section.
2009-06-17 Basile Starynkevitch <basile@starynkevitch.net>
* gcc/doc/plugins.texi (Building GCC plugins): Added new section.
From-SVN: r148612
Ian Lance Taylor [Wed, 17 Jun 2009 13:21:23 +0000 (13:21 +0000)]
c-pch.c (get_ident): Don't set size of templ array.
./: * c-pch.c (get_ident): Don't set size of templ array.
(pch_init): Don't set size of partial_pch array.
* c-typeck.c (digest_init): If -Wc++-compat, warn about using a
string constant to intialize an array whose size is the length of
the string.
testsuite/:
* gcc.dg/Wcxx-compat-14.c: New testcase.
From-SVN: r148611
Aldy Hernandez [Wed, 17 Jun 2009 12:59:39 +0000 (12:59 +0000)]
* gcc.dg/func-ptr-conv-1.c: Update column info.
From-SVN: r148609
Ian Lance Taylor [Wed, 17 Jun 2009 12:53:01 +0000 (12:53 +0000)]
* decl.c (build_struct): Rewrite loop over constructor elements.
From-SVN: r148608
Richard Guenther [Wed, 17 Jun 2009 12:30:54 +0000 (12:30 +0000)]
re PR middle-end/40404 (Comparison involving unsigned int:17 bitfield seems wrong)
2009-06-17 Richard Guenther <rguenther@suse.de>
PR middle-end/40404
* gcc.c-torture/execute/pr40404.c: New testcase.
From-SVN: r148606
Richard Guenther [Wed, 17 Jun 2009 10:29:22 +0000 (10:29 +0000)]
re PR c++/40389 (optimizer bug (possibly))
2009-06-17 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40389
* tree-ssa-structalias.c (handle_rhs_call): Restrict NRV case
to addressable types.
* gimple.c (walk_stmt_load_store_addr_ops): Likewise.
From-SVN: r148597
Richard Guenther [Wed, 17 Jun 2009 10:26:24 +0000 (10:26 +0000)]
re PR middle-end/40460 (Enormous memory usage during compilation with -O2 or -O3 optimizations.)
2009-06-17 Richard Guenther <rguenther@suse.de>
PR middle-end/40460
* tree-chrec.h (build_polynomial_chrec): If we cannot determine
if there is no evolution of left in the loop bail out.
* tree-chrec.c (chrec_fold_multiply_poly_poly): CSE one
chrec_fold_multiply.
* g++.dg/torture/pr40460.C: New testcase.
From-SVN: r148593
Robert Dewar [Wed, 17 Jun 2009 08:58:35 +0000 (08:58 +0000)]
Relax constraints on Machine_Attribute argument types:
* sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
missing type.
(Analyze_Attribute, case Machine_Attribute): Allow any type for
arg 3.
* gcc-interface/decl.c (prepend_attributes): Accept static
expressions of any type as attribute arguments, not only string
literals.
* gnat_rm.texi (pragma Machine_Attribute section): Adjust to
reflect the relaxation of the restriction on the Info argument type.
Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r148589
J"orn Rennecke [Wed, 17 Jun 2009 04:27:29 +0000 (04:27 +0000)]
re PR target/39254 (gcc.c-torture/execute/va-arg-trap-1.c ICEs on powerpc-apple-darwin9)
PR target/39254
* config/rs6000/rs6000.c (rs6000_emit_move): Don't emit a USE
for the symbol ref of a constant that is the source of a move
- nor for any other not-obvious-label-ref constants.
Co-Authored-By: Janis Johnson <janis187@us.ibm.com>
From-SVN: r148568
Olatunji Ruwase [Wed, 17 Jun 2009 02:18:55 +0000 (02:18 +0000)]
[multiple changes]
2009-06-16 Olatunji Ruwase <tjruwase@google.com>
* plugin.c(position_pass): Skip newly inserted pass during list
traversal to avoid repeated insertion.
2009-06-05 Olatunji Ruwase <tjruwase@google.com>
* gcc.dg/plugin/one_time_plugin.c: New test.
* gcc.dg/plugin/one_time-test-1.c: New test.
* gcc.dg/plugin/plugin.exp: Added one_time_plugin.c test.
From-SVN: r148566
GCC Administrator [Wed, 17 Jun 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r148565
Ian Lance Taylor [Wed, 17 Jun 2009 00:10:23 +0000 (00:10 +0000)]
vec.h (VEC_stack_alloc): Define different version if GATHER_STATISTICS is defined...
* vec.h (VEC_stack_alloc): Define different version if
GATHER_STATISTICS is defined, to accept and ignore MEM_STAT.
(DEF_VEC_ALLOC_FUNC_P_STACK): Remove MEM_STAT_DECL.
(DEF_VEC_ALLOC_FUNC_O_STACK): Likewise.
(DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
From-SVN: r148562
Jonathan Wakely [Tue, 16 Jun 2009 21:24:41 +0000 (21:24 +0000)]
exception_ptr.h (exception_ptr::swap(exception_ptr&&)): Remove.
2009-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
* libsupc++/exception_ptr.h (exception_ptr::swap(exception_ptr&&)):
Remove.
(exception_ptr::operator=(exception_ptr&&)): Cast source to
rvalue-reference so that move constructor is called.
* testsuite/18_support/exception_ptr/move.cc: New.
From-SVN: r148555