jason [Mon, 7 Nov 2011 22:52:32 +0000 (22:52 +0000)]
PR c++/50863
* parser.c (cp_parser_initializer_list): Parse C99
array designators tentatively.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181132
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 7 Nov 2011 22:52:23 +0000 (22:52 +0000)]
PR c++/50870
* pt.c (tsubst_copy): Handle NAMESPACE_DECL.
(tsubst_copy_and_build) [COMPONENT_REF]: Handle a still-dependent
object.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181131
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 7 Nov 2011 22:26:15 +0000 (22:26 +0000)]
* include/std/mutex (call_once): Store closure in __once_functor
as bound function wrapper might not be copyable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181128
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Mon, 7 Nov 2011 22:21:54 +0000 (22:21 +0000)]
PR libfortran/49188
PR libfortran/49336
* invoke.texi: Fix documentation of fsign-zero option. Remove
contractions.
* intrinsic.texi: Fix ATAN2 documentation for signed zeros.
Remove contractions.
* gfortran.texi: Remove contractions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181127
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Mon, 7 Nov 2011 22:03:51 +0000 (22:03 +0000)]
PR target/51007
* quadmath-imp.h (ieee854_float128): Adjust
for ms-bitfield layout.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181125
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 7 Nov 2011 22:03:27 +0000 (22:03 +0000)]
2011-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
call in case COMPONENT_REF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181124
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 7 Nov 2011 21:37:37 +0000 (21:37 +0000)]
* config/i386/i386-bultin-types.def (V8SI_FTYPE_V4DF_V4DF): Add.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_VEC_PACK_SFIX256.
(bdesc_args): Add __builtin_ia32_vec_pack_sfix256.
(ix86_expand_args_builtin): Handle V8SI_FTYPE_V4DF_V4DF.
(ix86_builtin_vectorized_function): Also vectorize lrint using
256-bit vectors for -mavx.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181122
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Mon, 7 Nov 2011 21:33:24 +0000 (21:33 +0000)]
* config/cris/constraints.md: New file.
* config/cris/cris.h (REG_CLASS_FROM_LETTER, CONSTRAINT_LEN,
CRIS_CONST_OK_FOR_LETTER_P, CONST_OK_FOR_CONSTRAINT_P,
CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_MEMORY_CONSTRAINT,
EXTRA_CONSTRAINT, EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R,
EXTRA_CONSTRAINT_T, EXTRA_CONSTRAINT_S, EXTRA_CONSTRAINT_U): Remove.
* config/cris/cris.c: Incule "tm-constrs.h".
(cris_print_operand): Use satisfies_constraint_O.
(cris_normal_notice_update_cc, cris_rtx_costs): Use
satisfies_constraint_I.
(cris_address_cost): Use satisfies_constraint_L.
* config/cris/cris.md: Include "constraints.md".
(*mov_side<mode>, *mov_sidesisf, *mov_side<mode>_mem,
*mov_sidesisf_mem, *clear_side<mode>, *ext_sideqihi,
*ext_side<mode>si, *op_side<mode>, *op_swap_side<mode>,
*extopqihi_side, *extop<mode>si_side, *extopqihi_swap_side,
*extop<mode>si_swap_side): Use satisfies_constraint_N and
satisfies_constraint_J.
(moversideqi movemsideqi mover2side peephole2): Use
satisfies_constraint_N and satisfies_constraint_J.
(andu peephole2): Use satisfies_constraint_I and
satisfies_constraint_O.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181120
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Mon, 7 Nov 2011 21:32:52 +0000 (21:32 +0000)]
2011-11-07 Andrew MacLeod <amacleod@redhat.com>
* include/bits/atomic_base.h (atomic_thread_fence): Revert.
(atomic_signal_fence): Revert.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181119
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Mon, 7 Nov 2011 21:28:50 +0000 (21:28 +0000)]
PR c++/45114 - Support C++11 alias-declaration
gcc/cp/
* cp-tree.h (TYPE_DECL_ALIAS_P, TYPE_ALIAS_P)
(DECL_TYPE_TEMPLATE_P, DECL_ALIAS_TEMPLATE_P): New accessor
macros.
(TYPE_TEMPLATE_INFO): Get template info of an alias template
specializations from its TYPE_DECL.
(SET_TYPE_TEMPLATE_INFO): Set template info of alias template
specializations into its TYPE_DECL.
(DECL_CLASS_TEMPLATE_P): Re-write using the new
DECL_TYPE_TEMPLATE_P.
(enum cp_decl_spec): Add new ds_alias enumerator.
(alias_type_or_template_p, alias_template_specialization_p):
Declare new functions.
* parser.c (cp_parser_alias_declaration): New static function.
(cp_parser_check_decl_spec): Add "using" name for the `alias'
declspec.
(cp_parser_type_name): Update comment. Support simple-template-id
representing alias template specializations in c++0x mode.
(cp_parser_qualifying_entity): Update comment. Use
cp_parser_type_name.
(cp_parser_block_declaration): Handle alias-declaration in c++11.
Update comment.
(cp_parser_template_id): Handle specializations of alias
templates.
(cp_parser_member_declaration): Add alias-declaration production
to comment. Support alias-declarations.
(cp_parser_template_declaration_after_export): Handle alias
templates in c++11.
* decl.c (make_typename_type, make_unbound_class_template): Accept
alias templates.
(grokdeclarator): Set TYPE_DECL_ALIAS_P on alias
declarations.
* decl2.c (grokfield): Move template creation after setting up the
TYPE_DECL of the alias, so that the TEMPLATE_DECL of the alias
template actually carries the right type-id of the alias
declaration.
* pt.c (alias_type_or_template_p)
(alias_template_specialization_p): Define new public functions.
(maybe_process_partial_specialization): Reject partial
specializations of alias templates.
(primary_template_instantiation_p): Consider alias template
instantiations.
(push_template_decl_real): Assert that TYPE_DECLs of alias
templates are different from those of class template. Store
template info onto the TYPE_DECL of the alias template.
(convert_template_argument): Strip aliases from template
arguments.
(lookup_template_class_1): Handle the creation of the
specialization of an alias template.
(tsubst_decl): Create a substituted copy of the TYPE_DECL of an
member alias template.
(tsubst): Handle substituting into the type of an alias template.
Handle substituting UNBOUND_CLASS_TEMPLATE into
BOUND_TEMPLATE_TEMPLATE_PARM.
(do_type_instantiation): Better diagnostics when trying to
explicitely instantiate a non-class template.
* search.c (lookup_field_1, lookup_field_r): Support looking up
alias templates.
* semantics.c (finish_template_type): For instantiations of alias
templates, return the TYPE_DECL of the actual alias and not the
one of the aliased type.
* error.c (dump_alias_template_specialization): New static
function.
(dump_type): Handle printing of alias templates and their
specializations. templates.
(dump_aggr_type): For specialization of alias templates, fetch
arguments from the right place.
(dump_decl): Print an alias-declaration like `using decl = type;'
(dump_template_decl): Support printing of alias templates.
gcc/testsuite/
* g++.dg/cpp0x/alias-decl-0.C: New test case.
* g++.dg/cpp0x/alias-decl-1.C: Likewise.
* g++.dg/cpp0x/alias-decl-3.C: Likewise.
* g++.dg/cpp0x/alias-decl-4.C: Likewise.
* g++.dg/cpp0x/alias-decl-6.C: Likewise.
* g++.dg/cpp0x/alias-decl-7.C: Likewise.
* g++.dg/cpp0x/alias-decl-8.C: Likewise.
* g++.dg/cpp0x/alias-decl-9.C: Likewise.
* g++.dg/cpp0x/alias-decl-10.C: Likewise.
* g++.dg/ext/alias-decl-attr1.C: Likewise.
* g++.dg/ext/alias-decl-attr2.C: Likewise.
* g++.dg/ext/alias-decl-attr3.C: Likewise.
* g++.dg/ext/alias-decl-attr4.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181118
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 7 Nov 2011 21:27:01 +0000 (21:27 +0000)]
* config/i386/i386.c (ix86_builtin_vectorized_function): Handle
BUILT_IN_IRINT, BUILT_IN_IRINTF, BUILT_IN_LLRINT and BUILT_IN_LLRINTF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181116
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 7 Nov 2011 21:02:57 +0000 (21:02 +0000)]
* gcc.dg/pragma-align-2.c: Compile with -std=gnu99.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181114
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Mon, 7 Nov 2011 20:10:03 +0000 (20:10 +0000)]
2011-11-07 Andrew MacLeod <amacleod@redhat.com>
* optabs.c (get_atomic_op_for_code): Fill in optab table at runtime so
SWITCHABLE_TARGET can change the valuies during compilation.
(expand_atomic_fetch_op): handle parameter changes ripples for
get_atomic_op_for_code call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181112
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Mon, 7 Nov 2011 20:06:39 +0000 (20:06 +0000)]
2011-11-07 Andrew MacLeod <amacleod@redhat.com>
libstdc++-v3
* include/bits/atomic_base.h (atomic_thread_fence): Call builtin.
(atomic_signal_fence): Call builtin.
(atomic_flag::test_and_set): Call __atomic_exchange when it is lockfree,
otherwise fall back to call __sync_lock_test_and_set.
(atomic_flag::clear): Call __atomic_store when it is lockfree,
otherwise fall back to call __sync_lock_release.
gcc
* doc/extend.texi: Docuemnt behaviour change for __atomic_exchange and
__atomic_store.
* optabs.c (expand_atomic_exchange): Expand to __sync_lock_test_and_set
only when originated from that builtin.
(expand_atomic_store): Expand to __sync_lock_release when originated
from that builtin.
* builtins.c (expand_builtin_sync_lock_test_and_set): Add flag that
expand_atomic_exchange call originated from here.
(expand_builtin_sync_lock_release): Add flag that expand_atomic_store
call originated from here.
(expand_builtin_atomic_exchange): Add origination flag.
(expand_builtin_atomic_store): Add origination flag.
* expr.h (expand_atomic_exchange, expand_atomic_store): Add boolean
parameters to indicate implementation fall back options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181111
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 7 Nov 2011 18:41:12 +0000 (18:41 +0000)]
2011-11-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/50919
* class.c (add_proc_comp): Don't add non-overridable procedures to the
vtable.
* resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
Don't generate a dynamic _vptr call for non-overridable procedures.
2011-11-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/50919
* gfortran.dg/typebound_call_21.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181107
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Mon, 7 Nov 2011 18:22:59 +0000 (18:22 +0000)]
* config/avr/avr.c (output_reload_in_const): Can handle CONSTANT_P
now, not only CONST_INT and CONST_DOUBLE.
(output_movqi): Use output_reload_in_const.
(output_reload_inhi): Ditto.
(output_reload_insisf): Move assertion to output_reload_in_const.
(avr_out_reload_inpsi): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181106
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 7 Nov 2011 18:14:46 +0000 (18:14 +0000)]
libgcc/
* libgcov.c (struct gcov_fn_buffer): New struct.
(buffer_fn_data): New helper.
(gcov_exit): Rework for new gcov data structures.
gcc/
* gcov.c (object_summary): Replace with ...
(object_runs): ... this.
(process_file): Remove functions with no data.
(generate_results): Ignore files with no lines.
(release_function): New helper, broken out of ...
(release_structures): ... here. Use it.
(read_count_file): Adjust for new data file format.
(output_lines): Use object_runs.
* gcov-io.h (GCOV_TAG_OBJECT_SUMMARY): Obsolete.
(struct gcov_ctr_info): Move definition.
(struct gcov_fn_info): Add key field, use gcov_ctr_info for
trailing array.
(struct gcov_info): Add merge function array, remove mask and
counts. Trailing array is array of pointers to function info.
* coverage.c (struct function_list): Replace counter numbers with
counter arrays. Add fndecl field. GTYify.
(counts_entry): Remove chain workspace.
(functions_head): GTYify.
(prg_n_ctrs): Remove.
(fn_v_ctrs): New.
(tree_ctr_tables): Remove.
(read_counts_file): Cope with blank entries and expect program
summaries before functions. Don't warn on missing entries.
(coverage_counter_alloc): Allocate individual function arrays.
(tree_coverage_counter_ref, tree_coverage_counter_addr): Adjust
for individual function arrays.
(coverage_end_function): GTYify function list object. Finalize
function's counter arrays.
(build_var): New. Create a counter-related variable with
appropriate linkage.
(build_fn_info_type): Adjust for new runtime structure.
(build_fn_info_value): Rename to ...
(build_fn_info): ... here. Build new format data.
(build_ctr_info_type, build_ctr_info_value): Remove.
(build_info_type): New. Build new format data structure.
(build_info): Adjust for new format data.
(create_coverage): Likewise.
* gcov-dump.c (tag_function): Recognize placeholders.
gcc/testsuite/
* gcc.dg/profile-dir-1.c: Adjust final scan.
* gcc.dg/profile-dir-2.c: Adjust final scan.
* gcc.dg/profile-dir-3.c: Adjust final scan.
* gcc.misc-tests/gcov.exp: Adjust regexp.
* gcc.misc-tests/gcov-12.c: New.
* gcc.misc-tests/gcov-13.c: New.
* gcc.misc-tests/gcovpart-13b.c: New.
* gcc.misc-tests/gcov-14.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181105
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Mon, 7 Nov 2011 18:08:35 +0000 (18:08 +0000)]
PR target/49313
* config/avr/lib1funcs.S (__divmodhi4, __divmodsi4): Tweak speed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181104
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Mon, 7 Nov 2011 18:07:56 +0000 (18:07 +0000)]
* config/avr/constraints.md (Cm2): New constraint for int -2.
* config/avr/avr.md (addqi3): Use it. New alternatives for +/-2.
(*negqihi2): New insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181103
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 7 Nov 2011 17:51:40 +0000 (17:51 +0000)]
PR c++/35688
* decl2.c (constrain_visibility): Return void. Add tmpl parm
which gives the constraint priority over an attribute.
(constrain_visibility_for_template, determine_visibility): Adjust.
* pt.c (instantiate_class_template_1): Call determine_visibility.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181102
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 7 Nov 2011 17:51:32 +0000 (17:51 +0000)]
add PR tag
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181101
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 7 Nov 2011 17:51:24 +0000 (17:51 +0000)]
PR c++/33255
* decl.c (save_function_data): Clear local_typedefs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181100
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 7 Nov 2011 17:51:16 +0000 (17:51 +0000)]
* decl.c (cp_finish_decl): Only make_tree_vector if we're calling
check_initializer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181099
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 7 Nov 2011 17:14:32 +0000 (17:14 +0000)]
Append to HOST_LIBGCC2_CFLAGS in libgcc
* config.host (tmake_file): Correct comment.
(bfin*-elf*): Remove bfin/t-elf from tmake_file, add
t-libgcc-pic.
(bfin*-uclinux*): Likewise.
(bfin*-linux-uclibc*): Likewise.
(xstormy16-*-elf): Add stormy16/t-stormy16 to tmake_file.
* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Append instead of
assigning.
* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Likewise.
* config/c6x/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/h8300/t-h8300 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/lm32/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/m32r/t-m32r (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mips/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Likewise.
* config/pdp11/t-pdp11 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/picochip/t-picochip (HOST_LIBGCC2_CFLAGS): Likewise.
* config/stormy16/t-stormy16 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/t-openbsd-thread (HOST_LIBGCC2_CFLAGS): Likewise.
* config/bfin/t-elf: Remove.
* config/t-vxworks (HOST_LIBGCC2_CFLAGS): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181098
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 7 Nov 2011 17:12:33 +0000 (17:12 +0000)]
Consistently use t-rtems in libgcc
* config.host (*-*-rtems*): Add t-rtems to tmake_file.
(i[34567]86-*-rtems*): Remove t-rtems from tmake_file.
(lm32-*-elf*, lm32-*-rtems*): Split into ...
(lm32-*-elf*): ... this.
(lm32-*-rtems*): ... and this.
Add to tmake_file.
(m32r-*-rtems*): Add to tmake_file.
(moxie-*-rtems*): Likewise.
(sparc-*-rtems*): Likewise.
Remove t-rtems from tmake_file.
(sparc64-*-rtems*): Likewise.
* config/t-rtems (HOST_LIBGCC2_CFLAGS): Use LIBGCC2_INCLUDES
instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181097
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Mon, 7 Nov 2011 16:38:24 +0000 (16:38 +0000)]
Check HARD_FRAME_POINTER_REGNUM.
2011-11-07 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2cfi.c (dwarf2out_frame_debug_expr): Check
HARD_FRAME_POINTER_REGNUM instead of hard_frame_pointer_rtx
in Rule 18.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181096
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 7 Nov 2011 16:34:31 +0000 (16:34 +0000)]
Return gthr-posix.h to libgcc (PR bootstrap/50982)
libgcc:
PR bootstrap/50982
* config/gthr-posix.h: Move ...
* gthr-posix.h: ... here.
* config/gthr-lynx.h: Reflect this.
* config/gthr-vxworks.h: Likewise.
* config/rs6000/gthr-aix.h: Likewise.
* configure.ac (target_thread_file): Likewise.
* configure: Regenerate.
libstdc++-v3:
PR bootstrap/50982
* include/Makefile.am (${host_builddir}/gthr-posix.h): Reflect
gthr-posix.h move.
* include/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181095
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 7 Nov 2011 16:30:55 +0000 (16:30 +0000)]
2011-11-07 Olivier Hainque <hainque@adacore.com>
* sigtramp-ppcvxw.c: Add general comments.
(CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add
rules for r2 to r13, plus CTR and XER.
(CFA_REG): New, register number used to hold the local CFA.
(CFI_DEF_CFA, SIGTRAMP_BODY): Use it.
Make that 15, not 14, with documentation.
(TCR): Undef before definition, preventing conflict with reg number in
VxWorks headers.
2011-11-07 Robert Dewar <dewar@adacore.com>
* exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb,
aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb: A tagged type is a legal actual for an aliased
formal.
2011-11-07 Pascal Obry <obry@adacore.com>
* g-socket.adb, g-socket.ads: Minor reformatting.
2011-11-07 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Actuals): Minor error message improvement.
2011-11-07 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add discussion of default mode handling of
source representation with no -gnatW option given, in particular
noting that NEL (next line) is not recognized in this context.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181094
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 7 Nov 2011 16:25:32 +0000 (16:25 +0000)]
2011-11-07 Yannick Moy <moy@adacore.com>
* sem_util.adb (Note_Possible_Modification): In Alfa mode,
generate a reference for a modification even when the modification
does not come from source.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Iterator_Loop): For the "of" iterator form,
use the indexing attributes rather than the Element function,
to obtain variable references.
* sem_ch4.adb (Try_Container_Indexing): Code cleanup. Use
Find_Aspect rather than iterating over representation
items. Improve error message.
* a-cohama.adb, a-cohama.ads Update to latest RM, with two versions
of Reference functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181093
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 7 Nov 2011 16:22:28 +0000 (16:22 +0000)]
2011-11-07 Yannick Moy <moy@adacore.com>
* sem_util.adb (Unique_Entity): For a parameter on a subprogram
body that has a corresponding parameter on the subprogram
declaration, define the unique entity as being the declaration
one.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Return_Type): In Ada 2012 mode, if the
return type of a function is the class-wide type of an incomplete
type T, T can be a Taft-amendment type and does not have to be
completed in the current private part.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* aspects.ads (Inherited_Aspect): Map that indicates type aspects
that are inherited by default, and apply to the class-wide type
as well.
* aspects.adb (Find_Aspect): If the entity is class-wide and the
aspect is inherited, use the aspect of the specific type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181092
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 7 Nov 2011 16:20:14 +0000 (16:20 +0000)]
2011-11-07 Hristian Kirtchev <kirtchev@adacore.com>
* exp_alfa.adb: Remove with and use clause for
Exp_Ch8. Add with and use clause for Exp_Util.
Remove local constant Disable_Processing_Of_Renamings.
(Expand_Alfa_N_Object_Renaming_Declaration): The expansion of
object renamings has been reenabled.
(Expand_Possible_Renaming):
The expansion of identifier and expanded names has been
reenabled. Perform the substitutions only for entities that
denote an object.
* exp_ch8.ads, exp_ch8.adb (Evaluate_Name): Moved to Exp_Util.
* exp_util.adb (Evaluate_Name): Moved from Exp_Ch8.
(Remove_Side_Effects): Alphabetize local variables. Add a guard
to avoid the infinite expansion of an expression in Alfa mode. Add
processing for function calls in Alfa mode.
* exp_util.ads (Evaliate_Name): Moved from Exp_Ch8.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Entity): If the entity is an access to
subprogram whose designated type is itself a subprogram type,
its own return type must be decorated with size information.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181091
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 7 Nov 2011 16:00:08 +0000 (16:00 +0000)]
* config/i386/i386.c (ix86_expand_builtin): If gather mask
argument is known to have all high bits set, pass pc_rtx as
second argument to the expander instead of op0.
* config/i386/sse.md (*avx2_gathersi<mode>_2,
*avx2_gatherdi<mode>_2): New patterns.
* config/i386/avx2intrin.h (_mm256_i32gather_pd,
_mm256_i64gather_pd, _mm256_i32gather_ps): Set mask using
_mm256_cmp_pd with zero vector arguments and _CMP_EQ_OQ instead of
_mm256_set1_pd.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181090
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 7 Nov 2011 15:59:07 +0000 (15:59 +0000)]
PR tree-optimization/50789
* tree-vect-stmts.c (process_use): Add force argument, avoid
exist_non_indexing_operands_for_use_p check if true.
(vect_mark_stmts_to_be_vectorized): Adjust callers. Handle
STMT_VINFO_GATHER_P.
(gen_perm_mask): New function.
(perm_mask_for_reverse): Use it.
(reverse_vec_element): Rename to...
(permute_vec_elements): ... this. Add Y and MASK_VEC arguments,
generalize for any permutations.
(vectorizable_load): Adjust caller. Handle STMT_VINFO_GATHER_P.
* target.def (TARGET_VECTORIZE_BUILTIN_GATHER): New hook.
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_GATHER): Document it.
* doc/tm.texi: Regenerate.
* tree-data-ref.c (initialize_data_dependence_relation,
compute_self_dependence): No longer static.
* tree-data-ref.h (initialize_data_dependence_relation,
compute_self_dependence): New prototypes.
* tree-vect-data-refs.c (vect_check_gather): New function.
(vect_analyze_data_refs): Detect possible gather load data
refs.
* tree-vectorizer.h (struct _stmt_vec_info): Add gather_p field.
(STMT_VINFO_GATHER_P): Define.
(vect_check_gather): New prototype.
* config/i386/i386-builtin-types.def: Add types for alternate
gather builtins.
* config/i386/sse.md (AVXMODE48P_DI): Remove.
(VEC_GATHER_MODE): Rename mode_attr to...
(VEC_GATHER_IDXSI): ... this.
(VEC_GATHER_IDXDI, VEC_GATHER_SRCDI): New mode_attrs.
(avx2_gathersi<mode>, *avx2_gathersi<mode>): Use <VEC_GATHER_IDXSI>
instead of <VEC_GATHER_MODE>.
(avx2_gatherdi<mode>): Use <VEC_GATHER_IDXDI> instead of
<<AVXMODE48P_DI> and <VEC_GATHER_SRCDI> instead of VEC_GATHER_MODE
on src and mask operands.
(*avx2_gatherdi<mode>): Likewise. Use VEC_GATHER_MODE iterator
instead of AVXMODE48P_DI.
(avx2_gatherdi<mode>256, *avx2_gatherdi<mode>256): Removed.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_GATHERALTSIV4DF, IX86_BUILTIN_GATHERALTDIV8SF,
IX86_BUILTIN_GATHERALTSIV4DI and IX86_BUILTIN_GATHERALTDIV8SI.
(ix86_init_mmx_sse_builtins): Create those builtins.
(ix86_expand_builtin): Handle those builtins and adjust expansions
of other gather builtins.
(ix86_vectorize_builtin_gather): New function.
(TARGET_VECTORIZE_BUILTIN_GATHER): Define.
* gcc.target/i386/avx2-gather-1.c: New test.
* gcc.target/i386/avx2-gather-2.c: New test.
* gcc.target/i386/avx2-gather-3.c: New test.
* gcc.target/i386/avx2-gather-4.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181089
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Mon, 7 Nov 2011 15:31:31 +0000 (15:31 +0000)]
clock and time are part of the C standard library.
2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
* intrinsic.texi (MCLOCK, MCLOCK8, TIME, TIME8): Functions clock
and time are part of the C standard library.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181087
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 7 Nov 2011 15:21:35 +0000 (15:21 +0000)]
* gcc.target/i386/pr49781-1.c (dg-options): Add -mtune=generic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181086
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Mon, 7 Nov 2011 14:32:50 +0000 (14:32 +0000)]
Revert previous fix for PR 45723.
libgfortran ChangeLog:
2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/45723
* io/open.c (new_unit): Don't check file size before attempting
seek.
testsuite ChangeLog:
2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/45723
* gfortran.dg/open_dev_null.F90: Remove testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181085
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 7 Nov 2011 13:45:03 +0000 (13:45 +0000)]
* acinclude.m4 (GLIBCXX_CHECK_SC_NPROC_ONLN): Define.
(GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP): Define.
(GLIBCXX_CHECK_SYSCTL_HW_NCPU): Define.
* configure.ac: Use new checks.
* configure: Regenerate.
* config.h.in: Regenerate.
* src/thread.cc: Check new config macros.
* testsuite/lib/libstdc++.exp: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181084
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 7 Nov 2011 13:09:09 +0000 (13:09 +0000)]
* lib/target-supports.exp (check_effective_target_sync_int_128):
Don't cache the result.
(check_effective_target_sync_long_long): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181082
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 7 Nov 2011 11:36:04 +0000 (11:36 +0000)]
* config/abi/pre/gnu.ver: Fix exports for string::pop_back.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181081
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 7 Nov 2011 10:23:56 +0000 (10:23 +0000)]
* config/i386/f16cintrin: Remove extra _X86INTRIN_H_INCLUDED check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181080
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Mon, 7 Nov 2011 10:17:44 +0000 (10:17 +0000)]
2011-11-07 Tristan Gingold <gingold@adacore.com>
* config.gcc (*-*-*vms*): Set c_target_objs, cxx_target_objs.
* config/vms/t-vms: Add vms-c.o rule.
* config/vms/vms-c.c: New file.
* config/vms/vms-protos.h (vms_c_register_pragma): New prototype.
* config/vms/vms.h (REGISTER_TARGET_PRAGMAS): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181079
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Mon, 7 Nov 2011 09:03:20 +0000 (09:03 +0000)]
2011-11-07 Tristan Gingold <gingold@adacore.com>
* config/alpha/vms.h (TARGET_OBJECT_SUFFIX,
TARGET_EXECUTABLE_SUFFIX, TARGET_OS_CPP_BUILTINS,
TARGET_ABI_OPEN_VMS, LONG_TYPE_SIZE, ADA_LONG_TYPE_SIZE,
POINTER_SIZE, POINTERS_EXTEND_UNSIGNED): Move to config/vms/vms.h
(SUBTARGET_OS_CPP_BUILTINS): Define.
(TARGET_DEFAULT): Tune according to POINTER_SIZE.
(MASK_RETURN_ADDR): Define in 64 bit mode.
* config/ia64/vms.h: Likewise.
* config/vms/vms.h: New file.
* config/vms/vms64.h: New file.
* config/alpha/vms64.h: Removed.
* config/ia64/vms64.h: Removed.
* config.gcc (alpha64-dec-*vms*, alpha*-dec-*vms*, ia64-hp-*vms*):
Adjust for above change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181078
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Mon, 7 Nov 2011 08:47:15 +0000 (08:47 +0000)]
gcc/
PR target/50962
* config/i386/i386-protos.h (ix86_use_lea_for_mov): New.
* config/i386/i386.c (ix86_use_lea_for_mov): Likewise.
* config/i386/i386.md (movsi_internal): Emit lea if profitable.
(movdi_internal_rex64): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181077
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 7 Nov 2011 08:46:58 +0000 (08:46 +0000)]
* acinclude.m4: Check for <stdalign.h>
* configure: Regenerate.
* config.h.in: Likewise.
* include/Makefile.am: Add <cstdalign>.
* include/Makefile.in: Regenerate.
* include/c_global/cstdalign: New.
* testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: New.
* doc/xml/manual/backwards_compatibility.xml: Update.
* doc/xml/manual/status_cxx2011.xml: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181076
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Mon, 7 Nov 2011 08:41:55 +0000 (08:41 +0000)]
gcc/
PR rtl-optimization/47698
* ifconv.c (noce_operand_ok): prevent CMOV generation
for volatile mem.
gcc/testsuite/
PR rtl-optimization/47698
* gcc.target/i386/47698.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181075
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Mon, 7 Nov 2011 08:33:14 +0000 (08:33 +0000)]
2011-11-07 Tristan Gingold <gingold@adacore.com>
* common/config/alpha/alpha-common.c (alpha_option_init_struct):
New function.
(TARGET_OPTION_INIT_STRUCT): Define.
* config/alpha/alpha.c (TARGET_MIN_ANCHOR_OFFSET)
(TARGET_MAX_ANCHOR_OFFSET)
(TARGET_USE_BLOCKS_FOR_CONSTANT_P): Redefine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181074
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 7 Nov 2011 07:54:06 +0000 (07:54 +0000)]
PR libstdc++/50982
* include/std/mutex (__once_proxy): Use void parameter list to
work on implicit extern "C" systems.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181072
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Mon, 7 Nov 2011 07:43:46 +0000 (07:43 +0000)]
make __stl_prime_list in comdat
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181071
138bc75d-0d04-0410-961f-
82ee72b054a4
hjagasia [Mon, 7 Nov 2011 04:59:47 +0000 (04:59 +0000)]
2011-11-06 Quentin Neill <quentin.neill@amd.com>
Fix r180999, update ChangeLog
* config.gcc: Add f16cintrin.h.
* f16cintrin.h: Add missing endif.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181070
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 7 Nov 2011 04:40:14 +0000 (04:40 +0000)]
PR c++/35688
gcc/c-common/
* c-common.c (decl_has_visibility_attr): Split out from...
(c_determine_visibility): ...here.
* c-common.h: Declare it.
gcc/cp/
* decl2.c (constrain_visibility): Check decl_has_visibility_attr
rather than DECL_VISIBILITY_SPECIFIED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181069
138bc75d-0d04-0410-961f-
82ee72b054a4
hjagasia [Mon, 7 Nov 2011 04:22:14 +0000 (04:22 +0000)]
2011-11-05 Quentin Neill <quentin.neill@amd.com>
Fix r180999.
* config.gcc: Add f16cintrin.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181068
138bc75d-0d04-0410-961f-
82ee72b054a4
corsepiu [Mon, 7 Nov 2011 03:22:39 +0000 (03:22 +0000)]
2011-11-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config.host (arm*-*-rtemseabi*): New target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181065
138bc75d-0d04-0410-961f-
82ee72b054a4
corsepiu [Mon, 7 Nov 2011 03:21:19 +0000 (03:21 +0000)]
2011-11-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config.gcc (arm*-*-rtemseabi*): New target.
* config/arm/rtems-eabi.h: New.
* config/arm/t-rtems-eabi: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181064
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Mon, 7 Nov 2011 02:22:40 +0000 (02:22 +0000)]
Get rid of sparc's UNSPEC_SHORT_LOAD.
* config/sparc/sparc.md (UNSPEC_SHORT_LOAD): Delete.
(zero_extend_v8qi_vis, zero_extend_v4hi_vis,
*zero_extend_v8qi_<P:mode>_insn,
*zero_extend_v4hi_<P:mode>_insn): Express using vec_merge
and vec_duplicate instead of using an UNSPEC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181063
138bc75d-0d04-0410-961f-
82ee72b054a4
xguo [Mon, 7 Nov 2011 02:20:35 +0000 (02:20 +0000)]
2011-11-07 Terry Guo <terry.guo@arm.com>
* gcc.target/arm/wmul-1.c: Adjust optimization level.
* gcc.target/arm/wmul-2.c: Ditto.
* gcc.target/arm/wmul-3.c: Ditto.
* gcc.target/arm/wmul-4.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181062
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 7 Nov 2011 01:14:33 +0000 (01:14 +0000)]
PR target/30282
* config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit
blockage for ABI_V4.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181056
138bc75d-0d04-0410-961f-
82ee72b054a4
davek [Mon, 7 Nov 2011 00:30:29 +0000 (00:30 +0000)]
* config/i386/cygwin.h (LIBGCJ_SONAME): Updated to match recent
libgcj version bump.
* config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181055
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 7 Nov 2011 00:22:18 +0000 (00:22 +0000)]
* gcse.c: Adjust outdated comments throughout.
(struct mem_conflict_info): New structure.
(mems_conflict_for_gcse_p): Use it to communicate with caller.
(load_killed_in_block_p): Pass it to note_stores.
(hash_expr): Remove superfluous line break.
(hash_scan_set): Rename PAT parameter into SET.
(hash_scan_insn): Reorder cases.
(canon_list_insert): Fix long line.
(edge_list): Delete.
(prune_expressions): Rename E local variable into EXPR.
(compute_pre_data): Return struct edge_list * object.
(pre_expr_reaches_here_p_work): Fix formatting.
(process_insert_insn): Move around comment.
(pre_edge_insert): Fix long line.
(pre_insert_copies): Likewise.
(gcse_emit_move_after): Swap SRC and DEST parameters.
(pre_delete): Adjust call to gcse_emit_move_after.
(pre_gcse): Take struct edge_list * parameter. Fix long line.
(one_pre_gcse_pass): Use flag_gcse_lm condition for all routines.
Use a local list of edges.
(hoist_code): Fix long line. Adjust call to gcse_emit_move_after.
(pre_ldst_expr_hash): Fix long line.
(free_ldst_mems): Rename into...
(free_ld_motion_mems): ...this.
(first_ls_expr): Delete.
(next_ls_expr): Likewise.
(print_ldst_list): Do not use above two functions.
(simple_mem): Adjust interface.
(compute_ld_motion_mems): Fix formatting.
(update_ld_motion_stores): Reuse local variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181054
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 7 Nov 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181053
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 7 Nov 2011 00:06:23 +0000 (00:06 +0000)]
* include/bits/basic_string.h (basic_string::at): Move adjacent to other
overload.
(basic_string::pop_back): Define.
* include/debug/string (__gnu_debug::basic_string::pop_back): Likewise.
* include/ext/vstring.h (__versa_string::pop_back): Likewise.
* config/abi/pre/gnu.ver: Add new symbols.
* testsuite/21_strings/basic_string/modifiers/char/pop_back.cc: New.
* testsuite/21_strings/basic_string/modifiers/wchar_t/pop_back.cc: New.
* testsuite/21_strings/basic_string/range_access.cc: Split to ...
* testsuite/21_strings/basic_string/range_access/char/1.cc: Here and ...
* testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: Here.
* testsuite/ext/vstring/modifiers/char/pop_back.cc: New.
* testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181049
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 6 Nov 2011 23:51:19 +0000 (23:51 +0000)]
* c-decl.c (shadow_tag_warned, grokdeclarator): Handle _Alignas
specifiers.
(build_null_declspecs): Initialize align_log and alignas_p fields.
(declspecs_add_alignas): New.
* c-parser.c (c_token_starts_declspecs): Handle RID_ALIGNAS.
(c_parser_declspecs): Handle _Alignas specifiers.
(c_parser_alignas_specifier): New.
(c_parser_alignof_expression): Diagnose alignof use for non-C1X.
Diagnose _Alignof (expression).
* c-tree.h (struct c_declspecs): Add align_log and alignas_p
fields.
(declspecs_add_alignas): Declare.
* ginclude/stddef.h (max_align_t): Define for C1X and C++11.
* ginclude/stdalign.h: New.
* Makefile.in (USER_H): Add stdalign.h.
c-family:
* c-common.c (c_common_reswords): Add _Alignas and _Alignof.
(c_sizeof_or_alignof_type): Diagnose alignof applied to a function
type.
(check_user_alignment): New. Split out of
handle_aligned_attribute. Disallow integer constants with
noninteger types. Conditionally allow zero.
(handle_aligned_attribute): Use check_user_alignment.
* c-common.h (RID_ALIGNAS, check_user_alignment): New.
testsuite:
* g++.dg/cpp0x/alignof3.C, gcc.dg/c1x-align-1.c,
gcc.dg/c1x-align-2.c, gcc.dg/c1x-align-3.c, gcc.dg/c1x-align-4.c,
gcc.dg/c90-align-1.c, gcc.dg/c99-align-1.c: New tests.
* gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu90-const-expr-1.c,
gcc.dg/gnu99-const-expr-1.c, gcc.dg/gnu99-static-1.c: Update
expected diagnostics.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181048
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sun, 6 Nov 2011 23:25:25 +0000 (23:25 +0000)]
* doc/xml/manual/backwards_compatibility.xml: Fix autoconf tests for
C++11 compiler features and library headers. Add stable id
attributes. Use <filename> element for headers and surround in angle
brackets. Use <classname> for classes.
* doc/html/*: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181047
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Sun, 6 Nov 2011 22:58:54 +0000 (22:58 +0000)]
* regset.h (fixed_reg_set_regset): Declare.
* dse.c: Include regset.h .
(struct insn_info): Add member fixed_regs_live.
(note_add_store_info): New typedef.
(note_add_store): New function.
(emit_inc_dec_insn_before): Expect arg to be of type insn_info_t .
Use gen_add3_insn / gen_move_insn.
Check new insn for unwanted clobbers before emitting it.
(check_for_inc_dec): Rename to...
(check_for_inc_dec_1:) ... this. Return bool. Take insn_info
parameter. Changed all callers in file.
(check_for_inc_dec, copy_fixed_regs): New functions.
(scan_insn): Set fixed_regs_live field of insn_info.
* rtl.h (check_for_inc_dec): Update prototype.
* postreload.c (reload_cse_simplify): Take new signature of
check_ind_dec into account.
* reginfo.c (fixed_reg_set_regset): New variable.
(init_reg_sets_1): Initialize it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181046
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sun, 6 Nov 2011 22:10:41 +0000 (22:10 +0000)]
* doc/xml/manual/status_cxx2011.xml: Document <cuchar> and
<cstdalign> as missing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181045
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sun, 6 Nov 2011 21:36:54 +0000 (21:36 +0000)]
2011-11-06 Janus Weil <janus@gcc.gnu.org>
* gfortran.h (gfc_extend_expr): Modified prototype.
* interface.c (gfc_extend_expr): Return 'match' instead of 'gfc_try'.
Remove argument 'real_error'.
* resolve.c (resolve_operator): Modified call to 'gfc_extend_expr'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181044
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 6 Nov 2011 21:05:44 +0000 (21:05 +0000)]
2011-11-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/47695
* decl2.c (mark_used): Early return false after error or sorry.
* cp-tree.h (mark_used): Adjust declaration.
* semantics.c (finish_id_expression): Check mark_used return value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181042
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sun, 6 Nov 2011 20:15:53 +0000 (20:15 +0000)]
* doc/xml/faq.xml: Replace references to C++0x with C++11.
* doc/xml/manual/intro.xml: Likewise.
* doc/xml/manual/backwards_compatibility.xml: Likewise.
* doc/xml/manual/shared_ptr.xml: Likewise.
* doc/xml/manual/configure.xml: Likewise.
* doc/xml/manual/evolution.xml: Likewise.
* doc/xml/manual/using.xml: Likewise.
* doc/xml/manual/strings.xml: Likewise.
* doc/xml/manual/debug_mode.xml: Likewise.
* doc/xml/manual/policy_data_structures.xml: Likewise.
* doc/xml/manual/extensions.xml: Likewise.
* doc/xml/manual/diagnostics.xml: Likewise.
* doc/xml/manual/test.xml: Likewise.
* doc/xml/manual/status_cxx200x.xml: Likewise, and rename to...
* doc/xml/manual/status_cxx2011.xml: Here.
* doc/Makefile.am: Rename status_cxx200x.xml.
* doc/Makefile.in: Regenerate.
* doc/html/*: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181041
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sun, 6 Nov 2011 19:43:32 +0000 (19:43 +0000)]
* tree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove
any user labels.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181040
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 6 Nov 2011 19:24:19 +0000 (19:24 +0000)]
PR other/50991
* Makefile.in: Make EXTRA_PARTS depend on libgcc_tm.h instead of
extra-parts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181039
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 6 Nov 2011 19:12:54 +0000 (19:12 +0000)]
* config/pa/pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.
Remove dependence of declaration and target define on definition of
HPUX_LONG_DOUBLE_LIBRARY. Update implementation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181038
138bc75d-0d04-0410-961f-
82ee72b054a4
fdumont [Sun, 6 Nov 2011 17:16:00 +0000 (17:16 +0000)]
2011-11-06 François Dumont <fdumont@gcc.gnu.org>
* testsuite/performance/23_containers/insert_erase/41975.cc: Add
tests to check performance with or without cache of hash code and with
string type that has a costlier hash functor than int type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181037
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Sun, 6 Nov 2011 14:55:48 +0000 (14:55 +0000)]
Check in patch/merge from cxx-mem-model Branch
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181031
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Sun, 6 Nov 2011 14:43:20 +0000 (14:43 +0000)]
Remove unwanted svn:executable properties that svn add had decided to add.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181030
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Sun, 6 Nov 2011 13:02:15 +0000 (13:02 +0000)]
2011-11-6 Richard Guenther <rguenther@suse.de>
* ipa-prop.c (ipa_modify_call_arguments): Re-compute
inlinable flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181027
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Sun, 6 Nov 2011 09:01:45 +0000 (09:01 +0000)]
* tree-vectorizer.h (vectorizable_condition): Add argument.
* tree-vect-loop.c (vectorizable_reduction): Fail for condition
in SLP. Update calls to vectorizable_condition.
* tree-vect-stmts.c (vect_is_simple_cond): Add basic block info
to the arguments. Pass it to vect_is_simple_use_1.
(vectorizable_condition): Add slp_node to the arguments.
Support vectorization of basic blocks. Fail for reduction in
SLP. Update calls to vect_is_simple_cond and
vect_is_simple_use. Support SLP: call vect_get_slp_defs to get
vector operands.
(vect_analyze_stmt): Update calls to vectorizable_condition.
(vect_transform_stmt): Likewise.
* tree-vect-slp.c (vect_create_new_slp_node): Handle COND_EXPR.
(vect_get_and_check_slp_defs): Handle COND_EXPR. Allow pattern
def stmts.
(vect_build_slp_tree): Handle COND_EXPR.
(vect_analyze_slp_instance): Push pattern statements to root
node.
(vect_get_constant_vectors): Fix comments. Handle COND_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181026
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Sun, 6 Nov 2011 02:39:03 +0000 (02:39 +0000)]
More improvements to sparc VIS vec_init code generation.
gcc/
* config/sparc/sparc.md (UNSPEC_SHORT_LOAD): New unspec.
(zero-extend_v8qi_vis, zero_extend_v4hi_vis): New expanders.
(*zero_extend_v8qi_<P:mode>_insn,
*zero_extend_v4hi_<P:mode>_insn): New insns.
* config/sparc/sparc.c (vector_init_move_words,
vector_init_prepare_elts, sparc_expand_vector_init_vis2,
sparc_expand_vector_init_vis1): New functions.
(vector_init_bshuffle): Rewrite to handle more cases and make use
of locs[] array prepared by vector_init_prepare_elts.
(vector_init_fpmerge, vector_init_faligndata): Delete.
(sparc_expand_vector_init): Rewrite using new infrastructure.
gcc/testsuite/
* lib/test-supports.exp
(check_effective_target_ultrasparc_vis2_hw): New proc.
(check_effective_target_ultrasparc_vis3_hw): New proc.
* gcc.target/sparc/vec-init-1.inc: New vector init common code.
* gcc.target/sparc/vec-init-2.inc: Likewise.
* gcc.target/sparc/vec-init-3.inc: Likewise.
* gcc.target/sparc/vec-init-1-vis1.c: New test.
* gcc.target/sparc/vec-init-1-vis2.c: New test.
* gcc.target/sparc/vec-init-1-vis3.c: New test.
* gcc.target/sparc/vec-init-2-vis1.c: New test.
* gcc.target/sparc/vec-init-2-vis2.c: New test.
* gcc.target/sparc/vec-init-2-vis3.c: New test.
* gcc.target/sparc/vec-init-3-vis1.c: New test.
* gcc.target/sparc/vec-init-3-vis2.c: New test.
* gcc.target/sparc/vec-init-3-vis3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181024
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sun, 6 Nov 2011 00:51:17 +0000 (00:51 +0000)]
* doc/xml/manual/test.xml: Fix dg-warning examples.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181023
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sun, 6 Nov 2011 00:29:36 +0000 (00:29 +0000)]
PR libstdc++/44436
* doc/xml/manual/status_cxx200x.xml: Document emplace members are
missing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181022
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 6 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181021
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 5 Nov 2011 21:06:34 +0000 (21:06 +0000)]
* decl.c (cp_finish_decl): Mostly revert previous change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181017
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Sat, 5 Nov 2011 20:48:23 +0000 (20:48 +0000)]
gcc:
* config.gcc (epiphany-*-*): New architecture.
(epiphany-*-elf): New configuration.
* config/epiphany, common/config/epiphany : New directories.
* doc/extend.texi (disinterrupt attribute): Add Epiphany.
(interrupt attribute): Add Epiphany.
(long_call, short_call attribute): Add Epiphany.
* doc/invoke.texi (Options): Add Epiphany options.
* doc/md.texi (Machine Constraints): Add Epiphany constraints.
* doc/install.texi (Options specification):
Add --with-stack-offset=@var{num} description.
(host/target specific issues): Add epiphany-*-elf.
* doc/contrib.texi (Contributors): Mention Epiphany port.
gcc/testsuite:
* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x:
Disable test on Epiphany.
* gcc.c-torture/execute/
20101011-1.c: Disable test on Epiphany.
* gcc.dg/stack-usage-1.c [__epiphany__] (SIZE): Define.
* gcc.dg/pragma-pack-3.c: Disable test on Epiphany.
* g++.dg/parse/pragma3.C: Likewise.
* stackalign/builtin-apply-2.c (STACK_ARGUMENTS_SIZE): Define.
(bar): Use it.
* gcc.dg/weak/typeof-2.c [epiphany-*-*]: Add option -mshort-calls.
* gcc.dg/tls/thr-cse-1.c: Likewise.
* g++.dg/opt/devirt2.C: Likewise.
* gcc.dg/
20020312-2.c [epiphany-*-*] (PIC_REG): Define.
* gcc.dg/builtin-apply2.c [__epiphany__]: (STACK_ARGUMENTS_SIZE): 20.
* gcc.target/epiphany: New directory.
libgcc:
* config.host (epiphany-*-elf*): New configuration.
* config/epiphany: New Directory.
contrib:
* contrib-list.mk: Add Epiphany configurations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181016
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 5 Nov 2011 20:43:44 +0000 (20:43 +0000)]
2011-11-05 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/quad_2.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181015
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 5 Nov 2011 19:58:37 +0000 (19:58 +0000)]
PR tree-optimization/50693
* tree-cfg.c (gimple_can_merge_blocks_p): Allow merging with
non-forced user labels.
(gimple_merge_blocks): Turn non-forced user labels into
debug bind stmt with the label as first operand and reset value.
(gimple_duplicate_bb): Don't duplicate label debug stmts.
* dwarf2out.c (gen_label_die): Handle NOTE_INSN_DELETED_DEBUG_LABEL.
* final.c (final_scan_insn): Likewise.
(rest_of_clean_state): Don't dump NOTE_INSN_DELETED_DEBUG_LABEL.
* var-tracking.c (debug_label_num): New variable.
(delete_debug_insns): Don't delete DEBUG_INSNs for LABEL_DECLs,
instead turn them into NOTE_INSN_DELETED_DEBUG_LABEL notes.
* cfglayout.c (skip_insns_after_block, duplicate_insn_chain): Handle
NOTE_INSN_DELETED_DEBUG_LABEL.
(duplicate_insn_chain): Don't duplicate LABEL_DECL DEBUG_INSNs.
* insn-notes.def (DELETED_DEBUG_LABEL): New note kind.
* print-rtl.c (print_rtx): Handle NOTE_INSN_DELETED_DEBUG_LABEL.
* gengtype.c (adjust_field_rtx_def): Likewise.
* config/i386/i386.c (ix86_output_function_epilogue): For MachO
clear CODE_LABEL_NUMBER of NOTE_INSN_DELETED_DEBUG_LABEL
if their are at the end of function and nop hasn't been emitted.
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181014
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sat, 5 Nov 2011 13:33:29 +0000 (13:33 +0000)]
PR libstdc++/49894
PR bootstrap/50982
* include/std/mutex (once_flag): Use NSDMI.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181013
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Sat, 5 Nov 2011 13:15:57 +0000 (13:15 +0000)]
Fix typo in entry for r180962.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181012
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Sat, 5 Nov 2011 13:08:54 +0000 (13:08 +0000)]
PR rtl-optimization/50448
* cprop.c (try_replace_reg): Also try to replace uses of FROM that
appear in SET_DEST.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181011
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 5 Nov 2011 11:30:23 +0000 (11:30 +0000)]
Tweak previous commit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181010
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 5 Nov 2011 10:44:45 +0000 (10:44 +0000)]
* gcc.dg/strlenopt-22g.c: New wrapper around...
* gcc.dg/strlenopt-22.c: ...this. Do not define USE_GNU and adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181009
138bc75d-0d04-0410-961f-
82ee72b054a4
corsepiu [Sat, 5 Nov 2011 06:25:16 +0000 (06:25 +0000)]
Fix malformated ChangeLog entries.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181007
138bc75d-0d04-0410-961f-
82ee72b054a4
corsepiu [Sat, 5 Nov 2011 06:18:08 +0000 (06:18 +0000)]
2011-11-05 Peter Dufault <dufault@hda.com>,
Sebastian Huber <sebastian.huber@embedded-brains.de>
* config/rs6000/rtems.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
Extend rs6000_spe handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181006
138bc75d-0d04-0410-961f-
82ee72b054a4
corsepiu [Sat, 5 Nov 2011 06:09:09 +0000 (06:09 +0000)]
2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org>
* config/rs6000/t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.
Remove -mcpu=601 multilib.
Remove -Dmpc8260 multilib.
* config/rs6000/rtems.h: Allow --float-gprs=... to override grps
on E500 targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181005
138bc75d-0d04-0410-961f-
82ee72b054a4
corsepiu [Sat, 5 Nov 2011 04:45:12 +0000 (04:45 +0000)]
2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org>
* config.host (avr-*-rtems*): Add config/avr/t-rtems.
* config/avr/t-rtems: New.
Filter out _exit from LIB1ASMFUNCS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181003
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 5 Nov 2011 03:28:14 +0000 (03:28 +0000)]
PR c++/26714
* init.c (perform_member_init): Strip TARGET_EXPR around NSDMI.
Do temporary lifetime extension.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181002
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 5 Nov 2011 03:28:05 +0000 (03:28 +0000)]
PR c++/48370
* decl.c (cp_finish_decl): Run cleanups in the right order.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181001
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Sat, 5 Nov 2011 02:46:21 +0000 (02:46 +0000)]
Tweak libgcc configure test for 64-bit.
libgcc/
* configure.ac: Test for 64-bit addresses on !x86 using __LP64__.
* configure: Rebuild.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181000
138bc75d-0d04-0410-961f-
82ee72b054a4
hjagasia [Sat, 5 Nov 2011 02:31:29 +0000 (02:31 +0000)]
2011-11-04 Quentin Neill <quentin.neill@amd.com>
Piledriver f16cintrin.h fix.
* config/i386/f16cintrin.h: Contents moved from immintrin.h.
* config/config.gcc: Add f16cintrin.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180999
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 5 Nov 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180996
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 4 Nov 2011 23:03:37 +0000 (23:03 +0000)]
Fix select { case v, ok := <-c: }.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180992
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 4 Nov 2011 21:46:07 +0000 (21:46 +0000)]
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
PR c++/50608
* c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
to fold_offsetof.
* c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
c-family/
* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
(fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
<INDIRECT_REF>: Return the argument.
<ARRAY_REF>: Remove special code for negative offset.
Call fold_build_pointer_plus instead of size_binop.
(fold_offsetof): Remove STOP_REF argument and adjust.
* c-common.h (fold_offsetof_1): Declare.
(fold_offsetof): Remove STOP_REF argument.
cp/
* semantics.c (finish_offsetof): Adjust call to fold_offsetof.
* typeck.c (cp_build_addr_expr_1): Call fold_offsetof_1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180986
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Fri, 4 Nov 2011 21:05:46 +0000 (21:05 +0000)]
* reload1.c (gen_reload): Don't use REGNO on SUBREGs.
* print-rtl.c (print_rtx): Don't segfault on negative regno.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180983
138bc75d-0d04-0410-961f-
82ee72b054a4