Commit Graph

137104 Commits

Author SHA1 Message Date
Jan Hubicka 69f6b1f49a IPA ICF: enhance hash value calculated in TU
* ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
	* ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
	(sem_item::add_type): New function.
	(sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
	(sem_function::compare_polymorphic_p): Do not consider indirect calls.
	(sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
	(sem_function::equals_wpa): Fix typo.
	* ipa-icf.h (sem_item::add_type): New function.
	(symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
	order.


Co-Authored-By: Martin Liska <mliska@suse.cz>

From-SVN: r221645
2015-03-24 21:51:08 +00:00
Ian Lance Taylor e93870c12b re PR go/65417 (debug/elf: lacks support for PPC relocations)
PR go/65417
debug/elf: support reading debug info from 32-bit PPC objects

This is a backport of http://golang.org/7590 from the master
Go library.

From-SVN: r221644
2015-03-24 20:55:43 +00:00
Ian Lance Taylor ab24432b9a re PR go/65462 (Use of 'go get' with gccgo is not finding dependencies correctly)
PR go/65462
cmd: Fix dependencies for 'go get' with gccgo

Problem described in GCC BZ 65462.
Generate the list of the standard GO package names based on what was built into libgo in the libgo Makefile.
Change the var name from reqPkgSrc to reqStdPkgSrc to clarify it only affects standard GO packages.
Skip the attempted loading of a package only if it is a standard GO package and the flag is set indicating its source is not required to be available.
This requires a corresponding change to gotools to build and link in the new file containing the list of standard GO package names that was generated by the libgo Makefile.

gotools/:
	PR go/65462
	* Makefile.am (go_cmd_go_files): Add $(libgodir)/zstdpkglist.go.
	* Makefile.in: Rebuild.

From-SVN: r221643
2015-03-24 19:50:31 +00:00
Jason Merrill a9f0423f31 re PR c++/65046 (-Wabi-tag doesn't warn about variables or function return types)
PR c++/65046
	* cp-tree.h (NAMESPACE_IS_INLINE): Remove.
	* parser.c (cp_parser_namespace_definition): Don't set it.
	* name-lookup.c (handle_namespace_attrs): Check
	DECL_NAMESPACE_ASSOCIATIONS instead.

From-SVN: r221642
2015-03-24 15:40:44 -04:00
Jason Merrill 4b7c558dd0 re PR c++/65498 (ICE in cxx_eval_call_expression when using __func__ inside dependent context)
PR c++/65498
	* pt.c (get_mostly_instantiated_function_type): Just return the
	type of the partially instantiated template in DECL_TI_TEMPLATE.

From-SVN: r221641
2015-03-24 15:38:28 -04:00
Paolo Carlini e5bca5f62e re PR c++/58923 (g++ does not use provided conversion function for implicit conversion to another type)
2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58923
	* g++.dg/other/virtual3.C: New.

From-SVN: r221640
2015-03-24 17:22:27 +00:00
Joseph Myers 88db3715f9 * fr.po: Update.
From-SVN: r221638
2015-03-24 16:47:21 +00:00
Paolo Carlini 5cb9e0898d re PR c++/60130 (Sorry, unimplemented: mangling argument_pack_select)
2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r221637
2015-03-24 16:43:33 +00:00
Paolo Carlini 0dc47aa30a re PR c++/61971 (array subscript is above array bounds [-Werror=array-bounds])
2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61971
	* g++.dg/warn/Warray-bounds-7.C: New.

From-SVN: r221636
2015-03-24 15:58:05 +00:00
Jonathan Wakely 9ccd0dba21 re PR libstdc++/33394 (Add test case for Thread race segfault in std::string::append with -O and -s)
PR libstdc++/33394
	* testsuite/21_strings/basic_string/pthread33394.cc: Add test.

# Auto-generated commit message above this line, original below.
	PR libstdc++/33394
	* testsuite/21_strings/basic_string/pthread33394.cc: Add test.

From-SVN: r221635
2015-03-24 14:47:32 +00:00
Arnaud Charlet eaed2a2c96 [multiple changes]
2015-03-24  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb: Minor typo fix (missing paren).

2015-03-24  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads: Update comment.

2015-03-24  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb: Add entry for typ'Deref.
	* sem_attr.adb (Deref): New GNAT attribute.
	* sem_attr.ads: Add entry for new GNAT attribute Deref.
	* snames.ads-tmpl: Add entries for new attribute Deref.

From-SVN: r221630
2015-03-24 13:26:10 +01:00
Arnaud Charlet 5f6061af2d [multiple changes]
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
2015-03-24 13:21:37 +01:00
Arnaud Charlet a62638a348 building_executable_programs_with_gnat.rst, [...]: Doc improvements.
* 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
2015-03-24 12:49:20 +01:00
Andre Vehreschild a258100585 re PR fortran/55901 ([OOP] type is (character(len=*)) misinterpreted as array)
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
2015-03-24 12:47:45 +01:00
Paolo Carlini 29ec68cb98 re PR c++/60067 (bogus error default template arguments may not be used in function templates)
2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60067
	* g++.dg/template/defarg18.C: New.

From-SVN: r221626
2015-03-24 11:42:26 +00:00
Paolo Carlini 4c5744b453 re PR c++/60067 (bogus error default template arguments may not be used in function templates)
2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60067
	* g++.dg/template/defarg18.C: New.

From-SVN: r221625
2015-03-24 11:42:11 +00:00
Paolo Carlini a75225d653 re PR c++/59988 (Failing to specialize template class)
2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r221624
2015-03-24 10:51:38 +00:00
Paolo Carlini cca38f293d re PR c++/59988 (Failing to specialize template class)
2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r221623
2015-03-24 10:50:36 +00:00
Jakub Jelinek e72baed7e9 re PR tree-optimization/65533 (252.eon in SPEC CPU 2000 failed to build)
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
2015-03-24 11:45:09 +01:00
Andre Vehreschild 34d9d74996 re PR fortran/64787 (Invalid code on sourced allocation of class(*) character string)
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
2015-03-24 11:28:48 +01:00
Paolo Carlini a9272fd042 re PR c++/65513 (gcc stops with "internal compiler error")
2015-03-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/65513
	* g++.dg/cpp0x/constexpr-array11.C: New.

From-SVN: r221620
2015-03-24 10:24:33 +00:00
Richard Biener bdb3744886 re PR middle-end/65517 (ICE: in get_loop_body, at cfgloop.c:856)
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
2015-03-24 09:31:48 +00:00
Tobias Burnus f9addac782 coindexed_1.f90: Moved from gfortran.dg/coarray/coindexed_3.f90; added dg-options.
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
2015-03-24 08:14:22 +01:00
Iain Sandoe f7a35a838d gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
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
2015-03-24 08:04:51 +01:00
Sandra Loosemore 0c0f9f3183 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
2015-03-23 22:48:05 -04:00
GCC Administrator 974a5e9fcc Daily bump.
From-SVN: r221613
2015-03-24 00:16:12 +00:00
Jakub Jelinek d197a9fd10 re PR testsuite/65506 (FAIL: gcc.dg/pr29215.c scan-tree-dump-not gimple "memcpy")
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
2015-03-23 21:04:43 +01:00
Jakub Jelinek fc6a2c5d9a re PR target/65523 (ICE: in gimple_op, at gimple.h:2270 with -fcheck-pointer-bounds -mmpx)
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
2015-03-23 21:03:50 +01:00
Jakub Jelinek 9804b0fb04 re PR lto/65475 (ICE in odr_vtable_hasher::equal (Segmentation fault))
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
2015-03-23 20:51:51 +01:00
Oleg Endo 21f65dc872 re PR target/65505 ([SH] ICE in sh_disp_addr_displacement)
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
2015-03-23 18:57:58 +00:00
Georg-Johann Lay ed137300ca re PR target/65296 ([avr] fix various issues with specs file generation)
PR target/65296
	* config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
	the same -mmcu=MCU more than once.

From-SVN: r221602
2015-03-23 18:19:01 +00:00
Martin Sebor 1c5ad28704 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
2015-03-23 11:37:25 -06:00
Jonathan Wakely 8dcf3d3c5d 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
2015-03-23 16:47:18 +00:00
Jakub Jelinek 468489483d 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
2015-03-23 16:49:02 +01:00
Joseph Myers d2e7014272 * fr.po: Update.
From-SVN: r221598
2015-03-23 15:34:57 +00:00
Jakub Jelinek 404b86eda8 re PR target/65504 (select case with strings and -fgcse -O)
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
2015-03-23 16:31:59 +01:00
Jakub Jelinek f45be077ec re PR ipa/65521 (nondeterministic -fcompare-debug failures)
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
2015-03-23 16:17:20 +01:00
Richard Biener d5f035ea52 re PR tree-optimization/65518 (gcc consumes all memory with -O3)
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
2015-03-23 14:59:57 +00:00
Christophe Lyon d886f7cc33 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
2015-03-23 14:43:22 +01:00
Richard Biener 89d390e57a re PR tree-optimization/65494 (Loop is not vectorized because of operand canonicalization.)
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
2015-03-23 12:47:54 +00:00
Kyrylo Tkachov c61928d098 [expmed][trivial] Fix comment about multiplying by T-1 and adding T.
* 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
2015-03-23 09:16:49 +00:00
Jakub Jelinek fb136e35c7 re PR preprocessor/65238 (__has_attribute is not handled properly with -traditional-cpp.)
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
2015-03-23 09:02:39 +01:00
Paul Thomas 30c931de07 re PR fortran/64952 (Missing temporary in assignment from elemental function)
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
2015-03-23 07:53:31 +00:00
Jeff Law af3eb11068 re PR rtl-optimization/64317 (Ineffective allocation of PIC base register)
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
2015-03-22 23:21:04 -06:00
Sandra Loosemore 4460b2dc61 cpp.texi (Search Path): Hyphenate "command-line" when used as an adjective.
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
2015-03-22 21:12:06 -04:00
Jan Hubicka b190580809 re PR lto/65475 (ICE in odr_vtable_hasher::equal (Segmentation fault))
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
2015-03-23 00:17:07 +00:00
GCC Administrator 67e00dabd9 Daily bump.
From-SVN: r221581
2015-03-23 00:16:16 +00:00
Martin Liska ff2362eb35 Speed-up def_builtin_const (ix86_valid_target_attribute).
* config/i386/i386.c (def_builtin): Set deferred_isa_values for
	masks that can potentially include a builtin.
	(ix86_add_new_builtins): Introduce fast filter for isa values
	that cannot trigger builtin inclusion.

From-SVN: r221577
2015-03-22 22:50:00 +00:00
Martin Liska 3ab9335949 IPA ICF: include hash values of references.
* ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
	(sem_item::update_hash_by_local_refs): Likewise.
	(sem_variable::get_hash): Empty line is fixed.
	(sem_item_optimizer::execute): Include adding of hash references.
	(sem_item_optimizer::update_hash_by_addr_refs): New function.
	(sem_item_optimizer::build_hash_based_classes): Use local hash.
	* ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
	(sem_item::update_hash_by_local_refs): Likewise.

From-SVN: r221576
2015-03-22 22:47:06 +00:00
Jerry DeLisle 34d417be31 re PR libfortran/59513 (Fortran runtime error: Sequential READ or WRITE not allowed after EOF marker, possibly use REWIND or BACKSPACE)
2015-03-22 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/59513
	* gfortran.texi (Read/Write after EOF marker): New information.

From-SVN: r221575
2015-03-22 21:37:13 +00:00