Commit Graph

145478 Commits

Author SHA1 Message Date
Richard Biener ab99f46749 re PR tree-optimization/70780 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
2016-04-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70780
	* tree-ssa-pre.c (compute_antic_aux): Also return true if the block
	wasn't visited yet.
	(compute_antic): Mark blocks with abnormal preds as visited as
	they have a final empty antic-in solution already.

	* gcc.dg/torture/pr70780.c: New testcase.

From-SVN: r235407
2016-04-25 10:49:55 +00:00
Michael Collison e52477c7e2 ChangeLog (2016-04-25): Fix ChangeLog formatting.
2016-04-25  Michael Collison  <michael.collison@linaro.org>
	* ChangeLog(2016-04-25): Fix ChangeLog formatting.

From-SVN: r235403
2016-04-25 05:57:07 +00:00
Michael Collison 93c590ee1a neon.md (widen_<us>sum<mode>): New patterns where mode is VQI to improve mixed mode vectorization.
2016-04-25  Michael Collison  <michael.collison@linaro.org>

    * config/arm/neon.md (widen_<us>sum<mode>): New patterns where
    mode is VQI to improve mixed mode vectorization.
    * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New
    define_insn to match low half of signed vaddw.
    * config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New
    define_insn to match high half of signed vaddw.
    * config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New
    define_insn to match low half of unsigned vaddw.
    * config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New
    define_insn to match high half of unsigned vaddw.
    * config/arm/arm.c (arm_simd_vect_par_cnst_half): New function.
    (arm_simd_check_vect_par_cnst_half_p): Likewise.
    * config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype
    for new function.
    (arm_simd_check_vect_par_cnst_half_p): Likewise.
    * config/arm/predicates.md (vect_par_constant_high): Support
    big endian and simplify by calling
    arm_simd_check_vect_par_cnst_half
    (vect_par_constant_low): Likewise.
    * testsuite/gcc.target/arm/neon-vaddws16.c: New test.
    * testsuite/gcc.target/arm/neon-vaddws32.c: New test.
    * testsuite/gcc.target/arm/neon-vaddwu16.c: New test.
    * testsuite/gcc.target/arm/neon-vaddwu32.c: New test.
    * testsuite/gcc.target/arm/neon-vaddwu8.c: New test.
    * testsuite/lib/target-supports.exp
      (check_effective_target_vect_widen_sum_hi_to_si_pattern): Indicate
      that arm neon support vector widen sum of HImode TO SImode.

From-SVN: r235402
2016-04-25 05:03:09 +00:00
GCC Administrator 151a16073f Daily bump.
From-SVN: r235401
2016-04-25 00:16:25 +00:00
Uros Bizjak 9bb069e586 i386.md (*lea<mode>_general_4): Use const_0_to_3_operand predicate for operand 2.
* config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
	predicate for operand 2.

From-SVN: r235397
2016-04-25 00:03:15 +02:00
Uros Bizjak 55284a77e6 i386-protos.h (standard_sse_constant_p): Add machine_mode argument.
* config/i386/i386-protos.h (standard_sse_constant_p): Add
	machine_mode argument.
	* config/i386/i386.c (standard_sse_constant_p): Return 2 for
	constm1_rtx operands.  For VOIDmode constants, get mode from
	pred_mode.  Check mode size if the mode is supported by ABI.
	(standard_sse_constant_opcode): Do not use standard_constant_p.
	Strictly check ABI support for all-ones operands.
	(ix86_legitimate_constant_p): Handle TImode, OImode and XImode
	immediates. Update calls to standard_sse_constant_p.
	(ix86_expand_vector_move): Update calls to standard_sse_constant_p.
	(ix86_rtx_costs): Ditto.
	* config/i386/i386.md (*movxi_internal_avx512f): Use
	nonimmediate_or_sse_const_operand instead of vector_move_operand.
	Use (v,BC) alternative instead of (v,C). Use register_operand
	checks instead of MEM_P.
	(*movoi_internal_avx): Use nonimmediate_or_sse_const_operand instead
	of vector_move_operand.  Add (v,BC) alternative and corresponding avx2
	isa attribute.  Use register_operand checks instead of MEM_P.
	(*movti_internal): Use nonimmediate_or_sse_const_operand for
	TARGET_SSE.  Improve TARGET_SSE insn constraint.  Add (v,BC)
	alternative and corresponding sse2 isa attribute.
	(*movtf_internal, *movdf_internal, *movsf_interal): Update calls
	to standard_sse_constant_p.
	(FP constant splitters): Ditto.
	* config/i386/constraints.md (BC): Do not use standard_sse_constant_p.
	(C): Ditto.
	* config/i386/predicates.md (constm1_operand): Remove.
	(nonimmediate_or_sse_const_operand): Rewrite using RTX.
	* config/i386/sse.md (*<avx512>_cvtmask2<ssemodesuffix><mode>): Use
	vector_all_ones_operand instead of constm1_operand.


Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r235396
2016-04-24 22:58:02 +02:00
Jonathan Wakely a635cdb2cc libstdc++/70762 fix fallback implementation of nonexistent_path
PR libstdc++/70762
	* testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
	static counter to return a different path on every call.

From-SVN: r235395
2016-04-24 19:06:54 +01:00
Trevor Saunders e4dbabfe54 make avail_stores a vec<rtx_insn *>
gcc/ChangeLog:

2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* print-rtl.c (print_rtx_insn_vec): New function.
	* print-rtl.h: New prototype.
	* store-motion.c (struct st_expr): Make avail_stores a vector.
	(st_expr_entry): Adjust.
	(free_st_expr_entry): Likewise.
	(print_store_motion_mems): Likewise.
	(find_moveable_store): Likewise.
	(compute_store_table): Likewise.
	(delete_store): Likewise.
	(build_store_vectors): Likewise.

From-SVN: r235394
2016-04-24 08:45:38 +00:00
Trevor Saunders 5d911cafe9 stop using rtx_insn_list in reorg.c
gcc/ChangeLog:

2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* reorg.c (try_merge_delay_insns): Make merged_insns a vector.

From-SVN: r235393
2016-04-24 08:45:13 +00:00
Trevor Saunders 12e109d14b add some utility methods to vec
gcc/ChangeLog:

2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* vec.h (vec_safe_contains): New function.
	(vec::contains): Likewise.
	(vec::begin): Likewise.
	(vec::end): Likewise.

From-SVN: r235392
2016-04-24 07:47:38 +00:00
GCC Administrator dc3d45f24d Daily bump.
From-SVN: r235390
2016-04-24 00:16:23 +00:00
Jakub Jelinek d6c1a7a7c7 re PR sanitizer/70712 (False positive from AddressSanitizer with use of 'alignas')
PR sanitizer/70712
	* cfgexpand.c (expand_stack_vars): Fix typo.

	* c-c++-common/asan/pr70712.c: New test.

From-SVN: r235384
2016-04-23 07:28:16 +02:00
Ian Lance Taylor 0e94da57dc compiler: Expose runtime code through Func_expression.
Enables us to easily check if a Call_expression is a call to a runtime
    function and, if so, which runtime function is corresponds to.
    This will be used during escape analysis.
    
    Reviewed-on: https://go-review.googlesource.com/18544

From-SVN: r235383
2016-04-23 04:58:00 +00:00
Tim Shen 216f7526fe re PR libstdc++/70745 (Wrong handling of regex_constant::match_not_eow and regex_constant::match_not_bow)
PR libstdc++/70745
	* include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
	Fix the match_not_bow and match_not_eow behavior.
	* testsuite/28_regex/regression.cc: Add testcase.

From-SVN: r235382
2016-04-23 03:58:37 +00:00
Trevor Saunders ab0fc037f0 add basic .gitattributes files to notice whitespace issues
gcc/testsuite/ChangeLog:

2016-04-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* .gitattributes: New file.

/ChangeLog:

2016-04-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* .gitattributes: New file.

From-SVN: r235381
2016-04-23 02:37:43 +00:00
Ian Lance Taylor a38f74e823 cmd/go: bring in final version of gccgo pkg-config support
This updates gccgo to the final version of https://golang.org/cl/18790,
    by Michael Hudson-Doyle.
    
    Update golang/go#11739.
    
    Reviewed-on: https://go-review.googlesource.com/22400

From-SVN: r235380
2016-04-23 00:41:03 +00:00
GCC Administrator cd32366081 Daily bump.
From-SVN: r235379
2016-04-23 00:16:21 +00:00
Segher Boessenkool c048fa95cd Add myself as maintainer for the PowerPC port
* MAINTAINERS (rs6000/powerpc port): Add myself.

From-SVN: r235373
2016-04-22 23:18:49 +02:00
Christophe Lyon 2aa64824cc [testsuite] gcc-dg: handle all return values when shouldfail is set
2016-04-22  Christophe Lyon  <christophe.lyon@linaro.org>

	* lib/gcc-dg.exp (${tool}_load): Add default return value handler.

From-SVN: r235372
2016-04-22 21:28:58 +02:00
Jason Merrill 9aa36ae522 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
From-SVN: r235371
2016-04-22 12:16:27 -04:00
Jason Merrill 76f9244ed0 * parser.c (cp_parser_perform_range_for_lookup): Decay the array.
From-SVN: r235370
2016-04-22 12:16:21 -04:00
Dominique d'Humieres e7e12d92e3 submodule_14.f08: Add cleanup-submodules.
2016-04-22  Dominique d'Humieres  <dominiq@lps.ens.fr>

	* gfortran.dg/submodule_14.f08: Add cleanup-submodules.
	* gfortran.dg/submodule_15.f08: Likewise.

From-SVN: r235367
2016-04-22 15:48:28 +02:00
Szabolcs Nagy 2c384ad87f [PATCH 2/2] (header usage fix) include c++ headers in system.h
2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* system.h (list, map, set, vector): Include conditionally.
	* auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
	* graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
	* ipa-icf.c (INCLUDE_LIST): Define.
	* config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
	* config/sh/sh.c (INCLUDE_VECTOR): Define.
	* config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
	(INCLUDE_LIST, INCLUDE_VECTOR): Define.
	* cp/logic.cc (INCLUDE_LIST): Define.
	* fortran/trans-common.c (INCLUDE_MAP): Define.

From-SVN: r235362
2016-04-22 11:00:42 +00:00
Szabolcs Nagy e4ccecd5d0 [PATCH 1/2] (header usage fix) remove unused system header includes
2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* auto-profile.c: Remove <string.h> include.
	* ipa-icf-gimple.c: Remove <list> include.
	* diagnostic.c: Remove <new> include.
	* genmatch.c: Likewise.
	* pretty-print.c: Likewise.
	* toplev.c: Likewise
	* c/c-objc-common.c: Likewise.
	* cp/error.c: Likewise.
	* fortran/error.c: Likewise.

From-SVN: r235361
2016-04-22 10:57:56 +00:00
Richard Biener 9a13d066d7 lto-streamer-in.c (input_ssa_names): Do not allocate GIMPLE_NOP for all SSA names.
2016-04-22  Richard Biener  <rguenther@suse.de>

	* lto-streamer-in.c (input_ssa_names): Do not allocate
	GIMPLE_NOP for all SSA names.
	* lto-streamer-out.c (output_ssa_names): Do not output
	SSA names that should have been released.

From-SVN: r235360
2016-04-22 09:05:10 +00:00
Richard Biener d143119205 re PR tree-optimization/70740 (ICE when compiling the Linux kernel (net/wireless/util.o))
2016-04-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70740
	* tree-ssa-phiprop.c (propagate_with_phi): Handle inserted
	VDEF.

	* gcc.dg/torture/pr70740.c: New testcase.

From-SVN: r235359
2016-04-22 06:59:32 +00:00
Waldemar Brodkorb b8ce3fe29d * config/m68k/linux-atomic.c: Do not include unistd.h
From-SVN: r235358
2016-04-21 23:43:43 -06:00
GCC Administrator b688836877 Daily bump.
From-SVN: r235357
2016-04-22 00:16:20 +00:00
H.J. Lu 04a63c2454 X86: Fix a typo in call_insn_operand
r231923 has

 ;; Test for a valid operand for a call instruction.
 ;; Allow constant call address operands in Pmode only.
 (define_special_predicate "call_insn_operand"
   (ior (match_test "constant_call_address_operand
 		     (op, mode == VOIDmode ? mode : Pmode)")
        (match_operand 0 "call_register_no_elim_operand")
-       (and (not (match_test "TARGET_X32"))
-	    (match_operand 0 "memory_operand"))))
+       (ior (and (not (match_test "TARGET_X32"))
+		 (match_operand 0 "sibcall_memory_operand"))
                                   ^^^^^^^^^^^^^^^^^^^^^^^ A typo.
+	    (and (match_test "TARGET_X32 && Pmode == DImode")
+		 (match_operand 0 "GOT_memory_operand")))))

"sibcall_memory_operand" should be "memory_operand".

gcc/

	PR target/70750
	* config/i386/predicates.md (call_insn_operand): Replace
	sibcall_memory_operand with memory_operand.

gcc/testsuite/

	PR target/70750
	* gcc.target/i386/pr70750-1.c: New test.
	* gcc.target/i386/pr70750-2.c: Likewise.

From-SVN: r235353
2016-04-21 15:01:34 -07:00
Patrick Palka 6e07f9aaf3 vrp: remove redundant has_single_use tests
gcc/ChangeLog:

	* tree-vrp.c (register_edge_assert_for_2): Remove redundant
	has_single_use() tests.
	(register_edge_assert_for_1): Likewise.
	(find_assert_locations_1): Check the liveness bitmap instead of
	checking has_single_use().

From-SVN: r235352
2016-04-21 21:58:08 +00:00
Patrick Palka 5c71225085 Reuse the saved_scope structures allocated by push_to_top_level
gcc/cp/ChangeLog:

	* name-lookup.c (free_saved_scope): New free list of saved_scope
	structures.
	(push_to_top_level): Attempt to reuse a saved_scope struct
	from free_saved_scope instead of allocating a new one each time.
	(pop_from_top_level_1): Chain the now-unused saved_scope structure
	onto free_saved_scope.

From-SVN: r235351
2016-04-21 21:55:35 +00:00
Joseph Myers 617d8e43f9 * sv.po: Update.
From-SVN: r235349
2016-04-21 21:59:01 +01:00
Paolo Carlini 2070009860 re PR c++/70540 (ICE on invalid code in cxx_incomplete_type_diagnostic, at cp/typeck2.c:569)
/cp
2016-04-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70540
	* semantics.c (process_outer_var_ref): Unconditionally return
	error_mark_node when mark_used returns false.

/testsuite
2016-04-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70540
	* g++.dg/cpp0x/auto48.C: New.

From-SVN: r235348
2016-04-21 19:42:34 +00:00
Marek Polacek aedf4e122b re PR c++/70513 (ICE on invalid C++ code on x86_64-linux-gnu: Segmentation fault)
PR c++/70513
	* parser.c (cp_parser_enum_specifier): Check and possibly error for
	extra qualification.

	* g++.dg/cpp0x/forw_enum12.C: New test.
	* g++.dg/cpp0x/forw_enum13.C: New test.

From-SVN: r235347
2016-04-21 16:52:51 +00:00
Kirill Yukhin 2074d80a60 AVX-512. PR target/70728. Use separate constraint for AVX-512BW
PR target/70728
gcc/
	* gcc/config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"):
	Extract AVX-512BW constraint from AVX.
gcc/testsuite/
	* gcc.target/i386/pr70728.c: New test.

From-SVN: r235344
2016-04-21 15:29:29 +00:00
Joseph Myers 0ba94d02f0 Regenerate .pot files.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r235342
2016-04-21 16:23:29 +01:00
Richard Biener 49f428c9f4 re PR tree-optimization/70725 (Internal compiler error (ICE) on valid code)
2016-04-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70725
	* tree-if-conv.c (if_convertible_phi_p): Adjust guard
	for phi_convertible_by_degenerating_args.
	(predicate_all_scalar_phis): Handle single-argument PHIs.

From-SVN: r235341
2016-04-21 14:09:33 +00:00
Alexander Monakov c2bd3b6911 libgomp nvptx plugin: make cuMemFreeHost error non-fatal
From-SVN: r235339
2016-04-21 16:11:47 +03:00
Maxim Ostapenko fefddbef53 Cherry-pick r266868 from upstream.
PR sanitizer/70624                                                                                                             
	* asan/asan_mac.cc: Cherry pick upstream r266868.

From-SVN: r235338
2016-04-21 15:19:54 +03:00
Richard Biener aef4aab0cc re PR middle-end/70747 (ICE on valid code on x86_64-linux-gnu: verify_gimple failed)
2016-04-21  Richard Biener  <rguenther@suse.de>

	PR middle-end/70747
	* fold-const.c (fold_comparison): Return properly typed
	constant boolean.

	* gcc.dg/pr70747.c: New testcase.

From-SVN: r235335
2016-04-21 11:52:50 +00:00
Bin Cheng 2359e571cd re PR tree-optimization/70715 (SCEV failed to prove no-overflow-ness information unsigned loop IV)
PR tree-optimization/70715
	* tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
	after expanding BASE using expand_simple_operations.

	gcc/testsuite/ChangeLog
	PR tree-optimization/70715
	* gcc.dg/tree-ssa/scev-13.c: New test.

From-SVN: r235333
2016-04-21 11:28:58 +00:00
Marc Glisse ce0e66ffb2 min(-x, -y), min(~x, ~y)
2016-04-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd (min(-x, -y), max(-x, -y), min(~x, ~y), max(~x, ~y)):
	New transformations.

gcc/testsuite/
	* gcc.dg/tree-ssa/minmax-2.c: New testcase.

From-SVN: r235332
2016-04-21 10:45:11 +00:00
Arnaud Charlet 6c7f7b8c69 [multiple changes]
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Match_Constituent): Treat a constant as a legal
	constituent even if it is not to prevent spurious errors.

2016-04-21  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb: Minor typo fixes and reformatting.

2016-04-21  Dmitriy Anisimkov  <anisimko@adacore.com>

	* g-calend.ads (No_Time): The same value in any timezone.
	* g-socket.adb (Raise_Host_Error): Remove ending
	dot from original error message before append colon delimited
	host name.

From-SVN: r235331
2016-04-21 12:27:54 +02:00
Arnaud Charlet 0310af44bb [multiple changes]
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb: Code cleanup.
	* sem_ch6.adb: Code cleanup.
	(Is_Matching_Limited_View): New routine.
	(Matches_Limited_With_View): Reimplemented.
	* sem_ch10.adb (Decorate_Type): Code cleanup.

2016-04-21  Doug Rupp  <rupp@adacore.com>

	* tracebak.c (PPC ELF): Add macro defs for lynxos178e.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Try_Container_Indexing): If there are overloaded
	indexing functions, collect all overloadings of the call firts,
	and then transfer them to indexing node, to prevent interleaving
	of the set of interpretations of the nodes involved.
	* sem_res.adb (Resolve): Suppress cascaded errors that report
	ambiguities when one of the actuals in an overloaded generatlized
	indexing operation is illegal and has type Any_Type, as is done
	for similar cascaded errors in subprogram calls.
	(Valid_Tagged_Conversion): Cleanup conversion checks when one
	of the types involved is a class-wide subtype.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Load_Parent_Of_Generic): When looking for the
	subprogram declaration within a wrapper package, skip pragmas
	that may have been generated by aspect specifications on the
	generic instance.

2016-04-21  Javier Miranda  <miranda@adacore.com>

	* exp_aggr.adb (Component_Not_OK_For_Backend): Generating C
	code return True for array identifiers since the backend needs
	to initialize such component by means of memcpy().

From-SVN: r235330
2016-04-21 12:25:59 +02:00
Arnaud Charlet 150346bd8d a-tasatt.adb, [...] (Fast_Path): Rewritten to avoid reading potentially uninitialized memory.
2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* a-tasatt.adb, a-tasatt.ads (Fast_Path): Rewritten to avoid reading
	potentially uninitialized memory.
	* sem_ch3.adb: Minor style fix in comment.

From-SVN: r235329
2016-04-21 12:21:56 +02:00
Arnaud Charlet c25f170d2d gnat_rm.texi, [...]: Update doc.
* gnat_rm.texi, gnat_ugn.texi,
        doc/gnat_ugn/gnat_project_manager.rst,
        doc/gnat_ugn/building_executable_programs_with_gnat.rst,
        doc/gnat_ugn/gnat_and_program_execution.rst,
        doc/gnat_ugn/gnat_utility_programs.rst,
        doc/gnat_ugn/the_gnat_compilation_model.rst,
        doc/gnat_rm/implementation_defined_attributes.rst,
        doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
        doc/gnat_rm/implementation_defined_pragmas.rst,
        doc/gnat_rm/the_gnat_library.rst,
        doc/gnat_rm/implementation_defined_aspects.rst: Update doc.
        * doc/Makefile: Cleanups.

From-SVN: r235328
2016-04-21 12:06:40 +02:00
Arnaud Charlet f76647c2ec [multiple changes]
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_pakd.adb, sem_ch13.adb: Minor reformatting.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_dbug.adb, exp_dbug.ads (Qualify_Entity_Name): Add suffixes to
	disambiguate local variables that may be hidden from inner visibility
	by nested block declarations or loop variables.

From-SVN: r235327
2016-04-21 11:54:42 +02:00
Arnaud Charlet 22a4f9d54d [multiple changes]
2016-04-21  Jerome Lambourg  <lambourg@adacore.com>

	* s-soflin.adb: Initialize the Stack_Limit global variable.

2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* lib-writ.adb: Minor reformatting.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_pakd.adb (Compute_Number_Components): New function to
	build an expression that computes the number of a components of
	an array that may be multidimensional.
	(Expan_Packed_Eq): Use it.

2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* g-traceb.ads: Update list of supported platforms.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Add_Predicates): if the type is declared in
	an inner package it may be frozen outside of the package, and
	the generated pragma has not been analyzed yet, the expression
	for the predicate must be captured and added to the predicate
	function at this point.

2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* contracts.adb (Analyze_Package_Body_Contract): Do not check
	for a missing package refinement because 1) packages do not have
	"refinement" and 2) the check for proper state refinement is
	performed in a different place.
	* einfo.adb (Has_Non_Null_Visible_Refinement): Reimplemented.
	(Has_Null_Visible_Refinement): Reimplemented.
	* sem_ch3.adb (Analyze_Declarations): Determine whether all
	abstract states have received a refinement and if not, emit
	errors.
	* sem_ch7.adb (Analyze_Package_Declaration): Code
	cleanup. Determine whether all abstract states of the
	package and any nested packages have received a refinement
	and if not, emit errors.
	(Requires_Completion_In_Body): Add new formal parameter
	Do_Abstract_States. Update the comment on usage. Propagate the
	Do_Abstract_States flag to all Unit_Requires_Body calls.
	(Unit_Requires_Body): Remove formal
	parameter Ignore_Abstract_States. Add new formal paramter
	Do_Abstract_States. Propagate the Do_Abstract_States flag to
	all Requires_Completion_In calls.
	* sem_ch7.ads (Unit_Requires_Body): Remove formal
	parameter Ignore_Abstract_States. Add new formal paramter
	Do_Abstract_States. Update the comment on usage.
	* sem_ch9.adb (Analyze_Single_Protected_Declaration): Do
	not initialize the constituent list as this is now done on a
	need-to-add-element basis.
	(Analyze_Single_Task_Declaration):
	Do not initialize the constituent list as this is now done on
	a need-to-add-element basis.
	* sem_ch10.adb (Decorate_State): Do not initialize the constituent
	lists as this is now done on a need-to-add-element basis.
	* sem_prag.adb (Analyze_Constituent): Set the
	refinement constituents when adding a new element.
	(Analyze_Part_Of_In_Decl_Part): Set the Part_Of constituents when
	adding a new element.
	(Analyze_Part_Of_Option): Set the Part_Of
	constituents when adding a new element.
	(Analyze_Pragma): Set the Part_Of constituents when adding a new
	element.
	(Check_Constituent_Usage (all versions)): Reimplemented.
	(Collect_Constituent): Set the refinement constituents when adding
	a new element.
	(Create_Abstract_State): Do not initialize the
	constituent lists as this is now done on a need-to-add-element basis.
	(Propagate_Part_Of): Set the Part_Of constituents when
	adding a new element.
	* sem_util.adb (Check_State_Refinements): New routine.
	(Has_Non_Null_Refinement): Reimplemented.
	(Has_Null_Refinement): Reimplemented.
	(Requires_State_Refinement): Removed.
	* sem_util.ads (Check_State_Refinements): New routine.
	(Requires_State_Refinement): Removed.

From-SVN: r235326
2016-04-21 11:46:18 +02:00
Hristian Kirtchev c4dc212506 lib-writ.adb, [...]: Minor reformatting and code cleanup.
2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* lib-writ.adb, sem_ch6.adb: Minor reformatting and code cleanup.
	* sem.adb: Fix comment.

From-SVN: r235325
2016-04-21 11:41:45 +02:00
Arnaud Charlet c42aba6bb3 [multiple changes]
2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration): A subtype
	declaration with no aspects, whose subtype_mark is a subtype
	with predicates, inherits the list of subprograms for the type.

2016-04-21  Arnaud Charlet  <charlet@adacore.com>

	* exp_aggr.adb (Has_Per_Object_Constraint): Refine previous
	change.

2016-04-21  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb (Raise_Host_Error): Include additional Name parameter.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* lib-writ.adb (Write_ALI): Do not record in ali file units
	that are present in the files table but not analyzed. These
	units are present because they appear in the context of units
	named in limited_with clauses, and the unit being compiled does
	not depend semantically on them.

2016-04-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Simplify code to
	create the procedure body for an function returning an array type,
	when generating C code. Reuse the subprogram body rather than
	creating a new one, both as an efficiency measure and because
	in an instance the body may contain global references that must
	be preserved.

From-SVN: r235324
2016-04-21 11:39:38 +02:00