1. 24 Mar, 2015 15 commits
    • [multiple changes] · 5f6061af
      2015-03-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Rep_Item_Too_Early): allow pragma Convention
      	on generic type.
      
      2015-03-24  Gary Dismukes  <dismukes@adacore.com>
      
      	* inline.adb: Minor typo fix.
      
      From-SVN: r221629
      Arnaud Charlet committed
    • building_executable_programs_with_gnat.rst, [...]: Doc improvements. · a62638a3
      	* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
      	doc/gnat_ugn/gnat_utility_programs.rst
      	doc/gnat_rm/implementation_defined_attributes.rst
      	doc/gnat_rm/implementation_defined_pragmas.rst
      	doc/gnat_rm/representation_clauses_and_pragmas.rst
      	doc/gnat_rm/about_this_guide.rst
      	doc/gnat_rm/implementation_of_ada_2012_features.rst: Doc improvements.
      	* gnat_rm.texi, gnat_ugn.texi: Regenerate.
      
      From-SVN: r221628
      Arnaud Charlet committed
    • re PR fortran/55901 ([OOP] type is (character(len=*)) misinterpreted as array) · a2581005
      2015-03-24  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/55901
      	* trans-expr.c (gfc_conv_structure): Fixed indendation.
      	Using integer_zero_node now instead of explicitly
      	constructing a integer constant zero node.
      	(gfc_conv_derived_to_class): Add handling of _len component,
      	i.e., when the rhs has a string_length then assign that to
      	class' _len, else assign 0.
      	(gfc_conv_intrinsic_to_class): Likewise.
      
      From-SVN: r221627
      Andre Vehreschild committed
    • re PR c++/60067 (bogus error default template arguments may not be used in function templates) · 29ec68cb
      2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60067
      	* g++.dg/template/defarg18.C: New.
      
      From-SVN: r221626
      Paolo Carlini committed
    • re PR c++/60067 (bogus error default template arguments may not be used in function templates) · 4c5744b4
      2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/60067
      	* g++.dg/template/defarg18.C: New.
      
      From-SVN: r221625
      Paolo Carlini committed
    • re PR c++/59988 (Failing to specialize template class) · a75225d6
      2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59988
      	* g++.dg/cpp0x/vt-59988.C: New.
      
      From-SVN: r221624
      Paolo Carlini committed
    • re PR c++/59988 (Failing to specialize template class) · cca38f29
      2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59988
      	* g++.dg/cpp0x/vt-59988.C: New.
      
      From-SVN: r221623
      Paolo Carlini committed
    • re PR tree-optimization/65533 (252.eon in SPEC CPU 2000 failed to build) · e72baed7
      	PR tree-optimization/65533
      	* tree-vect-slp.c (vect_build_slp_tree): Before re-trying
      	with swapped operands, call vect_free_slp_tree on
      	SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
      	vector.
      
      	* gcc.dg/pr65533.c: New test.
      
      From-SVN: r221622
      Jakub Jelinek committed
    • re PR fortran/64787 (Invalid code on sourced allocation of class(*) character string) · 34d9d749
      gcc/fortran/ChangeLog
      
      2015-03-24  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/64787
      	PR fortran/57456
      	PR fortran/63230
      	* class.c (gfc_add_component_ref):  Free no longer needed
      	ref-chains to prevent memory loss.
      	(find_intrinsic_vtab): For deferred length char arrays or
      	unlimited polymorphic objects, store the size in bytes of one
      	character in the size component of the vtab.
      	* gfortran.h: Added gfc_add_len_component () define.
      	* trans-array.c (gfc_trans_create_temp_array): Switched to new
      	function name for getting a class' vtab's field.
      	(build_class_array_ref): Likewise.
      	(gfc_array_init_size): Using the size information from allocate
      	more consequently now, i.e., the typespec of the entity to
      	allocate is no longer needed.  This is to address the last open
      	comment in PR fortran/57456.
      	(gfc_array_allocate): Likewise.
      	(structure_alloc_comps): gfc_copy_class_to_class () needs to
      	know whether the class is unlimited polymorphic.
      	* trans-array.h: Changed interface of gfc_array_allocate () to
      	reflect the no longer needed typespec.
      	* trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
      	(gfc_reset_len): New.
      	(gfc_get_class_array_ref): Switch to new function name for
      	getting a class' vtab's field.
      	(gfc_copy_class_to_class):  Added flag to know whether the class
      	to copy is unlimited polymorphic.  Adding _len dependent code
      	then, which calls ->vptr->copy () with four arguments adding
      	the length information ->vptr->copy(from, to, from_len, to_cap).
      	(gfc_conv_procedure_call): Switch to new function name for
      	getting a class' vtab's field.
      	(alloc_scalar_allocatable_for_assignment): Use the string_length
      	as computed by gfc_conv_expr and not the statically backend_decl
      	which may be incorrect when ref-ing.
      	(gfc_trans_assignment_1): Use the string_length variable and
      	not the rse.string_length.  The former has been computed more
      	generally.
      	* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
      	function name for getting a class' vtab's field.
      	(gfc_conv_intrinsic_storage_size): Likewise.
      	(gfc_conv_intrinsic_transfer): Likewise.
      	* trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
      	source=expr3 only once before the loop over the objects to
      	allocate, when the objects are not arrays. Doing correct _len
      	initialization and calling of vptr->copy () fixing PR 64787.
      	(gfc_trans_deallocate): Reseting _len to 0, preventing future
      	errors.
      	* trans.c (gfc_build_array_ref): Switch to new function name
      	for getting a class' vtab's field.
      	(gfc_add_comp_finalizer_call): Likewise.
      	* trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
      	and gfc_vptr_*_get () functions.
      	Added gfc_find_and_cut_at_last_class_ref () and
      	gfc_reset_len () routine prototype.  Added flag to
      	gfc_copy_class_to_class () prototype to signal an unlimited
      	polymorphic entity to copy.
      
      gcc/testsuite/ChangeLog
      
      2015-03-24  Andre Vehreschild  <vehre@gmx.de>
      
      	* gfortran.dg/allocate_alloc_opt_13.f90: Added tests for
      	source= and mold= expressions functionality.
      	* gfortran.dg/allocate_class_4.f90: New test.
      	* gfortran.dg/unlimited_polymorphic_20.f90: Added test whether
      	copying an unlimited polymorhpic object containing a char array
      	to another unlimited polymorphic object respects the _len
      	component.
      	* gfortran.dg/unlimited_polymorphic_22.f90: Extended to check
      	whether deferred length char array allocate works, unlimited
      	polymorphic object allocation from a string works and if
      	allocating an array of deferred length strings works.
      	* gfortran.dg/unlimited_polymorphic_24.f03: New test.
      
      From-SVN: r221621
      Andre Vehreschild committed
    • re PR c++/65513 (gcc stops with "internal compiler error") · a9272fd0
      2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/65513
      	* g++.dg/cpp0x/constexpr-array11.C: New.
      
      From-SVN: r221620
      Paolo Carlini committed
    • re PR middle-end/65517 (ICE: in get_loop_body, at cfgloop.c:856) · bdb37448
      2015-03-24  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/65517
      	* tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
      	for fixup if necessary.
      
      	* gcc.dg/torture/pr65517.c: New testcase.
      
      From-SVN: r221619
      Richard Biener committed
    • coindexed_1.f90: Moved from gfortran.dg/coarray/coindexed_3.f90; added dg-options. · f9addac7
      2015-03-24  Tobias Burnus  <burnus@net-b.de>
      
              * gfortran.dg/coindexed_1.f90: Moved from
              gfortran.dg/coarray/coindexed_3.f90; added dg-options.
      
      From-SVN: r221618
      Tobias Burnus committed
    • gfortran.texi (_gfortran_caf_sync_memory): Improve wording. · f7a35a83
      2015-03-24  Iain Sandoe  <iain@codesourcery.com>
                  Tobias Burnus  <burnus@net-b.de>
      
              * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
      
      
      Co-Authored-By: Tobias Burnus <burnus@net-b.de>
      
      From-SVN: r221615
      Iain Sandoe committed
    • extend.texi (Function Attributes): Add @cindex entries for all attributes and… · 0c0f9f31
      extend.texi (Function Attributes): Add @cindex entries for all attributes and regularize their format.
      
      2015-03-23  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/extend.texi (Function Attributes): Add @cindex entries
      	for all attributes and regularize their format.  Delete text
      	about long-obsolete 68HC11 and 68HC12 targets.  Move misplaced
      	information about "eightbit_data", "tiny_data", and "model"
      	variable attributes to the Variable Attributes section.  Fix
      	some obvious typos and copy-editing issues.
      	(Variable Attributes, Type Attributes): Likewise add/fix
      	@cindex entries for all attributes.
      
      From-SVN: r221614
      Sandra Loosemore committed
    • Daily bump. · 974a5e9f
      From-SVN: r221613
      GCC Administrator committed
  2. 23 Mar, 2015 21 commits
    • re PR testsuite/65506 (FAIL: gcc.dg/pr29215.c scan-tree-dump-not gimple "memcpy") · d197a9fd
      2015-03-23  Jakub Jelinek  <jakub@redhat.com>
      
      	PR testsuite/65506
      	* gcc.dg/pr29215.c: Dump and analyze ccp1 dump instead of
      	gimple dump.
      
      From-SVN: r221607
      Jakub Jelinek committed
    • re PR target/65523 (ICE: in gimple_op, at gimple.h:2270 with -fcheck-pointer-bounds -mmpx) · fc6a2c5d
      	PR target/65523
      	* tree-chkp.c (chkp_build_returned_bound): Ignore
      	ERF_RETURNS_ARG calls if they have fewer than needed arguments.
      
      	* gcc.target/i386/pr65523.c: New test.
      
      From-SVN: r221606
      Jakub Jelinek committed
    • re PR lto/65475 (ICE in odr_vtable_hasher::equal (Segmentation fault)) · 9804b0fb
      	PR ipa/65475
      	* g++.dg/lto/pr65475_0.C: Use dg-lto-options instead of
      	dg-options.
      	* g++.dg/lto/pr65475b_0.C: Likewise.
      
      From-SVN: r221605
      Jakub Jelinek committed
    • re PR target/65505 ([SH] ICE in sh_disp_addr_displacement) · 21f65dc8
      gcc/
      	PR target/65505
      	* config/sh/predicates.md (simple_mem_operand,
      	displacement_mem_operand): Add test for reg.
      	(short_displacement_mem_operand): Test for displacement_mem_operand
      	before invoking sh_disp_addr_displacement.
      	* config/sh/constraints.md (Sdd, Sra): Simplify.
      	* config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
      	Remove redundant displacement_mem_operand tests.
      
      gcc/testsuite/
      	PR target/65505
      	* gcc.target/sh/torture/pr65505.c: New.
      
      From-SVN: r221604
      Oleg Endo committed
    • re PR target/65296 ([avr] fix various issues with specs file generation) · ed137300
      	PR target/65296
      	* config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
      	the same -mmcu=MCU more than once.
      
      From-SVN: r221602
      Georg-Johann Lay committed
    • re PR testsuite/63175 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c… · 1c5ad287
      re PR testsuite/63175 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c scan-tree-dump-times slp2" basic block vectorized using SLP" 1)
      
      2015-03-23  Martin Sebor  <msebor@redhat.com>
      
      	PR testsuite/63175
      	* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: Scan
      	assembly for lvx in addition to lxv.
      
      From-SVN: r221601
      Martin Sebor committed
    • re PR libstdc++/64967 (Bootstrap fails due to errors in libstdc++ sources with… · 8dcf3d3c
      re PR libstdc++/64967 (Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace')
      
      	PR libstdc++/64967
      	* acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
      	* configure: Regenerate.
      	* src/c++11/compatibility-c++0x.cc (error_category), generic_category,
      	system_category): Use macros for versioned namespace.
      	* src/c++11/futex.cc: Add missing end macro for versioned namespace.
      
      From-SVN: r221600
      Jonathan Wakely committed
    • re PR bootstrap/65522 (Svn revision 221590 fails bootstrap -… · 46848948
      re PR bootstrap/65522 (Svn revision 221590 fails bootstrap - ../libiberty/libiberty.a(cplus-dem.o): In function `ada_demangle': cplus-dem.c:(.text+0xdb8): multiple definition of `ada_demangle' ada/adadecode.o:adadecode.c:(.text+0x863): first defined here)
      
      	PR bootstrap/65522
      	* ipa-devirt.c: Remove duplicate demangle.h include.
      
      	* adadecode.c (ada_demangle): Guard with IN_RTS instead of IN_GCC.
      
      From-SVN: r221599
      Jakub Jelinek committed
    • * fr.po: Update. · d2e70142
      From-SVN: r221598
      Joseph Myers committed
    • re PR target/65504 (select case with strings and -fgcse -O) · 404b86ed
      	PR target/65504
      	* config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
      	on the pseudo.
      	(expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
      	REG_POINTER on *destptr after adjusting it for prologue size.
      
      	* gfortran.dg/pr65504.f90: New test.
      
      From-SVN: r221597
      Jakub Jelinek committed
    • re PR ipa/65521 (nondeterministic -fcompare-debug failures) · f45be077
      	PR ipa/65521
      	* ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
      	ultimate_alias_target ()->order ints instead of
      	ultimate_alias_target () pointers.
      
      	* gcc.dg/pr65521.c: New test.
      
      From-SVN: r221596
      Jakub Jelinek committed
    • re PR tree-optimization/65518 (gcc consumes all memory with -O3) · d5f035ea
      2015-03-23  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/65518
      	* tree-vect-stmts.c (vectorizable_load): Reject single-element
      	interleaving cases we generate absymal code for.
      
      	* gcc.dg/vect/pr65518.c: New testcase.
      
      From-SVN: r221595
      Richard Biener committed
    • re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap… · d886f7cc
      re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux and aarch64-linux)
      
      2015-03-23  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	PR sanitizer/59009
      	* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
      	upstream r230324.
      	* sanitizer_common/sanitizer_platform.h: Likewise.
      	* sanitizer_common/sanitizer_common_syscalls.inc: Likewise.
      
      From-SVN: r221593
      Christophe Lyon committed
    • re PR tree-optimization/65494 (Loop is not vectorized because of operand canonicalization.) · 89d390e5
      2015-03-23  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/65494
      	* tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
      	matches here.
      	(vect_analyze_slp_instance): But do that here, always and once.
      
      	* gcc.dg/vect/pr65494.c: New testcase.
      
      From-SVN: r221592
      Richard Biener committed
    • [expmed][trivial] Fix comment about multiplying by T-1 and adding T. · c61928d0
      	* expmed.c (synth_mult): Fix comment about multiplying by T-1 and
      	adding T or multiplying by T+1 and subracting T.
      
      From-SVN: r221588
      Kyrylo Tkachov committed
    • re PR preprocessor/65238 (__has_attribute is not handled properly with -traditional-cpp.) · fb136e35
      	PR preprocessor/65238
      	* internal.h (_cpp_scan_out_logical_line): Add third argument.
      	* directives.c (prepare_directive_trad): Pass false to it.
      	* traditional.c (_cpp_read_logical_line_trad,
      	_cpp_create_trad_definition): Likewise.
      	(struct fun_macro): Add paramc field.
      	(fun_like_macro): New function.
      	(maybe_start_funlike): Handle NODE_BUILTIN macros.  Initialize
      	macro->paramc field.
      	(save_argument): Use macro->paramc instead of
      	macro->node->value.macro->paramc.
      	(push_replacement_text): Formatting fix.
      	(recursive_macro): Use fun_like_macro helper.
      	(_cpp_scan_out_logical_line): Likewise.  Add BUILTIN_MACRO_ARG
      	argument.  Initialize fmacro.paramc field.  Handle builtin
      	function-like macros.
      
      	* c-c++-common/cpp/pr65238-1.c: New test.
      	* gcc.dg/cpp/pr65238-2.c: New test.
      	* gcc.dg/cpp/trad/pr65238-3.c: New test.
      	* gcc.dg/cpp/trad/pr65238-4.c: New test.
      
      From-SVN: r221587
      Jakub Jelinek committed
    • re PR fortran/64952 (Missing temporary in assignment from elemental function) · 30c931de
      2015-03-23  Paul Thomas  <pault@gcc.gnu.org>
      	    Mikael Morin  <mikael@gcc.gnu.org>
      
      	PR fortran/64952
      fortran/
      	* gfortran.h (struct symbol_attribute) : New field
      	'array_outer_dependency'.
      	* trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
      	* module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
      	(attr_bits): Append same value to initializer.
      	(mio_symbol_attribute): Handle 'array_outer_dependency' attr
      	in module read and write.
      	* resolve.c (update_current_proc_outer_array_dependency): New function.
      	(resolve_function, resolve_call): Add code to update current procedure's
      	'array_outer_dependency' attribute.
      	(resolve_variable): Mark current procedure with attribute
      	array_outer_dependency if the variable is an array coming from outside
      	the current namespace.
      	(resolve_fl_procedure): Mark a procedure without body with attribute
      	'array_outer_dependency'.
      	* trans-array.c (gfc_conv_resolve_dependencies): If any ss is
      	marked as 'array_outer_dependency' generate a temporary.
      	(gfc_walk_function_expr): If the function may reference external arrays,
      	mark the head gfc_ss with flag 'array_outer_dependency'.
      testsuite/
      	* gfortran.dg/elemental_dependency_4.f90: New.
      	* gfortran.dg/elemental_dependency_5.f90: New.
      
      
      Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
      
      From-SVN: r221586
      Paul Thomas committed
    • re PR rtl-optimization/64317 (Ineffective allocation of PIC base register) · af3eb110
             PR rtl-optimization/64317
              * Makefile.in (OBJS): Add gcse-common.c
              * gcse.c: Include gcse-common.h
              (struct modify_pair_s): Move structure definition to gcse-common.h
              (compute_transp): Move function to gcse-common.c.
              (canon_list_insert): Similarly.
              (record_last_mem_set_info): Break out some code and put it into
              gcse-common.c.  Call into the new common code.
              (compute_local_properties): Pass additional arguments to compute_transp.
              * postreload-gcse.c: Include gcse-common.h and df.h
              (modify_mem_list_set, blocks_with_calls): New variables.
              (modify_mem_list, canon_modify_mem_list, transp): Likewise.
              (get_bb_avail_insn): Pass in the expression index too.
              (alloc_mem): Allocate memory for the new bitmaps and lists.
              (free_mem): Free memory for the new bitmaps and lists.
              (insert_expr_in_table): Record a bitmap index for each entry we
              add to the table.
              (record_last_mem_set_info): Call into common code in gcse-common.c.
              (get_bb_avail_insn): If no available insn was found in the requested
              BB.  If BB has a single predecessor, see if the expression is
              transparent in BB and available in that single predecessor.
              (compute_expr_transp): New wrapper for compute_transp.
              (eliminate_partially_redundant_load): Pass expression's bitmap_index
              to get_bb_avail_insn.  Compute next_pred_bb_end a bit later.
              (gcse_after_reload_main): If there are elements in the hash table,
              then compute transparency for all the elements in the hash table.
              * gcse-common.h: New file.
              * gcse-common.c: New file.
      
      From-SVN: r221585
      Jeff Law committed
    • cpp.texi (Search Path): Hyphenate "command-line" when used as an adjective. · 4460b2dc
      2015-03-22  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/cpp.texi (Search Path): Hyphenate "command-line" when used
      	as an adjective.
      	(System Headers): Likewise.
      	(Ifdef): Likewise.
      	(Traditional macros): Likewise.
      	(Invocation): Likewise.
      	(Option Index): Likewise.
      	* doc/cppopts.texi (-M): Likewise.
      	(-finput-charset): Likewise.
      	(--help): Likewise.
      	* doc.invoke.texi (AVR Options): Likewise.
      	(V850 Options): Likewise.
      
      From-SVN: r221583
      Sandra Loosemore committed
    • re PR lto/65475 (ICE in odr_vtable_hasher::equal (Segmentation fault)) · b1905808
      	PR ipa/65475
      	* ipa-devirt.c: Include demangle.h
      	(odr_type_d): Add field rtti_broken.
      	(odr_subtypes_equivalent_p): Do not require name to match.
      	(compare_virtual_tables): Fix typo; if type already has ODR violation,
      	bypass the tests; be ready for function referneces in vtables that are
      	not DECL_VIRTUAL; make warnings to be OPT_Wodr.
      	(warn_odr): Give up for nameless types.
      	(warn_types_mismatch): Report mismatch in mangled names;
      	report mismatch in anonymous namespaces; look into component types to
      	give useful error; report when mismatch is dragged in from other ODR
      	type.
      	(odr_types_equivalent_p): Match types for being polymorphic; avoid
      	duplicated diagnostics.
      	(add_type_duplicate): Reorder checks so more informative ones come
      	first; fix typo; do not output "the extra base is defined here" when
      	we did not warn.
      	(BINFO_N_BASE_BINFOS): Relax sanity check.
      	* g++.dg/lto/pr65475b_0.C: New testcase.
      	* g++.dg/lto/pr65475b_1.C: New testcase.
      	* g++.dg/lto/pr65475c_0.C: New testcase.
      	* g++.dg/lto/pr65475c_1.C: New testcase.
      
      From-SVN: r221582
      Jan Hubicka committed
    • Daily bump. · 67e00dab
      From-SVN: r221581
      GCC Administrator committed
  3. 22 Mar, 2015 4 commits