Commit Graph

156090 Commits

Author SHA1 Message Date
Paul Thomas 5bab4c9631 decl.c: Add decl_type_param_list...
2017-09-09  Paul Thomas  <pault@gcc.gnu.org>

	* decl.c : Add decl_type_param_list, type_param_spec_list as
	static variables to hold PDT spec lists.
	(build_sym): Copy 'type_param_spec_list' to symbol spec_list.
	(build_struct): Copy the 'saved_kind_expr' to the component
	'kind_expr'. Check that KIND or LEN components appear in the
	decl_type_param_list. These should appear as symbols in the
	f2k_derived namespace. If the component is itself a PDT type,
	copy the decl_type_param_list to the component param_list.
	(gfc_match_kind_spec): If the KIND expression is parameterized
	set KIND to zero and store the expression in 'saved_kind_expr'.
	(insert_parameter_exprs): New function.
	(gfc_insert_kind_parameter_exprs): New function.
	(gfc_insert_parameter_exprs): New function.
	(gfc_get_pdt_instance): New function.
	(gfc_match_decl_type_spec): Match the decl_type_spec_list if it
	is present. If it is, call 'gfc_get_pdt_instance' to obtain the
	specific instance of the PDT.
	(match_attr_spec): Match KIND and LEN attributes. Check for the
	standard and for type/kind of the parameter. They are also not
	allowed outside a derived type definition.
	(gfc_match_data_decl): Null the decl_type_param_list and the
	type_param_spec_list on entry and free them on exit.
	(gfc_match_formal_arglist): If 'typeparam' is true, add the
	formal symbol to the f2k_derived namespace.
	(gfc_match_derived_decl): Register the decl_type_param_list
	if this is a PDT. If this is a type extension, gather up all
	the type parameters and put them in the right order.
	*dump-parse-tree.c (show_attr): Signal PDT templates and the
	parameter attributes.
	(show_components): Output parameter atrributes and component
	parameter list.
	(show_symbol): Show variable parameter lists.
	* expr.c (expr.c): Copy the expression parameter list.
	(gfc_is_constant_expr): Pass on symbols representing PDT
	parameters.
	(gfc_check_init_expr): Break on PDT KIND parameters and
	PDT parameter expressions.
	(gfc_check_assign): Assigning to KIND or LEN components is an
	error.
	(derived_parameter_expr): New function.
	(gfc_derived_parameter_expr): New function.
	(gfc_spec_list_type): New function.
	* gfortran.h : Add enum gfc_param_spec_type. Add the PDT attrs
	to the structure symbol_attr. Add the 'kind_expr' and
	'param_list' field to the gfc_component structure. Comment on
	the reuse of the gfc_actual_arglist structure as storage for
	type parameter spec lists. Add the new field 'spec_type' to
	this structure. Add 'param_list' fields to gfc_symbol and
	gfc_expr. Add prototypes for gfc_insert_kind_parameter_exprs,
	gfc_insert_parameter_exprs, gfc_add_kind, gfc_add_len,
	gfc_derived_parameter_expr and gfc_spec_list_type.
	* interface.c (gfc_compare_derived_types): Treat PDTs in the
	same way as sequence types.
	* match.c : Add variable 'type_param_spec_list'.
	(gfc_op2string, gfc_match_member_sep, gfc_match_label): Remove
	trailing whitespace.
	(match_derived_type_spec): Match PDTs and find specific
	instance.
	(gfc_match_type_spec): Remove more trailing whitespace.
	(gfc_match_allocate): Assumed or deferred parameters cannot
	appear here. Copy the type parameter spec list to the expr for
	the allocatable entity. Free 'type_param_spec_list'.
	(gfc_match_common, gfc_match_namelist, gfc_match_module): Still
	more trailing whitespace to remove.
	(gfc_match_type_is): Allow PDT typespecs.
	* match.h : Modify prototypes for gfc_match_formal_arglist and
	gfc_match_actual_arglist.
	* module.c (ab_attribute, mstring attr_bits): PDT attributes
	added.
	(mio_symbol_attribute): PDT attributes handled.
	(mio_component): Deal with 'kind_expr' field.
	(mio_full_f2k_derived): For PDT templates, transfer the formal
	namespace symroot to the f2k_derived namespace.
	*primary.c (match_keyword_arg, gfc_match_actual_arglist): Add
	modifications to handle PDT spec lists. These are flagged in
	both cases by new boolean arguments, whose prototype defaults
	are false.
	(gfc_match_structure_constructor, match_variable): Remove yet
	more trailing whitespace.
	* resolve.c (get_pdt_spec_expr, get_pdt_constructor): New
	functions.
	(resolve_structure_cons): If the constructor is a PDT template,
	call get_pdt_constructor to build it using the parameter lists
	and then get the specific instance of the PDT.
	(resolve_component): PDT strings need a hidden string length
	component like deferred characters.
	(resolve_symbol): Dummy PDTs cannot have deferred parameters.
	* symbol.c (gfc_add_kind, gfc_add_len): New functions.
	(free_components): Free 'kind_expr' and 'param_list' fields.
	(gfc_free_symbol): Free the 'param_list' field.
	(gfc_find_sym_tree): If the current state is a PDT template,
	look for the symtree in the f2k_derived namspaces.
	trans-array.c (structure_alloc_comps): Allocate and deallocate
	PDTs. Check dummy arguments for compliance of LEN parameters.
	Add the new functions to the preceeding enum.
	(gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp and
	gfc_check_pdt_dummy): New functions calling above.
	* trans-array.h : Add prototypes for these functions.
	trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init
	as appropriate for PDT symbols.
	(gfc_trans_deferred_vars): Allocate/deallocate PDT entities as
	they come into and out of scope. Exclude pdt_types from being
	'gcc_unreachable'.
	(gfc_trans_subcomponent_assign): PDT array components must be
	handles as if they are allocatable.
	* trans-stmt.c (gfc_trans_allocate): Handle initialization of
	PDT entities.
	(gfc_trans_deallocate): Likewise.
	* trans-types.c (gfc_get_derived_type): PDT templates must not
	arrive here. PDT string components are handles as if deferred.
	Similarly, PDT arrays are treated as if allocatable. PDT
	strings are pointer types.
	* trans.c (gfc_deferred_strlen): Handle PDT strings in the same
	way as deferred characters.


2017-09-09  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/pdt_1.f03 : New test.
	* gfortran.dg/pdt_2.f03 : New test.
	* gfortran.dg/pdt_3.f03 : New test.
	* gfortran.dg/pdt_4.f03 : New test.
	* gfortran.dg/pdt_5.f03 : New test.

From-SVN: r251925
2017-09-09 11:10:42 +00:00
Eric Botcazou 66c9b3f50f utils.c (convert): When converting to a padding type...
* gcc-interface/utils.c (convert): When converting to a padding type,
	reuse an existing CONSTRUCTOR if it has got the right size.

From-SVN: r251924
2017-09-09 10:36:40 +00:00
Eric Botcazou a49bf6f0f5 re PR bootstrap/81926 (go/parse.o differs between stage2 and stage3)
PR bootstrap/81926
	* cp-objcp-common.c (struct debug_type_hasher): New class.
	(debug_type_hash): New variable.
	(cp_get_debug_type): Associate the OFFSET_TYPEs with the types.

From-SVN: r251922
2017-09-09 09:42:39 +00:00
Gerald Pfeifer 630e912e68 allocator.xml: Adjust link for Hoard.
* doc/xml/manual/allocator.xml: Adjust link for Hoard.
	* doc/html/manual/memory.html: Regenerate.

From-SVN: r251919
2017-09-09 06:51:49 +00:00
Ian Lance Taylor d46699acb0 compiler: guard against implicit double pointer indirection
The code that lowers field references can sometimes introduce a double
    pointer indirection in cases where it is not/safe appropriate. For
    example, in
    
            var p **struct { f int }
            p.f = 0
    
    the assignment LHS was being incorrectly lowered to (*(*p)).f.
    Detect this situation and issue an error.
    
    Fixes golang/go#21770
    
    Reviewed-on: https://go-review.googlesource.com/62330

From-SVN: r251918
2017-09-09 06:01:35 +00:00
GCC Administrator 0f99f8e6d6 Daily bump.
From-SVN: r251917
2017-09-09 00:16:17 +00:00
Jason Merrill 27c825c5cc PR c++/70029 - ICE with ref-qualifier and -flto
PR c++/70029 - ICE with ref-qualifier and -flto
gcc/
	* langhooks.h (struct lang_hooks_for_types): Add
	copy_lang_qualifiers.
	* attribs.c (build_type_attribute_qual_variant): Use it.
	* langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to
	NULL.
	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
	* tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check.
gcc/cp/
	* tree.c (cxx_copy_lang_qualifiers): New.
	* cp-tree.h: Declare it.
	* cp-objcp-common.h: Define LANG_HOOKS_COPY_LANG_QUALIFIERS.

From-SVN: r251911
2017-09-08 18:39:17 -04:00
Eric Botcazou b2c5d6f1d2 Fix date
From-SVN: r251906
2017-09-08 17:13:00 +00:00
Eric Botcazou 8bd5e1f707 re PR target/81988 (invalid std instruction with odd register)
PR target/81988
	* config/sparc/sparc.md (mulsi3): Rename into *mulsi3_sp32.
	(*mulsi3_sp64): New instruction.
	(mulsi3): New expander.

From-SVN: r251904
2017-09-08 17:09:16 +00:00
Nicolas Roche edcc77dbd9 Make-lang.in, [...]: Find runtime source in libgnat/
2017-09-08  Nicolas Roche  <roche@adacore.com>

	* gcc-interface/Make-lang.in, gcc-interface/Makefile.in: Find runtime
	source in libgnat/
	* a-lfztio.ads, g-timsta.ads, g-sercom-linux.adb, s-osprim-solaris.adb,
	a-inteio.ads, s-stchop-rtems.adb, s-casuti.adb, s-pack39.adb,
	i-vxwork-x86.ads, a-strbou.adb, a-stzmap.adb, s-assert.adb,
	a-sfecin.ads, a-cohama.adb, s-casuti.ads, a-suenco.adb, s-pack39.ads,
	a-stzmap.ads, a-strbou.ads, s-stalib.adb, s-trasym.adb, g-comver.adb,
	s-assert.ads, s-vector.ads, g-cgi.adb, a-cohama.ads, s-wchcnv.adb,
	a-titest.adb, s-pack48.adb, a-suenco.ads, a-strunb.adb, s-stalib.ads,
	s-trasym.ads, a-nudira.adb, g-comver.ads, a-nuflra.adb, g-cgi.ads,
	a-chacon.adb, s-wchcnv.ads, a-excach.adb, s-pack48.ads, a-titest.ads,
	a-strunb.ads, s-dwalin.adb, a-nudira.ads, a-chtgbo.adb, s-resfil.adb,
	a-scteio.ads, a-nuflra.ads, g-soliop-mingw.ads, s-pack57.adb,
	a-chacon.ads, s-bytswa.ads, s-pooloc.adb, g-os_lib.adb, s-dwalin.ads,
	a-szuzha.adb, s-resfil.ads, a-chtgbo.ads, s-spsufi.adb, s-pack57.ads,
	s-pooloc.ads, g-os_lib.ads, a-stfiha.ads, a-lcteio.ads, a-wtcoau.adb,
	a-szuzha.ads, s-mmosin-unix.adb, a-stmaco.ads, s-spsufi.ads,
	s-stchop-limit.ads, a-wtcoau.ads, a-exctra.adb, s-mmosin-unix.ads,
	s-sequio.adb, s-conca2.adb, g-table.adb, s-imglli.adb,
	a-numaux-x86.adb, a-strsea.adb, s-wchstw.adb, a-clrefi.adb,
	a-wwboio.adb, a-exctra.ads, s-sequio.ads, s-conca2.ads, a-wwunio.ads,
	system-linux-hppa.ads, g-table.ads, s-dimkio.ads, s-imglli.ads,
	a-cofove.adb, a-numaux-x86.ads, s-wchstw.ads, a-strsea.ads,
	a-clrefi.ads, a-wwboio.ads, s-stratt-xdr.adb, s-crc32.adb,
	s-excmac-arm.adb, g-busora.adb, a-cofove.ads, s-osprim-unix.adb,
	g-io.adb, s-pack49.adb, s-crc32.ads, s-excmac-arm.ads, a-fzteio.ads,
	g-busora.ads, s-stausa.adb, system-linux-mips.ads, sequenio.ads,
	g-exctra.adb, g-rewdat.adb, a-cgaaso.adb, g-io.ads, s-pack49.ads,
	a-wtflau.adb, a-undesu.adb, s-stausa.ads, a-ztenau.adb, g-enutst.ads,
	calendar.ads, s-pack58.adb, g-rewdat.ads, g-exctra.ads, s-ststop.adb,
	a-cgaaso.ads, a-strfix.adb, a-comlin.adb, a-strunb-shared.adb,
	a-wtflau.ads, a-undesu.ads, a-cbhase.adb, a-ztenau.ads, s-os_lib.adb,
	a-coorse.adb, a-chlat1.ads, s-pack58.ads, s-ststop.ads, a-strfix.ads,
	a-comlin.ads, a-strunb-shared.ads, a-nscefu.ads, s-valboo.adb,
	directio.ads, a-chtgke.adb, a-cbhase.ads, a-wtinau.adb,
	system-linux-alpha.ads, s-os_lib.ads, a-coorse.ads,
	system-linux-s390.ads, s-imgwiu.adb, a-chtgop.adb, s-valboo.ads,
	a-chtgke.ads, a-tienio.adb, s-conca3.adb, a-wtinau.ads,
	system-darwin-ppc.ads, i-c.adb, s-expllu.adb, g-expect.adb,
	g-sha256.ads, s-vallld.adb, s-imgwiu.ads, a-chtgop.ads, a-strmap.adb,
	a-tienio.ads, s-conca3.ads, s-imgint.adb, i-c.ads, s-expllu.ads,
	s-osprim-darwin.adb, a-cogeso.adb, g-expect.ads, a-iwteio.ads,
	s-vallld.ads, a-coinho-shared.adb, g-shsh64.adb, a-strmap.ads,
	g-comlin.adb, a-excpol.adb, s-imgint.ads, a-ztdeau.adb, a-cogeso.ads,
	a-coinho-shared.ads, g-shsh64.ads, g-comlin.ads, a-stzsup.adb,
	a-rbtgbk.adb, a-wtmoau.adb, a-ztdeau.ads, s-exnlli.adb, g-tty.adb,
	g-heasor.adb, g-socthi-dummy.adb, s-llflex.ads, a-zchara.ads,
	a-stzsup.ads, a-ztcstr.adb, a-rbtgbk.ads, a-sfwtio.ads, a-wtmoau.ads,
	a-sulcin.adb, s-exnlli.ads, system-freebsd.ads, a-stunha.adb,
	a-charac.ads, g-tty.ads, g-heasor.ads, s-exctra.adb,
	g-socthi-dummy.ads, a-coboho.adb, a-ztcstr.ads, a-tideio.adb,
	a-sulcin.ads, a-wrstfi.adb, g-alleve.adb, s-pack59.adb, a-ngrear.adb,
	a-stboha.adb, a-stunau-shared.adb, a-stunha.ads, a-lfwtio.ads,
	s-fileio.adb, s-exctra.ads, a-coboho.ads, a-ioexce.ads, a-tideio.ads,
	a-ngrear.ads, a-wrstfi.ads, s-pack59.ads, g-alleve.ads, a-stboha.ads,
	s-poosiz.adb, g-traceb.adb, g-rannum.adb, machcode.ads, s-purexc.ads,
	s-fileio.ads, a-cfinve.adb, a-crbtgk.adb, system-solaris-x86.ads,
	s-poosiz.ads, g-rannum.ads, g-traceb.ads, a-except.adb, s-conca4.adb,
	a-stream.adb, a-cfinve.ads, a-crbtgk.ads, s-wchwts.adb,
	system-mingw.ads, a-except.ads, s-conca4.ads, a-chzla9.ads,
	s-valenu.adb, s-soflin.adb, a-stream.ads, a-cgarso.adb, s-valllu.adb,
	g-crc32.adb, s-wchwts.ads, s-fatflt.ads, s-imguns.adb, s-strcom.adb,
	g-decstr.adb, s-valenu.ads, s-soflin.ads, a-cgarso.ads, a-cwila1.ads,
	s-valllu.ads, g-crc32.ads, s-imguns.ads, g-spipat.adb, s-valwch.adb,
	s-strcom.ads, g-decstr.ads, text_io.ads, g-debuti.adb, s-stchop.adb,
	g-spipat.ads, s-valwch.ads, a-string.ads, s-exnint.adb, g-awk.adb,
	g-tasloc.adb, s-wwdenu.adb, s-boustr.adb, a-zchuni.adb, s-stchop.ads,
	g-debuti.ads, s-stopoo.adb, system-dragonfly-x86_64.ads,
	system-linux-x86.ads, s-exnint.ads, g-awk.ads, a-stzhas.adb,
	g-tasloc.ads, s-wwdenu.ads, g-debpoo.adb, g-except.ads,
	g-sse.ads, s-boustr.ads, a-zchuni.ads, s-bitops.adb, s-wwdwch.adb,
	s-stopoo.ads, a-catizo.adb, a-stzhas.ads, a-nlcefu.ads, g-debpoo.ads,
	i-vxwoio.adb, s-bitops.ads, g-io-put-vxworks.adb, s-wwdwch.ads,
	g-sehamd.adb, a-ssicst.adb, a-catizo.ads, s-mmap.adb, g-string.adb,
	s-traceb.adb, a-swunau.adb, s-rannum.adb, a-ticoau.adb, i-vxwoio.ads,
	g-sehamd.ads, a-stwiun.adb, a-ssicst.ads, s-conca5.adb, a-ssitio.ads,
	s-mmap.ads, a-zttest.adb, g-string.ads, g-sercom.adb, a-cdlili.adb,
	a-swunau.ads, s-traceb.ads, s-rannum.ads, a-ticoau.ads, system-aix.ads,
	a-cforma.adb, a-stwiun.ads, s-conca5.ads, s-carsi8.adb, a-zttest.ads,
	g-sercom.ads, a-cdlili.ads, a-cihama.adb, g-sptain.ads, a-cforma.ads,
	s-maccod.ads, s-carsi8.ads, a-strsup.adb, g-sha1.adb, a-cihama.ads,
	g-stseme.adb, s-traent.adb, s-valcha.adb, g-curexc.ads, a-strsup.ads,
	g-sha1.ads, a-sflcin.ads, s-traent.ads, s-pack10.adb, s-valcha.ads,
	a-coteio.ads, s-tasloc.adb, g-utf_32.adb, a-suteio.adb, s-except.adb,
	a-direct.adb, g-stsifd-sockets.adb, a-numaux-vxworks.ads, s-winext.ads,
	s-pack10.ads, a-ztexio.adb, a-tiflau.adb, system-vxworks-arm.ads,
	s-tasloc.ads, a-suteio.ads, g-utf_32.ads, s-except.ads,
	a-direct.ads, a-swbwha.adb, g-hesorg.adb, s-wwdcha.adb, a-wtedit.adb,
	a-ztexio.ads, a-wtcoio.adb, a-tiflau.ads, a-ssizti.ads, s-casi32.adb,
	a-swbwha.ads, s-veboop.adb, g-hesorg.ads, s-parame-rtems.adb,
	s-wwdcha.ads, a-wtedit.ads, a-stuten.adb, a-coinve.adb, a-wtcoio.ads,
	s-casi32.ads, s-string.adb, a-tiinau.adb, a-cusyqu.adb, s-conca6.adb,
	s-veboop.ads, a-cgcaso.adb, a-numaux-darwin.adb, a-envvar.adb,
	a-stuten.ads, s-secsta.adb, a-coinve.ads, s-string.ads, a-cusyqu.ads,
	a-tiinau.ads, s-osprim-vxworks.adb, s-conca6.ads, g-spchge.adb,
	s-parint.adb, a-cuprqu.adb, a-cgcaso.ads, a-numaux-darwin.ads,
	a-envvar.ads, s-secsta.ads, g-spchge.ads, s-parint.ads, a-cuprqu.ads,
	a-swuwti.adb, a-flteio.ads, a-sbhcin.adb, a-coprnu.adb, g-u3spch.adb,
	s-atocou.adb, g-ctrl_c.adb, a-swuwti.ads, a-calend.adb, a-sbhcin.ads,
	a-coprnu.ads, g-dirope.adb, g-sha512.ads, g-u3spch.ads, s-atocou.ads,
	g-ctrl_c.ads, a-timoau.adb, a-witeio.adb, s-pack11.adb, a-strhas.adb,
	a-wtflio.adb, g-spitbo.adb, a-calend.ads, a-ztenio.adb, g-dirope.ads,
	a-slcain.adb, g-sechas.adb, a-timoau.ads, a-witeio.ads, s-pack11.ads,
	s-shasto.adb, s-traceb-mastop.adb, a-ciorse.adb, s-utf_32.adb,
	a-strhas.ads, a-wtflio.ads, g-spitbo.ads, a-ztenio.ads, a-slcain.ads,
	g-sechas.ads, s-gearop.adb, a-siztio.ads, s-pack20.adb, s-shasto.ads,
	a-ciorse.ads, s-utf_32.ads, s-crtl.ads, a-wtinio.adb, s-elaall.adb,
	s-explli.adb, s-chepoo.ads, s-gearop.ads, a-einuoc.adb, s-pack20.ads,
	system-linux-ia64.ads, a-swunau-shared.adb, a-wtinio.ads, g-alvety.ads,
	a-liztio.ads, g-calend.adb, s-conca7.adb, s-elaall.ads, s-explli.ads,
	a-einuoc.ads, s-widboo.adb, s-imgdec.adb, a-cbhama.adb, g-calend.ads,
	s-conca7.ads, a-llitio.ads, i-cexten.ads, a-coorma.adb, s-widboo.ads,
	s-diflio.adb, g-souinf.ads, s-imgdec.ads, g-strhas.ads, a-cbhama.ads,
	g-shshco.adb, a-ztdeio.adb, s-gloloc.adb, a-coorma.ads, g-wispch.adb,
	s-pack03.adb, g-eacodu.adb, s-casi16.adb, s-diflio.ads, a-colien.adb,
	g-shshco.ads, a-wtmoio.adb, a-rbtgbo.adb, a-ztdeio.ads,
	system-rtems.ads, s-gloloc.ads, a-csquin.ads, a-cofuse.adb,
	g-wispch.ads, s-pack03.ads, s-casi16.ads, s-io.adb, a-colien.ads,
	g-alveop.adb, gnat.ads, s-diinio.adb, a-cfdlli.adb, g-pehage.adb,
	a-wtmoio.ads, a-stwiha.adb, a-locale.adb, a-tirsfi.adb, a-nscoty.ads,
	a-rbtgbo.ads, s-pack12.adb, a-cofuse.ads, a-sfteio.ads, s-io.ads,
	g-alveop.ads, a-cfdlli.ads, s-diinio.ads, a-stwiha.ads, g-pehage.ads,
	a-locale.ads, a-tirsfi.ads, s-pack12.ads, s-valuti.adb, g-cppexc.adb,
	system-vxworks-ppc.ads, g-memdum.adb, a-lfteio.ads, s-pack21.adb,
	s-unstyp.ads, s-valuti.ads, g-cppexc.ads, system-hpux-ia64.ads,
	g-memdum.ads, g-soccon.ads, g-altive.ads, a-crbtgo.adb, s-pack21.ads,
	a-llizti.ads, a-numaux-libc-x86.ads, s-expint.adb, s-conca8.adb,
	a-crbtgo.ads, s-pack30.adb, s-vallli.adb, s-geveop.adb, s-expint.ads,
	a-direio.adb, s-conca8.ads, a-widcha.ads, s-pack30.ads, s-vallli.ads,
	s-strhas.adb, s-geveop.ads, g-md5.adb, a-direio.ads, a-numaux.ads,
	s-ransee.adb, a-szbzha.adb, i-cobol.adb, g-busorg.adb, s-strhas.ads,
	g-md5.ads, s-widenu.adb, s-ransee.ads, s-widllu.adb, a-szbzha.ads,
	a-ststio.adb, i-cobol.ads, g-busorg.ads, g-regpat.adb, s-widenu.ads,
	a-secain.adb, s-widllu.ads, s-pack13.adb, g-encstr.adb, a-ztcoau.adb,
	a-ststio.ads, s-widwch.adb, g-regpat.ads, s-atacco.adb, a-cborse.adb,
	a-secain.ads, s-pack13.ads, g-encstr.ads, a-ztcoau.ads, s-widwch.ads,
	g-io_aux.adb, s-atacco.ads, a-ncelfu.ads, interfac.ads, a-cborse.ads,
	g-regexp.adb, s-pack22.adb, a-szuzti.adb, g-io_aux.ads, s-caun32.adb,
	a-nselfu.ads, g-regexp.ads, s-pack22.ads, a-ticoio.adb, a-szuzti.ads,
	g-diopit.adb, s-caun32.ads, s-conca9.adb, a-tags.adb, a-swmwco.ads,
	a-sbecin.adb, s-pack31.adb, s-expuns.adb, a-ticoio.ads, s-valint.adb,
	s-conca9.ads, g-diopit.ads, a-tags.ads, a-nllcef.ads, a-izteio.ads,
	a-sbecin.ads, s-expuns.ads, s-pack31.ads, g-dyntab.adb, s-powtab.ads,
	s-flocon-none.adb, s-valint.ads, a-ssiwti.ads, s-mmosin-mingw.adb,
	s-pack40.adb, s-pack05.adb, a-ztflau.adb, g-dyntab.ads,
	a-szuzti-shared.adb, g-alvevi.ads, a-stwise.adb, s-mmosin-mingw.ads,
	s-pack40.ads, a-diocst.adb, a-ztflau.ads, s-pack05.ads, a-nlcoty.ads,
	a-contai.ads, a-stwisu.adb, g-byorma.adb, a-siwtio.ads, a-stwise.ads,
	s-regpat.adb, g-mbdira.adb, s-pack14.adb, a-diocst.ads, g-flocon.ads,
	g-mbflra.adb, a-ztinau.adb, s-dim.ads, s-mantis.adb, a-stwisu.ads,
	g-byorma.ads, s-atopri.adb, g-wistsp.ads, a-uncdea.ads, s-widcha.adb,
	a-caldel.adb, s-regpat.ads, g-mbdira.ads, a-tiflio.adb, s-pack14.ads,
	s-parame.adb, a-liwtio.ads, s-memory.adb, g-mbflra.ads, a-ztinau.ads,
	a-wtgeau.adb, s-direio.adb, s-mantis.ads, s-atopri.ads, s-widcha.ads,
	a-caldel.ads, s-pack23.adb, a-unccon.ads, a-tiflio.ads, s-parame.ads,
	a-llftio.ads, s-memory.ads, s-regexp.adb, a-wtgeau.ads, a-exexda.adb,
	s-direio.ads, s-pack23.ads, g-stheme.adb, a-tiinio.adb, g-sestin.ads,
	s-regexp.ads, a-wtfiio.adb, a-comutr.adb, a-exexpr.adb, a-tiinio.ads,
	a-ztmoau.adb, a-cohata.ads, a-wtfiio.ads, s-imgrea.adb, ada.ads,
	a-szunau-shared.adb, a-comutr.ads, s-valuns.adb, a-ztmoau.ads,
	system-linux-arm.ads, s-osprim-x32.adb, s-pack41.adb, s-pack06.adb,
	s-imgrea.ads, s-valuns.ads, s-finroo.adb, s-caun16.adb, s-pooglo.adb,
	a-zrstfi.adb, a-suenst.adb, s-pack41.ads, g-binenv.adb, s-pack06.ads,
	a-calari.adb, a-nlcoar.ads, s-finroo.ads, a-timoio.adb, s-caun16.ads,
	s-flocon.adb, a-suenst.ads, a-zrstfi.ads, s-pooglo.ads, s-wchcon.adb,
	s-traceb-hpux.adb, s-pack50.adb, i-fortra.adb, s-pack15.adb,
	a-ngcefu.adb, g-sptavs.ads, g-binenv.ads, s-wchjis.adb, a-calari.ads,
	a-timoio.ads, a-decima.adb, s-flocon.ads, s-wchcon.ads, a-llfzti.ads,
	i-fortra.ads, s-pack50.ads, s-pack15.ads, a-ngcefu.ads, a-cfhase.adb,
	s-wchjis.ads, g-soliop.ads, a-decima.ads, a-chlat9.ads, s-pack24.adb,
	a-nlelfu.ads, a-cfhase.ads, g-locfil.adb, s-atocou-builtin.adb,
	s-memcop.ads, a-szunau.adb, s-pack24.ads, s-imgllb.adb, s-auxdec.adb,
	g-locfil.ads, s-pack33.adb, a-szunau.ads, s-parame-vxworks.adb,
	s-imgllb.ads, a-ciorma.adb, s-auxdec.ads, a-cobove.adb, s-dsaser.ads,
	a-elchha.adb, s-pack33.ads, a-cofuve.adb, s-parame-vxworks.ads,
	a-ciorma.ads, system-darwin-x86.ads, s-multip.adb, a-stwiun-shared.adb,
	a-wichun.adb, a-cobove.ads, s-imgbiu.adb, s-tsmona-mingw.adb,
	a-coormu.adb, a-siocst.adb, s-win32.ads, a-elchha.ads, s-pack42.adb,
	s-pack07.adb, a-cofuve.ads, system-hpux.ads, a-teioed.adb,
	a-convec.adb, g-speche.adb, s-multip.ads, a-stwiun-shared.ads,
	a-wichun.ads, s-imgbiu.ads, a-numeri.ads, a-siocst.ads, a-coormu.ads,
	a-lliwti.ads, s-pack42.ads, s-pack07.ads, a-teioed.ads, a-convec.ads,
	g-speche.ads, g-socthi.adb, a-nucoty.ads, a-szmzco.ads, s-pack51.adb,
	s-osprim-mingw.adb, s-casi64.adb, g-strspl.ads, g-socthi.ads,
	g-socket-dummy.adb, s-pack51.ads, s-dimmks.ads, s-casi64.ads,
	a-wtenau.adb, s-stchop-vxworks.adb, s-pack60.adb,
	system-solaris-sparc.ads, s-pack25.adb, g-socket-dummy.ads,
	a-exstat.adb, a-cofuma.adb, s-tsmona-linux.adb, a-wtenau.ads,
	s-pack60.ads, s-pack25.ads, i-cstrea.adb, a-cofuma.ads, g-exptty.adb,
	a-chzla1.ads, s-pack34.adb, i-cstrea.ads, s-excdeb.adb, a-iteint.ads,
	g-exptty.ads, i-pacdec.adb, s-pack34.ads, s-rident.ads, s-sopco3.adb,
	i-vxwork.ads, s-excdeb.ads, system-linux-ppc.ads, a-swuwti-shared.adb,
	s-widlli.adb, s-pack43.adb, i-pacdec.ads, a-cwila9.ads, s-sopco3.ads,
	a-fwteio.ads, s-widlli.ads, s-pack43.ads, a-suhcin.adb, a-wtdeau.adb,
	g-allein.ads, a-suezst.adb, a-dirval-mingw.adb, g-zspche.adb,
	s-bignum.adb, a-ztedit.adb, g-regist.adb, a-nllefu.ads, a-ztcoio.adb,
	s-pack52.adb, a-llctio.ads, a-nucoar.ads, s-pack17.adb, a-suhcin.ads,
	a-wtdeau.ads, a-suezst.ads, a-dirval.adb, g-zspche.ads, g-regist.ads,
	a-ztedit.ads, s-bignum.ads, a-wtcstr.adb, system.ads, s-pack52.ads,
	a-ztcoio.ads, s-pack17.ads, s-imgboo.adb, a-rbtgso.adb, a-dirval.ads,
	a-cohase.adb, s-pack61.adb, a-wtcstr.ads, s-pack26.adb, s-osprim.ads,
	a-tigeau.adb, s-imgboo.ads, a-nuelfu.ads, a-swfwha.ads, s-commun.adb,
	g-socthi-vxworks.adb, a-rbtgso.ads, a-cohase.ads, g-zstspl.ads,
	s-pack61.ads, s-pack26.ads, a-intnam-dragonfly.ads, s-imglld.adb,
	a-tigeau.ads, s-commun.ads, g-socthi-vxworks.ads, a-cborma.adb,
	a-stwifi.adb, g-moreex.adb, s-pack35.adb, s-imglld.ads, s-valdec.adb,
	a-tifiio.adb, a-cborma.ads, g-moreex.ads, a-stwifi.ads, s-pack35.ads,
	s-sopco4.adb, g-sha224.ads, g-socket.adb, a-intnam-rtems.ads,
	s-finmas.adb, s-valdec.ads, s-addima.adb, a-finali.adb, a-tifiio.ads,
	s-rpc.adb, a-ztflio.adb, s-pack44.adb, s-pack09.adb, a-sblcin.adb,
	s-sopco4.ads, a-textio.adb, g-socket.ads, g-sptabo.ads, s-finmas.ads,
	g-shsh32.adb, s-addima.ads, a-finali.ads, s-mmauni-long.ads, s-rpc.ads,
	a-ztflio.ads, system-djgpp.ads, s-stache.adb, s-pack44.ads,
	s-pack09.ads, a-sblcin.ads, a-textio.ads, a-cidlli.adb, g-shsh32.ads,
	a-chtgbk.adb, a-tiocst.adb, s-pack53.adb, s-pack18.adb, s-stache.ads,
	a-zchhan.adb, s-fatlfl.ads, a-ztinio.adb, s-strops.adb, a-siteio.ads,
	a-cidlli.ads, a-chtgbk.ads, g-ssvety.ads, a-tiocst.ads, s-pack53.ads,
	s-parame-hpux.ads, s-pack18.ads, a-zchhan.ads, s-strops.ads,
	a-ztinio.ads, a-wichha.adb, a-stwima.adb, a-nlrear.ads, a-liteio.ads,
	s-pack62.adb, s-pack27.adb, s-fore.adb, s-vercon.adb, a-wichha.ads,
	a-stwima.ads, s-pack62.ads, system-linux-sparc.ads, s-pack27.ads,
	g-dynhta.adb, s-fore.ads, s-vercon.ads, a-cofuba.adb, a-cimutr.adb,
	i-cpoint.adb, s-imgenu.adb, a-stwibo.adb, s-pack36.adb, i-cstrin.adb,
	s-imgllu.adb, a-suteio-shared.adb, g-excact.adb, s-stoele.adb,
	s-addope.adb, g-dynhta.ads, a-cofuba.ads, a-ztmoio.adb, a-llfwti.ads,
	a-cimutr.ads, i-cpoint.ads, s-imgenu.ads, a-stwibo.ads, a-wttest.adb,
	s-pack36.ads, a-tgdico.ads, s-sopco5.adb, s-scaval.adb, i-cstrin.ads,
	s-imgllu.ads, g-excact.ads, s-stoele.ads, g-deutst.ads, s-addope.ads,
	s-imgwch.adb, g-sha384.ads, a-ztmoio.ads, s-pack45.adb, a-wttest.ads,
	s-sopco5.ads, s-excmac-gcc.adb, s-scaval.ads, a-storio.adb,
	a-coinho.adb, a-btgbso.adb, s-imgwch.ads, s-carun8.adb, memtrack.adb,
	s-pack45.ads, a-sfhcin.ads, s-excmac-gcc.ads, a-storio.ads,
	a-coinho.ads, a-btgbso.ads, s-stratt.adb, s-carun8.ads, a-shcain.adb,
	s-pack54.adb, s-pack19.adb, a-colire.adb, a-tigeli.adb, s-caun64.adb,
	s-stratt.ads, s-fatgen.adb, a-shcain.ads, a-stzunb-shared.adb,
	s-pack54.ads, s-pack19.ads, a-colire.ads, a-calcon.adb, s-caun64.ads,
	s-fatgen.ads, s-pack63.adb, g-arrspl.adb, a-stzunb-shared.ads,
	s-pack28.adb, a-nllrar.ads, a-zzboio.adb, a-zzunio.ads, a-stunau.adb,
	a-calcon.ads, g-cgideb.adb, s-objrea.adb, s-mastop.adb, a-tienau.adb,
	g-altcon.adb, g-arrspl.ads, s-pack63.ads, s-restri.adb, s-pack28.ads,
	a-zzboio.ads, a-stunau.ads, g-cgideb.ads, g-htable.adb, g-sothco.adb,
	s-objrea.ads, g-soliop-solaris.ads, s-mastop.ads, a-tienau.ads,
	system-linux-m68k.ads, g-altcon.ads, s-dmotpr.ads, s-memory-mingw.adb,
	g-cgicoo.adb, s-pack37.adb, s-restri.ads, s-fatllf.ads, s-expmod.adb,
	a-swuwha.adb, a-exextr.adb, a-cfhama.adb, s-gloloc-mingw.adb,
	a-tiboio.adb, g-forstr.adb, g-sothco.ads, a-stzbou.adb, a-nllcty.ads,
	a-suecin.adb, g-htable.ads, s-exctab.adb, a-tiunio.ads, g-cgicoo.ads,
	s-osprim-posix.adb, s-pack37.ads, a-ciormu.adb, s-atocou-x86.adb,
	a-swuwha.ads, s-expmod.ads, a-cfhama.ads, s-ficobl.ads, a-ngcoty.adb,
	g-forstr.ads, a-tiboio.ads, a-calfor.adb, a-stzbou.ads, a-suecin.ads,
	a-conhel.adb, a-crbltr.ads, s-exctab.ads, a-dhfina.ads, s-imgcha.adb,
	s-pack46.adb, a-ciormu.ads, system-linux-sh4.ads, a-chahan.adb,
	a-ngcoty.ads, a-stzunb.adb, a-szfzha.ads, a-calfor.ads, a-cbdlli.adb,
	a-conhel.ads, s-imgcha.ads, s-pack46.ads, a-assert.adb, a-chahan.ads,
	a-stzunb.ads, a-crdlli.adb, s-pack55.adb, a-cbdlli.ads, a-tideau.adb,
	a-assert.ads, ioexcept.ads, s-boarop.ads, g-hesora.adb, a-crdlli.ads,
	s-pack55.ads, a-tideau.ads, g-bubsor.adb, a-wtenio.adb, a-cbsyqu.adb,
	g-hesora.ads, s-pack29.adb, a-nurear.ads, g-catiio.adb, s-stposu.adb,
	g-bubsor.ads, a-wtenio.ads, a-cbsyqu.ads, a-suewst.adb,
	system-vxworks-x86.ads, s-pack29.ads, a-cbmutr.adb, a-cbprqu.adb,
	s-imenne.adb, g-sothco-dummy.adb, g-casuti.adb, g-catiio.ads,
	s-stposu.ads, a-stzsea.adb, s-pack38.adb, a-suewst.ads, s-imgllw.adb,
	a-cbprqu.ads, a-cbmutr.ads, s-imenne.ads, g-sothco-dummy.ads,
	g-casuti.ads, s-htable.adb, s-fatsfl.ads, g-trasym.adb, unchconv.ads,
	a-stzsea.ads, s-arit64.adb, s-pack38.ads, a-nllcar.ads, s-valrea.adb,
	s-imgllw.ads, s-htable.ads, a-sequio.adb, g-trasym.ads, a-ngcoar.adb,
	s-exnllf.adb, s-pack47.adb, s-arit64.ads, g-sercom-mingw.adb,
	s-valrea.ads, g-socthi-mingw.adb, g-bytswa.adb, g-sehash.adb,
	unchdeal.ads, a-sequio.ads, a-ngcoar.ads, s-exnllf.ads, a-wtdeio.adb,
	s-pack47.ads, g-socthi-mingw.ads, a-excpol-abort.adb, a-ztgeau.adb,
	g-bytswa.ads, g-sehash.ads, s-pack56.adb, a-wtdeio.ads, a-ngelfu.adb,
	a-ztgeau.ads, a-cforse.adb, s-filatt.ads, a-stzfix.adb, a-cihase.adb,
	s-pack56.ads, a-sfztio.ads, a-ngelfu.ads, s-trasym-dwarf.adb,
	a-cforse.ads, a-ztfiio.adb, g-timsta.adb, a-stzfix.ads, a-cihase.ads,
	a-ztfiio.ads, system-darwin-arm.ads: Move non-tasking runtime sources
	to libgnat subdirectory.

From-SVN: r251902
2017-09-08 17:12:17 +02:00
Arnaud Charlet 9f00251a8e Minor doc edit.
From-SVN: r251901
2017-09-08 16:44:04 +02:00
Yannick Moy 8437edb4c2 sem_aux.adb, [...] (Get_Called_Entity): New function to return the entity associated with the call.
2017-09-08  Yannick Moy  <moy@adacore.com>

	* sem_aux.adb, sem_aux.ads (Get_Called_Entity): New function to
	return the entity associated with the call.
	* sem_util.adb, sem_util.ads (Check_Function_Writable_Actuals):
	Replace the internal Get_Function_Id with the new
	Sem_Aux.Get_Called_Entity.
	(Iterate_Call_Parameters): New
	procedure to iterate on formals and actuals at the same time.
	* sem_ch12.adb (Analyze_Subprogram_Instantiation):
	Set SPARK_Mode from spec when set, for analysis
	of instance. Restore after analysis of instance.
	(Instantiate_Subprogram_Body): Set SPARK_Mode from body when
	set, for analysis of body instance. Restored automatically at
	the end of the subprogram.
	* gnat1drv.adb (Adjust_Global_Switches): Set
	Check_Validity_Of_Parameters to False in GNATprove mode.
	* opt.ads (Check_Validity_Of_Parameters): Document switch to
	set option.

From-SVN: r251900
2017-09-08 16:36:54 +02:00
Uros Bizjak 139e8d2aac alpha.c (alpha_print_operand): Remove.
* config/alpha/alpha.c (alpha_print_operand) <case 'S'>: Remove.

From-SVN: r251899
2017-09-08 16:19:26 +02:00
Arnaud Charlet 9c5719f69c [multiple changes]
2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (NCT_Tables_In_Use): Move to library level from...
	(New_Copy_Tree): ...there.  Reset the hash tables only if they
	were used in the previous invocation.
	* s-htable.adb: Fix typo.

2017-09-08  Bob Duff  <duff@adacore.com>

	* a-ssicst.adb (Open): Set File.Last_Op to the appropriate value.

2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* sem_aggr.adb: minor style fix.

2017-09-08  Bob Duff  <duff@adacore.com>

	* sprint.adb (Write_Corresponding_Source): Ignore if there is
	no current source file.
	(Write_Name_With_Col_Check, Write_Name_With_Col_Check_Sloc):
	Print something helpful in case N is invalid.
	* sprint.ads: Minor comment fix.

From-SVN: r251897
2017-09-08 15:44:39 +02:00
Eric Botcazou 410abeeb0d exp_aggr.adb: (Aggr_Assignment_OK_For_Backend): Add early return for access types.
2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb: (Aggr_Assignment_OK_For_Backend): Add early return for
	access types.

From-SVN: r251896
2017-09-08 15:41:58 +02:00
Arnaud Charlet 333e4f86e8 [multiple changes]
2017-09-08  Bob Duff  <duff@adacore.com>

	* par-prag.adb, sem_prag.adb, snames.ads-tmpl: Implement pragma
	Ada_2020, along the same lines as the other Ada version pragmas.

2017-09-08  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch12.adb: Minor typo fixes and reformatting.

2017-09-08  Yannick Moy  <moy@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate):
	Rewrite bounds of aggregate subexpressions which may depend on
	discriminants of the enclosing aggregate.

2017-09-08  Yannick Moy  <moy@adacore.com>

	* sem_ch5.adb: Prevent assertion failure on illegal code.

2017-09-08  Yannick Moy  <moy@adacore.com>

	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs.Is_SPARK_Scope): Avoid
	calling Renamed_Entity on an entity which cannot be a renaming.

2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_aggr.adb: Add with & use clause for Urealp.
	(Aggr_Assignment_OK_For_Backend): Accept (almost all)
	elementary types instead of just discrete types.
	* sem_eval.adb (Expr_Value): Deal with N_Null for access types.
	* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
	Be prepared for the FP zero value in the memset case.  Add small
	guard.

2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* s-htable.adb (Static_HTable.Reset): Use aggregate instead
	of loop.

From-SVN: r251894
2017-09-08 15:35:50 +02:00
Arnaud Charlet 683af98c7f [multiple changes]
2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): Use New_Copy_Tree instead
	of New_Copy because the latter leaves the syntactic structure of
	the tree inconsistent (a child is accessible through two parents)
	and prevents proper replication of itypes by subsequent calls
	to New_Copy_Tree.
	* exp_ch4.adb (Expand_Concatenate): Use New_Copy_Tree instead of
	New_Copy because the latter leaves the syntactic structure of the
	tree inconsistent (a child is accessible through two parents)
	and prevents proper replication of itypes by subsequent calls
	to New_Copy_Tree.
	* sem_util.adb (In_Subtree): New routine.
	(New_Copy_Tree): Reimplemented.
	* sem_util.ads (In_Subtree): New routine.
	(New_Copy_Tree): Reimplemented.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Resolve_Aspect_Expressions): The expression
	for aspect Default_Value is a static scalar value, but it does
	not freeze the type. Yhis allows for subsequent representation
	clauses for the type.

2017-09-08  Javier Miranda  <miranda@adacore.com>

	* sem_ch8.adb (Find_Direct_Name.Undefined): Do
	not add entries into the undefined reference table when we are
	compiling with errors ignored.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Formal_Packages): Do not apply conformance
	check if the instance is within an enclosing instance body. The
	formal package was legal in the enclosing generic, and is
	legal in the enclosing instantiation.  This optimisation may be
	applicable elsewhere, and it also removes spurious errors that
	may arise with on-the-fly processing  of instantiations that
	contain Inline_Always subprograms.

2017-09-08  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb: Disregard empty argument of GNAT driver.

2017-09-08  Justin Squirek  <squirek@adacore.com>

	* checks.adb (Insert_Valid_Check): Manually decorate
	the generated temporary for range valdity checks.

2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* usage.adb (Usage): Document new -gnatw.q/-gnatw.Q switches.

2017-09-08  Justin Squirek  <squirek@adacore.com>

	* switch-c.adb (Scan_Front_End_Switches): Add new warning switch
	case to handle underscore flags.
	* warnsw.adb, warnsw.ads (Set_Underscore_Warning_Switch): Create
	new procedure to handle underscores.

From-SVN: r251893
2017-09-08 15:31:09 +02:00
Arnaud Charlet 8223b65461 [multiple changes]
2017-09-08  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Divide): Reordering code that handles
	divisions with fixed point results to avoid generating twice
	the runtime check on divide by zero.
	* checks.adb (Apply_Divide_Checks): Ensure that operands are
	not evaluated twice (once for their runtime checks and once for
	their regular computation).

2017-09-08  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Analyze_Part_Of): Add missing
	return statements after issuing errors.  Add detection of
	out-of-order item and single concurrent type.

From-SVN: r251892
2017-09-08 15:18:05 +02:00
Nicolas Roche cfc29a96f8 Makefile.in, [...]: Move libgnarl sources to libgnarl subdir.
2017-09-08  Nicolas Roche  <roche@adacore.com>

	* gcc-interface/Makefile.in, a-extiti.ads, s-taprop-linux.adb,
	s-osinte-solaris.adb, a-intnam.ads, s-osinte-solaris.ads,
	s-tpobop.adb, s-intman-android.adb, s-tasinf.adb, s-tpobop.ads,
	s-tasinf.ads, i-vxinco.adb, a-exetim-posix.adb, i-vxinco.ads,
	a-astaco.adb, a-astaco.ads, s-tporft.adb, s-tpoaal.adb, a-taside.adb,
	a-taside.ads, s-tpopsp-posix.adb, s-tasdeb.adb, s-tasdeb.ads,
	s-tpoben.adb, a-dinopr.ads, s-inmaop-vxworks.adb, s-tpoben.ads,
	s-interr-vxworks.adb, s-interr-dummy.adb, s-tassta.adb,
	a-intnam-mingw.ads, s-tassta.ads, s-taasde.adb, a-stcoed.ads,
	s-taasde.ads, s-osinte-darwin.adb, s-proinf.adb, s-taprop-dummy.adb,
	s-osinte-darwin.ads, s-proinf.ads, s-linux.ads, a-intnam-linux.ads,
	s-tasren.adb, s-tasren.ads, s-mudido.adb, g-semaph.adb, s-mudido.ads,
	s-taprop-posix.adb, g-semaph.ads, s-osinte-mingw.ads, s-vxwork-x86.ads,
	s-tposen.adb, s-linux-sparc.ads, s-taprop-vxworks.adb, s-tasini.adb,
	s-tposen.ads, s-tasini.ads, a-etgrbu.ads, s-interr-hwint.adb,
	s-osinte-linux.ads, s-taprop.ads, s-tasque.adb, s-tasque.ads,
	s-taenca.adb, s-taspri-vxworks.ads, s-taenca.ads, a-dynpri.adb,
	s-tpopsp-solaris.adb, a-dynpri.ads, s-taprop-hpux-dce.adb,
	a-interr.adb, a-intnam-freebsd.ads, s-tarest.adb, a-interr.ads,
	s-intman-susv3.adb, a-synbar.adb, a-intnam-dummy.ads, s-tadeca.adb,
	s-osinte-vxworks.adb, s-tarest.ads, s-taskin.adb, a-synbar.ads,
	s-taspri-hpux-dce.ads, s-tadeca.ads, s-osinte-vxworks.ads,
	s-taskin.ads, s-intman-solaris.adb, a-sytaco.adb, s-vxwext-kernel.adb,
	s-mudido-affinity.adb, a-sytaco.ads, s-vxwext-kernel.ads, s-taprob.adb,
	s-intman-mingw.adb, s-taprob.ads, s-osinte-kfreebsd-gnu.ads,
	s-osinte-dummy.ads, s-osinte-gnu.adb, s-osinte-rtems.adb, s-interr.adb,
	s-inmaop.ads, s-vxwext-rtp.adb, s-osinte-gnu.ads, s-osinte-rtems.ads,
	a-synbar-posix.adb, s-interr.ads, s-taspri-posix-noaltstack.ads,
	s-vxwext-rtp.ads, a-synbar-posix.ads, a-extiin.ads, s-osinte-posix.adb,
	s-tpinop.adb, s-tasres.ads, s-tpinop.ads, a-disedf.ads, a-diroro.ads,
	s-linux-alpha.ads, a-tasatt.adb, s-solita.adb, a-intnam-solaris.ads,
	a-tasatt.ads, s-solita.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
	s-vxwork-arm.ads, s-tpopsp-posix-foreign.adb, s-intman-dummy.adb,
	s-intman.ads, s-stusta.adb, s-stusta.ads, s-intman-posix.adb,
	s-tpopsp-vxworks.adb, s-inmaop-dummy.adb, s-taspri-mingw.ads,
	a-intnam-darwin.ads, s-osinte-aix.adb, s-osinte-dragonfly.adb,
	s-osinte-aix.ads, s-tasinf-mingw.adb, s-osinte-dragonfly.ads,
	s-linux-hppa.ads, s-osinte-x32.adb, s-inmaop-posix.adb,
	s-tasinf-mingw.ads, s-intman-vxworks.adb, s-linux-mips.ads,
	s-intman-vxworks.ads, s-osinte-android.adb, s-tasinf-linux.adb,
	s-osinte-android.ads, s-vxwork-ppc.ads, s-tasinf-linux.ads,
	a-dispat.adb, a-dispat.ads, s-tadert.adb, g-thread.adb, s-tadert.ads,
	g-thread.ads, a-intnam-hpux.ads, s-linux-android.ads, s-tataat.adb,
	a-exetim.ads, s-tataat.ads, a-reatim.adb, a-reatim.ads, thread.c,
	g-boubuf.adb, s-osinte-freebsd.adb, g-boubuf.ads, s-osinte-freebsd.ads,
	s-tasuti.adb, s-taspri-dummy.ads, a-exetim-mingw.adb, s-linux-x32.ads,
	s-tasuti.ads, g-signal.adb, a-exetim-mingw.ads, s-interr-sigaction.adb,
	g-signal.ads, s-osinte-hpux.ads, a-intnam-vxworks.ads,
	s-osinte-hpux-dce.adb, s-taspri-posix.ads, s-osinte-hpux-dce.ads,
	s-tasinf-vxworks.ads, g-tastus.ads, s-tpopsp-tls.adb,
	s-taprop-solaris.adb, a-retide.adb, a-exetim-darwin.adb, a-retide.ads,
	s-vxwext.adb, s-vxwext.ads, a-rttiev.adb, a-rttiev.ads, g-boumai.ads,
	a-exetim-default.ads, s-taprop-mingw.adb, s-taspri-solaris.ads,
	a-intnam-aix.ads: Move libgnarl sources to libgnarl subdir.

From-SVN: r251891
2017-09-08 15:14:59 +02:00
Arnaud Charlet 4bd3809078 conf.py, [...]: Improve support for Ada highlighting.
* doc/share/conf.py, doc/share/latex_elements.py,
        doc/share/ada_pygments.py, doc/Makefile: Improve support for Ada
        highlighting.

From-SVN: r251890
2017-09-08 14:35:58 +02:00
Arnaud Charlet 08705a1583 gnat_rm.texi, [...]: Update documentation.
* gnat_rm.texi, gnat_ugn.texi,
        doc/gnat_ugn/the_gnat_compilation_model.rst,
        doc/gnat_ugn/getting_started_with_gnat.rst,
        doc/gnat_ugn/inline_assembler.rst,
        doc/gnat_ugn/building_executable_programs_with_gnat.rst,
        doc/gnat_ugn/elaboration_order_handling_in_gnat.rst,
        doc/gnat_ugn/about_this_guide.rst,
        doc/gnat_ugn/platform_specific_information.rst,
        doc/gnat_ugn/example_of_binder_output.rst,
        doc/gnat_ugn/gnat_and_program_execution.rst,
        doc/gnat_ugn/gnat_utility_programs.rst,
        doc/gnat_rm/implementation_of_specific_ada_features.rst,
        doc/gnat_rm/interfacing_to_other_languages.rst,
        doc/gnat_rm/implementation_defined_aspects.rst,
        doc/gnat_rm/intrinsic_subprograms.rst,
        doc/gnat_rm/implementation_defined_characteristics.rst,
        doc/gnat_rm/implementation_advice.rst,
        doc/gnat_rm/implementation_defined_attributes.rst,
        doc/gnat_rm/compatibility_and_porting_guide.rst,
        doc/gnat_rm/standard_library_routines.rst,
        doc/gnat_rm/the_gnat_library.rst,
        doc/gnat_rm/implementation_defined_pragmas.rst,
        doc/gnat_rm/representation_clauses_and_pragmas.rst,
        doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
        doc/gnat_rm/obsolescent_features.rst,
        doc/gnat_rm/about_this_guide.rst,
        doc/gnat_rm/the_implementation_of_standard_i_o.rst,
        doc/gnat_rm/implementation_of_ada_2012_features.rst,
        doc/gnat_ugn.rst,
        doc/gnat_rm.rst: Update documentation.

From-SVN: r251889
2017-09-08 14:34:54 +02:00
Gerald Pfeifer 9651fbafd1 libgomp.texi (Top): www.openacc.org now uses https.
* libgomp.texi (Top): www.openacc.org now uses https.
	(Enabling OpenACC): Ditto.
	(acc_get_num_devices): Ditto.
	(acc_set_device_type): Ditto.
	(acc_get_device_type): Ditto.
	(acc_set_device_num): Ditto.
	(acc_get_device_num): Ditto.
	(acc_async_test): Ditto.
	(acc_async_test_all): Ditto.
	(acc_wait): Ditto.
	(acc_wait_all): Ditto.
	(acc_wait_all_async): Ditto.
	(acc_wait_async): Ditto.
	(acc_init): Ditto.
	(acc_shutdown): Ditto.
	(acc_on_device): Ditto.
	(acc_malloc): Ditto.
	(acc_free): Ditto.
	(acc_copyin): Ditto.
	(acc_present_or_copyin): Ditto.
	(acc_create): Ditto.
	(acc_present_or_create): Ditto.
	(acc_copyout): Ditto.
	(acc_delete): Ditto.
	(acc_update_device): Ditto.
	(acc_update_self): Ditto.
	(acc_map_data): Ditto.
	(acc_unmap_data): Ditto.
	(acc_deviceptr): Ditto.
	(acc_hostptr): Ditto.
	(acc_is_present): Ditto.
	(acc_memcpy_to_device): Ditto.
	(acc_memcpy_from_device): Ditto.
	(acc_get_current_cuda_device): Ditto.
	(acc_get_current_cuda_context): Ditto.
	(acc_get_cuda_stream): Ditto.
	(acc_set_cuda_stream): Ditto.
	(ACC_DEVICE_TYPE): Ditto.
	(ACC_DEVICE_NUM): Ditto.
	(OpenACC Library Interoperability): Ditto.

From-SVN: r251888
2017-09-08 12:27:14 +00:00
Arnaud Charlet a2529c0aa7 s-dwalin.ads, [...]: New.
2017-09-08  Arnaud Charlet <charlet@adacore.com>

	* s-dwalin.ads, s-dwalin.adb, s-trasym-dwarf.adb, s-objrea.ads,
	s-objrea.adb, s-tsmona-linux.adb, s-tsmona-mingw.adb: New.
	* gcc-interface/Makefile.in: Enable s-trasym-dwarf.adb on x86*linux.

From-SVN: r251887
2017-09-08 13:00:52 +02:00
Arnaud Charlet 6a237c4530 [multiple changes]
2017-09-08  Bob Duff  <duff@adacore.com>

	* s-ststop.ads, s-ststop.adb, rtsfind.ads (String_Input_Tag):
	New routine to read the Tag robustly.
	* exp_attr.adb (Input): Change the expansion of 'Input,
	in the class-wide case, to call String_Input_Tag instead of
	String_Input_Blk_IO.

2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* s-rident.ads (Restriction_Id): reorder enum
	literals, so that Pure_Barriers is no longer in range of the
	Cunit_Boolean_Restrictions subtype.

2017-09-08  Nicolas Roche  <roche@adacore.com>

	* a-taster.ads, a-taster.adb: Move to libgnarl
	* gcc-interface/Makefile.in: Remove obsolete targets. Code cleanups.
	Add support for files in libgnarl.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Type_Conversion): Do not apply
	accessibility check to an interface conversion, whose purpose
	is to perform a pointer adjustment in a dispatching call.
	* exp_ch6.adb (Expand_Call_JHelper): Add accessibility checks
	when the actual is a construct that involves a dereference of an
	expression that includes a formal of the enclosing subprogram,
	In such cases, the accessibility level of the actual is that of
	the corresponding formal, which is passed in as an additional
	actual in the outer call.

From-SVN: r251886
2017-09-08 12:34:02 +02:00
Arnaud Charlet 17d7aa85b7 [multiple changes]
2017-09-08  Bob Duff  <duff@adacore.com>

	* exp_intr.adb (Add_Source_Info): Do not decode
	file names; they were not encoded in the first place.

2017-09-08  Bob Duff  <duff@adacore.com>

	* a-tags.adb (Internal_Tag): Unsuppress checks, so we get
	exceptions instead of crashes. Check for absurdly long strings
	and empty strings. Empty strings cause trouble because they can
	have super-null ranges (e.g. 100..10), which causes Ext_Copy to
	be empty, which causes an array index out of bounds.
	* s-ststop.adb (Input): Unsuppress checks, so we get exceptions
	instead of crashes.

2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* sem_util.adb (Is_CCT_Instance): allow use in
	the context of protected types.

2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* a-tigeli.adb: minor remove extra whitespace.

From-SVN: r251885
2017-09-08 12:18:12 +02:00
Arnaud Charlet ae5115dd46 [multiple changes]
2017-09-08  Gary Dismukes  <dismukes@adacore.com>

	* par-ch4.adb: Reformatting of an error message.

2017-09-08  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Resolve_Name): Under ASIS mode analyze overloaded
	identifiers to ensure their correct decoration of names on
	aspect expressions.

2017-09-08  Yannick Moy  <moy@adacore.com>

	* exp_attr.adb (Expand_Loop_Entry_Attribute): Do
	not skip a loop coming from source which is rewritten into a loop.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Wrap_Imported_Subprogram): Indicate that the
	wrapper has convention Ada, to prevent spurious warnings on
	unconstrained array parameters.

2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_prag.adb (Check_Variant): Use First_Non_Pragma/Next_Non_Pragma.
	(Analyze_Pragma) <Pragma_Unchecked_Union>: Likewise.

2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Freeze_Expr_Types): Rename Spec_Id into Def_Id.

From-SVN: r251884
2017-09-08 12:15:44 +02:00
Arnaud Charlet 72a266372b [multiple changes]
2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* exp_intr.adb (Append_Entity_Name): Move to ...
	* sem_util.ads, sem_util.adb: ... here to share it.
	(Subprogram_Name): New subprogram, to compute the name of the enclosing
	subprogram/entity.
	* errutil.adb (Error_Msg): Fill new field Node.
	* erroutc.ads (Subprogram_Name_Ptr): New.
	(Error_Msg_Object): New field Node.
	* erroutc.adb (dmsg, Output_Msg_Text): Take new field Node into account.
	* errout.adb (Error_Msg): New variant with node id parameter.
	Fill new parameter Node when emitting messages. Revert previous
	changes for Include_Subprogram_In_Messages.
	* sem_ch5.adb (Check_Unreachable_Code): Supply Node parameter when
	generating warning message.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* par-ch4.adb (P_Iterated_Component_Association): Place construct
	under -gnat2020 flag, given that it is a future feature of
	the language.
	* sem_aggr.adb (Resolve_Iterated_Component_Association): Mark
	defining identifier as referenced to prevent spurious warnings:
	corresponding loop is expanded into one or more loops whose
	variable has the same name, and the expression uses those names
	and not the original one.

From-SVN: r251883
2017-09-08 12:11:07 +02:00
Arnaud Charlet db174c9845 [multiple changes]
2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_elab.adb (Check_A_Call): Do not consider
	references to internal variables for SPARK semantics.

2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* inline.adb (In_Package_Spec): refine type of
	the parameter from Node_Id to Entity_Id.

2017-09-08  Justin Squirek  <squirek@adacore.com>

	* exp_ch5.adb (Expand_Formal_Container_Loop):
	Reset the scope of the loop parameter after it is reanalyzed.

2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.ads (Set_Rep_Info): New inline procedure.
	* sem_util.adb (Set_Rep_Info): Implement it.
	* sem_ch3.adb (Process_Subtype): If the case of a constraint present,
	always copy the representation aspects onto the subtype.

From-SVN: r251882
2017-09-08 12:08:25 +02:00
Georges-Alex Jaloyan 3070e68607 g-dynhta.adb, [...] (Get_First_Key, [...]): Correction of the return type from access type to option type.
2017-09-08  Georges-Alex Jaloyan  <jaloyan@adacore.com>

	* g-dynhta.adb, g-dynhta.ads (Get_First_Key, Get_Next_key):
	Correction of the return type from access type to option type.
	(Simple_HTable): Moving the Instance_Data to ads file.

From-SVN: r251881
2017-09-08 12:06:39 +02:00
Arnaud Charlet f63adaa7a4 [multiple changes]
2017-09-08  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb: Use System.Case_Util.To_Lower to simplify code.

2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* opt.ads (Include_Subprogram_In_Messages): New variable.
	* errout.ads (Current_Subprogram_Ptr): New variable.
	* errout.adb (Error_Msg): Prepend current subprogram info
	in messages if Include_Subprogram_In_Messages is set.
	* sem_util.adb (elab code): Initialize Current_Subprogram_Ptr to
	Current_Subprogram.
	* gnat1drv.adb (Adjust_Global_Switches): Set
	Include_Subprogram_In_Messages when -gnatdJ is set.
	* debug.adb: Document and reserve -gnatdJ.

2017-09-08  Georges-Axel Jaloyan  <jaloyan@adacore.com>

	* g-dynhta.adb, g-dynhta.ads (Get_First_Key, Get_Next_Key): New
	functions to iterate over simple hastables.
	(Load_Factor_HTable): Remove obsolete and inefficient implementation.

2017-09-08  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.adb (Unqual_BIP_Function_Call): Adding
	missing checks on the presence of Entity() before checking the
	entity attributes.

2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Reorder some
	statements, use local variable and remove unnecessary processing.

From-SVN: r251880
2017-09-08 12:05:18 +02:00
Arnaud Charlet 4ac62786d6 [multiple changes]
2017-09-08  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.ads (Make_Build_In_Place_Iface_Call_In_Allocator): New
	subprogram.
	(Make_Build_In_Place_Iface_Call_In_Anonymous_Context): New subprogram.
	(Make_Build_In_Place_Iface_Call_In_Object_Declaration): New
	subprogram.
	(Unqual_BIP_Iface_Function_Call): New subprogram.
	* exp_ch6.adb (Replace_Renaming_Declaration_Id): New
	subprogram containing code that was previously inside
	Make_Build_In_Place_Call_In_Object_Declaration since it is also
	required for one of the new subprograms.
	(Expand_Actuals):
	Invoke Make_Build_In_Place_Iface_Call_In_Anonymous_Context
	(Expand_N_Extended_Return_Statement): Extend the
	cases covered by an assertion on expected BIP object
	declarations.
	(Make_Build_In_Place_Call_In_Assignment):
	Removing unused code; found working on this ticket.
	(Make_Build_In_Place_Call_In_Object_Declaration): Move the code
	that replaces the internal name of the renaming declaration
	into the new subprogram Replace_Renaming_Declaration_Id.
	(Make_Build_In_Place_Iface_Call_In_Allocator): New subprogram.
	(Make_Build_In_Place_Iface_Call_In_Anonymous_Context):
	New subprogram.
	(Make_Build_In_Place_Iface_Call_In_Object_Declaration): New
	subprogram.
	(Unqual_BIP_Iface_Function_Call): New subprogram.
	* exp_ch3.adb (Expand_N_Object_Declaration): Invoke the new
	subprogram Make_Build_In_Place_Iface_Call_In_Object_Declaration.
	* exp_attr.adb (Expand_N_Attribute_Reference): Invoke the new
	subprogram Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
	* exp_ch4.adb (Expand_Allocator_Expression): Invoke the new
	subprogram Make_Build_In_Place_Iface_Call_In_Allocator.
	(Expand_N_Indexed_Component): Invoke the new subprogram
	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
	(Expand_N_Selected_Component): Invoke the new subprogram
	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
	(Expand_N_Slice): Invoke the new subprogram
	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration):
	Invoke the new subprogram
	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.

2017-09-08  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Expand_Interface_Conversion): Fix handling of
	access to interface types.  Remove also the accessibility check.

2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Freeze_Expr_Types): Really freeze
	all the types that are referenced by the expression.
	(Analyze_Expression_Function): Call Freeze_Expr_Types for
	a completion instead of manually freezing the type of the
	expression.
	(Analyze_Subprogram_Body_Helper): Do not call Freeze_Expr_Types here.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_prag.adb (Replace_Discriminals_Of_Protected_Op):
	New procedure, auxiliary to Expand_Pragma_Check, to handle
	references to the discriminants of a protected type within a
	precondition of a protected operation. This is needed because
	the original precondition has been analyzed in the context of
	the protected declaration, but in the body of the operation
	references to the discriminants have been replaved by references
	to the discriminants of the target object, and these references
	are only created when expanding the protected body.

From-SVN: r251879
2017-09-08 12:02:50 +02:00
Arnaud Charlet c468e1fba8 [multiple changes]
2017-09-08  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Issue more precise error messages on
	Loop_Variant.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_attr.adb (Build_Record_VS_Func): If the record is an
	unchecked union, do not emit checks for its (non-existent)
	discriminants, or for variant parts that depend on them.

2017-09-08  Justin Squirek  <squirek@adacore.com>

	* sem_ch4.adb (Find_Equality_Types.Try_One_Interp,
	Find_Comparison_Type.Try_One_Interp): Add check for generic
	instances.

From-SVN: r251878
2017-09-08 11:48:16 +02:00
Arnaud Charlet f8f50235db sem_ch3.adb, [...]: Remove references to Frontend_Layout_On_Target and remaining references to...
2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch3.adb, layout.adb, layout.ads, exp_attr.adb, debug.adb,
	exp_pakd.adb, sem_prag.adb, gnat1drv.adb, targparm.adb, targparm.ads,
	repinfo.adb, exp_ch6.adb, exp_aggr.adb, sem_eval.adb, sem_ch13.adb,
	exp_ch3.adb: Remove references to Frontend_Layout_On_Target and
	remaining references to AAMP_On_Target.

From-SVN: r251877
2017-09-08 11:46:42 +02:00
Arnaud Charlet 63a5b3dc89 [multiple changes]
2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* style.adb: Fix typo.

2017-09-08  Javier Miranda  <miranda@adacore.com>

	* einfo.adb (Underlying_Type): Add missing support for class-wide
	types that come from the limited view.
	* exp_attr.adb (Attribute_Address): Check class-wide type
	interfaces using the underlying type to handle limited-withed
	types.
	(Attribute_Tag): Check class-wide type interfaces using
	the underlying type to handle limited-withed types.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_Predicated_Loop): Handle properly a loop
	over a subtype of a type with a static predicate, taking into
	account the predicate function of the parent type and the bounds
	given in the loop specification.
	* sem_ch3.adb (Inherit_Predicate_Flags): For qn Itype created for
	a loop specification that is a subtype indication whose type mark
	is a type with a static predicate, inherit predicate function,
	used to build case statement for rewritten loop.

2017-09-08  Justin Squirek  <squirek@adacore.com>

	* lib-load.adb: Modify printing of error message to exclude file
	line number.

2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode):
	don't inline subprograms declared in both visible and private
	parts of a package.
	(In_Package_Spec): previously In_Package_Visible_Spec; now
	detects subprograms declared both in visible and private parts
	of a package spec.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb (Build_Invariant_Procedure_Declaration): If
	the type is an anonymous array in an object declaration, whose
	component type has an invariant, use the object declaration
	as the insertion point for the invariant procedure, given that
	there is no explicit type declaration for an anonymous array type.

2017-09-08  Bob Duff  <duff@adacore.com>

	* a-cbprqu.ads, a-cbdlli.adb: Suppress warnings.

From-SVN: r251876
2017-09-08 11:44:30 +02:00
Arnaud Charlet 3815f967f9 [multiple changes]
2017-09-08  Bob Duff  <duff@adacore.com>

	* s-trasym.ads (Hexa_Traceback): If
	Suppress_Hex is True, print "..." instead of a hexadecimal
	address.
	* s-trasym.adb: Ignore No_Hex in this version.
	Misc cleanup.

2017-09-08  Bob Duff  <duff@adacore.com>

	* debug.adb: Minor reformatting.

2017-09-08  Bob Duff  <duff@adacore.com>

	* a-cbdlli.adb, a-cohama.adb, a-cohase.adb (Copy): Rewrite the
	code so it doesn't trigger an "uninit var" warning.

2017-09-08  Nicolas Roche  <roche@adacore.com>

	* s-hibaen.ads: Remove obsolete file.

2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* a-locale.ads: Add comment explaining the state of this package.

2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* sem_util.adb (Is_CCT_Instance): Allow calls in the context
	of packages.
	* sem_prag.ads, sem_prag.adb (Find_Related_Declaration_Or_Body):
	allow calls in the context of package spec (for pragma
	Initializes) and bodies (for pragma Refined_State).

2017-09-08  Bob Duff  <duff@adacore.com>

	* checks.adb (Insert_Valid_Check): Copy the Do_Range_Check flag to the
	new Exp.

From-SVN: r251875
2017-09-08 11:38:48 +02:00
Bob Duff a481c9b40f re PR ada/80888 (Wide_Text_IO defaults to bracket encoding even if -gnatW8 specified)
2017-09-08  Bob Duff  <duff@adacore.com>

PR ada/80888
	* a-textio.adb, a-witeio.adb, a-ztexio.adb (Set_WCEM): Use
	Default_WCEM by default (i.e. if the encoding is not specified
	by the Form string).

From-SVN: r251874
2017-09-08 11:38:38 +02:00
Arnaud Charlet 1c91257437 [multiple changes]
2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* debug.adb (dA): Adjust comment.
	* gnat1drv.adb (Gnat1drv): Likewise.
	* opt.ads (List_Representation_Info_Extended): New variable.
	* repinfo.adb (List_Record_Info): Split implementation into...
	(Compute_Max_Length): ...this.	Recurse on records if requested.
	(List_Record_Layout): Likewise.
	* switch-c.adb (Scan_Front_End_Switches) <'R'>: Use case
	statement, accept '0' and set List_Representation_Info_Extended
	on 'e'.
	* usage.adb (Usage): Document new -gnatRe variant.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Default_Storage_Pool):
	Do not save the given entity in the global variable Default_Pool
	if the pragma appears within a generic unit.

2017-09-08  Bob Duff  <duff@adacore.com>

	* errout.adb (Delete_Warning): Do not
	decrement Warnings_Treated_As_Errors. This is called before
	Warnings_Treated_As_Errors has been incremented to account for
	this warning. Decrementing it here can lead to negative values
	of Warnings_Treated_As_Errors, raising Constraint_Error in
	checks-on builds, and causing the compiler to return an error
	code in checks-off builds.

From-SVN: r251873
2017-09-08 11:25:01 +02:00
Arnaud Charlet f0478a53cb [multiple changes]
2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* sem_util.ads, sem_util.adb (Is_CCT_Instance): Only expect
	entities of named concurrent types as Ref_Id and not of anonymous
	concurrent objects (because callers already know when a conversion
	is necessary and can easily do it); also, do not expect protected
	types or protected objects as Context_Id (because no flow-related
	SPARK pragmas are attached there); reflect these changes in a
	more precise comment.

2017-09-08  Olivier Hainque  <hainque@adacore.com>

	* g-altive.ads: Add documentation.

2017-09-08  Bob Duff  <duff@adacore.com>

	* sem_util.ads, debug.adb: Minor comment fix.
	* erroutc.ads: Comment fix.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Validate_Array_Type_Instance): Suppress check
	for compatibility of component types of formal and actual in an
	instantiation of a child unit,	when the component type of the
	formal is itself a formal of an enclosing generic.

From-SVN: r251872
2017-09-08 11:22:59 +02:00
Arnaud Charlet 780d73d73d [multiple changes]
2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* sem_util.ads, sem_util.adb (Is_CCT_Instance): moved from
	sem_prag.adb to make it available for GNATprove; for concurrent
	types replace custom scope climbing with Scope_Same_Or_Within; for
	single concurrent objects add scope climbing (with Scope_Within),
	which was not there (that's the primary semantic change of this
	commit); also, when comparing a single concurrent object with
	its corresponding concurrent type rely on equality of types,
	not of objects (because that's simpler to code).
	* sem_prag.adb (Is_CCT_Instance): lifted to sem_util.ads.
	(Analyze_Global_Item): adjust special-casing of references to the
	current instance of a concurrent unit in the Global contracts
	of task types and single tasks objects; similar for references
	in the protected operations and entries of protected types and
	single protected objects (in all these cases the current instance
	behaves as an implicit parameter and must not be mentioned in
	the Global contract).

2017-09-08  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch6.adb (Expand_Call_Helper): Introduce temporary for
	function calls returning a record within a subprogram call,
	for C generation.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Find_Expanded_Name): Handle properly an expanded
	name that designates the current instance of a child unit in its
	own body and appears as the prefix of a reference to an entity
	local to the child unit.
	* exp_ch6.adb, freeze.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb:
	Minor reformatting.

2017-09-08  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Resolve_Equality_Op): Do not warn on comparisons that
	may be intentional.

2017-09-08  Tristan Gingold  <gingold@adacore.com>

	* sem_warn.adb (Check_Unused_Withs): Remove test that disabled
	warnings on internal units in configurable run time mode.

From-SVN: r251871
2017-09-08 11:19:34 +02:00
Arnaud Charlet b2c3160ca5 [multiple changes]
2017-09-08  Bob Duff  <duff@adacore.com>

	* sem_ch3.adb (Build_Derived_Private_Type): Inherit
	representation items from interfaces that the derived type
	implements, not just from the parent type.
	* sem_util.ads, sem_util.adb (Abstract_Interface_List): Change
	this to return an empty list when there are no interfaces.
	* einfo.ads, sem_ch13.adb: Minor comment fixes.
	* sem_attr.adb: Minor comment fix.

2017-09-08  Doug Rupp  <rupp@adacore.com>

	* sigtramp-vxworks.c [i386]: Adjust the kernel context for
	x86-vx7.

2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Allocator): Generate a
	call to Allocate_Any_Controlled when the allocation does not
	require any initialization.

From-SVN: r251870
2017-09-08 11:15:24 +02:00
Arnaud Charlet cc3a298607 [multiple changes]
2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_util.adb (Copy_Node_With_Replacement):
	Update the Renamed_Object field of a replicated object renaming
	declaration.

2017-09-08  Patrick Bernardi  <bernardi@adacore.com>

	* exp_ch9.adb (Is_Pure_Barrier): Allow type
	conversions and components of objects. Simplified the detection
	of the Count attribute by identifying the corresponding run-time
	calls.

2017-09-08  Yannick Moy  <moy@adacore.com>

	* exp_ch9.adb, exp_disp.adb, repinfo.adb, sem_ch12.adb, sem_dim.adb,
	sem_type.adb, sinfo.ads: Minor reformatting.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Has_Incomplete_Compoent): New predicate, subsidiary
	of Freeze_Profile, used to inhibit the freezing of the profile
	of an expression function declared within a nested package, when
	some type in the profile depends on a private type declared in
	an enclosing package.

2017-09-08  Bob Duff  <duff@adacore.com>

	* gnat1drv.adb (Gnat1drv): Do not set the Force_ALI_Tree_File flag in
	the subunit case. It's still OK to set it in the "missing subunits"
	case, because that won't cause the obsolete .ali files that cause
	confusion.

2017-09-08  Bob Duff  <duff@adacore.com>

	* sinput-l.adb: Remove unused "with Unchecked_Conversion;". It's
	unclear why this didn't cause a warning.
	* a-uncdea.ads, a-unccon.ads: Add "Ada." to names in the
	pragmas. It's unclear why this didn't cause an error.

From-SVN: r251869
2017-09-08 11:13:07 +02:00
Arnaud Charlet 74a78a4f1c [multiple changes]
2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_spark.adb (Expand_SPARK_N_Object_Renaming_Declaration):
	Reimplemented.
	(Expand_SPARK_Potential_Renaming): Code clean up.
	* sem_prag.adb (Analyze_Initialization_Item): Add a guard in case
	the item does not have a proper entity.
	(Analyze_Input_Item): Add a guard in case the item does not have a
	proper entity.
	(Collect_States_And_Objects): Include object renamings in the
	items being collected.
	(Resolve_State): Update the documentation of this routine.
	* sem_util.adb (Entity_Of): Add circuitry to handle
	renamings of function results.
	(Remove_Entity): New routine.
	(Remove_Overloaded_Entity): Take advantage of factorization.
	* sem_util.ads (Entity_Of): Update the documentation
	of this routine.
	(Remove_Entity): New routine.
	(Remove_Overloaded_Entity): Update the documentation of this
	routine.

2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	* repinfo.adb (List_Record_Info): During first loop,
	do not override the normalized position and first bit
	if they have already been set.	Move fallback code
	for the packed case to the case where it belongs.
	* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
	Also adjust the normalized position of components.
	(Adjust_Record_For_Reverse_Bit_Order_Ada_95): Likewise.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* exp_disp.adb (Make_DT, Set_All_DT_Position): Handle properly
	the placement of a primitive operation O that renames an operation
	R declared in an inner package, and which is thus not a primitive
	of the dispatching type of O. In this case O is a new primitive
	and does not inherit its dispatch table position from R (which
	has none).

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_dim.adb (Analyze_Dimension_If_Expression,
	Analyze_Dimension_Case_Expression): new subprograms to verify
	the dimensional correctness of Ada2012 conditional expressions,
	and set properly the dimensions of the construct.
	* sem_res.adb (Resolve_If_Expression, Resolve_Case_Expression)):
	call Analyze_Dimension.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_type.adb (Expand_Interface_Conversion): Prevent an infinite
	loop on an interface declared as a private extension of another
	synchronized interface.

From-SVN: r251868
2017-09-08 10:59:32 +02:00
Arnaud Charlet 133de11231 Minor clean up.
From-SVN: r251867
2017-09-08 10:47:16 +02:00
Arnaud Charlet eb0f297f9a [multiple changes]
2017-09-08  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch12.adb (Check_Generic_Parent): New procedure within
        Analyze_Associations, to handle actual packages that depend on
        previous instances.  If a package IAP that is an instantiation is
        used as an actual in a subsequent instantiation SI in the same
        scope, and IAP has a body, IAP must be frozen before SI. If
        the generic parent of IAP is itself declared in a previous
        instantiation in the same scope, that instantiation must also
        be frozen before SI.
        (Install_Body): Prevent double insertion of freeze node for
        instance.

2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>

        * sem_prag.adb (Resolve_State): Update the
        comment on documentation. Generate a reference to the state once
        resolution takes place.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch13.adb (Analyze_Aspect_Specifications, case
        Linker_Section): If the aspect applies to an object declaration
        with explicit initialization, do not delay the freezing of the
        object, to prevent access-before-elaboration in the generated
        initialization code.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

        * a-wtdeio.adb (Put, all versions): Use Long_Long_Integer
        (Integer_Value (Item)) when the size of the fixed decimal type
        is larger than Integer.

From-SVN: r251866
2017-09-08 10:47:04 +02:00
Arnaud Charlet be91c7e2aa [multiple changes]
2017-09-08  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch12.adb (Check_Generic_Parent): New procedure within
        Analyze_Associations, to handle actual packages that depend on
        previous instances.  If a package IAP that is an instantiation is
        used as an actual in a subsequent instantiation SI in the same
        scope, and IAP has a body, IAP must be frozen before SI. If
        the generic parent of IAP is itself declared in a previous
        instantiation in the same scope, that instantiation must also
        be frozen before SI.
        (Install_Body): Prevent double insertion of freeze node for
        instance.

2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>

        * sem_prag.adb (Resolve_State): Update the
        comment on documentation. Generate a reference to the state once
        resolution takes place.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch13.adb (Analyze_Aspect_Specifications, case
        Linker_Section): If the aspect applies to an object declaration
        with explicit initialization, do not delay the freezing of the
        object, to prevent access-before-elaboration in the generated
        initialization code.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

        * a-wtdeio.adb (Put, all versions): Use Long_Long_Integer
        (Integer_Value (Item)) when the size of the fixed decimal type
        is larger than Integer.

From-SVN: r251865
2017-09-08 10:46:01 +02:00
Arnaud Charlet 8b73509432 Removed, no longer used.
From-SVN: r251864
2017-09-08 10:45:05 +02:00
Rainer Orth ed3d4d827d Fix SPARC bootstrap: sancov.c needs memmodel.h
* sancov.c: Include memmodel.h.

From-SVN: r251863
2017-09-08 08:35:23 +00:00
Eric Botcazou 2db98b5a5f Fix merge error.
From-SVN: r251862
2017-09-08 07:18:20 +00:00
GCC Administrator 42bbab4c95 Daily bump.
From-SVN: r251861
2017-09-08 00:16:18 +00:00
Eric Botcazou 1c49a3ed0c re PR bootstrap/80897 (gnat bootstrap broken on SPARC64/Linux)
PR target/80897
	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Deal with too
	large offsets.

From-SVN: r251847
2017-09-07 15:53:09 +00:00