1. 03 Aug, 2014 3 commits
  2. 02 Aug, 2014 9 commits
    • re PR c++/15339 ([DR217] Adding default arguments to function templates in… · 2821a748
      re PR c++/15339 ([DR217] Adding default arguments to function templates in redeclarations should be forbidden)
      
      2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/15339
      	* testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
      
      From-SVN: r213520
      Paolo Carlini committed
    • re PR c++/15339 ([DR217] Adding default arguments to function templates in… · e83a4a2e
      re PR c++/15339 ([DR217] Adding default arguments to function templates in redeclarations should be forbidden)
      
      /cp
      2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/15339
      	* decl.c (check_redeclaration_no_default_args): New.
      	(duplicate_decls): Use it, handle default arguments
      	in redeclarations of function templates.
      
      /testsuite
      2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/15339
      	* g++.dg/other/default9.C: New.
      	* g++.dg/other/default10.C: Likewise.
      	* g++.dg/other/default3.C: Remove xfail.
      
      From-SVN: r213519
      Paolo Carlini committed
    • invoke.texi (Wsuggest-final-types, [...]): Document. · 91bc34a9
      
      	* doc/invoke.texi (Wsuggest-final-types, Wsuggest-final-methods): Document.
      	* ipa-devirt.c: Include hash-map.h
      	(struct polymorphic_call_target_d): Add type_warning and decl_warning.
      	(clear_speculation): Break out of ...
      	(get_class_context): ... here; speed up handling obviously useless
      	speculations.
      	(odr_type_warn_count, decl_warn_count): New structures.
      	(final_warning_record): New structure.
      	(final_warning_records): New static variable.
      	(possible_polymorphic_call_targets): Cleanup handling of speculative info;
      	do not build speculation when user do not care; record info about warnings
      	when asked for.
      	(add_decl_warning): New function.
      	(type_warning_cmp): New function.
      	(decl_warning_cmp): New function.
      	(ipa_devirt): Handle -Wsuggest-final-methods and -Wsuggest-final-types.
      	(gate): Enable pass when warnings are requested.
      	* common.opt (Wsuggest-final-types, Wsuggest-final-methods): New options.
      
      	* g++.dg/warn/Wsuggest-final.C: New testcase.
      	* g++.dg/ipa/devirt-34.C: Fix.
      
      From-SVN: r213518
      Jan Hubicka committed
    • convert many uses of pointer_map to hash_map · b787e7a2
      gcc/c-family/
      
      	* cilk.c: Use hash_map instead of pointer_map.
      
      gcc/c/
      
      	* c-typeck.c: Use hash_map instead of pointer_map.
      
      gcc/cp/
      
      	* optimize.c, semantics.c: Use hash_map instead of pointer_map.
      
      gcc/
      
      	* hash-map.h (default_hashmap_traits::mark_key_deleted):
      	Fix cast.
      	(hash_map::remove): New method.
      (hash_map::traverse): New method.
      	* cgraph.h, except.c, except.h, gimple-ssa-strength-reduction.c,
      	ipa-utils.c, lto-cgraph.c, lto-streamer.h, omp-low.c, predict.c,
      	tree-cfg.c, tree-cfgcleanup.c, tree-eh.c, tree-eh.h, tree-inline.c,
      	tree-inline.h, tree-nested.c, tree-sra.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-structalias.c,
      	tree-ssa.c, tree-ssa.h, var-tracking.c: Use hash_map instead of
       pointer_map.
      
      From-SVN: r213517
      Trevor Saunders committed
    • add a hash_set based on hash_table · 6e2830c3
      This allows us to replace the usage of pointer_set outside of
      pointer_map with a nicer interface.
      
      gcc/ada/
      
      	* gcc-interface/trans.c: Use hash_set instead of pointer_set.
      
      gcc/c-family/
      
      	* c-gimplify.c: Use hash_set instead of pointer_set.
      
      gcc/c/
      
      	* c-decl.c: Use hash_set instead of pointer_set.
      
      gcc/cp/
      
      	* class.c, cp-gimplify.c, cp-tree.h, decl.c, decl2.c, error.c,
      	method.c, name-lookup.c, pt.c, semantics.c, tree.c: Use hash_set
      	instead of pointer_set.
      
      gcc/fortran/
      
      	* openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
      
      gcc/
      
      	* hash-set.h: new File.
      	* cfgexpand.c, cfgloop.c, cgraph.c, cgraphbuild.c, cgraphunit.c,
      	cprop.c, cse.c, gimple-walk.c, gimple-walk.h, gimplify.c, godump.c,
      	ipa-devirt.c, ipa-pure-const.c, ipa-visibility.c, ipa.c, lto-cgraph.c,
      	lto-streamer-out.c, stmt.c, tree-cfg.c, tree-core.h, tree-eh.c,
      	tree-inline.c, tree-inline.h, tree-nested.c, tree-pretty-print.c,
      	tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c,
      	tree-ssa-uninit.c, tree.c, tree.h, value-prof.c, varasm.c,
      	varpool.c: Use hash_set instead of pointer_set.
      
      gcc/lto/
      
      	* lto-partition.c, lto-partition.h: Use hash_set instead of
      	pointer_set.
      
      From-SVN: r213516
      Trevor Saunders committed
    • re PR c/59855 (Support sparse-style __attribute__((designated_init)) on… · 2df06cec
      re PR c/59855 (Support sparse-style __attribute__((designated_init)) on structures, requiring designated initializers)
      
      	PR c/59855
      	* gcc.dg/Wdesignated-init-2.c: New test.
      
      From-SVN: r213515
      Marek Polacek committed
    • re PR other/61895 (libbacktrace crashes with bus error with empty file argv[0]) · dc14e88e
      	PR other/61895
      
      runtime: Ignore small argv[0] file for backtrace.
      
      Reportedly in some cases Docker starts processes with argv[0]
      pointing to an empty file.  That would cause libgo to pass
      that empty file to libbacktrace, which would then fail to do
      any backtraces.  Everything should work fine if libbacktrace
      falls back to /proc/self/exe.
      
      This patch to libgo works around the problem by ignoring
      argv[0] if it is a small file, or if stat fails.  This is not
      a perfect fix but it's an unusual problem.
      
      From-SVN: r213513
      Ian Lance Taylor committed
    • re PR c++/60417 ([DR 1518] Bogus error on C++03 aggregate initialization) · 3bc63227
      	PR c++/60417
      	* init.c (build_vec_init): Set CONSTRUCTOR_IS_DIRECT_INIT on
      	init-list for trailing elements.
      	* typeck2.c (process_init_constructor_array): Likewise.
      
      From-SVN: r213511
      Jason Merrill committed
    • Daily bump. · f42589ed
      From-SVN: r213510
      GCC Administrator committed
  3. 01 Aug, 2014 28 commits
    • DR 217 again · e1d9e3db
      /cp
      2014-08-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	DR 217 again
      	* decl.c (duplicate_decls): Handle static member functions too.
      
      /testsuite
      2014-08-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	DR 217 again
      	* g++.dg/tc1/dr217-2.C: New.
      
      From-SVN: r213505
      Paolo Carlini committed
    • atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add _GLIBCXX_ prefix to macro. · a7f930e7
      2014-08-01  Zifei Tong  <zifeitong@gmail.com>
      
      	* libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
      	_GLIBCXX_ prefix to macro.
      
      From-SVN: r213504
      Zifei Tong committed
    • * update_web_docs_svn: Simplify build of gnat_ugn. · aaebbe1f
      From-SVN: r213503
      Arnaud Charlet committed
    • cp-array-notation.c (expand_an_in_modify_expr): Fix the misprint in error output. · fba8a9e3
      gcc/cp/
      	* cp-array-notation.c (expand_an_in_modify_expr): Fix the misprint
      	in error output.
      
      From-SVN: r213495
      Igor Zamyatin committed
    • re PR other/61963 (CilkPlus Array Notation ICE in build_array_notation_ref on… · ffebf50f
      re PR other/61963 (CilkPlus Array Notation ICE in build_array_notation_ref on malformed function arguments.)
      
      	PR other/61963
      
      gcc/cp/
      	* parser.c (cp_parser_array_notation): Added check for array_type.
      
      gcc/testsuite/
      	* c-c++-common/cilk-plus/AN/pr61963.c: New test.
      
      From-SVN: r213494
      Igor Zamyatin committed
    • re PR c++/61455 (Internal compiler error, and other confused errors, when using array notation) · a7ee52fb
      	PR middle-end/61455
      
      gcc/c-family/
      	* array-notation-common.c (extract_array_notation_exprs): Handling
      	of DECL_EXPR added.
      
      gcc/c/
      	* c-array-notation.c (expand_array_notations): Handling
      	of DECL_EXPR added.
      
      gcc/cp/
      	* cp-array-notation.c (expand_array_notation_exprs): Handling of
      	DECL_EXPR improved. Changed handling for INIT_EXPR.
      
      gcc/testsuite/
      	* c-c++-common/cilk-plus/AN/pr61455.c: New test.
      	* c-c++-common/cilk-plus/AN/pr61455-2.c: Likewise.
      
      From-SVN: r213491
      Igor Zamyatin committed
    • Removed unused get_lane and dup_lane builtins. · 66368374
      	* config/aarch64/aarch64-simd-builtins.def (dup_lane, get_lane): Delete.
      
      From-SVN: r213490
      Alan Lawrence committed
    • Adding missing testcase. · 20c0aa30
      (should svn add first...)
      
      From-SVN: r213489
      Jiong Wang committed
    • [AArch64] Improve TARGET_LEGITIMIZE_ADDRESS_P hook · 15c0c5c9
      currently, aarch64 LEGITIMIZE_ADDRESS_P hook will reject all "reg + offset"
      address given "offset" is beyond supported range.
      
      while this may be too strict. we should honor the "strict_p" parameter in the
      hook. before reload, we accept all offset if it's a frame access, because the
      offset may change during later register elimination.
      
      the early reject of "reg + offset" may cause extra registers created, and if
      that register live range is across function invoking then callee saved reg
      needed, thus introduce extra reg save/restore also.
      
      give a simple example as:
      
      int
      test15 (void)
      {
         unsigned char a[480];
         initialize_array (a, 480);
      
         if (a[0] == 0x10)
           return 1;
      
         return 0;
      }
      
      .S before the patch
      (-O2 -fPIC)
      ===
      test15:
               sub     sp, sp, #480
               mov     w1, 480
               stp     x29, x30, [sp, -32]!
               add     x29, sp, 0
               str     x19, [sp, 16]
               add     x19, x29, 32
               mov     x0, x19
               bl      initialize_array
               ldrb    w0, [x19]
               ldr     x19, [sp, 16]
               ldp     x29, x30, [sp], 32
               cmp     w0, 16
               cset    w0, eq
               add     sp, sp, 480
               ret
      
      .S after the patch
      ===
      test15:
               stp     x29, x30, [sp, -496]!
               mov     w1, 480
               add     x29, sp, 0
               add     x0, x29, 16
               bl      initialize_array
               ldrb    w0, [x29, 16]
               ldp     x29, x30, [sp], 496
               cmp     w0, 16
               cset    w0, eq
               ret
      
      gcc/
        * config/aarch64/aarch64.c (aarch64_classify_address): Accept all offset for
        frame access when strict_p is false.
      
      gcc/testsuite
         * gcc.target/aarch64/legitimize_stack_var_before_reload_1.c: New testcase.
      
      From-SVN: r213488
      Jiong Wang committed
    • [AArch64][2/2] Add constrain to address offset in storewb_pair/loadwb_pair insns · 44707478
      Add a pridicate to check whether the const offset is valid.
      For 32-bit variant: -256 <= offset <= 252
      For 64-bit variant: -512 <= offset <= 504
      
      2014-07-29  Renlin Li  <renlin.li@arm.com>
      2014-07-29  Jiong Wang  <jiong.wang@arm.com>
      
      gcc/
        * config/aarch64/aarch64.c (offset_7bit_signed_scaled_p): Rename to
        aarch64_offset_7bit_signed_scaled_p, remove static and use it.
        * config/aarch64/aarch64-protos.h (aarch64_offset_7bit_signed_scaled_p):
        Declaration.
        * config/aarch64/predicates.md (aarch64_mem_pair_offset): Define new
        predicate.
        * config/aarch64/aarch64.md (loadwb_pair, storewb_pair): Use
        aarch64_mem_pair_offset.
      
      From-SVN: r213487
      Jiong Wang committed
    • Update ChangeLog for commit 213485. · e244d1e6
      From-SVN: r213486
      Jiong Wang committed
    • [AArch64][1/2] Fix offset glitch in load reg pair pattern · 3e322b3f
      on aarch64, we are using load register pair post-writeback instruction in
      epilogue.
      
      for example, for the following instruction:
      
      ldp, x0, x1, [sp], #16
      
      what it's doing is:
      
      x0 <- MEM(sp + 0)
      x1 <- MEM(sp + 8)
      sp < sp + 16
      
      while there is a glitch in our loadwb_pair* pattern, the restore of the
      first reg should always be with offset zero.
      
      (set (match_operand:GPI 2 "register_operand" "=r")
      -          (mem:GPI (plus:P (match_dup 1)
      -                   (match_dup 4))))
      +          (mem:GPI (match_dup 1)))
      
      gcc/
        * config/aarch64/aarch64.md (loadwb_pair<GPI:mode>_<P:mode>): Fix offset.
        (loadwb_pair<GPI:mode>_<P:mode>): Likewise.
        * config/aarch64/aarch64.c (aarch64_gen_loadwb_pair): Likewise.
      
      From-SVN: r213485
      Jiong Wang committed
    • MIPS REGISTER_PREFIX definition · fb01ed38
      gcc/
      
      	* config/mips/mips.h (REGISTER_PREFIX): Define macro.
      
      From-SVN: r213484
      Matthew Fortune committed
    • restrict.adb (Update_Restrictions): For restrictions with a maximum parameter (e.g. · 1696d58d
      2014-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* restrict.adb (Update_Restrictions): For restrictions with a
      	maximum parameter (e.g. number of protected entries in Ravenscar)
      	do not compute the maximum of the violation over several objects,
      	because the restriction is per-object.
      	(Check_Restriction): After possible message, reset the value
      	of of a checked max_parameter restriction to zero, to prevent
      	cascaded errors.
      	* sem_ch3.adb (Build_Derived_Private_Type): Use base of parent
      	(sub)type to determine whether derived type should be on the
      	list of private dependents of a type whose full view may become
      	visible subsequently.
      
      From-SVN: r213483
      Ed Schonberg committed
    • [multiple changes] · 9a30c7c4
      2014-08-01  Olivier Hainque  <hainque@adacore.com>
      
      	* gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS, native): use
      	$(CXX) instead of ../../xg++ to feed CXX.
      	(CXX_LFLAGS): Remove. Now unused as the proper flags
      	are expected to be included in the CXX variable.
      
      2014-08-01  Pierre-Marie Derodat  <derodat@adacore.com>
      
      	* gcc-interface/decl.c (elaborate_expression_1): Return the new
      	variable when debug info is needed and the expression is not
      	constant.  Tag as external only new variables that are global.
      	(gnat_to_gnu_entity): Call it after the GNU declaration is saved.
      	* gcc-interface/trans.c (Attribute_to_gnu): Do not cache
      	attributes for IN array parameters when their actual subtype
      	needs debug info.
      	(Compilation_Unit_to_gnu): Call it to process all remaining nodes.
      	* gcc-interface/gigi.h (process_deferred_decl_context): New.
      	* gcc-interface/utils.c (gnat_write_global_declarations): Do not
      	emit debug info for ignored global declarations.
      	(struct deferred_decl_context_node,
      	add_deferred_decl_context, add_deferred_type_context,
      	compute_deferred_decl_context, defer_or_set_type_context,
      	deferred_decl_context_queue, get_debug_scope,
      	get_global_context, process_deferred_decl_context): New.
      	(gnat_pushdecl): Re-implement the DECL_CONTEXT and TYPE_CONTEXT
      	computation machinery to rely on the GNAT Scope attribute.
      
      2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gcc-interface/utils2.c (build_simple_component_ref): Add guard.
      
      From-SVN: r213482
      Arnaud Charlet committed
    • Add myself to Write After Approval list. · 88b1a322
        * MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r213481
      Jiong Wang committed
    • [multiple changes] · a43f6434
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch8.adb, opt.ads Minor comment updates.
      
      2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_intr.adb (Expand_Unc_Deallocation): Request a renaming
      	from the side effects removal machinery.
      	* exp_util.adb (Duplicate_Subexpr): Add formal parameter
      	Renaming_Req. Update the nested call to Remove_Side_Effects.
      	(Duplicate_Subexpr_No_Checks): Add formal parameter
      	Renaming_Req. Update the nested call to Remove_Side_Effects.
      	(Duplicate_Subexpr_Move_Checks): Add formal parameter
      	Renaming_Req. Update the nested call to Remove_Side_Effects.
      	(Remove_Side_Effects): Add formal parameter Renaming_Req. Generate
      	an object renaming declaration when the caller requests it.
      	* exp_util.ads (Duplicate_Subexpr): Add formal
      	parameter Renaming_Req. Update comment on usage.
      	(Duplicate_Subexpr_No_Checks): Add formal parameter Renaming_Req.
      	(Duplicate_Subexpr_Move_Checks): Add formal parameter
      	Renaming_Req.
      
      From-SVN: r213480
      Arnaud Charlet committed
    • [multiple changes] · bdc193ba
      2014-08-01  Bob Duff  <duff@adacore.com>
      
      	* gnat_ugn.texi: Minor updates.
      
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* atree.adb: Minor reformatting.
      
      2014-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb (Init_Hidden_Discriminants): If some ancestor is a
      	private extension, get stored constraint, if any, from full view.
      
      From-SVN: r213479
      Arnaud Charlet committed
    • [multiple changes] · 8bef7ba9
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* opt.ads (No_Elab_Code_All_Pragma): New global variable.
      	* sem_ch10.adb (Check_No_Elab_Code_All): New procedure
      	(Analyze_Compilation_Unit): Call Check_No_Elab_Code_All
      	(Analyze_Subunit_Context): Call Check_No_Elab_Code_All.
      	* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
      	Remove code for checking with's, now in sem_ch10.adb, set
      	Opt.No_Elab_Code_All_Pragma.
      
      2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch3.adb (Copy_And_Build): Copy the declaration for
      	access types as well and adjust the subtype mark if there are
      	no constraints.
      
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* sem_eval.adb (Test_In_Range): Return Unknown if error posted.
      
      From-SVN: r213478
      Arnaud Charlet committed
    • sem_ch3.adb, [...]: Code clean ups. · 316e3a13
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, einfo.ads, exp_ch4.adb: Code clean ups.
      
      From-SVN: r213477
      Robert Dewar committed
    • einfo.ads (Has_Private_Ancestor): Remove obsolete usage. · 7f1a5156
      2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* einfo.ads (Has_Private_Ancestor): Remove obsolete usage.
      	* exp_ch4.adb (Expand_Composite_Equality): Add conversion
      	of the actuals in the case of untagged record types too.
      	* sem_ch3.adb (Build_Full_Derivation): New procedure to create the
      	full derivation of a derived private type, extracted from...
      	(Copy_And_Build): In the case of record types and most
      	enumeration types, copy the original declaration.  Build the
      	full derivation according to the approach extracted from...
      	(Build_Derived_Private_Type): ...here.	Call Build_Full_Derivation
      	to create the full derivation in all existing cases and also
      	create it in the no-discriminants/discriminants case instead of
      	deriving directly from the full view.
      	(Is_Visible_Component): Remove obsolete code.
      	* sem_aggr.adb (Resolve_Record_Aggregate): Likewise.
      
      From-SVN: r213476
      Eric Botcazou committed
    • Minor reformatting. · b5119ab1
      From-SVN: r213474
      Arnaud Charlet committed
    • fe.h (GNAT_Mode): New. · 5b2bf62c
      	* fe.h (GNAT_Mode): New.                                        
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not error out on
      	reverse SSO in GNAT mode.
      
      From-SVN: r213473
      Arnaud Charlet committed
    • [multiple changes] · 7b536495
      2014-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* freeze.adb: Minor reformatting.
      
      2014-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch3.adb (Default_Initialize_Object): Do not generate
      	default initialization for an imported object.
      
      2014-08-01  Olivier Hainque  <hainque@adacore.com>
      
      	* seh_init.c (__gnat_map_SEH): Cast argument of IsBadCodePtr
      	to the expected FARPROC type instead of void *.
      	* adaint.c (f2t): Expect __time64_t * as second argument, in line with
      	other datastructures.
      	(__gnat_file_time_name_attr): Adjust accordingly.
      	(__gnat_check_OWNER_ACL): Declare pSD as PSECURITY_DESCRIPTOR,
      	in line with uses.
      	(__gnat_check_OWNER_ACL): Declare AccessMode
      	parameter as ACCESS_MODE instead of DWORD, in line with callers
      	and uses.
      	(__gnat_set_executable): Add ATTRIBUTE_UNUSED on mode,
      	unused on win32.  Correct cast of "args" on call to spawnvp.
      	(add_handle): Cast realloc calls into their destination types.
      	(win32_wait): Remove declaration and initialization of unused variable.
      	(__gnat_locate_exec_on_path): Cast alloca calls
      	into their destination types.
      	* initialize.c (append_arg, __gnat_initialize): Cast xmalloc calls into
      	their destination types.
      
      2014-08-01  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Type_Conversion): Expand
      	range checks for conversions between floating-point subtypes
      	when the target and source types are the same.
      
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* exp_aggr.adb: Minor reformatting.
      
      2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch13.adb (Check_Indexing_Functions): Initialize
      	Indexing_Found.
      
      2014-08-01  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat1drv.adb (Gnat1drv): In gnatprove mode, we now write the
      	ALI file before we call the backend (so that gnat2why can append
      	to it).
      
      2014-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_pakd.adb (Expand_Bit_Packed_Element_Set,
      	Expand_Packed_Element_Reference): Pass additional Rev_SSO
      	parameter indicating whether the packed array type has reverse
      	scalar storage order to the s-pack* Set/Get routines.
      	* s-pack*.ad* (Get, Set, GetU, SetU): New formal Rev_SSO
      	indicating reverse scalar storage order.
      
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb (Check_Initialization): Set Do_Range_Check
      	for initial component value in -gnatc or GNATprove mode.
      	(Process_Discriminants): Same fix for default discriminant values.
      	* sem_eval.adb (Test_In_Range): Improve accuracy of results by
      	checking subtypes.
      
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* sinfo.ads: Minor comment clarification.
      
      From-SVN: r213471
      Arnaud Charlet committed
    • [multiple changes] · 41d8ee1d
      2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Code
      	reformatting. Store the generated pragma Import in the related
      	subprogram as routine Wrap_Imported_Subprogram will need it later.
      	* sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): An item of
      	a private type with discriminants is considered to fall in the
      	category of unconstrained or tagged items.
      
      2014-08-01  Arnaud charlet  <charlet@adacore.com>
      
      	* s-os_lib.adb (Open_Append): New functions to open a file for
      	appending. This binds to the already existing (but not used)
      	__gnat_open_append.
      	* osint.ads, osint.adb (Open_File_To_Append_And_Check): New procedure
      	to open a file for appending.
      	* osint-c.ads, osint-c.adb (Open_Output_Library_Info): New procedure
      	to open the ALI file for appending.
      
      From-SVN: r213470
      Arnaud Charlet committed
    • [multiple changes] · 2feb1f84
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch8.adb: Minor reformatting.
      
      2014-08-01  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch13.adb (Insert_Pragma): Add special case for precondition
      	pragmas from aspects, which need to be inserted in proper order.
      
      2014-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb (Expand_Record_Aggregate, Init_Hidden_Discriminants):
      	Handle properly a type extension that constrains a discriminated
      	derived type that renames other discriminants of an ancestor.
      
      2014-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* s-pack06.adb, s-pack10.adb, s-pack03.ads, s-pack12.adb, s-pack14.ads,
      	s-pack25.adb: Fix minor inconsistencies and typos.
      
      From-SVN: r213469
      Arnaud Charlet committed
    • sem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize globals and move certain… · fc193526
      sem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize globals and move certain variables to the "local variable" section.
      
      2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize
      	globals and move certain variables to the "local
      	variable" section. Call Build_Class_Wide_Wrapper when
      	renaming a default actual subprogram with a class-wide actual.
      	(Build_Class_Wide_Wrapper): New routine.
      	(Check_Class_Wide_Actual): Removed.
      	(Find_Renamed_Entity): Code reformatting.
      	(Has_Class_Wide_Actual): Alphabetize. Change the
      	logic of the predicate as the renamed name may not necessarely
      	denote the correct subprogram.
      
      From-SVN: r213467
      Hristian Kirtchev committed
    • [multiple changes] · 4887624e
      2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch7.adb: Fix minor oversight in condition.
      
      2014-08-01  Bob Duff  <duff@adacore.com>
      
      	* projects.texi: Minor documentation improvements.
      
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* aspects.ads, aspects.adb: Add aspect No_Elaboration_Code_All.
      	* gnat_rm.texi: Document No_Elaboration_Code_All pragma and aspect.
      	* lib-load.adb: Initialize No_Elab_Code_All field.
      	* lib-writ.adb: Initialize No_Elab_Code_All.
      	* lib.ads, lib.adb: New field No_Elab_Code_All.
      	* par-prag.adb: Add dummy entry for pragma No_Elaboration_Code_All.
      	* restrict.ads, restrict.adb: Restriction No_Elaboration_Code_All no
      	longer exists.
      	* sem_ch10.adb (Analyze_Context): Processing for
      	No_Elaboration_Code_All removed.
      	(Generate_Parent_References): Moved to Sem_Util.
      	* sem_prag.adb: Add processing for pragma No_Elaboration_Code_All.
      	* sem_util.ads, sem_util.adb (Get_Parent_Entity): Moved here from
      	Sem_Ch10.
      	* snames.ads-tmpl: Add entry for pragma No_Elaboration_Code_All.
      	* targparm.adb: Minor comment updates Add comments on ignoring
      	pragma No_Elaboration_Code_All.
      
      2014-08-01  Nicolas Roche  <roche@adacore.com>
      
      	* adaint.c (__gnat_set_close_on_exec): Ensure that
      	we can unset "close_on_exec" flag.
      
      2014-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch9.adb (Build_Wrapper_Spec, Replicate_Formals): When building
      	the parameter specs of the wrapper program for a primitive operation
      	of a synchronized type that implements an interface, copy the
      	null_exclusion indicator as well.
      
      2014-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* sem_eval.ads: Minor reformatting.
      
      From-SVN: r213466
      Arnaud Charlet committed