1. 25 Apr, 2013 8 commits
    • re PR libstdc++/57065 (incorrect default allocator template for debug and profile unordered_map) · 03d7aff6
      2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/57065
      	* include/debug/unordered_map (unordered_map, unordered_multimap):
      	Fix default allocator type.
      	* include/profile/unordered_map (unordered_map, unordered_multimap):
      	Likewise.
      	* include/bits/unordered_map.h: Fix comments.
      
      From-SVN: r198279
      Paolo Carlini committed
    • [AArch64] Fix printf format warning in aarch64_print_operand · 1ef395e4
      gcc/
      	* config/aarch64/aarch64.c (aarch64_print_operand): Fix asm_fprintf
      	format specifier in 'X' case.
      
      From-SVN: r198278
      James Greenhalgh committed
    • [multiple changes] · 9f6aaa5c
      2013-04-25  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Minor fix to Loop_Variant doc (Loop_Entry allowed).
      	* s-tarest.adb: Minor reformatting.
      
      2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* aspects.ads, aspects.adb: Remove aspect Ghost from all relevant
      	tables.
      	* einfo.adb: Remove with and use clause for Aspects.
      	(Is_Ghost_Function): Removed.
      	(Is_Ghost_Entity): New routine.
      	(Is_Ghost_Subprogram): New routine.
      	* einfo.ads: Remove synthesized attribute Is_Ghost_Function
      	along with its uses in entities.  Add synthesized attributes
      	Is_Ghost_Entity and Is_Ghost_Subprogram along with uses in related
      	entities.
      	(Is_Ghost_Function): Removed.
      	(Is_Ghost_Entity): New routine.
      	(Is_Ghost_Subprogram): New routine.
      	* par-prag.adb: Remove pragma Ghost from the processing machinery.
      	* repinfo.adb (List_Mechanisms): Add a value for convention Ghost.
      	* sem_attr.adb (Analyze_Access_Attribute): Update the check
      	for ghost subprograms.
      	* sem_ch4.adb (Analyze_Call): Update the check for calls
      	to ghost subprograms.
      	(Check_Ghost_Function_Call): Removed.
      	(Check_Ghost_Subprogram_Call): New routine.
      	* sem_ch6.adb (Check_Convention): Rewritten.
      	(Check_Overriding_Indicator): Remove the check for overriding
      	ghost functions.
      	(Convention_Of): New routine.
      	* sem_ch12.adb (Preanalyze_Actuals): Update the check for ghost
      	generic actual subprograms.
      	* sem_mech.adb (Set_Mechanisms): Add an entry for convention Ghost.
      	* sem_prag.adb: Remove the value for pragma Ghost from
      	table Sig_Flags.
      	(Analyze_Pragma): Remove the processing for pragma Ghost.
      	(Process_Convention): Emit an error when a ghost
      	subprogram attempts to override.
      	(Set_Convention_From_Pragma): Emit an error when a ghost subprogram
      	attempts to override.
      	* sinfo.ads: Clarify the usage of field Label_Construct.
      	* snames.adb-tmpl (Get_Convention_Id): Add an entry for
      	predefined name Ghost.
      	(Get_Convention_Name): Add an entry for convention Ghost.
      	* snames.ads-tmpl: Move predefined name Ghost to the sublist
      	denoting conventions. Add convention id Ghost. Remove pragma
      	id Ghost.
      
      2013-04-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch7.adb (Swap_Private_Dependents): Do no recurse on child
      	units if within a generic hierarchy.
      
      From-SVN: r198275
      Arnaud Charlet committed
    • re PR target/57052 (missed optimization with rotate and mask) · 41c34e94
      	PR target/57052
      	* config/rs6000/rs6000.md (rotlsi3_internal7): Rename to
      	rotlsi3_internal7le and condition on !BYTES_BIG_ENDIAN.
      	(rotlsi3_internal8be): New BYTES_BIG_ENDIAN insn.
      	Repeat for many other rotate/shift and mask patterns using subregs.
      	Name lshiftrt insns.
      	(ashrdisi3_noppc64): Rename to ashrdisi3_noppc64be and condition
      	on WORDS_BIG_ENDIAN.
      
      From-SVN: r198274
      Alan Modra committed
    • config.host: Match little-endian powerpc-linux. · b9a7eb5d
      libgcc/
      	* config.host: Match little-endian powerpc-linux.
      gcc/
      	* config.gcc: Support little-endian powerpc-linux targets.
      	* config/rs6000/linux.h (LINK_OS_LINUX_EMUL): Define.
      	(LINK_OS_LINUX_SPEC): Define.
      	* config/rs6000/linuxspe.h (TARGET_DEFAULT):
      	Preserve MASK_LITTLE_ENDIAN.
      	* config/rs6000/default64.h (TARGET_DEFAULT): Likewise.
      	* config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Likewise.
      	* config/rs6000/linux64.h (OPTION_LITTLE_ENDIAN): Don't zero.
      	(LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Define.
      	(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Use above.
      	* config/rs6000/rs6000.c (output_toc): Don't use .tc for TARGET_ELF.
      	Correct fp word order for little-endian.  Don't shift toc entries
      	smaller than a word for little-endian.
      	* config/rs6000/rs6000.md (bswaphi2, bswapsi2 split): Comment.
      	(bswapdi2 splits): Correct low-part subreg for little-endian.
      	Remove wrong BYTES_BIG_ENDIAN tests, and rename vars to remove
      	low/high where such is correct only for be.
      	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Allow
      	little-endian for -mcall-aixdesc.
      
      From-SVN: r198273
      Alan Modra committed
    • rs6000.c (rs6000_secondary_reload_inner): Use replace_equiv_address_nv. · 87f73374
      	* config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
      	replace_equiv_address_nv.
      
      From-SVN: r198272
      Alan Modra committed
    • rs6000.c (rs6000_emit_set_long_const): Tidy. · cabf91cd
      	* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Tidy.
      
      From-SVN: r198271
      Alan Modra committed
    • Daily bump. · f5a21a3a
      From-SVN: r198270
      GCC Administrator committed
  2. 24 Apr, 2013 32 commits
    • Fix date of ChangeLog entry. · 2310e8c1
      From-SVN: r198267
      Jonathan Wakely committed
    • revert: rtl.h (struct rtx_def): ... · 0ae24cc8
      2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
      
      	Revert:
      	2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
      	* rtl.h (struct rtx_def): ...
      
      From-SVN: r198266
      Vladimir Makarov committed
    • re PR libstdc++/56905 ([C++11][DR 1130] std::copy_exception should be removed or no longer be used) · ec98d010
      	PR libstdc++/56905
      	* libsupc++/exception_ptr.h (copy_exception): Deprecate and
      	move implementation to make_exception_ptr.
      	* include/std/future (_State_base::_M_break_promise): Replace
      	copy_exception with make_exception_ptr.
      	* testsuite/18_support/exception_ptr/move.cc: Likewise.
      	* testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
      	* testsuite/30_threads/future/members/get2.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
      
      From-SVN: r198265
      Jonathan Wakely committed
    • re PR rtl-optimization/57046 (wrong code generated by gcc 4.8.0 on i686) · 77bce07c
      2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimizations/57046
      	* lra-constraints (split_reg): Set up lra_risky_transformations_p
      	for multi-reg splits.
      
      2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimizations/57046
      	* gcc.target/i386/pr57046.c: New test.
      
      From-SVN: r198263
      Vladimir Makarov committed
    • Handle -mx32 in x86-64 ASM_SPEC · 0db63e7f
      	* config/i386/x86-64.h (ASM_SPEC): Support -mx32.
      
      From-SVN: r198262
      H.J. Lu committed
    • cpplib.h (enum c_lang): Add CLK_GNUCXX1Y and CLK_CXX1Y. · 61949153
      /libcpp
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/cpplib.h (enum c_lang): Add CLK_GNUCXX1Y and CLK_CXX1Y.
      	* init.c (lang_defaults): Add defaults for the latter.
      	(cpp_init_builtins): Define __cplusplus as 201300L for the latter.
      	* lex.c (_cpp_lex_direct): Update.
      
      /gcc/c-family
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
      
      /gcc/testsuite
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp1y/cplusplus.C: New.
      
      From-SVN: r198261
      Paolo Carlini committed
    • * invoke.texi: Update expected date for C++1y. · 5576178b
      From-SVN: r198260
      Jason Merrill committed
    • 2013-04-24 Sterling Augustine <saugustine@google.com> · 3362b6b6
      	* dwarf2out.c (skeleton_debug_str_hash, add_skeleton_AT_string)
      	(comp_dir_string, debug_str_dwo_section): New.
      	(DEBUG_STR_DWO_SECTION): Rename to ...
      	(DEBUG_DWO_STR_SECTION): ... this.
      	(DEBUG_NORM_STR_SECTION): Delete.
      	(DEBUG_STR_SECTION, DEBUG_STR_SECTION_FLAGS): Edit definitions.
      	(DEBUG_STR_DWO_SECTION_FLAGS): New.
      	(find_AT_string): Move most logic to ...
      	(find_AT_string_in_table): ... here.  New.
      	(add_top_level_skeleton_die_attrs): Call comp_dir_string and
      	add_skeleton_AT_string.  Delete logic.
      	(output_skeleton_debug_sections): Remove call to
      	add_top_level_skeleton_die_attrs.
      	(add_comp_dir_attribute): Move logic to comp_dir_string.
      	(dwarf2out_init): Initialize debug_str_dwo_section.
      	(output_indirect_string): Call find_string_form.
      	(output_indirect_strings): Rewrite.
      	(prune_unused_types): Empty skeleton_debug_str_hash.
      	Call get_skeleton_type_unit and add_top_level_skeleton_die_attrs.
      	(dwarf2out_finish):  Call output_indirect_strings.
      
      From-SVN: r198259
      Sterling Augustine committed
    • cpp.texi: Remove __GXX_EXPERIMENTAL_CXX1Y__. · e93e18e9
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* doc/cpp.texi: Remove __GXX_EXPERIMENTAL_CXX1Y__.
      
      /c-family
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-cppbuiltin.c (c_cpp_builtins): Do not define
      	__GXX_EXPERIMENTAL_CXX1Y__.
      
      /testsuite
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp1y/cxx1y_macro.C: Remove.
      
      From-SVN: r198258
      Paolo Carlini committed
    • re PR c++/53721 ([C++11] "this" not allowed in trailing return type) · afbce7b7
      	PR c++/53721
      	* parser.c (cp_parser_postfix_dot_deref_expression): Fix thinko.
      
      From-SVN: r198257
      Jason Merrill committed
    • c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented. · 44d90fe1
      /c-family
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
                  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	* c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
      	* c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
      	to simply use OPT_Wpointer_arith.
      	(c_sizeof_or_alignof_type): Likewise.
      
      /cp
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* typeck.c (cxx_sizeof_or_alignof_type): Change -Wpointer-arith
      	pedwarn to simply use OPT_Wpointer_arith.
      	(cp_build_unary_op): Likewise.
      
      /c
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
      	to simply use OPT_Wpointer_arith.
      	(build_unary_op): Likewise.
      
      /testsuite
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-c++-common/Wpointer-arith-1.c: New.
      
      Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      From-SVN: r198256
      Paolo Carlini committed
    • rtl.h (struct rtx_def): Add comment for field jump. · f6ce35ac
      2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
      
              * rtl.h (struct rtx_def): Add comment for field jump.
      	(LRA_SUBREG_P): New macro.
      	* recog.c (register_operand): Check LRA_SUBREG_P.
      	* lra.c (lra): Add note at the end of RTL code. Align non-empty
      	stack frame.
      	* lra-spills.c (lra_spill): Align stack after spilling pseudos.
      	(lra_final_code_change): Skip subreg change for operators.
      	* lra-eliminations.c (eliminate_regs_in_insn): Make return earlier
      	if there are no operand changes.
      	* lra-constraints.c (curr_insn_set): New.
      	(match_reload): Set LRA_SUBREG_P.
      	(emit_spill_move): Ditto.
      	(check_and_process_move): Use curr_insn_set. Process only single
      	set insns.  Don't initialize sec_mem_p and change_p.
      	(simplify_operand_subreg): Use LRA_SUBREG_P.
      	(reg_in_class_p): New function.
      	(process_alt_operands): Use it.  Use #if HAVE_ATTR_enabled instead
      	of #ifdef.  Add code to remove cycling.
      	(process_address): Check EXTRA_CONSTRAINT_STR. Process even if
      	non-null disp.  Reload inner instead of disp when base and index
      	are null.  Try to put lo_sum into register.
      	(EBB_PROBABILITY_CUTOFF): Redefine probability in percents.
              (check_and_process_move): Move code for move cost check to
      	simple_move_p.  Remove equiv_substitution.
              (simple_move_p): New function.
      	(curr_insn_transform): Initialize sec_mem_p and change_p.  Set up
      	curr_insn_set.  Call check_and_process_move only for single set
      	insns.  Use the new function.  Move call of check_and_process_move
      	after operand equiv substitution and address process.
      
      From-SVN: r198252
      Vladimir Makarov committed
    • [AArch64] Fix vld1<q>_* asm constraints in arm_neon.h · 38047d90
      gcc/
      	* config/aarch64/arm_neon.h (vld1<q>_lane*): Fix constraints.
      	(vld1<q>_dup_<sufp><8, 16, 32, 64>): Likewise.
      	(vld1<q>_<sufp><8, 16, 32, 64>): Likewise.
      
      From-SVN: r198250
      James Greenhalgh committed
    • cpp.texi: Document __GXX_EXPERIMENTAL_CXX1Y__. · 13f39b2e
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* doc/cpp.texi: Document __GXX_EXPERIMENTAL_CXX1Y__.
      
      /c-family
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
      
      /testsuite
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp1y/cxx1y_macro.C: New.
      
      From-SVN: r198249
      Paolo Carlini committed
    • * libsupc++/initializer_list: Fix typos. · 1e8c4907
      From-SVN: r198248
      Jason Merrill committed
    • N3648: init-captures are named. · 76089b28
      	* semantics.c (add_capture): Don't prepend "__" to init-captures.
      	(build_capture_proxy): Adjust.
      	* error.c (dump_simple_decl): Check DECL_NORMAL_CAPTURE_P.
      
      From-SVN: r198247
      Jason Merrill committed
    • N3648: Allow braced and parenthesized initializers. · 399bb2da
      	* parser.c (cp_parser_lambda_introducer): Use cp_parser_initializer.
      	* pt.c (tsubst) [DECLTYPE_TYPE]: Handle DECLTYPE_FOR_INIT_CAPTURE.
      	* semantics.c (lambda_capture_field_type): Use do_auto_deduction.
      	(add_capture): Collapse a parenthesized initializer into a single
      	expression.
      	* cp-tree.h (DECLTYPE_FOR_INIT_CAPTURE): New.
      
      From-SVN: r198246
      Jason Merrill committed
    • Update dependencies. · 98bdfa50
      From-SVN: r198245
      Arnaud Charlet committed
    • [multiple changes] · 51597c23
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb (Expand_Actuals): Add a predicate check on an
      	actual the related type has a predicate function.
      	* sem_ch3.adb (Constant_Redeclaration): Ensure that the related
      	type has an invariant procedure before building a call to it.
      	* sem_ch6.adb (Append_Enabled_Item): New routine.
      	(Check_Access_Invariants): Use routine
      	Append_Enabled_Item to chain onto the list of postconditions.
      	(Contains_Enabled_Pragmas): Removed.
      	(Expand_Contract_Cases): Use routine Append_Enabled_Item to chain onto
      	the list of postconditions.
      	(Invariants_Or_Predicates_Present): Removed.
      	(Process_PPCs): Partially reimplemented.
      
      2013-04-24  Sergey Rybin  <rybin@adacore.com frybin>
      
      	* tree_io.ads: Update ASIS_Version_Number because of changes
      	in the way how entities are chained in a scope by means of
      	Next_Entity link.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
      	Storage_Size): If the clause is not from an aspect, insert
      	assignment to size variable of task type at the point of the
      	clause, not after the task definition, to prevent access before
      	elaboration in the back-end.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb (Sig_Flags): Set correct value for Pragma_Assume.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi: Document 'Loop_Entry.
      
      2013-04-24  Jose Ruiz  <ruiz@adacore.com>
      
      	* s-tassta.adb, s-tarest.adb (Task_Wrapper): Start looking for
      	fall-back termination handlers from the parents, because they apply
      	only to dependent tasks.
      	* s-solita.adb (Task_Termination_Handler_T): Do not look for fall-back
      	termination handlers because the environment task has no parent,
      	and if it defines one of these handlers it does not apply to
      	itself because they apply only to dependent tasks.
      
      From-SVN: r198244
      Arnaud Charlet committed
    • [multiple changes] · 0d5fbf52
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* sem_type.adb, exp_attr.adb, exp_ch4.adb: Minor reformatting.
      
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document 'Update attribute.
      	* sem_attr.adb (Analyze_Attribute, case Update): Remove call
      	to S14_Attribute (S14_Attribute): removed.
      
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* interfac.ads: Add size clauses for IEEE_Float_32/64
      
      2013-04-24  Claire Dross  <dross@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Remove
      	special assignment of Use_Expression_With_Actions for SPARK_Mode.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* checks.adb (Apply_Predicate_Check): Check for the presence
      	of the dynamic predicate aspect when trying to determine if the
      	predicate of a type is non-static.
      	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check
      	for the presence of the dynamic predicate aspect when trying to
      	determine if the predicate of a type is non- static.
      	* sem_ch13.adb (Add_Call): Capture the nature of the
      	inherited ancestor predicate.
      	(Build_Predicate_Functions): Update comments. Rewrite the checks on
      	static predicate application. Complain about the form of a non-static
      	expression only when the type is static.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb: Add guard to tree traversal.
      
      2013-04-24  Vincent Celier  <celier@adacore.com>
      
      	* clean.adb (Clean): Remove local variable Root_Environment,
      	use Makeutl.Root_Environment instead.
      	* gnatcmd.adb: Remove local variable Root_Environment, use
      	Makeutl.Root_Environment instead.
      	* make.adb (Gnatmake): Remove local variable Root_Environment,
      	use Makeutl.Root_Environment instead.
      	* prj-makr.adb: Remove local variable Root_Environment, use
      	Makeutl.Root_Environment instead.
      
      From-SVN: r198243
      Arnaud Charlet committed
    • [multiple changes] · 3d67b239
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_attr.adb (Expand_Loop_Entry_Attribute): Clarify the
      	extraction of the declarative part of the conditional block. Move
      	the processing of simple infinite loops to the start of the
      	expansion logic. Correct the check which determines whether the
      	proper scope is installed in visibility.
      	* sem_attr.adb (Analyze_Attribute): Add local variable Attr
      	to keep track of the attribute in case the enclosing indexed
      	component has to be rewritten. When searching for the enclosing
      	loop, start from the proper attribute reference in case of a
      	rewriting. Do not allow for 'Loop_Entry to appear in pragma
      	Assert. Replace loop variable J with Index. Set the type of the
      	proper attribute.
      	* sem_ch5.adb (Check_Unreachable_Code): Detect a specialized
      	block that services a loop statement subject to at least one
      	'Loop_Entry attribute.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_type.adb (Disambiguate): In Ada 2012 mode, when trying to
      	resolve a fixed point operation, use first subtype to determine
      	whether type and operator are declared in the same list of
      	declarations.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* par-ch6.adb (P_Subprogram): Detect an illegal
      	placement of the aspect specification list in the context of
      	expression functions.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Allocator):  If the designated object
      	has tasks, and the pointer type is an itype that has no master
      	id, create a master renaming in the current context, which can
      	only be an init_proc.
      
      From-SVN: r198242
      Arnaud Charlet committed
    • [multiple changes] · 70861157
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, sem_ch7.adb: Minor reformatting.
      	* gnat_rm.texi: Document pragma Loop_Invariant.
      	* sem_attr.adb (Analyze_Attribute, case Loop_Entry): This is
      	no longer an S14_Attribute.
      	* sem_prag.adb (Analyze_Pragma, case Loop_Invariant): Combine
      	processing with Assert, allow message parameter, remove call
      	to S14_Pragma.
      
      2013-04-24  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb: Minor reformatting.
      
      From-SVN: r198241
      Arnaud Charlet committed
    • [multiple changes] · 24778dbb
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch7.adb (Swap_Private_Dependents): New internal routine
      	to Install_Private_Declarations, to make the installation of
      	private dependents recursive in the presence of child units.
      	* sem_ch3.adb (Build_Discriminated_Subtype): Initialize properly
      	the Private_Dependents of a private subtype.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_attr.adb (Expand_Loop_Entry_Attribute): Update the
      	retrieval of the block declarations.
      	* par-ch4.adb (P_Name): Let the name parsing machinery create
      	a sequence of nested indexed components for attribute Loop_Entry.
      	* sem_attr.adb (Analyze_Attribute): Add local constant
      	Context. Reimplement part of the analysis of attribute Loop_Entry.
      	(Convert_To_Indexed_Component): Removed.
      	* sem_ch4.adb (Analyze_Indexed_Component_Form): Do not analyze
      	an indexed component after it has been rewritten into attribute
      	Loop_Entry.
      
      From-SVN: r198240
      Arnaud Charlet committed
    • snames.ads-tmpl: Minor change to list Loop_(In)variant not in configuration pragma. · 8a8ac7e3
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* snames.ads-tmpl: Minor change to list
      	Loop_(In)variant not in configuration pragma.
      	* sem_ch3.adb (Analyze_Declarations): Do not look at the original node
      	for analyzing the expressions in pre/postconditions.
      
      From-SVN: r198239
      Yannick Moy committed
    • [multiple changes] · dd3b3672
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* gnatcmd.adb, xref_lib.adb, gnatls.adb, sem_ch13.adb: Minor
      	reformatting.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch6.adb (Analyze_Generic_Subprogram_Body,
      	Analyze_Subprogram_Body_Helper): Reset contract node to Empty
      	before setting entity to E_Subprogram_Body.
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): Reset contract node to
      	Empty before setting entity to E_Subprogram_Body.
      
      From-SVN: r198238
      Arnaud Charlet committed
    • [multiple changes] · b5bdffcc
      2013-04-24  Vincent Celier  <celier@adacore.com>
      
      	* gnat_ugn.texi: Document new gnatls switch -aPdir.
      	* gnatcmd.adb: Pass switch -aP<dir> to gnatls.
      	* gnatls.adb (Scan_Ls_Arg): Process new switch -aP<dir>. Issue
      	a warning for unknown switches.
      	(Usage): Add line for new switch -aPdir.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb, sem_util.ads (Is_Limited_Class_Wide_Type): Return true
      	if the type comes from a limited view, so that task attributes can be
      	constructed.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* checks.adb (Apply_Float_Conversion_Check): Do not apply checks if
      	full expansion is not enabled.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Create_Extra_Formals): In Ada 2012, create extra
      	formals if the type does not yet have a completion, and thus
      	has no underlying view.
      
      2013-04-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Treat an aspect
      	specification for Address as a reference, to suppress warnings
      	on entities that may be read by an external device.
      
      From-SVN: r198237
      Arnaud Charlet committed
    • 2013-04-24 Sergey Rybin <rybin@adacore.com frybin> · 327b1ba4
      	* gnat_ugn.texi: Add description of '--help' and '--version'
      	options for ASIS tools: gnatelim, gnatmetric, gnatstub, gnatpp.
      
      2013-04-24  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat_rm.texi: Minor syntax fix.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_attr.adb (Expand_Loop_Entry_Attribute): Add extra comments on
      	what and why is being analyzed. Remove the decoration of renamings as
      	this simply falls out of the general analysis mechanism.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_res.adb (Explain_Redundancy): New routine.
      	(Resolve_Equality_Op): Place the error concerning a redundant
      	comparison to True at the "=". Try to explain the nature of the
      	redundant True.
      
      2013-04-24  Javier Miranda  <miranda@adacore.com>
      
      
      	* checks.adb, exp_ch6.adb (Install_Null_Excluding_Check): No
      	check in interface thunks since it is performed at the caller
      	side.
      	(Expand_Simple_Function_Return): No accessibility check
      	needed in thunks since the check is done by the target routine.
      
      2013-04-24  Vincent Celier  <celier@adacore.com>
      
      	* xref_lib.adb (Add_Entity): Use the canonical file names
      	so that source file names with capital letters are found on
      	platforms where file names are case insensitive.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* par-ch4.adb (P_Name): Continue to parse the name extension when the
      	construct is attribute Loop_Entry. Do not convert the attribute
      	reference into an indexed component when there is at least one
      	expression / range following 'Loop_Entry.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch6.adb (Contains_Enabled_Pragmas): New routine.
      	(Process_PPCs): Generate procedure _Postconditions
      	only when the context has invariants or predicates or enabled
      	aspects/pragmas.
      
      From-SVN: r198236
      Arnaud Charlet committed
    • [multiple changes] · d436b30d
      2013-04-24  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.adb (Host_Entry): Introduce intermediate copy of
      	memory location pointed to by Hostent_H_Addr, as it might not
      	have sufficient alignment.
      
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* repinfo.adb (List_Rep_Info): Set the value of Unit_Casing before
      	calling subprograms which may read it.
      
      2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb: Remove Loop_Entry_Attributes from the usage of
      	nodes. Flag 260 is now used.
      	(Has_Loop_Entry_Attributes): New routine.
      	(Loop_Entry_Attributes): Removed.
      	(Set_Has_Loop_Entry_Attributes): New routine.
      	(Set_Loop_Entry_Attributes): Removed.
      	(Write_Entity_Flags): Write out Flag 260.
      	(Write_Field10_Name): Remove the output for Loop_Entry_Attributes.
      	* einfo.ads: Remove attribute Loop_Entry_Attributes,
      	its related comment and uses in nodes.	Add new attribute
      	Has_Loop_Entry_Attributes, related comment and uses in loop nodes.
      	(Has_Loop_Entry_Attributes): New routine and pragma Inline.
      	(Loop_Entry_Attributes): Removed along with pragma Inline.
      	(Set_Has_Loop_Entry_Attributes): New routine and pragma Inline.
      	(Set_Loop_Entry_Attributes): Removed along with pragma Inline.
      	* exp_attr.adb (Expand_Loop_Entry_Attribute): New routine.
      	(Expand_N_Attribute_Reference): Expand attribute 'Loop_Entry.
      	* exp_ch5.adb: Remove with and use clause for Elists.
      	(Expand_Loop_Entry_Attributes): Removed.
      	(Expand_N_Loop_Statement): Add local variable Stmt. Rename local
      	constant Isc to Scheme. When a loop is subject to attribute
      	'Loop_Entry, retrieve the nested loop from the conditional
      	block. Move the processing of controlled object at the end of
      	loop expansion.
      	* sem_attr.adb (Analyze_Attribute): Do not chain attribute
      	'Loop_Entry to its related loop.
      	* sem_ch5.adb (Analyze_Loop_Statement): Add local variable
      	Stmt. When the iteration scheme mentions attribute 'Loop_Entry,
      	the entire loop is rewritten into a block.  Retrieve the nested
      	loop in such cases to complete the analysis.
      	* sem_util.ads, sem_util.adb (Find_Loop_In_Conditional_Block): New
      	routine.
      	(Subject_To_Loop_Entry_Attributes): New routine.
      
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* exp_prag.adb (Expand_Loop_Variant): Generate pragma Check
      	(Loop_Variant, xxx) rather than Assert (xxx).
      	* gnat_rm.texi: Document pragma Loop_Variant.
      	* sem_prag.adb (Analyze_Pragma, case Loop_Variant): Remove call
      	to S14_Pragma.
      
      From-SVN: r198235
      Arnaud Charlet committed
    • adabkend.adb, [...]: Everything with name 'Alfa' renamed in 'SPARK'. · 06b599fd
      2013-04-24  Yannick Moy  <moy@adacore.com>
      
      	* adabkend.adb, ali-util.adb, ali.adb, debug.adb,
      	errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
      	exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
      	expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
      	lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
      	restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
      	sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
      	sem_res.adb, sem_util.adb: Everything with name
      	'Alfa' renamed in 'SPARK'. Update comments.
      	Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
      	* exp_alfa.adb: renamed exp_spark.adb.
      	* exp_alfa.ads: renamed exp_spark.ads.
      	* get_alfa.adb: renamed get_spark_xrefs.adb.
      	* get_alfa.ads: renamed get_spark_xrefs.ads.
      	* lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
      	* put_alfa.adb: renamed put_spark_xrefs.adb.
      	* put_alfa.ads: renamed put_spark_xrefs.ads.
      	* alfa.adb: renamed spark_xrefs.adb.
      	* alfa.ads: renamed spark_xrefs.ads.
      	* alfa_test.adb: renamed spark_xrefs_test.adb.
      
      From-SVN: r198234
      Yannick Moy committed
    • Prune SCEV · 97c116dc
      From-SVN: r198233
      Marek Polacek committed
    • re PR c++/56970 (SFINAE does not apply correctly to sizeof.) · a378996b
      /cp
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/56970
      	* init.c (build_offset_ref): Add tsubst_flags_t parameter.
      	* semantics.c (finish_qualified_id_expr): Likewise.
      	(finish_id_expression): Update.
      	* typeck.c (cp_build_addr_expr_1): Likewise.
      	* pt.c (tsubst_qualified_id, resolve_nondeduced_context): Likewise.
      	* cp-tree.h: Update declarations.
      
      /testsuite
      2013-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/56970
      	* g++.dg/cpp0x/sfinae45.C: New.
      
      From-SVN: r198232
      Paolo Carlini committed
    • gnat_rm.texi: Document pragma Assume. · 07c2f659
      2013-04-24  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document pragma Assume.
      	* sem_prag.adb (Analyze_Pragma, case Assume): Now processed as
      	part of Assert, and no longer requires -gnatd.F
      
      From-SVN: r198231
      Robert Dewar committed