1. 21 Feb, 2014 22 commits
  2. 20 Feb, 2014 18 commits
    • re PR target/57896 (ICE in expand_expr_real_2) · aa637f66
      	PR target/57896
      	* config/i386/i386.c (expand_vec_perm_interleave2): Don't call
      	gen_reg_rtx if d->testing_p.
      	(expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
      	if d->testing_p and we will certainly return true.
      	(expand_vec_perm_even_odd_1): Likewise.  Don't call gen_reg_rtx
      	if d->testing_p.
      
      From-SVN: r207969
      Jakub Jelinek committed
    • emit-rtl.c (gen_reg_rtx): Assert that crtl->emit.regno_pointer_align_length is non-zero. · 004a7e45
      	* emit-rtl.c (gen_reg_rtx): Assert that
      	crtl->emit.regno_pointer_align_length is non-zero.
      
      From-SVN: r207968
      Uros Bizjak committed
    • lto-partition.c (add_symbol_to_partition_1, [...]): Aliases have no defined size. · 39434bce
      
      	* lto-partition.c (add_symbol_to_partition_1,
      	undo_partition, lto_balanced_map): Aliases have no
      	defined size.
      	(lto_balanced_map): Do not follow refering variables
      	if they can be optimized out.
      
      From-SVN: r207967
      Jan Hubicka committed
    • re PR c++/60272 (atomic<>::compare_exchange_weak has spurious store and can cause race conditions) · 672ce939
      PR c++/60272
      
      gcc/
      	* builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
      	on failure the store back into EXPECT.
      libatomic/
      	* cas_n.c (libat_compare_exchange): Conditionalize on failure
      	the store back to EPTR.
      
      From-SVN: r207966
      Richard Henderson committed
    • nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum. · 95ce7613
      2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
      	    Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
      	* config/nios2/nios2.c (nios2_function_profiler):
      	Add -fPIC (flag_pic == 2) support.
      	(nios2_handle_custom_fpu_cfg): Fix warning parameter.
      	(nios2_large_offset_p): New function.
      	(nios2_unspec_reloc_p): Move up position, update to use
      	nios2_large_offset_p.
      	(nios2_unspec_address): Remove function.
      	(nios2_unspec_offset): New function.
      	(nios2_large_got_address): New function.
      	(nios2_got_address): Add large offset support.
      	(nios2_legitimize_tls_address): Update usage of removed and new
      	functions.
      	(nios2_symbol_binds_local_p): New function.
      	(nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
      	(nios2_legitimize_address): Update to use nios2_large_offset_p.
      	(nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
      	(nios2_print_operand): Merge H/L processing, add hiadj/lo
      	processing for (const (unspec ...)).
      	(nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
      
      	gcc/testsuite/
      	* gcc.target/nios2/biggot-1.c: New.
      	* gcc.target/nios2/biggot-2.c: New.
      
      	libgcc/
      	* config/nios2/t-nios2 (CRTSTUFF_T_CFLAGS): Add -mno-gpopt.
      	* config/nios2/crti.S: Remove .file directive.
      	* config/nios2/crtn.S: Likewise.
      
      From-SVN: r207965
      Chung-Lin Tang committed
    • Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891. · 4bbfc5fa
      2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
      
      	Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
      	* include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
      	* testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
      	* testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
      	* testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
      	* testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
      	* testsuite/30_threads/shared_lock/requirements/
      	explicit_instantiation.cc: Ditto.
      	* testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
      	* testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
      	* testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
      	* testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
      	* testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
      	* testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
      	* testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
      	* testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
      	* testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
      	* testsuite/30_threads/shared_mutex/requirements/
      	standard_layout.cc: Ditto.
      	* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
      	* testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
      	* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
      	* testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
      	* testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
      
      From-SVN: r207964
      Ed Smith-Rowland committed
    • re PR c++/58873 ([c++11] ICE with __underlying_type for broken enum) · f1dbbe42
      	PR c++/58873
      	* parser.c (cp_parser_functional_cast): Treat NULL_TREE
      	valued type argument as error_mark_node.
      
      From-SVN: r207961
      Kai Tietz committed
    • re PR go/60288 (gccgo crashes compiling '*func_ptr(0)') · 7f5e8188
      	PR go/60288
      compiler: Avoid crash, give error for *&x when x is not addressable.
      
      From-SVN: r207960
      Ian Lance Taylor committed
    • tree-cfg.c (replace_uses_by): Mark altered BBs before doing the substitution. · efd2d3c8
      2014-02-20  Richard Biener  <rguenther@suse.de>
      
      	* tree-cfg.c (replace_uses_by): Mark altered BBs before
      	doing the substitution.
      	(verify_gimple_assign_single): Also verify bare MEM_REFs
      	on the lhs.
      
      From-SVN: r207958
      Richard Biener committed
    • re PR c++/58835 (ICE with __PRETTY_FUNCTION__ in broken function) · f2381074
      	PR c++/58835
      	* semantics.c (finish_fname): Handle error_mark_node.
      
      From-SVN: r207955
      Kai Tietz committed
    • 2014-02-20 Sergey Rybin <rybin@adacore.com frybin> · 350b83cc
      	* gnat_ugn.texi, vms_data.ads (gnatelim): Add description of
      	project-specific options.
      
      2014-02-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-cbdlli.adb (Insert): When capacity exceeded, raise Capacity_Error,
      	not Constraint_Error.
      	* a-cbmutr.adb (Append_Child, Insert_Child, Prepend_Child): Ditto.
      	* sem_ch5.adb: Code clean up.
      
      From-SVN: r207954
      Arnaud Charlet committed
    • [multiple changes] · 8880426d
      2014-02-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Usage_Error): Remove local
      	constant Typ. Remove the specialized diagnostics for unconstrained
      	or tagged items as those are not part of the explicit input set
      	of the related subprogram and should not be flagged.
      
      2014-02-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb: Add guard to preserve all errors.
      
      2014-02-20  Vincent Celier  <celier@adacore.com>
      
      	* switch-m.adb (Normalize_Compiler_Switches): Take into account
      	switches that are recorded in ALI files: -gnateA, -gnateE,
      	-gnateF, -gnateinn, -gnateu, -gnateV and -gnateY.
      
      2014-02-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iterator_Specification): Check legality
      	of an element iterator form over a formal container with an
      	Iterable aspect.
      	* exp_ch5.adb (Build_Formal_Container_Iteration): Utility
      	to create declaration and loop statements for both forms of
      	container iterators.
      	(Expand_Formal_Container_Element_Iterator): New procedure
      	to handle loops of the form  "for E of C" when C is a formal
      	container.
      	(Expand_Formal_Container_Iterator): Code cleanup.
      
      From-SVN: r207953
      Arnaud Charlet committed
    • [multiple changes] · 46de64ca
      2014-02-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Add_Item_To_Name_Buffer): New routine.
      	(Analyze_Contract_Case): Remove the use of
      	"may". Replace "aspect Contract_Cases" to avoid categorization
      	of aspect vs pragma.
      	(Analyze_External_Property_In_Decl_Part): Remove the use of "formal".
      	(Analyze_Global_Item): Remove
      	the use of "formal", specify the subprogram.  Split the
      	error message about a state with visible refinement into
      	two. Remove the use of "global" from "volatile global item".
      	(Analyze_Initialization_Item): Ensure that the SPARK RM reference
      	is on one line.
      	(Analyze_Input_Output): Update the call to
      	Check_Mode. Specify the duplicated item. Reword the error
      	message concerning an input of a null output list. Use "\"
      	for error message continuation.
      	(Analyze_Part_Of): Remove
      	the use of "may". Use "\" for error message continuation.
      	(Analyze_Refined_Depends_In_Decl_Part): Update the error
      	message concerning a useless refinement to match the format
      	of Refined_Global.
      	(Analyze_Refined_Global_In_Decl_Part): Reword the error message
      	concerning a useless refinement.
      	(Analyze_Refinement_Clause): Use "\" for error message continuation.
      	(Check_Constituent_Usage): Use "\" for error message continuation.
      	(Check_Dependency_Clause): Use "\" for error message continuation.
      	(Check_Matching_Constituent): Use "\" for error message continuation.
      	(Check_Missing_Part_Of): Use "\" for error message continuation.
      	(Check_Mode): Renamed to
      	Check_Role. Update the comment on usage. Redo the error reporting
      	to use Role_Error.
      	(Check_Mode_Restriction_In_Enclosing_Context): Use "\" for error
      	message continuation.
      	(Find_Mode): Renamed to Find_Role. Update the parameter profile along
      	with comment on usage. Update all occurrences of Is_Input and Is_Output.
      	(Inconsistent_Mode_Error): Use "\" for error message continuation.
      	(Input_Match): Use "\" for error message continuation.
      	(Role_Error): New routine.
      	(Set_Convention_From_Pragma): Use "\" for error message continuation.
      	(Usage_Error): Add local variable Error_Msg. Build specialized error
      	message showcasing the offending item kind. Redo the diagnostics for
      	unconstrained types.
      
      2014-02-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_util.adb (Is_Iterated_Container): Use high-level primitives
      	to determine whether a type is a container type, rather than
      	examining only its type declaration, so that subtypes and derived
      	types are handled properly.
      
      2014-02-20  Sergey Rybin  <rybin@adacore.com frybin>
      
      	* gnat_ugn.texi: gnatmetric: add description of project-specific
      	options.
      
      2014-02-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute, case 'Update): Verify that
      	all choices in an association for a record type have the same
      	type, as is done for record aggregates.
      
      From-SVN: r207952
      Arnaud Charlet committed
    • XFAIL sourcelocation (PR libgcj/55637) · 923e95e7
      	PR libgcj/55637
      	* testsuite/libjava.lang/sourcelocation.xfail: New file.
      
      From-SVN: r207951
      Rainer Orth committed
    • [multiple changes] · 3e586e10
      2014-02-20  Robert Dewar  <dewar@adacore.com>
      
      	* a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb: Use pragma
      	Unmodified rather than Warnings (Off). Make comments
      	uniform in the four affected units.
      
      2014-02-20  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
      	Object_Size): For non-scalar types allow any value that is a
      	multiple of 8.
      	* gnat_rm.texi: Document Object_Size for composites more clearly.
      
      2014-02-20  Yannick Moy  <moy@adacore.com>
      
      	* sem_util.ads, sem_util.adb (Default_Initialization): Remove function.
      
      2014-02-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* stand.ads: Raise_Type: new predefined entity, used as the type
      	of a Raise_Expression prior to resolution.
      	* cstand.adb: Build entity for Raise_Type.
      	* sem_ch11.adb (Analyze_Raise_Expression): use Raise_Type as the
      	initial type of the node.
      	* sem_type.adb (Covers): Raise_Type is compatible with all
      	other types.
      	* sem_res.adb (Resolve): Remove special handling of Any_Type on
      	Raise_Expression nodes.
      	(Resolve_Raise_Expression): Signal ambiguity if the type of the
      	context is still Raise_Type.
      
      From-SVN: r207950
      Arnaud Charlet committed
    • [multiple changes] · 7f568bfa
      2014-02-20  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch12.adb (Validate_Access_Type_Instance): Add message if
      	mismatching predicates.
      	* sem_ch6.adb (Check_Conformance): Give better messages on
      	predicate mismatch.
      	* sem_eval.adb (Predicates_Match): Move to spec.
      	* sem_eval.ads (Predicates_Match): Moved here from body.
      
      2014-02-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* a-cbmutr.adb: Use default value in Insert_Child.
      
      From-SVN: r207949
      Arnaud Charlet committed
    • [multiple changes] · 308aab0b
      2014-02-20  Vincent Celier  <celier@adacore.com>
      
      	* gnatcmd.adb, make.adb, prj-makr.adb, clean.adb: Call
      	Stringt.Initialize in all project aware tools.
      
      2014-02-20  Doug Rupp  <rupp@adacore.com>
      
      	* gnat_ugn.texi: Document gnatbind -X option.
      	* vms_data.ads: Minor warnings documentation reformatting.
      
      2014-02-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch3.adb (Expand_Freeze_Array_Type): Only create invariant
      	procedure for a base type.
      
      2014-02-20  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch4.adb (Analyze_Case_Expression): Get type from first
      	expression with type info.
      	* sem_ch13.adb: Minor reformatting.
      	* sem_eval.adb (Subtypes_Statically_Match): Make sure we return
      	False if predicates do not match on the two types.
      
      2014-02-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma [pragma Attach_Handler]):
      	In Relaxed_RM_Semantics mode, allow any static integer value,
      	for compatibility with other compilers.
      
      From-SVN: r207948
      Arnaud Charlet committed
    • [multiple changes] · 0f361206
      2014-02-20  Vincent Celier  <celier@adacore.com>
      
      	* errutil.adb (Initialize): Properly initialize entry in table
      	Warnings when warnings are suppressed.
      
      2014-02-20  Robert Dewar  <dewar@adacore.com>
      
      	* s-os_lib.ads: Add warning about non-portability of Rename_File.
      	* sem_util.ads, sem_util.adb (Is_Junk_Name): New function.
      	* sem_warn.adb: Use Is_Junk_Name to suppress some warnings.
      	* gnat_ugn.texi: Document no warnings on junk variable names.
      	* layout.adb: Minor code reorganization (use Ekind_In).
      	* stringt.adb: Move initialization of Null_String_Id to Initialize
      	routine.
      
      2014-02-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb: Initialize optional Element_Id.
      
      From-SVN: r207947
      Arnaud Charlet committed