1. 17 Oct, 2014 31 commits
    • hexfloat.cc: Add dg-require-string-conversions. · 6666a3ef
      	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
      	Add dg-require-string-conversions.
      	* testsuite/27_io/headers/cstdio/types_std.cc: Test for fpos_t.
      
      From-SVN: r216398
      Jonathan Wakely committed
    • Implement the Library Fundamentals v1 variable templates. · 37285913
      2014-10-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
      
      	Implement the Library Fundamentals v1 variable templates.
      	* include/Makefile.am: Add the new header.
      	* include/Makefile.in: Regenerate.
      	* include/experimental/type_traits: New.
      	* testsuite/experimental/type_traits/value.cc: Likewise.
      
      From-SVN: r216397
      Ville Voutilainen committed
    • fold-const.c (fold_comparison): Remove redundant constant folding and operand swapping. · a3423260
      2014-10-17  Richard Biener  <rguenther@suse.de>
      
      	* fold-const.c (fold_comparison): Remove redundant constant
      	folding and operand swapping.
      	(fold_binary_loc): Do comparison operand swapping here.
      	(fold_ternary_loc): Canonicalize operand order for
      	commutative ternary operations.
      	* tree.c (commutative_ternary_tree_code): Add DOT_PROD_EXPR
      	and FMA_EXPR.
      
      From-SVN: r216394
      Richard Biener committed
    • re PR tree-optimization/63464 (compare one character to many: faster) · 73049af5
      	PR tree-optimization/63464
      	* gimple.h (gimple_seq_discard): New prototype.
      	* gimple.c: Include stringpool.h and tree-ssanames.h.
      	(gimple_seq_discard): New function.
      	* optabs.h (lshift_cheap_p): New prototype.
      	* optabs.c (lshift_cheap_p): New function, moved from...
      	* tree-switch-conversion.c (lshift_cheap_p): ... here.
      	* tree-ssa-reassoc.c: Include gimplify.h and optabs.h.
      	(reassoc_branch_fixups): New variable.
      	(update_range_test): Add otherrangep and seq arguments.
      	Unshare exp.  If otherrange is NULL, use for other ranges
      	array of pointers pointed by otherrangep instead.
      	Emit seq before gimplified statements for tem.
      	(optimize_range_tests_diff): Adjust update_range_test
      	caller.
      	(optimize_range_tests_xor): Likewise.  Fix up comment.
      	(extract_bit_test_mask, optimize_range_tests_to_bit_test): New
      	functions.
      	(optimize_range_tests): Adjust update_range_test caller.
      	Call optimize_range_tests_to_bit_test.
      	(branch_fixup): New function.
      	(execute_reassoc): Call branch_fixup.
      
      	* gcc.dg/torture/pr63464.c: New test.
      	* gcc.dg/tree-ssa/reassoc-37.c: New test.
      	* gcc.dg/tree-ssa/reassoc-38.c: New test.
      
      From-SVN: r216393
      Jakub Jelinek committed
    • re PR tree-optimization/63302 (Code with 64-bit long long constants is miscompiled on 32-bit host) · 4eb4a256
      	PR tree-optimization/63302
      	* tree-ssa-reassoc.c (optimize_range_tests_xor,
      	optimize_range_tests_diff): Use !integer_pow2p () instead of
      	tree_log2 () < 0.
      
      	* gcc.c-torture/execute/pr63302.c: New test.
      
      From-SVN: r216391
      Jakub Jelinek committed
    • Temporary fix for PR63566. · 9d4ded75
      	* ipa-icf.c (sem_function::merge): Local flags are set to false
      	to enforce equal calling convention to be used.
      	* opts.c (common_handle_option): Indentation fix.
      
      From-SVN: r216386
      Martin Liska committed
    • [multiple changes] · 43c58950
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch9.adb (Expand_N_Task_Body): Add defense against
      	previous errors.
      	* freeze.adb (Freeze_Entity): Add defense against checking null
      	scope for generic.
      	* restrict.adb (Tasking_Allowed): Add test for No_Run_Time mode.
      	* sem_ch13.adb (Freeze_Entity_Checks): Add defense against
      	previous errors.
      	* sem_ch9.adb (Analyze_Task_Type_Declaration): Give error if
      	in No_Run_Time mode.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* prj-makr.adb: Minor reformatting.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* gnatcmd.adb, make.adb, prj-part.adb, gnatlink.adb, prj-nmsc.adb,
      	prj-conf.adb, prj-env.adb: Use Is_Directory_Separator where possible.
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_prag.adb (Undo_Initialization): If Initialize_Scalars
      	is enabled, code will be generated for some composite types
      	to initialize an object after its declaration. If there is
      	a subsequent Import pragma for the object, that code must be
      	removed as specified byw the semantics of the pragma, and to
      	prevent out-of-order elaboration issues in the back-end.
      
      2014-10-17  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Concat): Keep concatenation operator
      	wrapping mechanism under debug flag -gnatd.h.
      	* debug.adb: Claim debug switch -gnatd.h.
      
      From-SVN: r216384
      Arnaud Charlet committed
    • Makefile.in: Enable the socket runtime bits for Android. · fa2e6e25
      	* gcc-interface/Makefile.in: Enable the socket runtime bits
      	for Android.
      
      From-SVN: r216383
      Doug Rupp committed
    • sem_ch13.adb (Add_Invariants, [...]): Do not perform the replacement on the… · c3ba8ed0
      sem_ch13.adb (Add_Invariants, [...]): Do not perform the replacement on the expression for an inherited class-wide...
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Add_Invariants, Replace_Type_References): Do
      	not perform the replacement on the expression for an inherited
      	class-wide invariant if in ASIS_Mode and the type reference is
      	already the prefix of a 'Class attribute reference: the expression
      	has already been preanalyzed and the replacement performed when
      	first encountered on the declaration of the parent type.
      
      From-SVN: r216382
      Ed Schonberg committed
    • sem_ch5.adb, [...]: Minor reformatting. · 2e215573
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch5.adb, sem_ch7.adb, prj-nmsc.adb, sem_ch13.adb, exp_ch3.adb:
      	Minor reformatting.
      
      From-SVN: r216381
      Robert Dewar committed
    • [multiple changes] · ac2ea5c5
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch3.adb (Build_Component_Invariant_Call): Retrieve Invariant
      	subprogram from base type.
      	* sem_ch7.adb (Analyze_Package_Specification): Build invariant
      	subprogram for private type, not any of its subtypes.
      	* sem_ch13.adb (Build_Invariant_Procedure_Declaration): Set type
      	of procedure entity, because a call to it may be generated in
      	a client unit before the corresponding subprogram declaration
      	is analyzed.
      
      2014-10-17  Vincent Celier  <celier@adacore.com>
      
      	* prj-nmsc.adb (Get_Directories): Do not create directories
      	when a project is abstract.
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iterator_Specification): If the domain
      	of iteration is given by an expression that is not an array type,
      	verify that its type implements an iterator iterface.
      
      From-SVN: r216380
      Arnaud Charlet committed
    • [multiple changes] · 99425ec3
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* sem_attr.adb (Eval_Attribute): Ensure that attribute
      	reference is not marked as being a static expression if the
      	prefix evaluation raises CE.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* exp_pakd.adb: Move bit packed entity tables to spec.
      	* exp_pakd.ads: Move bit packed entity tables here from body.
      	* freeze.adb (Freeze_Array_Type): Check that packed array type
      	is supported.
      	* rtsfind.adb (PRE_Id_Table): New table (Entity_Not_Defined):
      	Specialize messages using PRE_Id_Table.
      	* uintp.ads, uintp.adb (UI_Image): New functional form.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* aspects.ads, aspects.adb: Add Suppress_Initialization aspect.
      	* einfo.ads, einfo.adb (Suppress_Initialization): Now applies to
      	E_Variable.
      	* exp_ch3.adb (Default_Initialize_Object): Handle
      	Suppress_Initialization.
      	* exp_prag.adb (Expand_Pragma_Suppress_Initialization): New
      	procedure (Expand_N_Pragma): Handle Suppress_Initialization
      	(Expand_Pragma_Import_Or_Interface): Use Undo_Initialization
      	(Undo_Initialization): New procedure.
      	* sem_prag.adb (Analyze_Pragma, case Suppress_Initialization):
      	This is now allowed for E_Variable case.
      	* gnat_rm.texi: Document new aspect Suppress_Initialization
      	Suppress_Initialization aspect/pragma can apply to variable.
      	* einfo.ads: Minor reformatting.
      
      2014-10-17  Arnaud Charlet  <charlet@adacore.com>
      
      	* spark_xrefs.ads: Add documentation pointer to Flow_Computed_Globals.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* cstand.adb (Create_Standard): Mark Short_Integer as
      	implementation defined.
      	* sem_util.adb (Set_Entity_With_Checks): Avoid blow up for
      	compiler built with assertions for No_Implementation_Identifiers test.
      
      From-SVN: r216379
      Arnaud Charlet committed
    • aspects.ads: Documentation fix, aspect Lock_Free does have a corresponding pragma. · 99bd87dd
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* aspects.ads: Documentation fix, aspect Lock_Free does have a
      	corresponding pragma.
      	* gnat_rm.texi: Document implementation defined boolean aspects
      	as boolean.
      
      From-SVN: r216378
      Robert Dewar committed
    • [multiple changes] · dc06dd83
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Add_Invariants): For a class-wide type invariant,
      	preserve semantic information on the invariant expression
      	(typically a function call) because it may be inherited by a
      	type extension in a different unit, and it cannot be resolved
      	by visibility elsewhere because it may refer to local entities.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document that string literal can be used for
      	pragma Warnings when operating in Ada 83 mode.
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb (Find_Aggregate_Component_Desig_Type): New
      	subsidiary function to Freeze_ Expression, used to determine
      	whether an aggregate for an array of access types also freezes the
      	designated type, when some aggregate components are allocators.
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-strsea.adb (Find_Token): AI05-031 indicates that the
      	procedure must raise Index_Error when Source is not empty and
      	the From parameter is not within the range of the Source string.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb (Is_Static_String_Expression): Allow string
      	literal in Ada 83 mode.
      
      From-SVN: r216377
      Arnaud Charlet committed
    • [multiple changes] · c3ed5e9e
      2014-10-17  Vincent Celier  <celier@adacore.com>
      
      	* prj-conf.adb (Get_Config_Switches): In CodePeer mode, do
      	not take into account any compiler command from package IDE.
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Build_Function_Wrapper): The formals of the
      	wrapper must have the same identifiers as those of the formal
      	subprogram, because calls within the generic may use named
      	associations.
      
      From-SVN: r216376
      Arnaud Charlet committed
    • sem_ch3.adb, [...]: Minor reformatting. · e7cd165c
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, a-strsea.adb: Minor reformatting.
      	* par-ch6.adb (P_Subprogram): Fix bad handling of null procedures.
      
      From-SVN: r216375
      Robert Dewar committed
    • sem_ch3.adb (Build_Derived_Enumeration_Type): Propagate aspect specfications… · b98b57a5
      sem_ch3.adb (Build_Derived_Enumeration_Type): Propagate aspect specfications from original type declaration to declaration of...
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Build_Derived_Enumeration_Type): Propagate aspect
      	specfications from original type declaration to declaration of
      	implicit base, because original node is rewritten as a subtype
      	declaration on which type aspects do not belong.
      
      From-SVN: r216373
      Ed Schonberg committed
    • [multiple changes] · fd4647be
      2014-10-17  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch3.adb (Propagate_Default_Init_Cond_Attributes): A derived type
      	inherits the attributes related to pragma Default_Initial_Condition
      	from its parent type.
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-strsea.adb (Index - versions with a From parameter):
      	According to AI05-056, the Index functions with a From parameter
      	return 0 if the source is an empty string.
      
      2014-10-17  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Disable
      	the consistency checks in ASIS mode.
      
      2014-10-17  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-expmod.ads: Minor typo fix.
      
      From-SVN: r216372
      Arnaud Charlet committed
    • [multiple changes] · a92230c5
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb: Minor reformatting.
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Build_Function_Wrapper): Build wrappers for
      	actuals that are defaulted subprograms of the formal subprogram
      	declaration.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Eq): Make sure we deal with the
      	implementation base type.
      	* sinfo.ads: Add a note for N_Op_Eq and N_Op_Ne that record
      	operands are always expanded out into component comparisons.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* s-vallli.adb: Minor comment correction.
      	* s-valuti.ads: Minor comment reformatting.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document System.Atomic_Counters.
      	* impunit.adb: Add System.Atomic_Counters (s-atocou.ads) to the
      	list of user- accessible units added as children of System.
      	* s-atocou.ads: Update comment.
      
      2014-10-17  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-expmod.ads: Add comments.
      
      From-SVN: r216371
      Arnaud Charlet committed
    • sem_ch3.adb (Build_Derived_Record_Type): Remove the propagation of all… · 38d0d6c8
      sem_ch3.adb (Build_Derived_Record_Type): Remove the propagation of all attributes related to pragma...
      
      2014-10-17  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch3.adb (Build_Derived_Record_Type): Remove the propagation
      	of all attributes related to pragma Default_Initial_Condition.
      	(Build_Derived_Type): Propagation of all attributes related
      	to pragma Default_Initial_Condition.
      	(Process_Full_View): Account for the case where the full view derives
      	from another private type and propagate the attributes related
      	to pragma Default_Initial_Condition to the private view.
      	(Propagate_Default_Init_Cond_Attributes): New routine.
      	* sem_util.adb: Alphabetize various routines.
      	(Build_Default_Init_Cond_Call): Use an unchecked type conversion
      	when calling the default initial condition procedure of a private type.
      	(Build_Default_Init_Cond_Procedure_Declaration): Prevent
      	the generation of multiple default initial condition procedures.
      
      From-SVN: r216370
      Hristian Kirtchev committed
    • [multiple changes] · 2211a35f
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb: Refine previous change.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* prj-conf.adb: Revert previous change.
      
      From-SVN: r216369
      Arnaud Charlet committed
    • [multiple changes] · 469fba4a
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* lib-writ.ads, s-valdec.ads: Minor reformatting.
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb: Additional work on function wrappers.
      
      2014-10-17  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_util.adb (Possible_Bit_Aligned_Component): Also recurse
      	on the renamed object of renamings.
      
      2014-10-17  Vincent Celier  <celier@adacore.com>
      
      	* prj-conf.adb (Parse_Project_And_Apply_Config): In CodePeer
      	mode, always use the native target.
      
      From-SVN: r216368
      Arnaud Charlet committed
    • tree-into-ssa.c (is_old_name): Replace "new" with "old". · c36eadbe
      2014-10-17  Marc Glisse  <marc.glisse@inria.fr>
      
      	* tree-into-ssa.c (is_old_name): Replace "new" with "old".
      
      From-SVN: r216367
      Marc Glisse committed
    • Fix misplaced changelog entry · 1bc4a978
      From-SVN: r216366
      Markus Trippelsdorf committed
    • Use fuse-caller-save info in cprop-hardreg · 8d696651
      2014-10-17  Tom de Vries  <tom@codesourcery.com>
      
      	PR rtl-optimization/61605
      	* regcprop.c (copyprop_hardreg_forward_1): Use
      	regs_invalidated_by_this_call instead of regs_invalidated_by_call.
      
      	* gcc.target/i386/fuse-caller-save.c: Update addition check.  Add movl
      	absence check.
      
      From-SVN: r216365
      Tom de Vries committed
    • Handle copy cycles in pass_cprop_hardreg · 8c8fe663
      2014-10-17  Tom de Vries  <tom@codesourcery.com>
      
      	PR rtl-optimization/61605
      	* regcprop.c (copyprop_hardreg_forward_1): Add copy_p and noop_p.  Don't
      	notice stores for noops.  Don't regard noops as copies.
      
      From-SVN: r216364
      Tom de Vries committed
    • * Add missing ChangeLog entry. · 5dad1619
      From-SVN: r216363
      Uros Bizjak committed
    • cpuid.h (__cpuid): Remove definitions that handle %ebx register in a special way. · 02147868
      	* config/i386/cpuid.h (__cpuid): Remove definitions that handle %ebx
      	register in a special way.
      	(__cpuid_count): Ditto.
      	* config/i386/driver-i386.h: Protect with
      	"#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__))".
      	(host_detect_local_cpu): Mention that GCC with non-fixed %ebx
      	is required to compile the function.
      
      From-SVN: r216362
      Uros Bizjak committed
    • Fix pr61848, linux kernel miscompile · 5fcffe51
      This patch cures the linux kernel boot failure when compiled using
      trunk gcc.
      
      At its heart, the problem is caused by merge_decls merging from the
      old decl to the new decl, then copying back to the old decl and
      discarding the new.  When Jan moved some fields to the symtab,
      "copying back to the old decl" was lost for those fields.  Really,
      it would be best if merge_decls was rewritten to merge everything to
      the kept decl, but here I'm just doing that for fields accessed via
      decl_with_vis.symtab_node.
      
      2014-10-17  Alan Modra  <amodra@gmail.com>
      
      gcc/c/
      	PR middle-end/61848
      	* c-decl.c (merge_decls): Don't merge section name or tls model
      	to newdecl symtab node, instead merge to olddecl.  Override
      	existing olddecl section name.  Set tls_model for all thread-local
      	vars, not just OMP thread-private ones.  Remove incorrect comment.
      gcc/cp/
      	PR middle-end/61848
      	* decl.c (merge_decls): Don't merge section name, comdat group or
      	tls model to newdecl symtab node, instead merge to olddecl.
      	Override existing olddecl section name.  Set tls_model for all
      	thread-local vars, not just OMP thread-private ones.  Remove
      	incorrect comment.
      
      2014-10-17  Markus Trippelsdorf  <markus@trippelsdorf.de>
      
      	PR middle-end/61848
      	* g++.dg/torture/pr61848.C: New testcase.
      	* gcc.c-torture/compile/pr61848.c: New testcase.
      
      From-SVN: r216361
      Markus Trippelsdorf committed
    • Daily bump. · d6db0df5
      From-SVN: r216358
      GCC Administrator committed
    • configure: Quote some shell variables. · 204b9fc2
      From Dominik Vogt.
      
      From-SVN: r216355
      Ian Lance Taylor committed
  2. 16 Oct, 2014 9 commits