Robert Dewar [Wed, 21 May 2014 13:17:41 +0000 (13:17 +0000)]
sinfo.ads, [...]: Minor reformatting.
2014-05-21 Robert Dewar <dewar@adacore.com>
* sinfo.ads, sem_ch12.adb, sem_warn.adb: Minor reformatting.
From-SVN: r210706
Arnaud Charlet [Wed, 21 May 2014 13:14:06 +0000 (15:14 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_elab.adb: Minor reformatting.
* s-taprop.ads: Minor comment fix.
* sem_ch8.adb (Analyze_Subprogram_Renaming): Remove call to
Kill_Elaboration_Checks.
* errout.adb, erroutc.adb: Minor reformatting.
2014-05-21 Thomas Quinot <quinot@adacore.com>
* exp_pakd.adb (Byte_Swap): Handle the case of a sub-byte
component. No byte swapping occurs, but this procedure also takes
care of appropriately justifying the argument.
2014-05-21 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch6.adb: sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub):
New routine.
(Analyze_Subprogram_Body_Helper): Move the
analysis of aspect specifications and the processing of the
subprogram body contract after inlining has taken place.
(Diagnose_Misplaced_Aspect_Specifications): Removed.
2014-05-21 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Build_Derived_Record_Type): Revert previous change.
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_eval.ads, sem_eval.adb (Why_Not_Static): Messages are not
continuations any more.
2014-05-21 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb: New flag Needs_Initialized_Actual,
present in formal_Private_Definitions and on private extension
declarations of a formal derived type. Set when the use of the
formal type in a generic suggests that the actual should be a
fully initialized type.
* sem_warn.adb (May_Need_Initialized_Actual): new subprogram
to indicate that an entity of a generic type has default
initialization, and that the corresponing actual type in any
subsequent instantiation should be fully initialized.
* sem_ch12.adb (Check_Initialized_Type): new subprogram,
to emit a warning if the actual for a generic type on which
Needs_Initialized_Actual is set is not a fully initialized type.
From-SVN: r210705
Arnaud Charlet [Wed, 21 May 2014 13:08:13 +0000 (15:08 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_elab.adb, prj-dect.adb: Minor reformatting.
2014-05-21 Robert Dewar <dewar@adacore.com>
* erroutc.ads: Minor comment addition.
2014-05-21 Robert Dewar <dewar@adacore.com>
* errout.ads: Add documentation for use of >*> tag.
* restrict.adb: Make sure we use >*> tag for restriction warnings.
2014-05-21 Gary Dismukes <dismukes@adacore.com>
* debug.adb: Add case of illegal overriding_indicator for a
protected subprogram body to description of -gnatd.E switch.
* sem_ch6.adb (Verify_Overriding_Indicator): Issue error message
for cases of giving overriding_indicators on protected subprogram
bodies, but change this to a warning if -gnatd.E is enabled. No
longer give a style warning about missing indicators on protected
subprogram bodies.
From-SVN: r210704
Arnaud Charlet [Wed, 21 May 2014 13:04:54 +0000 (15:04 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* prj.ads, sem_ch12.adb, prj.adb, exp_pakd.adb,
sem_elab.ads: Minor reformatting.
* erroutc.adb, erroutc.ads (Warning_Specifically_Suppressed): Make Tag
parameter optional.
2014-05-21 Pascal Obry <obry@adacore.com>
* prj-dect.adb: Allow package Install in aggregate project.
From-SVN: r210703
Arnaud Charlet [Wed, 21 May 2014 13:01:59 +0000 (15:01 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications):
Insert_Delayed_Pragma is now used for the case of Attach_Handler.
* sem_prag.adb: Minor comment improvements.
2014-05-21 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Install_Body): When checking whether freezing of
instantiation must be delayed, verify that the common enclosing
subprogram to generic and instance is in fact an overloadable
entity.
2014-05-21 Vincent Celier <celier@adacore.com>
* makeutl.adb (Mains.Complete_Mains.Do_Complete): Look for all
mains with the same name and fail if there is more than one.
* prj.ads, prj.adb (Find_All_Sources): New function
From-SVN: r210702
Robert Dewar [Wed, 21 May 2014 12:59:01 +0000 (12:59 +0000)]
sem_ch13.adb: Minor reformatting.
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb: Minor reformatting.
* lib-xref-spark_specific.adb, sem_util.adb: Minor reformatting.
* sem_prag.adb: Minor error message improvement.
From-SVN: r210701
Yannick Moy [Wed, 21 May 2014 12:56:05 +0000 (12:56 +0000)]
2014-05-21 Yannick Moy <moy@adacore.com>
* lib-xref-spark_specific.adb, lib-xref.ads, lib-xref.adb
(Enclosing_Subprogram_Or_Package): Only return a library-level
package.
From-SVN: r210700
Javier Miranda [Wed, 21 May 2014 12:54:18 +0000 (12:54 +0000)]
sem_ch3.adb (Build_Derived_Record_Type): Initialize Parent_Base to the full view of the parent type when...
2014-05-21 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Build_Derived_Record_Type): Initialize Parent_Base
to the full view of the parent type when processing a derived type
which is the full view of a private type not defined in a generic
unit which is derived from a private type with discriminants
whose full view is a non-tagged record type.
From-SVN: r210699
Arnaud Charlet [Wed, 21 May 2014 12:49:24 +0000 (14:49 +0200)]
Previous change (rev 210697) should have mentioned PR ada/9535:
PR ada/9535
* g-socket.adb (Read and Write for Datagram_Socket_Stream_Type):
Provide a behaviour more consistent with underlying datagram
socket: do not attempt to loop over Send_Socket/Receive_Socket
iterating along the buffer.
From-SVN: r210698
Arnaud Charlet [Wed, 21 May 2014 12:45:44 +0000 (14:45 +0200)]
[multiple changes]
2014-05-21 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Expand_Allocator_Expression.Apply_Accessibility_Check):
Complete previous patch.
2014-05-21 Thomas Quinot <quinot@adacore.com>
* g-socket.adb (Read and Write for Datagram_Socket_Stream_Type):
Provide a behaviour more consistent with underlying datagram
socket: do not attempt to loop over Send_Socket/Receive_Socket
iterating along the buffer.
2014-05-21 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Record_Type): Ensure that a discriminated
or a tagged type is not labelled as volatile. Ensure that a
non-volatile type has no volatile components.
* sem_ch3.adb (Analyze_Object_Contract): Add local constant
Obj_Typ. Code reformatting. Ensure that a discriminated or
tagged object is not labelled as volatile.
* sem_prag.adb (Process_Atomic_Shared_Volatile): Ensure that
pragma Volatile applies to a full type declaration or an object
declaration when SPARK mode is on.
2014-05-21 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi: For ASIS tools, reword the paragraph about
providing options needed for compiling the argument source for
the situation when a project file can be used as a tool parameter.
2014-05-21 Gary Dismukes <dismukes@adacore.com>
* gnat_rm.texi: Minor typo fix.
From-SVN: r210697
Arnaud Charlet [Wed, 21 May 2014 12:39:44 +0000 (14:39 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* stand.adb (Tree_Read): Read missing entities.
(Tree_Write): Write missing entities.
2014-05-21 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Wordsmithing edits to Coupling Metrics Control
section in gnatmetric chapter.
2014-05-21 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb (Expand_Actuals): Spec moved here, since not used
outside Exp_Ch6 (Expand_Actuals): Deal with proper insertion of
post-call copy write back (see detailed comment in code).
* exp_ch6.ads (Expand_Actuals): Moved to body, not used outside
Exp_Ch6.
* tbuild.ads: Minor reformatting.
2014-05-21 Robert Dewar <dewar@adacore.com>
* stand.ads: Add warning about adding new entities and
Tree_Read/Tree_Write.
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_util.adb (Set_Entity_With_Checks): Don't complain about
references to restricted entities within the units in which they
are declared.
2014-05-21 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb (Check_Bad_Body): Use Source_File_Is_Body to
simplify the needed test, and also deal with failure to catch
situations with non-standard names.
* sinput-l.ads, sinput-l.adb (Source_File_Is_No_Body): New function
(Source_File_Is_Subunit): Removed, no longer used.
2014-05-21 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb
(Expand_Allocator_Expression.Apply_Accessibility_Check): for a
renaming of an access to interface object there is no need to
generate extra code to reference the tag.
From-SVN: r210696
Arnaud Charlet [Wed, 21 May 2014 12:35:51 +0000 (14:35 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* errout.adb, erroutc.adb, erroutc.ads: Allow warning tag in pragma
Warnings (Off, string).
2014-05-21 Robert Dewar <dewar@adacore.com>
* osint.adb: Fix three error messages to say invalid instead
of erroneous.
* par-ch4.adb, exp_aggr.adb, sem_attr.adb, sem_aux.adb, sem_ch3.adb,
sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_dim.adb, sem_res.adb,
sem_util.adb, sem_util.ads: Fix incorrect use of erroneous in comments.
2014-05-21 Ed Schonberg <schonberg@adacore.com>
* freeze.adb, sem_ch13.adb, sem_ch13.ads, sem_ch9.adb,
sem_ch9.ads: Move discriminant manipulation routines for analysis of
aspect specifications from sem_ch9 to sem_ch13, where they belong.
From-SVN: r210695
John Marino [Wed, 21 May 2014 11:08:58 +0000 (11:08 +0000)]
config.gcc (*-*-dragonfly*): New target.
2014-05-21 John Marino <gnugcc@marino.st>
gcc:
* config.gcc (*-*-dragonfly*): New target.
* configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
* configure: Regenerate.
* config/dragonfly-stdint.h: New.
* config/dragonfly.h: New.
* config/dragonfly.opt: New.
* config/i386/dragonfly.h: New.
* ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
include:
* liberty.h: Use basename function on DragonFly.
libcilkrts:
* runtime/os-unix.c (__DragonFly__): New target.
libgcc:
* config.host (*-*-dragonfly*): New target.
* crtstuff.c: Make dl_iterate_support generic on *bsd.
* enable-execute-stack-mprotect.c: Always mprotect on FreeBSD.
* unwind-dw2-fde-dip.c: Add dl_iterate_phr support for DragonFly.
* config/i386/dragonfly-unwind.h: New.
libitm:
* configure.tgt (*-*-dragonfly*): New target.
libstdc++-v3:
* acinclude.m4 (*-*-dragonfly*): New target.
* configure: Regenerate.
* configure.host (*-*-dragonfly*): New target.
* config/locale/dragonfly/c_locale.cc: New.
* config/locale/dragonfly/ctype_members.cc: New.
* config/os/bsd/dragonfly/ctype_base.h: New.
* config/os/bsd/dragonfly/ctype_configure_char.cc: New.
* config/os/bsd/dragonfly/ctype_inline.h: New.
* config/os/bsd/dragonfly/os_defines.h: New.
From-SVN: r210694
Arnaud Charlet [Wed, 21 May 2014 11:05:25 +0000 (13:05 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Clearly document -gnatw.g (GNAT warnings).
Clearly document -gnatyg (GNAT style switches).
* usage.adb: Add line line for -gnatw.g (GNAT warnings) More
detail for line for -gnatyg (GNAT style switches) -gnatw.d/D is
available for VMS after all.
* warnsw.adb: Reorganize to eliminate duplicated code
(Restore_Warnings): Add a couple of missing entries
(Save_Warnings): Add a couple of missing entries.
* warnsw.ads: Add missing entries to Warning_Record (not clear
what the impact is).
2014-05-21 Robert Dewar <dewar@adacore.com>
* errout.adb (Set_Msg_Insertion_Warning): Handle ?*? (restriction
warning) case.
* errout.ads: Document ?*? (restriction warning) insertion.
* erroutc.adb (Get_Warning_Tag): Deal with ?*? (restriction
warning) case.
* erroutc.ads: Document use of * for restriction warning tag.
* restrict.adb (Restriction_Msg): Tag with ?*? instead of ??.
2014-05-21 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb (Push_Scope_And_Install_Discriminants): Do not
make discriminants immediately visible when analyzing an aspect
of a subtype declaration.
(Uninstall_Discriminants): Do not apply to the entity in a
subtype declaration.
From-SVN: r210693
Richard Sandiford [Wed, 21 May 2014 11:00:35 +0000 (11:00 +0000)]
tree.def (VOID_CST): New.
gcc/
* tree.def (VOID_CST): New.
* tree-core.h (TI_VOID): New.
* tree.h (void_node): New.
* tree.c (tree_node_structure_for_code, tree_code_size)
(iterative_hash_expr): Handle VOID_CST.
(build_common_tree_nodes): Initialize void_node.
gcc/c-family/
* c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
* c-common.c (c_common_nodes_and_builtins): Don't initialize
void_zero_node.
* c-pretty-print.c (pp_c_void_constant): New function.
(c_pretty_printer::constant, c_pretty_printer::primary_expression)
(c_pretty_printer::expression): Handle VOID_CST.
* cilk.c (extract_free_variables): Likewise.
* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
(ubsan_instrument_vla): Use void_node instead of void_zero_node.
gcc/c/
* c-array-notation.c (expand_array_notations): Use void_node
instead of void_zero_node.
gcc/cp/
* cvt.c (convert_to_void): Use void_node instead of void_zero_node.
* cp-array-notation.c (replace_invariant_exprs): Likewise.
(expand_array_notation): Handle VOID_CST.
* error.c (dump_expr): Likewise.
* cxx-pretty-print.c (cxx_pretty_printer::primary_expression)
(cxx_pretty_printer::expression): Likewise.
(pp_cxx_new_expression): Use void_node instead of void_zero_node.
* decl.c (register_dtor_fn): Likewise.
* init.c (build_raw_new_expr, build_new_1, build_vec_init)
(build_delete, push_base_cleanups): Likewise.
* mangle.c (write_expression): Likewise.
* semantics.c (finish_break_stmt, empty_expr_stmt_p): Likewise.
* pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
(tsubst, tsubst_copy, build_non_dependent_expr): Handle VOID_CST.
* tree.c (cp_tree_equal): Likewise.
(build_dummy_object, is_dummy_object, stabilize_expr): Use void_node
instead of void_zero_node.
* typeck.c (check_return_expr): Likewise.
* typeck2.c (build_functional_cast): Likewise.
From-SVN: r210692
Arnaud Charlet [Wed, 21 May 2014 10:54:48 +0000 (12:54 +0200)]
[multiple changes]
2014-05-21 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb: Code clean up.
2014-05-21 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi: Document -Werror.
From-SVN: r210691
Arnaud Charlet [Wed, 21 May 2014 10:52:48 +0000 (12:52 +0200)]
[multiple changes]
2014-05-21 Bob Duff <duff@adacore.com>
* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object):
This was returning False if the Object is a constant view. Fix
it to return True in that case, because it might be a view of
a variable.
(Has_Discriminant_Dependent_Constraint): Fix latent
bug; this function was crashing when passed a discriminant.
2014-05-21 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Remove misplaced section that is now obsolete.
* s-arit64.adb: Minor code reorganization.
* sem_prag.adb: Minor comment fix (remove erroneous use of the
term erroneous).
2014-05-21 Robert Dewar <dewar@adacore.com>
* g-table.adb, g-dyntab.adb (Reallocate): Fix possible overflow in
computing new table size.
From-SVN: r210690
Arnaud Charlet [Wed, 21 May 2014 10:48:37 +0000 (12:48 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* einfo.ads: Minor reformatting.
* ceinfo.adb: Deal with slight format change of einfo.ads.
2014-05-21 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Part_Of): Further work on the proper
implementation of the SPARK 2014 rule concerning private child
units (LRM 7.2.6).
2014-05-21 Vincent Celier <celier@adacore.com>
* makeusg.adb: Add switch -d to usage.
2014-05-21 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Find_Actual): If an actual that is the prefix
of an enclosing prefixed call has been rewritten, use Nkind
and Sloc to identify the corresponding formal, when handling
deferred references.
2014-05-21 Robert Dewar <dewar@adacore.com>
* debug.adb: Document -gnatd.z switch.
* sem_eval.adb (Why_Non_Static): Test -gnatd.z switch.
From-SVN: r210689
Robert Dewar [Wed, 21 May 2014 10:45:27 +0000 (10:45 +0000)]
einfo.ads (Can_Never_Be_Null): Minor comment update.
2014-05-21 Robert Dewar <dewar@adacore.com>
* einfo.ads (Can_Never_Be_Null): Minor comment update.
* sem_prag.adb (Check_Arg_Is_Task_Dispatching_Policy): Minor
error message change.
* s-arit64.adb ("abs"): New function. Use expression functions
for the simple conversions and arithmetic.
From-SVN: r210688
Andreas Schwab [Wed, 21 May 2014 09:36:06 +0000 (09:36 +0000)]
Amend: yes
* g++.dg/cpp0x/pr61038.C (operator "" _s): Use size_t.
From-SVN: r210687
Bernd Schmidt [Wed, 21 May 2014 09:31:52 +0000 (09:31 +0000)]
Fix misapplied ChangeLog patch.
From-SVN: r210686
Bernd Schmidt [Wed, 21 May 2014 09:29:34 +0000 (09:29 +0000)]
Improve reload code generation by ignoring init insns for reloads.
* reload1.c (remove_init_insns, will_delete_init_insn_p): New static
functions.
(reload, calculate_needs_all_insns, reload_as_needed): Use them.
From-SVN: r210685
Bernd Schmidt [Wed, 21 May 2014 09:29:25 +0000 (09:29 +0000)]
Make the Blackfin port build again.
* config/bfin/bfin.c (split_load_immediate): Use gen_int_mode in a few
more places.
From-SVN: r210684
Bernd Schmidt [Wed, 21 May 2014 09:22:26 +0000 (09:22 +0000)]
Stop the cfglayout code from failing an assert when called from hw-doloop.
* cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
flag_reorder_blocks_and_partition.
* hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.
From-SVN: r210683
Oleg Endo [Wed, 21 May 2014 08:06:06 +0000 (08:06 +0000)]
re PR target/54236 ([SH] Improve addc and subc insn utilization)
gcc/
PR target/54236
* config/sh/sh.md (*addc_r_1): Rename to addc_t_r. Remove empty
constraints.
(*addc_r_t): Add new insn_and_split.
gcc/testsuite/
PR target/54236
* gcc.target/sh/pr54236-3.c: New.
From-SVN: r210682
Jakub Jelinek [Wed, 21 May 2014 08:04:03 +0000 (10:04 +0200)]
re PR middle-end/61252 (Invalid code produced for omp simd reduction(min:var) where var is reference)
PR middle-end/61252
* omp-low.c (handle_simd_reference): New function.
(lower_rec_input_clauses): Use it. Defer adding reference
initialization even for reduction without placeholder if in simd,
handle it properly later on.
* testsuite/libgomp.c++/simd-9.C: New test.
From-SVN: r210679
Igor Zamyatin [Wed, 21 May 2014 08:03:06 +0000 (08:03 +0000)]
re PR c++/60189 (ICE with invalid use of _Cilk_sync)
gcc/cp
PR c/60189
* parser.c (cp_parser_postfix_expression): Move handling of cilk_sync
from here to...
(cp_parser_statement): ...here. Make sure only semicolon can go after
Cilk_sync.
gcc/testsuite
PR c++/60189
* c-c++-common/cilk-plus/CK/invalid_sync.cÑ: New test.
From-SVN: r210678
Jan Hubicka [Wed, 21 May 2014 06:16:03 +0000 (08:16 +0200)]
re PR tree-optimization/60899 (undef reference generated with -fdevirtualize-speculatively)
PR tree-optimization/60899
* gimple-fold.c (can_refer_decl_in_current_unit_p): Cleanup;
assume all static symbols will have definition wile parsing and
check the do have definition later in compilation; check that
variable referring symbol will be output before concluding that
reference is safe; be conservative for referring local statics;
be more precise about when comdat is output in other partition.
g++.dg/ipa/devirt-11.C: Update template.
From-SVN: r210676
Jan Hubicka [Wed, 21 May 2014 05:41:46 +0000 (07:41 +0200)]
re PR bootstrap/60984 (AIX: gcc-4.9.0 bootstrap fails in stage-2)
PR bootstrap/60984
* ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED parameter.
* ipa-inline.c (inline_to_all_callers): If callee was removed; return.
(ipa_inline): Loop inline_to_all_callers until no more aliases are removed.
From-SVN: r210674
Jan Hubicka [Wed, 21 May 2014 02:46:27 +0000 (04:46 +0200)]
ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping; set writeonly flag only for vars actually written to.
* ipa.c (ipa_discover_readonly_nonaddressable_var): Fix dumping;
set writeonly flag only for vars actually written to.
From-SVN: r210672
Maciej W. Rozycki [Wed, 21 May 2014 01:24:05 +0000 (01:24 +0000)]
re PR libgcc/60166 (ARM default NAN encoding violates EABI)
PR libgcc/60166
* config/arm/sfp-machine.h (_FP_NANFRAC_H, _FP_NANFRAC_S)
(_FP_NANFRAC_D, _FP_NANSIGN_Q): Set the quiet bit.
From-SVN: r210668
Edward Smith-Rowland [Wed, 21 May 2014 00:35:29 +0000 (00:35 +0000)]
re PR c++/61038 (g++ -E is unusable with UDL strings)
gcc/testsuite/
2014-05-20 Edward Smith-Rowland <3dw4rd@verizon.net>
PR C++/61038
* g++.dg/cpp0x/pr61038.C: New.
libcpp/
2014-05-20 Edward Smith-Rowland <3dw4rd@verizon.net>
PR C++/61038
* macro.c (stringify_arg (cpp_reader *, macro_arg *)):
Check for user-defined literal strings and user-defined literal chars
to escape necessary characters.
From-SVN: r210666
GCC Administrator [Wed, 21 May 2014 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210665
Dehao Chen [Tue, 20 May 2014 22:25:06 +0000 (22:25 +0000)]
ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count and callee count to get clone count.
2014-05-20 Dehao Chen <dehao@google.com>
* ipa-inline-transform.c (clone_inlined_nodes): Use min of edge count
and callee count to get clone count.
* tree-inline.c (expand_call_inline): Use callee count instead of bb
count in copy_body.
From-SVN: r210660
Cesar Philippidis [Tue, 20 May 2014 21:31:30 +0000 (14:31 -0700)]
testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since libstdc++.exp imports those flags via getenv.
2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
libstdc++-v3/
* scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
libstdc++.exp imports those flags via getenv.
* testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
CXXFLAGS contains a '-O' flag.
From-SVN: r210659
Richard Sandiford [Tue, 20 May 2014 21:24:37 +0000 (21:24 +0000)]
re PR middle-end/61243 (verify_flow_info failed: No region crossing jump at section boundary in bb 65)
gcc/
PR rtl-optimization/61243
* emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P.
From-SVN: r210658
Xinliang David Li [Tue, 20 May 2014 20:12:22 +0000 (20:12 +0000)]
add dbgcnt support for devirt
From-SVN: r210657
DJ Delorie [Tue, 20 May 2014 19:59:45 +0000 (15:59 -0400)]
msp430.md (split): Don't allow subregs when splitting SImode adds.
* config/msp430/msp430.md (split): Don't allow subregs when
splitting SImode adds.
(andneghi): Fix subtraction logic.
* config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
From-SVN: r210655
Jan Hubicka [Tue, 20 May 2014 19:57:45 +0000 (21:57 +0200)]
tree.h (DECL_ONE_ONLY): Return true only for externally visible symbols.
* tree.h (DECL_ONE_ONLY): Return true only for externally visible
symbols.
* except.c (switch_to_exception_section, resolve_unique_section,
get_named_text_section, default_function_rodata_section,
align_variable, get_block_for_decl, default_section_type_flags):
Use DECL_COMDAT_GROUP instead of DECL_ONE_ONLY.
* symtab.c (symtab_add_to_same_comdat_group,
symtab_make_decl_local, fixup_same_cpp_alias_visibility,
symtab_nonoverwritable_alias, symtab_get_symbol_partitioning_class):
Likewise.
* cgraphclones.c (cgraph_create_virtual_clone): Likewise.
* bb-reorder.c (pass_partition_blocks::gate): Likewise.
* config/c6x/c6x.c (c6x_elf_unique_section): Likewise.
(c6x_function_in_section_p): Likewise.
* config/darwin.c (machopic_select_section): Likewise.
* config/arm/arm.c (arm_function_in_section_p): Likewise.
* config/mips/mips.c (mips_function_rodata_section): Likewise.
* config/mep/mep.c (mep_select_section): LIkewise.
* config/i386/i386.c (x86_64_elf_unique_section): Likewise.
From-SVN: r210654
Paolo Carlini [Tue, 20 May 2014 19:20:59 +0000 (19:20 +0000)]
re PR c++/58753 (Brace-initializing a vector with a direct-initialization NSDMI doesn't work in a template)
/cp
2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58753
PR c++/58930
PR c++/58704
* typeck2.c (digest_nsdmi_init): New.
* parser.c (cp_parser_late_parse_one_default_arg): Use it.
* init.c (get_nsdmi): Likewise.
* cp-tree.h (digest_nsdmi_init): Declare.
/testsuite
2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58753
PR c++/58930
PR c++/58704
* g++.dg/cpp0x/nsdmi-template11.C: New.
* g++.dg/cpp0x/nsdmi-template12.C: Likewise.
* g++.dg/cpp0x/nsdmi-template13.C: Likewise.
From-SVN: r210653
Jason Merrill [Tue, 20 May 2014 17:37:57 +0000 (13:37 -0400)]
typeck.c (get_member_function_from_ptrfunc): Don't try to look up a virtual function in a dummy object.
* typeck.c (get_member_function_from_ptrfunc): Don't try to look
up a virtual function in a dummy object.
From-SVN: r210651
Alexey Merzlyakov [Tue, 20 May 2014 17:25:26 +0000 (17:25 +0000)]
re PR target/61223 (libstdc++ build fail due to pop lr register)
2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
PR libstdc++/61223
Revert:
2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
PR libstdc++/60758
* libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
and add unwind directives.
From-SVN: r210650
Eric Botcazou [Tue, 20 May 2014 17:01:35 +0000 (17:01 +0000)]
tree-ssa-dom.c (hashable_expr_equal_p): Also compare the EH region of calls to pure functions that can throw an exception.
* tree-ssa-dom.c (hashable_expr_equal_p) <EXPR_CALL>: Also compare the
EH region of calls to pure functions that can throw an exception.
* tree-ssa-sccvn.c (vn_reference_eq): Remove duplicated test.
(copy_reference_ops_from_call): Also copy the EH region of the call if
it can throw an exception.
From-SVN: r210649
Nick Clifton [Tue, 20 May 2014 16:51:58 +0000 (16:51 +0000)]
msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
* config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
(msp430_gimplify_va_arg_expr): New function.
(msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
From-SVN: r210648
Paolo Carlini [Tue, 20 May 2014 15:16:48 +0000 (15:16 +0000)]
re PR c++/60373 (half warning: visibility attribute ignored because it)
/cp
2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60373
* decl.c (duplicate_decls): Replace pair of warning_at with
warning_at + inform.
(maybe_commonize_var): Likewise.
/testsuite
2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60373
* g++.dg/cpp0x/Wattributes1.C: New.
* g++.dg/ext/visibility/redecl1.C: Adjust.
* g++.dg/ext/visibility/visibility-7.C: Likewise.
From-SVN: r210646
Richard Sandiford [Tue, 20 May 2014 14:18:44 +0000 (14:18 +0000)]
re PR bootstrap/61210 (bootstrap failure with clang)
gcc/cp/
PR bootstrap/61210
* pt.c (tsubst_copy, tsubst_omp_for_iterator, tsubst_expr)
(tsubst_copy_and_build): Perform recursive substitutions in a
deterministic order.
From-SVN: r210645
Bill Schmidt [Tue, 20 May 2014 14:14:21 +0000 (14:14 +0000)]
simplify-rtx.c (simplify_binary_operation_1): Optimize case of nested VEC_SELECTs that are inverses of each other.
[gcc]
2014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* simplify-rtx.c (simplify_binary_operation_1): Optimize case of
nested VEC_SELECTs that are inverses of each other.
[gcc/testsuite]
2014-05-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/vsxcopy.c: New test.
From-SVN: r210644
Richard Biener [Tue, 20 May 2014 13:54:06 +0000 (13:54 +0000)]
tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
2014-05-20 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (process_scc): Dump SCC here, when
iterating,
(extract_and_process_scc_for_name): not here.
(cond_dom_walker::before_dom_children): Only process
stmts that end the BB in interesting ways.
(run_scc_vn): Mark param uses as visited.
From-SVN: r210643
Paolo Carlini [Tue, 20 May 2014 13:30:40 +0000 (13:30 +0000)]
re PR c++/58664 ([c++11] ICE initializing array of incomplete type within union)
/cp
2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58664
* typeck2.c (cxx_incomplete_type_inform): New.
(cxx_incomplete_type_diagnostic): Use it.
* decl.c (grokdeclarator): Check the element type of an
incomplete array type; call the above.
* cp-tree.h (cxx_incomplete_type_inform): Declare.
/testsuite
2014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58664
* g++.dg/cpp0x/nsdmi-union6.C: New.
* g++.dg/parse/pr58664.C: Likewise.
* g++.dg/cpp0x/nsdmi6.C: Tweak.
* g++.dg/parse/crash31.C: Likewise.
* g++.dg/template/error2.C: Likewise.
* g++.dg/template/inherit8.C: Likewise.
* g++.dg/template/offsetof2.C: Likewise.
From-SVN: r210642
Kyrylo Tkachov [Tue, 20 May 2014 13:16:21 +0000 (13:16 +0000)]
[ARM] Adjust arith_shiftsi for -mrestrict-it.
* config/arm/arm.md (arith_shiftsi): Do not predicate for
arm_restrict_it.
From-SVN: r210640
Richard Sandiford [Tue, 20 May 2014 10:08:59 +0000 (10:08 +0000)]
dg-extract-results.py (parse_run): Handle warnings that are printed before a test harness is run.
contrib/
* dg-extract-results.py (parse_run): Handle warnings that are printed
before a test harness is run.
From-SVN: r210637
Nick Clifton [Tue, 20 May 2014 09:38:00 +0000 (09:38 +0000)]
msp430.md (zero_extendpsisi2): Use + constraint on operand 0 in order to prevent confusion about the number of...
* config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
operand 0 in order to prevent confusion about the number of
registers involved.
From-SVN: r210636
Sebastian Huber [Tue, 20 May 2014 08:20:06 +0000 (08:20 +0000)]
libffi.exp (load_gcc_lib): Register loaded libs.
2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
libffi/
* testsuite/lib/libffi.exp (load_gcc_lib): Register loaded libs.
libjava/
* testsuite/lib/libjava.exp (load_gcc_lib): Register loaded libs.
libstdc++-v3/
* testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
From-SVN: r210634
Richard Biener [Tue, 20 May 2014 08:16:13 +0000 (08:16 +0000)]
re PR tree-optimization/61221 (ICE on valid code at -O1 and above on x86_64-linux-gnu)
2014-05-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/61221
* tree-ssa-pre.c (el_to_update): Remove.
(eliminate_dom_walker::before_dom_children): Handle released
VDEFs by value-numbering them to the associated VUSE. Update
stmt immediately for substituted call address.
(eliminate): Remove delayed stmt updating code.
* tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
possibly late re-numbered vuses.
(vn_reference_lookup_2): Adjust.
(vn_reference_lookup_pieces): Likewise.
(vn_reference_lookup): Likewise.
From-SVN: r210633
Richard Biener [Tue, 20 May 2014 08:01:32 +0000 (08:01 +0000)]
config.gcc: Remove need_64bit_hwint.
2014-05-20 Richard Biener <rguenther@suse.de>
gcc/
* config.gcc: Remove need_64bit_hwint.
* configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
* hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
it to be true.
* config.in: Regenerate.
* configure: Likewise.
libcpp/
* configure.ac: Copy gcc logic of detecting a 64bit type.
Remove HOST_WIDE_INT define.
* include/cpplib.h: typedef cpp_num_part to a 64bit type,
similar to how hwint.h does it.
* config.in: Regenerate.
* configure: Likewise.
From-SVN: r210632
Joern Rennecke [Tue, 20 May 2014 07:08:01 +0000 (08:08 +0100)]
* mode-switching.c (optimize_mode_switching): Fix comment typo.
From-SVN: r210631
Tim Shen [Tue, 20 May 2014 04:31:54 +0000 (04:31 +0000)]
re PR libstdc++/61227 ([C++11] Regex [\w] does not work)
2014-05-20 Tim Shen <timshen91@gmail.com>
PR libstdc++/61227
* include/bits/regex_compiler.h
(_BracketMatcher<>::_M_add_character_class): Add negative character
class support.
* include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
Add more testcases.
From-SVN: r210630
GCC Administrator [Tue, 20 May 2014 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r210629
Jonathan Wakely [Mon, 19 May 2014 21:43:13 +0000 (22:43 +0100)]
* python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
From-SVN: r210625
Jason Merrill [Mon, 19 May 2014 18:41:24 +0000 (14:41 -0400)]
re PR c++/58761 (ICE with a lambda capturing this in a NSDMI)
PR c++/58761
* pt.c (tsubst_copy): Don't check at_function_scope_p.
(instantiate_class_template_1): Don't push_to_top_level in an nsdmi.
From-SVN: r210624
Paolo Carlini [Mon, 19 May 2014 17:51:31 +0000 (17:51 +0000)]
typeck2.c (cxx_incomplete_type_diagnostic): Use inform.
/cp
2014-05-19 Paolo Carlini <paolo.carlini@oracle.com>
* typeck2.c (cxx_incomplete_type_diagnostic): Use inform.
* parser.c (cp_parser_enum_specifier): Likewise.
/testsuite
2014-05-19 Paolo Carlini <paolo.carlini@oracle.com>
* c-c++-common/gomp/simd4.c: Adjust for inform.
* g++.dg/cpp0x/decltype-call1.C: Likewise.
* g++.dg/cpp0x/forw_enum6.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-ice7.C: Likewise.
* g++.dg/cpp0x/noexcept15.C: Likewise.
* g++.dg/cpp0x/variadic-ex2.C: Likewise.
* g++.dg/eh/spec6.C: Likewise.
* g++.dg/expr/cast1.C: Likewise.
* g++.dg/expr/dtor1.C: Likewise.
* g++.dg/ext/is_base_of_diagnostic.C: Likewise.
* g++.dg/ext/unary_trait_incomplete.C: Likewise.
* g++.dg/gomp/pr49223-2.C: Likewise.
* g++.dg/gomp/udr-4.C: Likewise.
* g++.dg/init/delete1.C: Likewise.
* g++.dg/other/crash-2.C: Likewise.
* g++.dg/parse/crash24.C: Likewise.
* g++.dg/parse/crash25.C: Likewise.
* g++.dg/parse/crash31.C: Likewise.
* g++.dg/parse/crash49.C: Likewise.
* g++.dg/parse/crash50.C: Likewise.
* g++.dg/parse/crash54.C: Likewise.
* g++.dg/parse/dtor7.C: Likewise.
* g++.dg/parse/error40.C: Likewise.
* g++.dg/parse/fused-params1.C: Likewise.
* g++.dg/parse/new1.C: Likewise.
* g++.dg/template/crash35.C: Likewise.
* g++.dg/template/crash59.C: Likewise.
* g++.dg/template/crash77.C: Likewise.
* g++.dg/template/error51.C: Likewise.
* g++.dg/template/incomplete1.C: Likewise.
* g++.dg/template/incomplete3.C: Likewise.
* g++.dg/template/incomplete4.C: Likewise.
* g++.dg/template/incomplete5.C: Likewise.
* g++.dg/template/inherit8.C: Likewise.
* g++.dg/template/instantiate1.C: Likewise.
* g++.dg/template/instantiate3.C: Likewis: Likewise.
* g++.dg/template/offsetof2.C: Likewise.
* g++.dg/tm/pr51928.C: Likewise.
* g++.dg/warn/Wdelete-incomplete-1.C: Likewise.
* g++.dg/warn/incomplete1.C: Likewise.
* g++.dg/warn/incomplete2.C: Likewise.
* g++.old-deja/g++.brendan/friend4.C: Likewise.
* g++.old-deja/g++.bugs/900121_01.C: Likewise.
* g++.old-deja/g++.bugs/900214_01.C: Likewise.
* g++.old-deja/g++.eh/catch1.C: Likewise.
* g++.old-deja/g++.eh/spec6.C: Likewise.
* g++.old-deja/g++.mike/p7868.C: Likewise.
* g++.old-deja/g++.other/crash38.C: Likewise.
* g++.old-deja/g++.other/enum2.C: Likewise.
* g++.old-deja/g++.other/incomplete.C: Likewise.
* g++.old-deja/g++.other/vaarg3.C: Likewise.
* g++.old-deja/g++.pt/crash9.C: Likewise.
* g++.old-deja/g++.pt/niklas01a.C: Likewise.
* g++.old-deja/g++.pt/typename8.C: Likewise.
* g++.old-deja/g++.robertl/ice990323-1.C: Likewise.
From-SVN: r210623
David Wohlferd [Mon, 19 May 2014 17:40:40 +0000 (17:40 +0000)]
extend.texi: Create Label Attributes section, move all label attributes into it and reference it.
2014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
* doc/extend.texi: Create Label Attributes section,
move all label attributes into it and reference it.
From-SVN: r210621
Mike Stump [Mon, 19 May 2014 17:12:53 +0000 (17:12 +0000)]
+ * MAINTAINERS: Add wide-int reviewers.
From-SVN: r210620
Richard Earnshaw [Mon, 19 May 2014 16:09:49 +0000 (16:09 +0000)]
arm.c (thumb1_reorg): When scanning backwards skip anything that's not a proper insn.
* arm.c (thumb1_reorg): When scanning backwards skip anything
that's not a proper insn.
From-SVN: r210618
Joseph Myers [Mon, 19 May 2014 15:50:40 +0000 (16:50 +0100)]
* lib/target-supports.exp
(check_effective_target_vect_sizes_32B_16B): Return false if
128-bit AVX vectors preferred.
From-SVN: r210617
Mike Stump [Mon, 19 May 2014 15:32:22 +0000 (15:32 +0000)]
target-supports.exp (check_effective_target_avx): Early out if not x86 to prevent x86 flags on non-x86 targets.
* lib/target-supports.exp (check_effective_target_avx): Early out
if not x86 to prevent x86 flags on non-x86 targets.
From-SVN: r210616
Richard Henderson [Mon, 19 May 2014 14:41:18 +0000 (07:41 -0700)]
libitm: Enable aarch64
From-SVN: r210615
Richard Biener [Mon, 19 May 2014 14:33:31 +0000 (14:33 +0000)]
re PR tree-optimization/61221 (ICE on valid code at -O1 and above on x86_64-linux-gnu)
2014-05-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/61221
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Do nothing for unreachable blocks.
* tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
Improve unreachability detection.
* gcc.dg/torture/pr61221.c: New testcase.
From-SVN: r210614
Richard Biener [Mon, 19 May 2014 14:32:23 +0000 (14:32 +0000)]
re PR middle-end/61209 (internal compiler error: in fold_convert_loc, at fold-const.c:1950)
2014-05-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/61209
* tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
* gfortran.dg/pr61209.f90: New testcase.
From-SVN: r210613
Nick Clifton [Mon, 19 May 2014 13:27:25 +0000 (13:27 +0000)]
except.c (init_eh): Fix computation of builtin setjmp buffer size to allow for targets where...
* except.c (init_eh): Fix computation of builtin setjmp buffer
size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
From-SVN: r210612
Richard Biener [Mon, 19 May 2014 12:32:15 +0000 (12:32 +0000)]
re PR tree-optimization/61184 (wrong code (that hangs) by LTO on x86_64-linux-gnu)
2014-05-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/61184
* tree-vrp.c (is_negative_overflow_infinity): Use
TREE_OVERFLOW_P and do that check first.
(is_positive_overflow_infinity): Likewise.
(is_overflow_infinity): Likewise.
(vrp_operand_equal_p): Properly treat operands with
differing overflow as not equal.
* c-c++-common/torture/pr61184.c: New testcase.
From-SVN: r210611
Bernd Schmidt [Mon, 19 May 2014 11:38:14 +0000 (11:38 +0000)]
Fix an error in a CONST_INT_P patch from 2009.
* simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
shift simplification where it was intended.
From-SVN: r210610
Christian Bruel [Mon, 19 May 2014 08:04:22 +0000 (10:04 +0200)]
re PR target/61195 (single precision fmov does not need to switch mode)
PR target/61195
* config/sh/sh.md (movsf_ie): Unset fp_mode for fmov
From-SVN: r210608
Richard Sandiford [Mon, 19 May 2014 07:25:25 +0000 (07:25 +0000)]
re PR bootstrap/61084 (wide-int merge broke Solaris/SPARC bootstrap)
gcc/
PR target/61084
* config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
than wide_int.
From-SVN: r210604
Richard Sandiford [Mon, 19 May 2014 06:49:58 +0000 (06:49 +0000)]
reg-notes.def (CROSSING_JUMP): Likewise.
gcc/
* reg-notes.def (CROSSING_JUMP): Likewise.
* rtl.h (rtx_def): Update comment for jump flag.
(CROSSING_JUMP_P): Define.
* cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
of a REG_CROSSING_JUMP note.
* cfghooks.c (tidy_fallthru_edges): Likewise.
* cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
* emit-rtl.c (try_split): Likewise.
* haifa-sched.c (sched_create_recovery_edges): Likewise.
* ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
* jump.c (redirect_jump_2): Likewise.
* reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
(relax_delay_slots): Likewise.
* config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
(bbit_di): Likewise.
* config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
* config/sh/sh.md (jump_compact): Likewise.
* bb-reorder.c (rotate_loop): Likewise.
(pass_duplicate_computed_gotos::execute): Likewise.
(add_reg_crossing_jump_notes): Rename to...
(update_crossing_jump_flags): ...this.
(pass_partition_blocks::execute): Update accordingly.
From-SVN: r210603
Richard Sandiford [Mon, 19 May 2014 06:47:03 +0000 (06:47 +0000)]
tree.h: Remove extraneous template <>.
gcc/
* tree.h: Remove extraneous template <>.
From-SVN: r210602
Wei Mi [Mon, 19 May 2014 05:25:45 +0000 (05:25 +0000)]
re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)
2014-05-18 Wei Mi <wmi@google.com>
PR target/58066
* gcc.target/i386/pr58066.c: Replace pattern matching of .cfi
directive with rtl insns. Add effective-target of fpic and
tls_native.
From-SVN: r210601
Xinliang David Li [Mon, 19 May 2014 01:41:16 +0000 (01:41 +0000)]
Add new test case
From-SVN: r210599
Jan Hubicka [Mon, 19 May 2014 01:01:12 +0000 (03:01 +0200)]
ipa.c (symtab_remove_unreachable_nodes): Remove symbol from comdat group if its body was eliminated.
* ipa.c (symtab_remove_unreachable_nodes): Remove
symbol from comdat group if its body was eliminated.
(comdat_can_be_unshared_p_1): Static symbols can always
be privatized.
* symtab.c (symtab_remove_from_same_comdat_group): Break out
from ...
(symtab_unregister_node): ... this one.
(verify_symtab_base): More strict checking of comdats.
* cgraph.h (symtab_remove_from_same_comdat_group): Declare.
From-SVN: r210598
Jan Hubicka [Mon, 19 May 2014 00:58:43 +0000 (02:58 +0200)]
tree-pass.h (make_pass_ipa_comdats): New pass.
* tree-pass.h (make_pass_ipa_comdats): New pass.
* timevar.def (TV_IPA_COMDATS): New timevar.
* passes.def (pass_ipa_comdats): Add.
* Makefile.in (OBJS): Add ipa-comdats.o
* ipa-comdats.c: New file.
* g++.dg/ipa/comdat.C: New file.
From-SVN: r210597
GCC Administrator [Mon, 19 May 2014 00:18:24 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r210596
Jan Hubicka [Sun, 18 May 2014 21:16:08 +0000 (23:16 +0200)]
ipa.c (update_visibility_by_resolution_info): New function.
* ipa.c (update_visibility_by_resolution_info): New function.
(function_and_variable_visibility): Use it.
From-SVN: r210592
Eric Botcazou [Sun, 18 May 2014 21:12:42 +0000 (21:12 +0000)]
trans.c (Subprogram_Body_to_gnu): Rework comment and set function_start_locus.
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Rework comment and
set function_start_locus.
From-SVN: r210591
Eric Botcazou [Sun, 18 May 2014 21:08:14 +0000 (21:08 +0000)]
utils.c (gnat_write_global_declarations): Adjust the flags put on dummy_global.
* utils.c (gnat_write_global_declarations): Adjust the flags put on
dummy_global.
From-SVN: r210589
Eric Botcazou [Sun, 18 May 2014 21:02:59 +0000 (21:02 +0000)]
decl.c (change_qualified_type): New static function.
* gcc-interface/decl.c (change_qualified_type): New static function.
(gnat_to_gnu_entity): Use it throughout to add qualifiers on types.
<E_Array_Type>: Set TYPE_VOLATILE on the array type directly.
<E_Array_Subtype>: Likewise.
Do not set flags on an UNCONSTRAINED_ARRAY_TYPE directly.
(gnat_to_gnu_component_type): Likewise.
(gnat_to_gnu_param): Likewise.
From-SVN: r210588
Eric Botcazou [Sun, 18 May 2014 20:52:45 +0000 (20:52 +0000)]
fe.h (Set_Present_Expr): Move around.
* fe.h (Set_Present_Expr): Move around.
(End_Location): New macro.
* gcc-interface/trans.c (Case_Statement_to_gnu): Use End_Location.
From-SVN: r210587
Jan Hubicka [Sun, 18 May 2014 19:11:58 +0000 (21:11 +0200)]
cgraph.h (symtab_first_defined_symbol, [...]): New functions.
* cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
New functions.
(FOR_EACH_DEFINED_SYMBOL): New macro.
(varpool_first_static_initializer, varpool_next_static_initializer,
varpool_first_defined_variable, varpool_next_defined_variable): Fix comments.
(symtab_in_same_comdat_p): Correctly deal with inline functions.
From-SVN: r210586
Eric Botcazou [Sun, 18 May 2014 17:59:58 +0000 (17:59 +0000)]
decl.c (gnat_to_gnu_entity): Use Underlying_Type in lieu of more verbose construct.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use Underlying_Type in
lieu of more verbose construct.
* gcc-interface/trans.c (Call_to_gnu): Likewise.
(gnat_to_gnu): Likewise. Remove obsolete code.
From-SVN: r210585
Eric Botcazou [Sun, 18 May 2014 17:51:15 +0000 (17:51 +0000)]
decl.c (gnat_to_gnu_entity): Do not consider that regular packed arrays can never be superflat.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Do not
consider that regular packed arrays can never be superflat.
From-SVN: r210583
Uros Bizjak [Sun, 18 May 2014 10:29:30 +0000 (12:29 +0200)]
libgomp.texi (Runitme Library Routines): Remove multiple @menu.
* libgomp.texi (Runitme Library Routines): Remove multiple @menu.
(Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
texts according to their @menu entry positions.
From-SVN: r210580
Andreas Schwab [Sun, 18 May 2014 07:25:33 +0000 (07:25 +0000)]
* gcc.target/ia64/visibility-1.c (variable_l): Add used attribute.
From-SVN: r210579
Uros Bizjak [Sun, 18 May 2014 07:24:24 +0000 (09:24 +0200)]
ChangeLog: Fix.
* ChangeLog: Fix.
* testsuite/ChangeLog: Ditto.
From-SVN: r210578
Uros Bizjak [Sun, 18 May 2014 07:17:06 +0000 (09:17 +0200)]
extend.texi (Size of an asm): Really move node to its position.
* doc/extend.texi (Size of an asm): Really move node to its position.
From-SVN: r210577
Jerry DeLisle [Sun, 18 May 2014 02:34:02 +0000 (02:34 +0000)]
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write)
2014-05-17 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/52539
* gfortran.dg/namelist_utf8.f90: New test.
From-SVN: r210575
Jerry DeLisle [Sun, 18 May 2014 02:29:27 +0000 (02:29 +0000)]
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write)
2014-05-17 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/52539
* io/io.h (gfc_unit): New function pointers *next_char_fn_ptr
and *push_char_fn_ptr.
*io/list_read.c (next_char): Create macro with this name to call
the new function pointer. Split the original next_char function
into three new functions. (next_char_default, next_char_internal,
next_char_utf8): New functions. (push_char): Create macro with
this name to call new function pointer. Split the original
push_char into three new functions. (push_char_default,
push_char_internal, push_char4): New functions. (set_workers):
New function to initilize the function pointers depending on the
type of IO to be performed. (list_formatted_read_scalar): Use
set_workers function. (finish_list_read): Likewise.
(namelist_read): Likewise.
(nml_get_obj_data): Use push_char_default.
From-SVN: r210574
GCC Administrator [Sun, 18 May 2014 00:17:09 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210573
Trevor Saunders [Sat, 17 May 2014 23:15:55 +0000 (23:15 +0000)]
comment ggc_handle_finalizers
* ggc-page.c (ggc_handle_finalizers): Add comment.
From-SVN: r210569
Trevor Saunders [Sat, 17 May 2014 23:08:00 +0000 (23:08 +0000)]
add finalizers to ggc
This implements finalizers by keeping a list of registered finalizers
and after every mark but before sweeping check to see if any of them are
for unmarked blocks.
gcc/ChangeLog:
* ggc-common.c (ggc_internal_cleared_alloc): Adjust.
* ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
(ggc_internal_cleared_alloc): Likewise.
* ggc-page.c (finalizer): New class.
(vec_finalizer): Likewise.
(globals::finalizers): New member.
(globals::vec_finalizers): Likewise.
(ggc_internal_alloc): Record the finalizer if any for the block being
allocated.
(ggc_handle_finalizers): New function.
(ggc_collect): Call ggc_handle_finalizers.
* ggc.h (ggc_internal_alloc): Add arguments to allow installing a
finalizer.
(ggc_internal_cleared_alloc): Likewise.
(finalize): New function.
(need_finalization_p): Likewise.
(ggc_alloc): Install the type's destructor as the finalizer if it
might do something.
(ggc_cleared_alloc): Likewise.
(ggc_vec_alloc): Likewise.
(ggc_cleared_vec_alloc): Likewise.
From-SVN: r210568
Trevor Saunders [Sat, 17 May 2014 23:07:43 +0000 (23:07 +0000)]
remove unused function
gcc/ChangeLog:
*ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
From-SVN: r210567
Trevor Saunders [Sat, 17 May 2014 23:07:23 +0000 (23:07 +0000)]
use templates instead of gengtype for typed allocation functions
gcc/ChangeLog:
* alias.c (record_alias_subset): Adjust.
* bitmap.c (bitmap_element_allocate): Likewise.
(bitmap_gc_alloc_stat): Likewise.
* cfg.c (init_flow): Likewise.
(alloc_block): Likewise.
(unchecked_make_edge): Likewise.
* cfgloop.c (alloc_loop): Likewise.
(flow_loops_find): Likewise.
(rescan_loop_exit): Likewise.
* cfgrtl.c (init_rtl_bb_info): Likewise.
* cgraph.c (insert_new_cgraph_node_version): Likewise.
(cgraph_allocate_node): Likewise.
(cgraph_create_edge_1): Likewise.
(cgraph_allocate_init_indirect_info): Likewise.
* cgraphclones.c (cgraph_clone_edge): Likewise.
* cgraphunit.c (add_asm_node): Likewise.
(init_lowered_empty_function): Likewise.
* config/aarch64/aarch64.c (aarch64_init_machine_status):
Likewise.
* config/alpha/alpha.c (alpha_init_machine_status): Likewise.
(alpha_use_linkage): Likewise.
* config/arc/arc.c (arc_init_machine_status): Likewise.
* config/arm/arm.c (arm_init_machine_status): Likewise.
* config/avr/avr.c (avr_init_machine_status): Likewise.
* config/bfin/bfin.c (bfin_init_machine_status): Likewise.
* config/c6x/c6x.c (c6x_init_machine_status): Likewise.
* config/cris/cris.c (cris_init_machine_status): Likewise.
* config/darwin.c (machopic_indirection_name): Likewise.
(darwin_build_constant_cfstring): Likewise.
(darwin_enter_string_into_cfstring_table): Likewise.
* config/epiphany/epiphany.c (epiphany_init_machine_status):
* Likewise.
* config/frv/frv.c (frv_init_machine_status): Likewise.
* config/i386/i386.c (get_dllimport_decl): Likewise.
(ix86_init_machine_status): Likewise.
(assign_386_stack_local): Likewise.
* config/i386/winnt.c (i386_pe_record_external_function):
Likewise.
(i386_pe_maybe_record_exported_symbol): Likewise.
(i386_pe_record_stub): Likewise.
* config/ia64/ia64.c (ia64_init_machine_status): Likewise.
* config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
* config/m32c/m32c.c (m32c_init_machine_status): Likewise.
(m32c_note_pragma_address): Likewise.
* config/mep/mep.c (mep_init_machine_status): Likewise.
(mep_note_pragma_flag): Likewise.
* config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
(mips16_local_alias): Likewise.
(mips_init_machine_status): Likewise.
* config/mmix/mmix.c (mmix_init_machine_status): Likewise.
* config/moxie/moxie.c (moxie_init_machine_status): Likewise.
* config/msp430/msp430.c (msp430_init_machine_status): Likewise.
* config/nds32/nds32.c (nds32_init_machine_status): Likewise.
* config/nios2/nios2.c (nios2_init_machine_status): Likewise.
* config/pa/pa.c (pa_init_machine_status): Likewise.
(pa_get_deferred_plabel): Likewise.
* config/rl78/rl78.c (rl78_init_machine_status): Likewise.
* config/rs6000/rs6000.c (builtin_function_type): Likewise.
(rs6000_init_machine_status): Likewise.
(output_toc): Likewise.
* config/s390/s390.c (s390_init_machine_status): Likewise.
* config/score/score.c (score_output_external): Likewise.
* config/sparc/sparc.c (sparc_init_machine_status): Likewise.
* config/spu/spu.c (spu_init_machine_status): Likewise.
* config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
* config/tilepro/tilepro.c (tilepro_init_machine_status):
* Likewise.
* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
* coverage.c (coverage_end_function): Likewise.
* dbxout.c (dbxout_init): Likewise.
* doc/gty.texi: Don't mention variable_size attribute.
* dwarf2cfi.c (new_cfi): Adjust.
(new_cfi_row): Likewise.
(copy_cfi_row): Likewise.
(create_cie_data): Likewise.
* dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
(new_loc_descr): Likewise.
(find_AT_string_in_table): Likewise.
(add_addr_table_entry): Likewise.
(new_die): Likewise.
(add_var_loc_to_decl): Likewise.
(clone_die): Likewise.
(clone_as_declaration): Likewise.
(break_out_comdat_types): Likewise.
(new_loc_list): Likewise.
(add_loc_descr_to_each): Likewise.
(add_location_or_const_value_attribute): Likewise.
(add_linkage_name): Likewise.
(lookup_filename): Likewise.
(dwarf2out_var_location): Likewise.
(new_line_info_table): Likewise.
(dwarf2out_init): Likewise.
(mem_loc_descriptor): Likewise.
(loc_descriptor): Likewise.
(add_const_value_attribute): Likewise.
(tree_add_const_value_attribute): Likewise.
(comp_dir_string): Likewise.
(dwarf2out_vms_debug_main_pointer): Likewise.
(string_cst_pool_decl): Likewise.
* emit-rtl.c (set_mem_attrs): Likewise.
(get_reg_attrs): Likewise.
(start_sequence): Likewise.
(init_emit): Likewise.
(init_emit_regs): Likewise.
* except.c (init_eh_for_function): Likewise.
(gen_eh_region): Likewise.
(gen_eh_region_catch): Likewise.
(gen_eh_landing_pad): Likewise.
(add_call_site): Likewise.
* function.c (add_frame_space): Likewise.
(insert_temp_slot_address): Likewise.
(assign_stack_temp_for_type): Likewise.
(get_hard_reg_initial_val): Likewise.
(allocate_struct_function): Likewise.
(prepare_function_start): Likewise.
(types_used_by_var_decl_insert): Likewise.
* gengtype.c (variable_size_p): Remove function.
(enum alloc_quantity): Remove enum.
(write_typed_alloc_def): Remove function.
(write_typed_struct_alloc_def): Likewise.
(write_typed_typedef_alloc_def): Likewise.
(write_typed_alloc_defns): Likewise.
(main): Adjust.
* ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
(ggc_cleared_alloc_ptr_array_two_args): Likewise.
* ggc.h (ggc_alloc): new function.
(ggc_cleared_alloc): Likewise.
(ggc_vec_alloc): Template on type of vector element, and remove
element size argument.
(ggc_cleared_vec_alloc): Likewise.
* gimple.c (gimple_build_omp_for): Adjust.
(gimple_copy): Likewise.
* ipa-cp.c (get_replacement_map): Likewise.
(find_aggregate_values_for_callers_subset): Likewise.
(known_aggs_to_agg_replacement_list): Likewise.
* ipa-devirt.c (get_odr_type): Likewise.
* ipa-prop.c (ipa_node_duplication_hook): Likewise.
(read_agg_replacement_chain): Likewise.
* loop-iv.c (get_simple_loop_desc): Likewise.
* lto-cgraph.c (input_node_opt_summary): Likewise.
* lto-section-in.c (lto_new_in_decl_state): Likewise.
* lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
(input_eh_region): Likewise.
(input_eh_lp): Likewise.
(input_cfg): Likewise.
* optabs.c (set_optab_libfunc): Likewise.
(init_tree_optimization_optabs): Likewise.
(set_conv_libfunc): Likewise.
* passes.c (do_per_function_toporder): Likewise.
* rtl.h: Don't use variable_size gty attribute.
* sese.c (if_region_set_false_region): Adjust.
* stringpool.c (gt_pch_save_stringpool): Likewise.
* target-globals.c (save_target_globals): Likewise.
* toplev.c (general_init): Likewise.
* trans-mem.c (record_tm_replacement): Likewise.
(split_bb_make_tm_edge): Likewise.
* tree-cfg.c (move_sese_region_to_fn): Likewise.
* tree-data-ref.h (lambda_vector_new): Likewise.
* tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
* tree-iterator.c (tsi_link_before): Likewise.
(tsi_link_after): Likewise.
* tree-scalar-evolution.c (new_scev_info_str): Likewise.
* tree-ssa-loop-niter.c (record_estimate): Likewise.
* tree-ssa-operands.c (ssa_operand_alloc): Likewise.
* tree-ssa-operands.h: Don't use variable_size gty attribute.
* tree-ssa.c (init_tree_ssa): Adjust.
* tree-ssanames.c (set_range_info): Likewise.
(get_ptr_info): Likewise.
(duplicate_ssa_name_ptr_info): Likewise.
(duplicate_ssa_name_range_info): Likewise.
* tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
(unpack_ts_fixed_cst_value_fields): Likewise.
* tree.c (build_fixed): Likewise.
(build_real): Likewise.
(build_string): Likewise.
(decl_priority_info): Likewise.
(decl_debug_expr_insert): Likewise.
(decl_value_expr_insert): Likewise.
(decl_debug_args_insert): Likewise.
(type_hash_add): Likewise.
(build_omp_clause): Likewise.
* ubsan.c (decl_for_type_insert): Likewise.
* varasm.c (get_unnamed_section): Likewise.
(get_noswitch_section): Likewise.
(get_section): Likewise.
(get_block_for_section): Likewise.
(create_block_symbol): Likewise.
(build_constant_desc): Likewise.
(create_constant_pool): Likewise.
(force_const_mem): Likewise.
(record_tm_clone_pair): Likewise.
* varpool.c (varpool_create_empty_node): Likewise.
gcc/c/ChangeLog:
* c-decl.c (finish_struct): Adjust.
(finish_enum): Likewise.
(bind): Adjust.
(record_inline_static): Likewise.
(push_scope): Likewise.
(make_label): Likewise.
(lookup_label_for_goto): Likewise.
(finish_struct): Likewise.
(finish_enum): Likewise.
(store_parm_decls): Likewise.
(c_push_function_context): Likewise.
* c-lang.h: Remove usage of variable_size gty attribute.
* c-parser.c (c_parse_init): Adjust.
(c_parse_file): Likewise.
gcc/java/ChangeLog:
* class.c (add_method_1): Adjust.
(java_treetreehash_new): Likewise.
* constants.c (set_constant_entry): Likewise.
(cpool_for_class): Likewise.
* decl.c (make_binding_level): Likewise.
(java_dup_lang_specific_decl): Likewise.
* expr.c (add_type_assertion): Likewise.
* java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Likewise.
(lang_decl): don't use variable_size gty attribute.
(MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Adjust.
(lang_type): Don't use variable_size gty attribute.
* jcf-parse.c (java_parse_file): Adjust.
(process_zip_dir): Likewise.
* jcf.h: Remove usage of variable_size gty attribute.
* jcf-reader.c (jcf_parse_constant_pool): Adjust.
(jcf_parse_bootstrap_methods): Likewise.
gcc/objc/ChangeLog:
* objc-act.c (objc_build_string_object): Adjust.
(continue_class): Likewise.
* objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise.
* objc-map.c (objc_map_alloc_ggc): Likewise.
(objc_map_private_resize): Likewise.
* objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init):
Likewise.
(hash_name_enter): Likewise.
gcc/cp/ChangeLog:
* class.c (sorted_fields_type_new): Adjust.
* cp-cilkplus.c (cilk_install_body_with_frame_cleanup): Likewise.
* cp-objcp-common.c (decl_shadowed_for_var_insert): Likewise.
* cp-tree.h: Remove usage of variable_size gty attribute.
* decl.c (make_label_decl): Adjust.
(check_goto): Likewise.
(start_preparsed_function): Likewise.
(save_function_data): Likewise.
* lex.c (init_reswords): Likewise.
(retrofit_lang_decl): Likewise.
(cxx_dup_lang_specific_decl): Likewise.
(copy_lang_type): Likewise.
(cxx_make_type): Likewise.
* name-lookup.c (binding_entry_make): Likewise.
(binding_table_construct): Likewise.
(binding_table_new): Likewise.
(cxx_binding_make): Likewise.
(pushdecl_maybe_friend_1): Likewise.
(begin_scope): Likewise.
(push_to_top_level): Likewise.
* parser.c (cp_lexer_alloc): Likewise.
(cp_lexer_new_from_tokens): Likewise.
(cp_token_cache_new): Likewise.
(cp_parser_context_new): Likewise.
(cp_parser_new): Likewise.
(cp_parser_nested_name_specifier_opt): Likewise.
(cp_parser_template_id): Likewise.
* pt.c (maybe_process_partial_specialization): Likewise.
(register_specialization): Likewise.
(add_pending_template): Likewise.
(lookup_template_class_1): Likewise.
(push_tinst_level): Likewise.
* semantics.c (register_constexpr_fundef): Likewise.
(cxx_eval_call_expression): Likewise.
* typeck2.c (abstract_virtuals_error_sfinae): Likewise.
gcc/fortran/ChangeLog:
* f95-lang.c (pushlevel): Adjust.
* trans-decl.c (gfc_allocate_lang_decl): Adjust.
(gfc_find_module): Likewise.
* trans-types.c (gfc_get_nodesc_array_type): Likewise.
(gfc_get_array_type_bounds): Likewise.
(gfc_nonrestricted_type): Likewise.
* trans.h: Don't use variable_size gty attribute.
gcc/ada/ChangeLog:
* gcc-interface/ada-tree.h: Remove usage of variable_size gty
annotation.
* gcc-interface/decl.c (annotate_value): Adjust.
* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
(push_range_check_info): Likewise.
(Loop_Statement_to_gnu): Likewise.
(Subprogram_Body_to_gnu): Likewise.
(Compilation_Unit_to_gnu): Likewise.
(start_stmt_group): Likewise.
* gcc-interface/utils.c (init_gnat_utils): Likewise.
(gnat_pushlevel): Likewise.
(maybe_pad_type): Likewise.
gcc/go/ChangeLog:
* go-lang.c (struct GTY): Don't use variable_size gty attribute.
gcc/c-family/ChangeLog:
* c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
* c-pragma.c (push_alignment): Adjust.
(handle_pragma_push_options): Likewise.
gcc/lto/ChangeLog:
* lto-tree.h: Don't use variable_size gty attribute.
* lto.c (lto_read_in_decl_state): Adjust.
(create_subid_section_table): Likewise.
(lto_flatten_files): Likewise.
(read_cgraph_and_symbols): Likewise.
gcc/objcp/ChangeLog:
* objcp-decl.h: Adjust.
From-SVN: r210566