Commit Graph

136824 Commits

Author SHA1 Message Date
Jan Hubicka
81b0d9065c re PR lto/65302 (LTO: ICE internal compiler error: verify_flow_info failed)
PR ipa/65302
	* value-prof.c (gimple_ic): Pure dead eh edges when needed.
	* g++.dg/lto/pr65302_1.C: New testcase.
	* g++.dg/lto/pr65302_0.C: New testcase.

From-SVN: r221244
2015-03-06 16:12:43 +00:00
James Greenhalgh
2c7f8ba555 [ARM testsuite obvious] Fixup atomic-comp-swap-release-acquire.c to not use ICF
gcc/

	* gcc.target/arm/atomic-comp-swap-release-acquire.c: Add
	-fno-ipa-icf to dg-options.

From-SVN: r221243
2015-03-06 16:03:38 +00:00
Kirill Yukhin
a6e8abb9d5 MAINTAINERS (CPU Port Maintainers): Add myself i386 vector ISA extns mantainer.
/
	* MAINTAINERS (CPU Port Maintainers): Add myself
	i386 vector ISA extns mantainer.

From-SVN: r221238
2015-03-06 14:49:03 +00:00
Richard Biener
87d0d6c40a re PR middle-end/64928 (Inordinate cpu time and memory usage in "phase opt and generate" with -ftest-coverage -fprofile-arcs)
2015-03-06  Richard Biener  <rguenther@suse.de>

	PR middle-end/64928
	* tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
	and liveout_obstack members.
	(calculate_live_on_exit): Remove.
	(calculate_live_ranges): Change declaration.
	* tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
	(new_tree_live_info): Adjust.
	(calculate_live_ranges): Delete livein when not wanted.
	(calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
	Deal with partly deleted live info.
	(loe_visit_block): Remove temporary bitmap by using
	bitmap_ior_and_compl_into.
	(live_worklist): Adjust accordingly.
	(calculate_live_on_exit): Make static.
	* tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
	we do not need livein.

From-SVN: r221237
2015-03-06 12:34:28 +00:00
Jonathan Wakely
664e99eac4 future (future_error(error_code)): Construct base class with error_code's message.
* include/std/future (future_error(error_code)): Construct base
	class with error_code's message.
	* src/c++11/future.cc (future_error::what()): Do not call c_str() on
	temporary string.

From-SVN: r221236
2015-03-06 12:31:43 +00:00
Jonathan Wakely
7bfa4bc51e * real.c (real_from_string): Fix typo in assertion.
From-SVN: r221235
2015-03-06 12:05:38 +00:00
Alex Velenko
1dfc8b24aa ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of the patch.
2015-03-06  Alex Velenko  <alex.velenko@arm.com>

	* ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
	the patch.

From-SVN: r221234
2015-03-06 11:10:45 +00:00
James Greenhalgh
4b1076d685 [AArch64 testsuite obvious] XFAIL c-c++-common/torture/aarch64-vect-lane-2.c
for -flto -fuse-linker-plugin


gcc/testsuite/

	* c-c++-common/torture/aarch64-vect-lane-2.c: Skip for LTO
	compiles.

From-SVN: r221233
2015-03-06 10:47:20 +00:00
Eric Botcazou
a4e2620666 c-ada-spec.c (dump_ada_double_name): Fix pasto.
* c-ada-spec.c (dump_ada_double_name): Fix pasto.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r221231
2015-03-06 10:15:03 +00:00
Ian Lance Taylor
aeb41dc5b6 compiler: Do not declare type switch variable outside case statements.
For expressions containing a TypeSwitchGuard with a short variable
declaration e.g. var := x.(type), the spec says that var is declared
at the beginning of the implicit block for each in each clause.
Previously, var was declared in the block for the switch statement
and each implicit block, which led to errors if the type case clause
referenced a type with a similar name as the declared variable.

Fixes golang/go#10047.

From-SVN: r221230
2015-03-06 00:27:32 +00:00
GCC Administrator
c4571e0e36 Daily bump.
From-SVN: r221229
2015-03-06 00:16:11 +00:00
Jan Hubicka
ab038a807d * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
From-SVN: r221226
2015-03-05 21:26:44 +00:00
Vladimir Makarov
34349d557a re PR target/64342 (Tests failing when compiled with '-m32 -fpic' after r216154.)
2015-03-05  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/64342
	* lra-assigns.c (find_hard_regno_for): Rename to
	find_hard_regno_for_1.  Add a new parameter.
	(find_hard_regno_for): New function using find_hard_regno_for_1.

From-SVN: r221223
2015-03-05 19:43:11 +00:00
Bernd Edlinger
53c615a276 re PR rtl-optimization/65067 (regression on accessing volatile bit field)
gcc:
2015-03-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR rtl-optimization/65067
        * expmed.c (store_bit_field, extract_bit_field): Reworked the
        strict volatile bitfield handling.

testsuite:
2015-03-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.target/arm/pr65067.c: New test.

From-SVN: r221222
2015-03-05 18:56:37 +00:00
Martin Liska
9374ef820b re PR ipa/65318 (wrong code at -Os and above on x86_64-linux-gnu)
PR ipa/65318
	* ipa-icf.c (sem_variable::equals): Compare variables types.
	* gcc.dg/ipa/pr65318.c: New test.

From-SVN: r221221
2015-03-05 17:49:49 +00:00
Alex Velenko
2755b64ed5 arm.c (arm_function_in_section_p): Fix predicate to correctly check weak symbol binding.
2015-03-05  Alex Velenko  <alex.velenko@arm.com>

	* config/arm/arm.c (arm_function_in_section_p): Fix predicate to
	correctly check weak symbol binding.

From-SVN: r221220
2015-03-05 16:45:21 +00:00
Steve Ellcey
a8eeec27a9 re PR middle-end/65315 (incorrect alignment of local variable with aligned attribute)
2015-03-05  Steve Ellcey  <sellcey@imgtec.com>

	PR middle-end/65315
	* cfgexpand.c (expand_stack_vars): Update large_align to maximum
	needed alignment.

From-SVN: r221219
2015-03-05 16:34:03 +00:00
David Malcolm
7ef9618369 jit documentation fixes
gcc/jit/ChangeLog:
	* docs/cp/intro/tutorial03.rst: Add missing arguments to
	gccjit::block::end_with_conditional call.  Add on_true/on_false
	comments.  Tweak the wording.
	* docs/intro/tutorial03.rst: Add missing arguments to
	gcc_jit_block_end_with_conditional call.  Add some clarifying
	comments.
	* docs/topics/compilation.rst: Tweak the wording to avoid an
	ambiguous use of "this".
	* docs/topics/contexts.rst: Fix a typo.
	* docs/topics/expressions.rst (GCC_JIT_BINARY_OP_MINUS): Remove
	a stray backtick.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r221218
2015-03-05 15:38:15 +00:00
Marek Polacek
d81177988c * c-c++-common/ubsan/bounds-6.c: Use dg-do run.
From-SVN: r221217
2015-03-05 15:00:20 +00:00
Eric Botcazou
0d2489f4c1 re PR ada/65319 (FAIL: g++.dg/other/dump-ada-spec-3.C -std=gnu++98 (internal compiler error))
PR ada/65319
	* c-ada-spec.c (print_destructor): Remove obsolete code.

From-SVN: r221213
2015-03-05 13:54:19 +00:00
Jonathan Wakely
9933260f2f locale_conv.h (wstring_convert::_M_conv): Handle noconv result.
* include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
	noconv result.
	* testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
	* testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.

From-SVN: r221212
2015-03-05 13:36:21 +00:00
Martin Liska
bcda57c130 Fix warnings occured during profiledboostrap on
* ipa-inline.c (inline_small_functions): Set default value to
	prevent warning during bootstrap.
	* tree.h: Add pragma guard that ignores false positives during
	bootstrap.

From-SVN: r221211
2015-03-05 11:44:00 +00:00
Andreas Krebbel
d407bcf82b S/390: xfail ssa-dom-cse-2
gcc/testsuite:
	* gcc.dg/tree-ssa/ssa-dom-cse-2.c:

From-SVN: r221210
2015-03-05 09:58:32 +00:00
Andreas Krebbel
945db334f2 S/390: var-expand1 use default values for peel/unroll limits
gcc/testsuite/:
	* gcc.dg/var-expand1.c: Force max-completely-peel-times and
	max-unroll-times back to defaults for s390.

From-SVN: r221209
2015-03-05 09:56:42 +00:00
Paolo Carlini
9b864d18e8 2015-03-05 Paolo Carlini <paolo.carlini@oracle.com>
Fix last commit.

From-SVN: r221208
2015-03-05 09:21:39 +00:00
Paolo Carlini
512141f41a re PR c++/64665 (Overload resolution not working with std::initializer_list<std::string> and bool)
2015-03-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64665
	* g++.dg/cpp0x/initlist92.C: New.

From-SVN: r221207
2015-03-05 09:15:58 +00:00
Richard Biener
b162e1e749 re PR tree-optimization/65310 (vectorizer uses wrong alignment)
2015-03-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/65310
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
	Properly preserve alignment of the base of the access.

	* gcc.dg/vect/pr65310.c: New testcase.

From-SVN: r221206
2015-03-05 09:14:01 +00:00
Paolo Carlini
637e43b8e1 re PR c++/64834 (Captured variable not available in unevaluated context in a lambda with auto argument)
2015-03-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64834
	* g++.dg/cpp1y/lambda-generic-uneval1.C: New.

From-SVN: r221205
2015-03-05 08:48:22 +00:00
Richard Biener
58ed456cb6 re PR ipa/65270 (issues with merging memory accesses from different code paths)
2015-03-05  Richard Biener  <rguenther@suse.de>

	PR ipa/65270
	* ipa-icf-gimple.c (func_checker::compare_memory_operand):
	Compare dependence info.

From-SVN: r221204
2015-03-05 08:43:13 +00:00
Richard Biener
b3406fa083 re PR middle-end/65233 (ICE (segfault) on arm-linux-gnueabihf and aarch64-linux-gnu)
2015-03-05  Richard Biener  <rguenther@suse.de>

	PR middle-end/65233
	* ipa-polymorphic-call.c: Include tree-ssa-operands.h and
	tree-into-ssa.h.
	(walk_ssa_copies): Revert last chage.  Instead do not walk
	SSA names registered for SSA update.

From-SVN: r221203
2015-03-05 08:37:40 +00:00
GCC Administrator
41616a5e38 Daily bump.
From-SVN: r221202
2015-03-05 00:16:12 +00:00
Jan Hubicka
fe75bd2069 re PR ipa/65270 (issues with merging memory accesses from different code paths)
PR ipa/65270
	* ipa-icf.c (sem_item::compare_cgraph_references): Compare
	vtable references for their containing type.
	(sem_function::equals_wpa): Compare TYPE_RESTRICT
	and type attributes.

From-SVN: r221199
2015-03-05 00:10:29 +00:00
Eric Botcazou
d10a61fbe8 fold-const.c (round_up_loc): Cast divisor to signed on all paths before negating it.
* fold-const.c (round_up_loc): Cast divisor to signed on all paths
	before negating it.
	* stor-layout.c (finalize_record_size): Revert latest change.

From-SVN: r221198
2015-03-04 22:33:41 +00:00
Andreas Tobler
8ed4390c3f t-freebsd64: Remove 32-bit soft-float multilibs.
2015-03-04  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.

From-SVN: r221197
2015-03-04 22:56:46 +01:00
Jan Hubicka
a6a543bfa8 cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite for correct comdat handling.
* cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
	for correct comdat handling.
	(cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
	Likewise.
	* cgraph.h (call_for_symbol_and_aliases): Fix formating.
	(used_from_object_file_p_worker): Remove.
	(cgraph_node::only_called_directly_or_alised): Add
	used_from_object_file_p.
	* ipa-inline-analysis.c (growth_likely_positive): Optimie.
	* ipa-inline-transform.c (can_remove_node_now_p_1): Use
	can_remove_if_no_direct_calls_and_refs_p.

From-SVN: r221193
2015-03-04 20:28:08 +00:00
Joseph Myers
d720e658eb * de.po: Update.
From-SVN: r221191
2015-03-04 17:45:00 +00:00
Markus Trippelsdorf
44d952440e re PR target/65261 (bootstrap-ubsan ppc64le: gcc/libcpp/lex.c:552:30: runtime error: load of misaligned address 0x01002172dfc6 for type 'const uchar', which requires 16 byte alignment)
Fix PR65261

Running bootstrap-ubsan on ppc64le shows many instances of:

  libcpp/lex.c:552:30: runtime error: load of misaligned address
  0x01001f31d37a for type 'const uchar', which requires 16 byte alignment

But the unaligned vector loads are intended in this case, because they
are preferable to forced-alignment on POWER8. So just silence the ubsan
errors.

2015-03-02  Markus Trippelsdorf  <markus@trippelsdorf.de>

include/
	PR target/65261
	* ansidecl.h (ATTRIBUTE_NO_SANITIZE_UNDEFINED): New macro.

libcpp/
	PR target/65261
	* lex.c (search_line_fast): Silence ubsan errors.

From-SVN: r221190
2015-03-04 17:28:56 +00:00
Jonathan Wakely
b6584a72ac re PR libstdc++/64797 (22_locale/conversions/string/2.cc FAILs)
PR libstdc++/64797
	* include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
	incomplete multibyte sequences correctly.
	* include/std/codecvt (codecvt_utf8, codecvt_utf16,
	codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
	* src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
	Define constants.
	(is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
	Define convenience functions.
	(read_utf8_code_point): Return relevant constant to distinguish
	incomplete characters from invalid sequences.
	(read_utf16_code_point): Likewise. Check for invalid sequences.
	(ucs4_in, utf16_in): Use incomplete_mb_character constant.
	(utf16_out): Check for invalid sequences.
	(utf16_span): Fix condition.
	(ucs2_out): Use is_high_surrogate.
	(ucs2_in): Use incomplete_mb_character constant and fix condition.
	* testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
	* testsuite/22_locale/conversions/buffer/1.cc: New.
	* testsuite/22_locale/conversions/string/2.cc: Use char16_t and
	char32_t instead of wchar_t.
	* testsuite/22_locale/conversions/string/3.cc: New.

From-SVN: r221189
2015-03-04 17:19:55 +00:00
Arnaud Charlet
d50a26f2ba [multiple changes]
2015-03-04  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb: Minor reformatting.
	* init.c: Minor tweaks.

2015-03-04  Dmitriy Anisimko  <anisimko@adacore.com>

	* a-coinho-shared.adb: Fix clear of already empty holder.

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

	* exp_unst.adb (Check_Dynamic_Type): Ignore library level types.
	(Check_Uplevel_Reference_To_Type): Ignore call inside generic.
	(Note_Uplevel_Reference): Ignore call inside generic.
	(Note_Uplevel_Reference): Fix check for no entity field.
	(Unnest_Subprogram): Ignore call inside generic.
	(Find_Current_Subprogram): Use Defining_Entity, not Defining_Unit_Name.
	(Visit_Node): Ignore calls to Imported subprograms.
	(Visit_Node): Fix problem in finding subprogram body in some cases.
	(Add_Form_To_Spec): Use Defining_Entity, not Defining_Unit_Name.

From-SVN: r221188
2015-03-04 16:00:57 +01:00
Arnaud Charlet
58009744b5 [multiple changes]
2015-03-04  Robert Dewar  <dewar@adacore.com>

	* einfo.adb (Is_ARECnF_Entity): Removed.
	(Last_Formal): Remove special handling of Is_ARECnF_Entity.
	(Next_Formal): Remove special handling of Is_ARECnF_Entity.
	(Next_Formal_With_Extras): Remove special handling of Is_ARECnF_Entity.
	(Number_Entries): Minor reformatting.
	* einfo.ads (Is_ARECnF_Entity): Removed.
	* exp_unst.adb (Unnest_Subprogram): Remove setting of
	Is_ARECnF_Entity.
	(Add_Extra_Formal): Use normal Extra_Formal circuit.
	* sprint.adb (Write_Param_Specs): Properly handle case where
	there are no source formals, but we have at least one Extra_Formal
	present.

2015-03-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate,
	Add_Discriminant_Values): If the value is a reference to the
	current instance of an enclosing type, use its base type to check
	against prefix of attribute reference, because the target type
	may be otherwise constrained.

From-SVN: r221187
2015-03-04 15:56:45 +01:00
Ian Lance Taylor
e0601c0df9 * go.test/go-test.exp (go-gc-tests): Skip nilptr test on s390*.
From-SVN: r221186
2015-03-04 14:54:33 +00:00
Nick Clifton
b68686bf5e rl78.h (enum reg_class): Remove real registers from General register class.
* config/rl78/rl78.h (enum reg_class): Remove real registers from
	General register class.
	* config/rl78/rl78-real.md: Replace general register constraints
	with real+virtual register constraints.

From-SVN: r221185
2015-03-04 14:54:15 +00:00
Andreas Krebbel
4b9f07ebf3 S/390: Fix check for builtins valid with -mhtm
* gcc/config/s390/s390.c (s390_expand_builtin): Exlude non-htm
	builtins from checking for -mhtm option.

From-SVN: r221184
2015-03-04 14:43:14 +00:00
Arnaud Charlet
85799cb98e [multiple changes]
2015-03-04  Robert Dewar  <dewar@adacore.com>

	* atree.h: Add entries for Flag287-Flag309.
	* einfo.adb: Add (unused) flags Flag287-Flag309.

2015-03-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Collect_Interfaces, Collect): When gathering
	interfaces of ancestors, handle properly a subtype of a private
	extension.

From-SVN: r221183
2015-03-04 12:51:48 +01:00
Arnaud Charlet
47a6f66054 [multiple changes]
2015-03-04  Robert Dewar  <dewar@adacore.com>

	* einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
	(Next_Formal): Don't return ARECnF formal.
	(Last_Formal): Don't consider ARECnF formal.
	(Next_Formal_With_Extras): Do consider ARECnF formal.
	* einfo.ads (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
	* exp_unst.adb (Create_Entities): Set Is_ARECnF_Entity flag.

2015-03-04  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.adb (Expand_Simple_Function_Return): When the returned
	object is a class-wide interface object and we generate the
	accessibility described in RM 6.5(8/3) then displace the pointer
	to the object to reference the base of the object (to get access
	to the TSD of the object).

From-SVN: r221182
2015-03-04 11:27:59 +01:00
Paolo Carlini
550671691e re PR c++/64227 (Forwarding an argument of a function template to a generic lambda causes a compiler crash)
2015-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64227
	* g++.dg/cpp1y/lambda-generic-ice1.C: New.

From-SVN: r221181
2015-03-04 10:20:23 +00:00
Arnaud Charlet
203876fcae [multiple changes]
2015-03-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Abstract_State): Use routine
	Malformed_State_Error to issue general errors.
	(Analyze_Pragma): Diagnose a syntax error related to a state
	declaration with a simple option.
	(Malformed_State_Error): New routine.

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

	* a-strsup.adb (Super_Slice): Deal with super flat case.
	* einfo.ads: Minor reformatting.
	* s-imgdec.adb (Set_Decimal_Digits): Add comment about possibly
	redundant code.

2015-03-04  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
	a-cforse.ads, a-cofove.ads: Use Default_Initial_Condition on formal
	containers.

From-SVN: r221180
2015-03-04 11:01:40 +01:00
Arnaud Charlet
5264d0df90 Fix permission.
From-SVN: r221179
2015-03-04 10:59:38 +01:00
Arnaud Charlet
26f36fc9f6 [multiple changes]
2015-03-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb (Check_References): When checking for an unused
	in-out parameter of a class- wide type, use its type to determine
	whether it is private, in order to avoid a spurious warning when
	subprogram spec and body are in different units.

2015-03-04  Yannick Moy  <moy@adacore.com>

	* sem_attr.adb: Improve warning messages.

From-SVN: r221178
2015-03-04 10:58:41 +01:00
Robert Dewar
488f9623ba exp_ch6.adb (Expand_N_Subprogram_Body): Avoid trying to unnest generic subprograms.
2015-03-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb (Expand_N_Subprogram_Body): Avoid trying to unnest
	generic subprograms.
	* exp_unst.adb (Check_Dynamic_Type): Handle record types properly
	(Note_Uplevel_Reference): Ignore uplevel references to non-types
	(Get_Level): Consider only subprograms, not blocks.
	(Visit_Node): Set proper condition for generating ARECnF entity.
	Ignore indirect calls. Ignore calls to subprograms
	outside our nest.
	(Unnest_Subprogram): Minor changes in dealing with ARECnF entity.
	(Add_Form_To_Spec): Properly set Last_Entity field.
	(Unnest_Subprogram): Set current subprogram scope for analyze calls.
	Handle case of no uplevel refs in outer subprogram
	Don't mark uplevel entities as aliased.
	Don't deal with calls with no ARECnF requirement.

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

	* s-valrea.adb (Scan_Real): Remove redundant tests from scaling loops.
	* s-imgdec.adb (Set_Decimal_Digits): Remove redundant Max
	operation in computing LZ.
	* sem_attr.adb: Minor typo fix

From-SVN: r221177
2015-03-04 10:57:07 +01:00