platform/upstream/gcc.git
6 years agodecl.c (gnat_to_gnu_entity): Don't generate debug info for inner record types if...
Pierre-Marie de Rodat [Sat, 9 Sep 2017 13:05:40 +0000 (13:05 +0000)]
decl.c (gnat_to_gnu_entity): Don't generate debug info for inner record types if -fgnat-encodings=minimal.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Don't
generate debug info for inner record types if -fgnat-encodings=minimal.
(gnat_to_gnu_entity) <E_Record_Subtype>: Use the ultimate base record
type as the debug type.

From-SVN: r251937

6 years agodecl.c (components_to_record): Do not reorder in non- packed record types if...
Eric Botcazou [Sat, 9 Sep 2017 12:48:41 +0000 (12:48 +0000)]
decl.c (components_to_record): Do not reorder in non- packed record types if...

* gcc-interface/decl.c (components_to_record): Do not reorder in non-
packed record types if pragma Optimize_Alignment (Space) is enabled.

From-SVN: r251936

6 years agotrans.c (Subprogram_Body_to_gnu): Disregard inlining limits for expression functions.
Eric Botcazou [Sat, 9 Sep 2017 12:45:45 +0000 (12:45 +0000)]
trans.c (Subprogram_Body_to_gnu): Disregard inlining limits for expression functions.

* gcc-interface/trans.c (Subprogram_Body_to_gnu): Disregard inlining
limits for expression functions.
(gnat_to_gnu) <N_Object_Declaration>: Fix formatting.

From-SVN: r251935

6 years agodecl.c (gnat_to_gnu_entity): Copy the layout of the record from the parent type only...
Eric Botcazou [Sat, 9 Sep 2017 12:41:19 +0000 (12:41 +0000)]
decl.c (gnat_to_gnu_entity): Copy the layout of the record from the parent type only if...

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Copy the
layout of the record from the parent type only if both are or are not
unchecked unions.
(is_stored_discriminant): Return false for an unchecked union.

From-SVN: r251934

6 years agoutils2.c (build_allocator): In type_annotate_only mode return NULL_EXPR.
Eric Botcazou [Sat, 9 Sep 2017 12:36:20 +0000 (12:36 +0000)]
utils2.c (build_allocator): In type_annotate_only mode return NULL_EXPR.

* gcc-interface/utils2.c (build_allocator): In type_annotate_only mode
return NULL_EXPR.

From-SVN: r251933

6 years agodecl.c (promote_object_alignment): New function taken from...
Eric Botcazou [Sat, 9 Sep 2017 12:29:08 +0000 (12:29 +0000)]
decl.c (promote_object_alignment): New function taken from...

* gcc-interface/decl.c (promote_object_alignment): New function taken
from...
(gnat_to_gnu_entity) <E_Variable>: ...here.  Invoke it.
(gnat_to_gnu_field): If the field is Atomic or VFA, invoke it and
create a padding type on success before doing the atomic check.

From-SVN: r251931

6 years agodecl.c (gnat_to_gnu_entity): Apply the promotion to static memory earlier in the...
Eric Botcazou [Sat, 9 Sep 2017 12:19:25 +0000 (12:19 +0000)]
decl.c (gnat_to_gnu_entity): Apply the promotion to static memory earlier in the processing.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Apply the
promotion to static memory earlier in the processing.

From-SVN: r251929

6 years agodecl.c (gnat_to_gnu_entity): Only set the TYPE_ALIGN_OK and TYPE_BY_REFERENCE_P flags...
Eric Botcazou [Sat, 9 Sep 2017 12:02:57 +0000 (12:02 +0000)]
decl.c (gnat_to_gnu_entity): Only set the TYPE_ALIGN_OK and TYPE_BY_REFERENCE_P flags on types after various...

* gcc-interface/decl.c (gnat_to_gnu_entity): Only set the TYPE_ALIGN_OK
and TYPE_BY_REFERENCE_P flags on types after various promotions.
* gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
Consider all kinds of entities.

From-SVN: r251927

6 years agodecl.c: Add decl_type_param_list...
Paul Thomas [Sat, 9 Sep 2017 11:10:42 +0000 (11:10 +0000)]
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

6 years agoutils.c (convert): When converting to a padding type...
Eric Botcazou [Sat, 9 Sep 2017 10:36:40 +0000 (10:36 +0000)]
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

6 years agore PR bootstrap/81926 (go/parse.o differs between stage2 and stage3)
Eric Botcazou [Sat, 9 Sep 2017 09:42:39 +0000 (09:42 +0000)]
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

6 years agoallocator.xml: Adjust link for Hoard.
Gerald Pfeifer [Sat, 9 Sep 2017 06:51:49 +0000 (06:51 +0000)]
allocator.xml: Adjust link for Hoard.

* doc/xml/manual/allocator.xml: Adjust link for Hoard.
* doc/html/manual/memory.html: Regenerate.

From-SVN: r251919

6 years agocompiler: guard against implicit double pointer indirection
Ian Lance Taylor [Sat, 9 Sep 2017 06:01:35 +0000 (06:01 +0000)]
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

6 years agoDaily bump.
GCC Administrator [Sat, 9 Sep 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r251917

6 years agoPR c++/70029 - ICE with ref-qualifier and -flto
Jason Merrill [Fri, 8 Sep 2017 22:39:17 +0000 (18:39 -0400)]
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

6 years agoFix date
Eric Botcazou [Fri, 8 Sep 2017 17:13:00 +0000 (17:13 +0000)]
Fix date

From-SVN: r251906

6 years agore PR target/81988 (invalid std instruction with odd register)
Eric Botcazou [Fri, 8 Sep 2017 17:09:16 +0000 (17:09 +0000)]
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

6 years agoMake-lang.in, [...]: Find runtime source in libgnat/
Nicolas Roche [Fri, 8 Sep 2017 15:12:17 +0000 (15:12 +0000)]
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

6 years agoMinor doc edit.
Arnaud Charlet [Fri, 8 Sep 2017 14:44:04 +0000 (16:44 +0200)]
Minor doc edit.

From-SVN: r251901

6 years agosem_aux.adb, [...] (Get_Called_Entity): New function to return the entity associated...
Yannick Moy [Fri, 8 Sep 2017 14:36:54 +0000 (14:36 +0000)]
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

6 years agoalpha.c (alpha_print_operand): Remove.
Uros Bizjak [Fri, 8 Sep 2017 14:19:26 +0000 (16:19 +0200)]
alpha.c (alpha_print_operand): Remove.

* config/alpha/alpha.c (alpha_print_operand) <case 'S'>: Remove.

From-SVN: r251899

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 13:44:39 +0000 (15:44 +0200)]
[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

6 years agoexp_aggr.adb: (Aggr_Assignment_OK_For_Backend): Add early return for access types.
Eric Botcazou [Fri, 8 Sep 2017 13:41:58 +0000 (13:41 +0000)]
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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 13:35:50 +0000 (15:35 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 13:31:09 +0000 (15:31 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 13:18:05 +0000 (15:18 +0200)]
[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

6 years agoMakefile.in, [...]: Move libgnarl sources to libgnarl subdir.
Nicolas Roche [Fri, 8 Sep 2017 13:14:59 +0000 (13:14 +0000)]
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

6 years agoconf.py, [...]: Improve support for Ada highlighting.
Arnaud Charlet [Fri, 8 Sep 2017 12:35:58 +0000 (12:35 +0000)]
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

6 years agognat_rm.texi, [...]: Update documentation.
Arnaud Charlet [Fri, 8 Sep 2017 12:34:54 +0000 (12:34 +0000)]
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

6 years agolibgomp.texi (Top): www.openacc.org now uses https.
Gerald Pfeifer [Fri, 8 Sep 2017 12:27:14 +0000 (12:27 +0000)]
libgomp.texi (Top): 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

6 years agos-dwalin.ads, [...]: New.
Arnaud Charlet [Fri, 8 Sep 2017 11:00:52 +0000 (13:00 +0200)]
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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 10:34:02 +0000 (12:34 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 10:18:12 +0000 (12:18 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 10:15:44 +0000 (12:15 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 10:11:07 +0000 (12:11 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 10:08:25 +0000 (12:08 +0200)]
[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

6 years agog-dynhta.adb, [...] (Get_First_Key, [...]): Correction of the return type from access...
Georges-Alex Jaloyan [Fri, 8 Sep 2017 10:06:39 +0000 (10:06 +0000)]
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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 10:05:18 +0000 (12:05 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 10:02:50 +0000 (12:02 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 09:48:16 +0000 (11:48 +0200)]
[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

6 years agosem_ch3.adb, [...]: Remove references to Frontend_Layout_On_Target and remaining...
Arnaud Charlet [Fri, 8 Sep 2017 09:46:42 +0000 (09:46 +0000)]
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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 09:44:30 +0000 (11:44 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 09:38:48 +0000 (11:38 +0200)]
[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

6 years agore PR ada/80888 (Wide_Text_IO defaults to bracket encoding even if -gnatW8 specified)
Bob Duff [Fri, 8 Sep 2017 09:38:38 +0000 (11:38 +0200)]
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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 09:25:01 +0000 (11:25 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 09:22:59 +0000 (11:22 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 09:19:34 +0000 (11:19 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 09:15:24 +0000 (11:15 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 09:13:07 +0000 (11:13 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 08:59:32 +0000 (10:59 +0200)]
[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

6 years agoMinor clean up.
Arnaud Charlet [Fri, 8 Sep 2017 08:47:16 +0000 (10:47 +0200)]
Minor clean up.

From-SVN: r251867

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 08:47:04 +0000 (10:47 +0200)]
[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

6 years ago[multiple changes]
Arnaud Charlet [Fri, 8 Sep 2017 08:46:01 +0000 (10:46 +0200)]
[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

6 years agoRemoved, no longer used.
Arnaud Charlet [Fri, 8 Sep 2017 08:45:05 +0000 (10:45 +0200)]
Removed, no longer used.

From-SVN: r251864

6 years agoFix SPARC bootstrap: sancov.c needs memmodel.h
Rainer Orth [Fri, 8 Sep 2017 08:35:23 +0000 (08:35 +0000)]
Fix SPARC bootstrap: sancov.c needs memmodel.h

* sancov.c: Include memmodel.h.

From-SVN: r251863

6 years agoFix merge error.
Eric Botcazou [Fri, 8 Sep 2017 07:18:20 +0000 (07:18 +0000)]
Fix merge error.

From-SVN: r251862

6 years agoDaily bump.
GCC Administrator [Fri, 8 Sep 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r251861

6 years agore PR bootstrap/80897 (gnat bootstrap broken on SPARC64/Linux)
Eric Botcazou [Thu, 7 Sep 2017 15:53:09 +0000 (15:53 +0000)]
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

6 years agore PR ada/82127 (gnat.dg/specs/constructor.ads FAILs)
Eric Botcazou [Thu, 7 Sep 2017 15:33:29 +0000 (15:33 +0000)]
re PR ada/82127 (gnat.dg/specs/constructor.ads FAILs)

PR ada/82127
* gcc-interface/decl.c (copy_and_substitute_in_layout): Put the fields
in order of increasing position in more cases.

From-SVN: r251846

6 years agovsx.md (define_insn "*stxvl"): Add missing argument to the sldi instruction.
Carl Love [Thu, 7 Sep 2017 15:02:24 +0000 (15:02 +0000)]
vsx.md (define_insn "*stxvl"): Add missing argument to the sldi instruction.

gcc/ChangeLog:

2017-09-07  Carl Love  <cel@us.ibm.com>

    * config/rs6000/vsx.md (define_insn "*stxvl"): Add missing argument to the sldi instruction.

From-SVN: r251845

6 years ago* sancov.c: Include tm_p.h.
David Edelsohn [Thu, 7 Sep 2017 14:28:20 +0000 (14:28 +0000)]
* sancov.c: Include tm_p.h.

From-SVN: r251844

6 years agore PR target/81979 (Assembler messages: Error: can't resolve `.got2' {.got2 section...
Jakub Jelinek [Thu, 7 Sep 2017 11:20:40 +0000 (13:20 +0200)]
re PR target/81979 (Assembler messages: Error: can't resolve `.got2' {.got2 section} - `.LCF0' {.text.unlikely section})

PR target/81979
* output.h (switch_to_other_text_partition): New declaration.
* varasm.c (switch_to_other_text_partition): New function.
* config/rs6000/rs6000.c (uses_TOC): Return 2 if
NOTE_INSN_SWITCH_TEXT_SECTIONS is seen before finding load_toc_* insn.
(rs6000_elf_declare_function_name): If uses_TOC returned 2, switch
to the other text partition before emitting LCL label and switch back
after emitting the word after it.

* gcc.dg/pr81979.c: New test.

From-SVN: r251843

6 years ago[multiple changes]
Arnaud Charlet [Thu, 7 Sep 2017 10:09:17 +0000 (12:09 +0200)]
[multiple changes]

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

* a-exetim-mingw.ads: Add contract Global=>null
on all operations that are modeled as having no read or write
of global variables in SPARK.

2017-09-07  Raphael Amiard  <amiard@adacore.com>

* a-chtgop.adb, a-chtgop.ads (Generic_Iteration_With_Position): Added
to Hmaps.Generic_Ops.
* a-cohama.adb (Ada.Containers.Hmaps.Iterate): Pass proper position in
cursors.
* a-cihama.adb (Ada.Containers.Indefinite_Hmaps.Iterate): Pass pos in
cursors.
* a-cohase.adb (Ada.Containers.Hashed_Sets.Iterate): Pass proper
position in cursors.

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

* sem_elab.adb (Check_Task_Activation): Adding switch -gnatd.y to
allow disabling the generation of implicit pragma Elaborate_All
on task bodies.

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

* exp_disp.adb (Make_Tags): Avoid suffix counter
in the external name of the elaboration flag. Required to fix
the regressions introduced by the initial version of this patch.

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

* sem_ch6.adb (Analyze_Function_Return): Do not
insert an explicit conversion to force the displacement of the
"this" pointer to reference the secondary dispatch table in the
case where the return statement is returning a raise expression,
as in "return raise ...".

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

* sem_disp.adb (Is_User_Defined_Equality): Removed procedure.
* sem_util.ads, sem_util.adb (Is_User_Defined_Equality): Copied
procedure from sem_disp.adb.
* sem_ch12.ads (Get_Unit_Instantiation_Node): rename Package
with Unit.
* sem_ch12.adb (Get_Unit_Instantiation_Node): function extended to
return the instantiation node for subprograms. Update references
to Get_Unit_Instantiation_Node.
* sem_ch7.adb (Install_Parent_Private_Declarations): update
reference to Get_Unit_Instantiation_Node.
* exp_dist.adb (Build_Package_Stubs): update reference to
Get_Unit_Instantiation_Node.
* sem_ch9.adb: minor typo in comment.
* lib-xref-spark_specific.adb
(Traverse_Declaration_Or_Statement): traverse into task type
definition.

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

* sem_dim.adb (Analyze_Dimension_Type_Conversion): New procedure
to handle properly various cases of type conversions where the
target type and/or the expression carry dimension information.
(Dimension_System_Root); If a subtype carries dimension
information, obtain the source parent type that carries the
Dimension aspect.

2017-09-07  Dmitriy Anisimkov  <anisimko@adacore.com>

* g-socket.adb, g-socket.ads (GNAT.Sockets.To_Ada): New routine.

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

* exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained):
If the prefix is a reference to an object, rewrite it as an
explicit dereference, as required by 3.7.2 (2) and as is done
with most other attributes whose prefix is an access value.

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

* par-ch13.adb: Set the Inside_Depends flag if we are inside a
Refined_Depends aspect.
* par-ch2.adb: Set the Inside_Depends flag if we are inside a
Refined_Depends pragma.
* scans.ads: Fix documentation of Inside_Depends flag.
* styleg.adb, styleg.ads: Minor reformatting and comment fixes.

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

* exp_ch7.adb (Insert_Actions_In_Scope_Around):
Account for the case where the are no lists to insert, but the
secondary stack still requires management.
* a-chtgop.adb, a-cihama.adb, a-cohama.adb, a-cohase.adb, a-tags.adb,
comperr.adb, einfo.adb, exp_aggr.adb, exp_ch3.adb, exp_disp.adb,
lib-xref.adb, lib-xref-spark_specific.adb, sem_ch12.adb, sem_ch13.adb,
sem_ch6.adb, sem_dim.adb, sem_dim.ads, sem_elab.adb, sem_prag.adb:
Minor reformatting.

From-SVN: r251842

6 years ago[multiple changes]
Arnaud Charlet [Thu, 7 Sep 2017 10:02:27 +0000 (12:02 +0200)]
[multiple changes]

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

* clean.adb: Do not get the target parameters before calling
gprclean.

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

* s-osinte-solaris-posix.ads: Removed.

From-SVN: r251841

6 years ago[multiple changes]
Arnaud Charlet [Thu, 7 Sep 2017 09:58:24 +0000 (11:58 +0200)]
[multiple changes]

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

* sem_prag.adb (Collect_States_And_Objects): Detect also instances of
single concurrent objects.

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

* s-regexp.ads: Fix documentation of the globbing grammar.

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

* a-tags.ads, einfo.ads, exp_disp.ads: Minor reformatting.

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

* gnat1drv.adb (Gnat1drv): Enable pragma Ignore_Pragma (Global)
in CodePeer mode, to support more legacy code automatically.

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

* exp_disp.adb (Replace_Formals): If thr formal is classwide,
and thus not a controlling argument, preserve its type after
rewriting because it may appear in an nested call with a classwide
parameter.

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

* comperr.adb (Delete_SCIL_Files): Handle case of
N_Package_Instantiation.

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

* sem_ch10.adb (Remove_Private_With_Clause): If a private with
clause for a unit U appears in a context that includes a regular
with_clause on U, rewrite the redundant private clause into a null
statement, rather than removing it altogether from the context,
so that ASIS tools can reconstruct the original source.

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

* sem_ch13.adb (Check_Aspect_At_Freeze_Point): The expression
for aspect Small can be of any real type (not only a universal
real literal) as long as it is a static constant.

2017-09-07  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb: Minor reformatting.

From-SVN: r251840

6 years agos-parame-ae653.ads: Removed.
Arnaud Charlet [Thu, 7 Sep 2017 09:54:14 +0000 (09:54 +0000)]
s-parame-ae653.ads: Removed.

* s-parame-ae653.ads: Removed.

From-SVN: r251839

6 years ago[multiple changes]
Arnaud Charlet [Thu, 7 Sep 2017 09:53:18 +0000 (11:53 +0200)]
[multiple changes]

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

* s-traces-default.adb, s-trafor-default.adb, s-trafor-default.ads,
s-traces.adb, s-traces.ads, s-tratas-default.adb, s-tfsetr-default.adb,
s-tfsetr-vxworks.adb, s-tratas.adb, s-tratas.ads, s-tasuti.adb,
s-parame-hpux.ads, s-tassta.adb, s-taasde.adb, s-tasren.adb,
s-taprob.adb, a-caldel.adb, s-parame.ads, Makefile.rtl, s-tpobop.adb,
s-taenca.adb, s-parame-vxworks.ads: Remove support for System.Traces.

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

* a-ngelfu.ads Add preconditions to all functions
listed in Ada RM A.5.1(19-33) as having constraints on inputs.

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

* lib-xref.adb (Generate_Reference): ignore
references to entities which are Part_Of single concurrent
objects.

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

* sem_ch7.adb (Hide_Public_Entities): Add paragraph to main
comment.

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

* a-taside.adb (Activation_Is_Complete): Raise Program_Error if
Null_Task_Id is passed.

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

* einfo.ads, einfo.adb (Access_Disp_Table_Elab_Flag): New
attribute. Defined for record types and subtypes.
* exp_ch3.ads (Init_Secondary_Tags): Adding new formal
(Init_Tags_List) to facilitate generating separate code in the
IP routine to initialize the object components and for completing
the elaboration of dispatch tables.
* exp_ch3.adb (Build_Init_Procedure): Improve the code
generated in the IP routines by means of keeping separate
the initialization of the object components from the
initialization of its dispatch tables. (Init_Secondary_Tags):
Adding new formal (Init_Tags_List) and adjusting calls to
Ada.Tags.Set_Dynamic_Offset_To_Top since it has a new formal;
adjusting also calls to Ada.Tags.Register_Interface_Offset
because the type of one of its formals has been changed.
* a-tags.ads, a-tags.adb (Register_Interface_Offset): Profile
modified. Instead of receiving a pointer to an object this
routine receives now a primary tag.
(Set_Dyanic_Offset_To_Top): Profile modified. This routine receives an
additional formal: the tag of the primary dispatch table.
* exp_disp.ads (Elab_Flag_Needed): New subprogram.
* exp_disp.adb (Elab_Flag_Needed): New subprogram.
(Make_Tags): Adding the declaration of the elaboration flag (if needed).
* exp_aggr.adb (Build_Record_Aggr_Code): Adding actual of new
formal in calls to Init_Secondary_Tags.

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

* ghost.adb (Mark_And_Set_Ghost_Instantiation.Check_Ghost_Actuals): New
subprogram.
* sem_prag.adb (Pragma_Ghost): Add missing support for ghost
applied to generic subprograms.

From-SVN: r251838

6 years ago[multiple changes]
Arnaud Charlet [Thu, 7 Sep 2017 09:46:56 +0000 (11:46 +0200)]
[multiple changes]

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

* sem_util.adb (Check_Part_Of_Reference): rename Conc_Typ to Conc_Obj
(because it refers to the anonymous concurrent object, not its type);
fix condition for emitting error message about task/protected type,

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

* binde.adb (Debug_Flag_Old): If both -do and -dp
are specified, behave as if just -do was specified, rather than
using a mixture.

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

* system-vxworks-sparcv9.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
system-vxworks-m68k.ads, system-vxworks-mips.ads: Removed.

From-SVN: r251837

6 years ago[multiple changes]
Arnaud Charlet [Thu, 7 Sep 2017 09:40:16 +0000 (11:40 +0200)]
[multiple changes]

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

* sem_prag.adb (Find_Role): The Global_Seen flag
is now consulted not only for abstract states and variables,
but for all kinds of items.
(Collect_Subprogram_Inputs_Outputs): Do not process formal
generic parameters, because unlike ordinary formal parameters,
generic formals only act as input/ outputs if they are explicitly
mentioned in a Global contract.

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

* ghost.adb (Check_Ghost_Context): Do not err on ghost code inside
predicate procedure. Check predicate pragma/aspect with Ghost entity.
* exp_ch6.adb, par-ch6.adb, sem_ch13.adb, sem_prag.adb; Minor
reformatting.

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

* sem_aggr.adb: Move New_Copy_Tree_And_Dimensions to sem_dim
(code cleanup);
* sem_ch3.adb (Build_Derived_Record_Type):i Call
Copy_Dimensions_Of_Components after creating the copy of the
record declaration.
* sem_dim.ads, sem_dim.adb (Copy_Dimensions_Of_Components): For a
derived recor type, copy the dikensions if any of each component
of the parent record to the corresponding component declarations
of the derived record. These expressions are used among other
things as default values in aggregates with box associations.
* a-dirval-mingw.adb, g-cgi.adb, gnatcmd.adb, lib-xref.adb,
repinfo.adb, sem_attr.adb, sem_ch10.adb, sem_ch6.adb, sem_prag.adb:
Minor reformatting.

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

* sem_util.adb: Remove extra space after THEN.

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

* sem_ch7.adb (Has_Referencer): For a subprogram renaming,
also mark the renamed subprogram as referenced.

From-SVN: r251836

6 years ago[multiple changes]
Arnaud Charlet [Thu, 7 Sep 2017 09:33:27 +0000 (11:33 +0200)]
[multiple changes]

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

* par-ch6.adb (P_Subprogram): Improve error message on null
procedure with misplaced aspect specification, which the parser
first attempts to interpret as a malformed expression function.

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

* sem_attr.adb (Analyze_Attribute_Old_Result):
Allow attributes Result and Old in the case of an expression
function.

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

* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Propagate
Volatile to subcomponents.

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

* exp_ch7.adb (Find_Last_Init): Check for the
case where a build-in-place function call has been replaced by a
'Reference attribute reference.

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

* sem_ch7.adb (Has_Referencer): Recurse on Actions of freeze
nodes.

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

* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration,
Make_Build_In_Place_Call_In_Anonymous_Context): Do not use the
secondary stack for all functions that return limited tagged
types -- just do it for dispatching calls.  Misc cleanup.
* sem_util.ads, sem_util.adb (Unqual_Conv): New function to
remove qualifications and type conversions. Fix various bugs
where only a single level of qualification or conversion was
removed, so e.g. "T1'(T2'(X))" would incorrectly return "T2'(X)"
instead of "X".
* checks.adb, exp_util.ads, exp_util.adb, sem_res.adb: Misc related
cleanup.

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

* sem_ch6.adb (setr_Actual_Subtypes): Within a predicate function
do not create actual subtypes that may generate further predicate
functions.
* sem_ch13.adb (Build_Predicate_Functions): Indicate that entity
of body is a predicate function as well.
(Resolve_Aspect_Expressions, Resolve_Name): For a component
association, only the expression needs resolution, not the name.
(Resolve_Aspect_Expressions, case Predicates): Construct and
analyze the predicate function declaration in the scope of the
type, before making the type and its discriminants visible.

From-SVN: r251835

6 years agore PR ada/82126 (gnat.dg/alignment3.adb FAILs)
Eric Botcazou [Thu, 7 Sep 2017 09:27:31 +0000 (09:27 +0000)]
re PR ada/82126 (gnat.dg/alignment3.adb FAILs)

PR ada/82126
* gnat.dg/alignment3.adb: Add pragma No_Component_Reordering.

From-SVN: r251834

6 years agopasses.def (pass_split_crit_edges): Remove instance before PRE.
Richard Biener [Thu, 7 Sep 2017 07:44:43 +0000 (07:44 +0000)]
passes.def (pass_split_crit_edges): Remove instance before PRE.

2017-09-07  Richard Biener  <rguenther@suse.de>

* passes.def (pass_split_crit_edges): Remove instance before PRE.
* tree-ssa-pre.c (pass_pre::execute): Instead manually split
critical edges here, after loop init.
(pass_data_pre): Remove PROP_no_crit_edges flags.
* tree-ssa-sccvn.c (vn_reference_lookup_3): Use vn_valueize
for valueization of call args to avoid leaking VN_TOP.
(visit_use): Assert we do not visit default defs.
(init_scc_vn): Use build_decl for VN_TOP to make name nicer.
Use error_mark_node to more easily detect leaking VN_TOP.
All default-defs are varying, not VN_TOP.  Mark them visited.
(run_scc_vn): Make code match comment.

* gcc.dg/tree-ssa/ssa-thread-12.c: XFAIL third FSM threading
opportunity.

From-SVN: r251833

6 years agoPR c++/82053 - ICE with default argument in lambda in template
Jason Merrill [Thu, 7 Sep 2017 01:02:46 +0000 (21:02 -0400)]
PR c++/82053 - ICE with default argument in lambda in template

* pt.c (tsubst_arg_types): Substitute default arguments for lambdas
in templates.
(retrieve_specialization): Use lambda_fn_in_template_p.
* cp-tree.h: Declare it.

From-SVN: r251826

6 years agoDaily bump.
GCC Administrator [Thu, 7 Sep 2017 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r251825

6 years agoPR c++/82070 - error with nested lambda capture
Jason Merrill [Wed, 6 Sep 2017 19:36:48 +0000 (15:36 -0400)]
PR c++/82070 - error with nested lambda capture

* pt.c (tsubst_expr) [DECL_EXPR]: Register capture proxies with
register_local_specialization.

From-SVN: r251819

6 years agors6000-cpus.def (OTHER_VSX_VECTOR_MASKS): Delete OPTION_MASK_FLOAT128_KEYWORD.
Michael Meissner [Wed, 6 Sep 2017 17:41:08 +0000 (17:41 +0000)]
rs6000-cpus.def (OTHER_VSX_VECTOR_MASKS): Delete OPTION_MASK_FLOAT128_KEYWORD.

[gcc]
2017-09-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000-cpus.def (OTHER_VSX_VECTOR_MASKS): Delete
OPTION_MASK_FLOAT128_KEYWORD.
(POWERPC_MASKS): Likewise.
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Delete
support for the -mfloat128-type option, and make -mfloat128
default on PowerPC Linux systems.  Define or undefine
__FLOAT128__ and  __FLOAT128_HARDWARE__ for the current options.
Define __float128 to be __ieee128 if IEEE 128-bit support is
enabled, or undefine it.
(rs6000_cpu_cpp_builtins): Delete defining __FLOAT128__ here.
Delete defining __FLOAT128_TYPE__.
* config/rs6000/rs6000.opt (x_TARGET_FLOAT128_TYPE): Delete the
-mfloat128-type option and make -mfloat128 default on PowerPC
Linux systems.
(TARGET_FLOAT128_TYPE): Likewise.
(-mfloat128-type): Likewise.
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Delete the -mfloat128-type option and make -mfloat128 default on
PowerPC Linux systems.  Always use __ieee128 to be the keyword for
the IEEE 128-bit type, and map __float128 to __ieee128 if IEEE
128-bit floating point is enabled.  Change tests from using
-mfloat128-type to -mfloat128.
(rs6000_mangle_type): Use the correct mangling for the __float128
type even if normal long double is restricted to 64-bits.
(floatn_mode): Enable the _Float128 type by default on VSX Linux
systems.
* config/rs6000/rs6000.h (MASK_FLOAT128_TYPE): Delete.
(MASK_FLOAT128_KEYWORD): Define new shortcut macro.
(RS6000BTM_FLOAT128): Define in terms of -mfloat128, not
-mfloat128-type.
* doc/invoke.texi (RS/6000 and PowerPC Options): Update
documentation for -mfloat128.

[gcc/testsuite]
2017-09-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/float128-1.c: Update options to know that
-mfloat128 is now on by default on PowerPC VSX systems.  Remove
-static-libgcc option which is no longer needed.  Use -mvsx or
-mpower9-vector to enable VSX or hardware IEEE support, rather
than specifying a particular CPU.
* gcc.target/powerpc/float128-2.c: Likewise.
* gcc.target/powerpc/float128-cmp.c: Likewise.
* gcc.target/powerpc/float128-complex-1.c: Likewise.
* gcc.target/powerpc/float128-complex-2.c: Likewise.
* gcc.target/powerpc/float128-hw.c: Likewise.
* gcc.target/powerpc/float128-mix.c: Likewise.
* gcc.target/powerpc/float128-type-1.c: Likewise.
* gcc.target/powerpc/float128-type-2.c: Likewise.
* gcc.target/powerpc/float128-3.c: New test.
* gcc.target/powerpc/float128-4.c: Likewise.
* gcc.target/powerpc/float128-5.c: Likewise.

From-SVN: r251814

6 years agodecl.c (warn_on_field_placement): Issue the warning only if the record type itself...
Eric Botcazou [Wed, 6 Sep 2017 17:22:40 +0000 (17:22 +0000)]
decl.c (warn_on_field_placement): Issue the warning only if the record type itself comes from source.

* gcc-interface/decl.c (warn_on_field_placement): Issue the warning
only if the record type itself comes from source.

From-SVN: r251812

6 years agoPR78468 - add alloca alignment test
Wilco Dijkstra [Wed, 6 Sep 2017 16:34:54 +0000 (16:34 +0000)]
PR78468 - add alloca alignment test

Add an alignment test to check that aligned alloca's really do get
correctly aligned.  Some targets may not ensure SP is always a multiple
of STACK_BOUNDARY (particularly with outgoing arguments), which means
aligned alloca does not get correctly aligned.  This can be fixed either
by aligning the outgoing arguments or setting STACK_BOUNDARY correctly.

    testsuite/
        PR middle-end/78468
* gcc.dg/pr78468.c: Add alignment test.

From-SVN: r251811

6 years agoconfig.gcc (powerpc-wrs-vxworksspe): Now match as vxworks*spe.
Olivier Hainque [Wed, 6 Sep 2017 15:51:51 +0000 (15:51 +0000)]
config.gcc (powerpc-wrs-vxworksspe): Now match as vxworks*spe.

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

* config.gcc (powerpc-wrs-vxworksspe): Now match as vxworks*spe.

From-SVN: r251809

6 years agoname-lookup.h (lookup_field_1): Delete.
Nathan Sidwell [Wed, 6 Sep 2017 15:32:46 +0000 (15:32 +0000)]
name-lookup.h (lookup_field_1): Delete.

* name-lookup.h (lookup_field_1): Delete.
(get_class_binding_direct, get_class_binding): Add type_or_fns arg.
* name-lookup.c (lookup_field_1): make static
(method_vec_binary_search, method_vec_linear_search): New.  Broken
out of ...
(get_class_binding_direct): ... here.  Add TYPE_OR_FNS argument.
Do complete search of this level.
(get_class_binding): Adjust.
* decl.c (reshape_init_class): Call get_class_binding.
* search.c (lookup_field_r): Move field searching into
get_class_binding_direct.

From-SVN: r251808

6 years ago[multiple changes]
Arnaud Charlet [Wed, 6 Sep 2017 15:21:11 +0000 (17:21 +0200)]
[multiple changes]

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

* sem_ch5.adb: Minor reformatting and a typo fix

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

* sinput-l.ads: minor remove extra period at the end of comment

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

* sem_prag.adb (Add_Item_To_Name_Buffer): remove support for
E_Discriminant.
(Find_Role): remove support for E_Discriminant.

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

* exp_ch6.adb (Expand_Simple_Function_Return):
Add missing implicit type conversion to force displacement of the
"this" pointer.

From-SVN: r251807

6 years agoasan.c (initialize_sanitizer_builtins): Add BT_FN_VOID_UINT8_UINT8...
Wish Wu [Wed, 6 Sep 2017 14:30:46 +0000 (14:30 +0000)]
asan.c (initialize_sanitizer_builtins): Add BT_FN_VOID_UINT8_UINT8...

* asan.c (initialize_sanitizer_builtins): Add
BT_FN_VOID_UINT8_UINT8, BT_FN_VOID_UINT16_UINT16,
BT_FN_VOID_UINT32_UINT32, BT_FN_VOID_UINT64_UINT64,
BT_FN_VOID_FLOAT_FLOAT, BT_FN_VOID_DOUBLE_DOUBLE and
BT_FN_VOID_UINT64_PTR variables.
* builtin-types.def (BT_FN_VOID_UINT8_UINT8): New fn type.
(BT_FN_VOID_UINT16_UINT16): Likewise.
(BT_FN_VOID_UINT32_UINT32): Likewise.
(BT_FN_VOID_FLOAT_FLOAT): Likewise.
(BT_FN_VOID_DOUBLE_DOUBLE): Likewise.
(BT_FN_VOID_UINT64_PTR): Likewise.
* common.opt (flag_sanitize_coverage): New variable.
(fsanitize-coverage=trace-pc): Remove.
(fsanitize-coverage=): Add.
* flag-types.h (enum sanitize_coverage_code): New enum.
* fold-const.c (fold_range_test): Disable non-short-circuit
optimization if flag_sanitize_coverage.
(fold_truth_andor): Likewise.
* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
* opts.c (COVERAGE_SANITIZER_OPT): Define.
(coverage_sanitizer_opts): New array.
(get_closest_sanitizer_option): Add OPTS argument, handle also
OPT_fsanitize_coverage_.
(parse_sanitizer_options): Adjusted to also handle
OPT_fsanitize_coverage_.
(common_handle_option): Add OPT_fsanitize_coverage_.
* sancov.c (instrument_comparison, instrument_switch): New function.
(sancov_pass): Add trace-cmp support.
* sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_CMP1,
BUILT_IN_SANITIZER_COV_TRACE_CMP2, BUILT_IN_SANITIZER_COV_TRACE_CMP4,
BUILT_IN_SANITIZER_COV_TRACE_CMP8,
BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP1,
BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP2,
BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP4,
BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP8,
BUILT_IN_SANITIZER_COV_TRACE_CMPF, BUILT_IN_SANITIZER_COV_TRACE_CMPD,
BUILT_IN_SANITIZER_COV_TRACE_SWITCH): New builtins.
* doc/invoke.texi: Document -fsanitize-coverage=trace-cmp.

* gcc.dg/sancov/cmp0.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r251801

6 years ago[arm] Improve error checking in parsecpu.awk
Richard Earnshaw [Wed, 6 Sep 2017 13:42:54 +0000 (13:42 +0000)]
[arm] Improve error checking in parsecpu.awk

This patch adds a bit more error checking to parsecpu.awk to ensure
that statements are not missing arguments or have excess arguments
beyond those permitted.  It also slightly improves the handling of
errors so that we terminate properly if parsing fails and be as
helpful as we can while in the parsing phase.

* config/arm/parsecpu.awk (fatal): Note that we've encountered an
error.  Only quit immediately if parsing is complete.
(BEGIN): Initialize fatal_err and parse_done.
(begin fpu, end fpu): Check number of arguments.
(begin arch, end arch): Likewise.
(begin cpu, end cpu): Likewise.
(cname, tune for, tune flags, architecture, fpu, option): Likewise.
(optalias): Likewise.

From-SVN: r251800

6 years ago[arm] auto-generate arm-isa.h from CPU descriptions
Richard Earnshaw [Wed, 6 Sep 2017 13:42:46 +0000 (13:42 +0000)]
[arm] auto-generate arm-isa.h from CPU descriptions

This patch autogenerates arm-isa.h from new entries in arm-cpus.in.
This has the primary advantage that it makes the description file more
self-contained, but it also solves the 'array dimensioning' problem
that Tamar recently encountered.  It adds two new constructs to
arm-cpus.in: features and fgroups.  Fgroups are simply a way of naming
a group of feature bits so that they can be referenced together.  We
follow the convention that feature bits are all lower case, while
fgroups are (predominantly) upper case.  This is helpful as in some
contexts they share the same namespace.  Most of the minor changes in
this patch are related to adopting this new naming convention.

* config.gcc (arm*-*-*): Don't add arm-isa.h to tm_p_file.
* config/arm/arm-isa.h: Delete.  Move definitions to ...
* arm-cpus.in: ... here.  Use new feature and fgroup values.
* config/arm/arm.c (arm_option_override): Use lower case for feature
bit names.
* config/arm/arm.h (TARGET_HARD_FLOAT): Likewise.
(TARGET_VFP3, TARGET_VFP5, TARGET_FMA): Likewise.
* config/arm/parsecpu.awk (END): Add new command 'isa'.
(isa_pfx): Delete.
(print_isa_bits_for): New function.
(gen_isa): New function.
(gen_comm_data): Use print_isa_bits_for.
(define feature): New keyword.
(define fgroup): New keyword.
* config/arm/t-arm (OPTIONS_H_EXTRA): Add arm-isa.h
(arm-isa.h): Add rule to generate file.
* common/config/arm/arm-common.c: (arm_canon_arch_option): Use lower
case for feature bit names.

From-SVN: r251799

6 years agotree-ssa-pre.c (NECESSARY): Remove.
Richard Biener [Wed, 6 Sep 2017 13:26:54 +0000 (13:26 +0000)]
tree-ssa-pre.c (NECESSARY): Remove.

2017-09-06  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (NECESSARY): Remove.
(create_expression_by_pieces): Do not touch pass-local flags.
(insert_into_preds_of_block): Likewise.
(do_pre_regular_insertion): Likewise.
(eliminate_insert): Likewise.
(eliminate_dom_walker::before_dom_children): Likewise.
(fini_eliminate): Do not look at inserted_exprs.
(mark_operand_necessary): Remove.
(remove_dead_inserted_code): Replace with simple work-list
algorithm based on inserted_exprs and SSA uses.
(pass_pre::execute): Re-order fini_eliminate and
remove_dead_inserted_code.

From-SVN: r251798

6 years ago[multiple changes]
Arnaud Charlet [Wed, 6 Sep 2017 13:21:31 +0000 (15:21 +0200)]
[multiple changes]

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

* sem_ch3.adb, sem_aux.adb, sem_res.adb: Minor reformatting.

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

* sem_ch12.adb (Analyze_Instance_And_Renamings): Refactor to set
global variable Ignore_SPARK_Mode_Pragmas_In_Instance only once.

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

* sem_ch8.adb: Change Assert to be consistent with
other similar ones.

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

* binde.adb (Find_Elab_Order): Do not run Elab_Old unless
requested. Previously, the -do switch meant "run Elab_New and
Elab_Old and use the order chosen by Elab_Old, possibly with
debugging printouts comparing the two orders." Now it means
"do not run Elab_New." This is of use if there are bugs that
cause Elab_New to crash.
(Elab_Position, Num_Chosen): Change type to Nat, to avoid various
type conversions.
* ali.ads (Elab_Position): Change type to Nat, to avoid various
type conversions.

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

* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Fix
reference to SPARK RM.

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

* layout.adb: Use SSU short hand consistently throughout the file.

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

* freeze.adb (Freeze_Record_Type)
<Sized_Component_Total_Round_RM_Size>: New local variable to
accumulate the rounded RM_Size of components.  Update it for
every component whose RM_Size is statically known.  Add missing
guard to check that bit packing is really required before issuing
the error about packing.  Swap condition for clarity's sake.
* sem_prag.adb (Usage_Error): fix reference to
SPARK RM in comment

2017-09-06  Fedor Rybin  <frybin@adacore.com>

* makeutl.adb, makeutl.ads, mlib.adb, mlib.ads, mlib-fil.adb,
mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads,
mlib-tgt-specific.adb, mlib-tgt-specific.ads,
mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
mlib-tgt-specific-hpux.adb, mlib-tgt-specific-linux.adb,
mlib-tgt-specific-mingw.adb, mlib-tgt-specific-solaris.adb,
mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb, mlib-utl.adb,
mlib-utl.ads, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
prj-attr-pm.adb, prj-attr-pm.ads, prj-com.ads, prj-conf.adb,
prj-conf.ads, prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb,
prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb,
prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
prj-util.adb, prj-util.ads, sinput-p.adb, sinput-p.ads: Remove obsolete
project manager sources.

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

* sem_ch5.adb (Analyze_Assigment): If the left-hand side is an
entity of a mutable type and the right-hand side is a conditional
expression, resolve the alternatives of the conditional using
the base type of the target entity, because the alternatives
may have distinct subtypes. This is particularly relevant if
the alternatives are aggregates.

From-SVN: r251797

6 years agovxworks.h (VXCPU_FOR_8548): Correct definition for VxWorks 7.
Olivier Hainque [Wed, 6 Sep 2017 13:21:10 +0000 (13:21 +0000)]
vxworks.h (VXCPU_FOR_8548): Correct definition for VxWorks 7.

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

* config/powerpcspe/vxworks.h (VXCPU_FOR_8548): Correct definition
for VxWorks 7.  Adjust surrounding comments.

From-SVN: r251796

6 years agoclass.c (warn_hidden): Don't barf on non-functions.
Nathan Sidwell [Wed, 6 Sep 2017 13:19:49 +0000 (13:19 +0000)]
class.c (warn_hidden): Don't barf on non-functions.

* class.c (warn_hidden): Don't barf on non-functions.
* decl2.c (check_classfn): Likewise.  Check template match earlier.

From-SVN: r251795

6 years agoname-lookup.c (count_fields): Rename to ...
Nathan Sidwell [Wed, 6 Sep 2017 13:14:16 +0000 (13:14 +0000)]
name-lookup.c (count_fields): Rename to ...

* name-lookup.c (count_fields): Rename to ...
(count_class_fields): ... here.  Take a class, don't count
NULL-named fields.
(add_fields_to_record_type): Rename to ...
(field_vec_append_class_fields): ... here.  Take a class, don't
add NULL-named fields.
(add_enum_fields_to_record_type): Rename to ...
(field_vec_append_enum_values): ... here.
(set_class_bindings): Adjust, assert we added expected number.
(insert_late_enum_def_bindings): Reimplement.  Create vector if
there are now sufficient entries.

From-SVN: r251794

6 years ago[multiple changes]
Arnaud Charlet [Wed, 6 Sep 2017 12:58:27 +0000 (14:58 +0200)]
[multiple changes]

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

* checks.adb (Apply_Predicate_Check): If the expression is an
aggregate that is the RHS of an assignment, apply the check to
the LHS after the assignment, rather than to the aggregate. This
is more efficient than creating a temporary for the aggregate,
and prevents back-end crashes when the aggregate includes a
dynamic "others' association.

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

* sem_ch12.adb (Analyze_Instance_And_Renamings):
Set variable to ignore SPARK_Mode in instance before the analysis
of the generated package declaration.

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

* sem_res.adb (Resolve_Call): Do not issue a
message for calls inside expression function, unless body was
seen and is candidate for inlining.

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

* sem_aux.adb (Is_Generic_Formal): Handle properly formal packages.
* sem_ch3.adb (Analyze_Declarations): In a generic subprogram
body. do not freeze the formals of the generic unit.

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

* errout.adb (Error_Msg): Separate the
treatment for warning vs. style messages in inlinings and
instantiations. Prevents blowups on calls to Warn_Insertion for
style messages, which should not be called in that case because
Warning_Msg_Char is not set.

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

* sem_prag.adb (Check_VFA_Conflicts): Created
to group all Volatile_Full_Access checks relating to other
representation pragmas (Mark_Component_Or_Object): Created
to centeralize the flagging of attributes for the record type
component case, a pragma applied individually to a component, and
the object case.
(Process_Atomic_Independent_Shared_Volatile):
Add propagation of certain pragmas to record components and move
evaluation of VFA checks

From-SVN: r251793

6 years ago20050604-1.c: Adjust to be a better test for correctness of vector lowering.
Richard Biener [Wed, 6 Sep 2017 12:57:32 +0000 (12:57 +0000)]
20050604-1.c: Adjust to be a better test for correctness of vector lowering.

2017-09-06  Richard Biener  <rguenther@suse.de>

* gcc.c-torture/execute/20050604-1.c: Adjust to be a better
test for correctness of vector lowering.

From-SVN: r251792

6 years ago2017-09-06 Richard Biener <rguenther@suse.de>
Richard Biener [Wed, 6 Sep 2017 12:55:13 +0000 (12:55 +0000)]
2017-09-06  Richard Biener  <rguenther@suse.de>

* gimple-ssa-strength-reduction.c
(find_candidates_dom_walker::before_dom_children): Also allow
pointer types.

From-SVN: r251791

6 years agore PR target/82108 (Wrong vectorized code generated for x86_64)
Richard Biener [Wed, 6 Sep 2017 12:31:52 +0000 (12:31 +0000)]
re PR target/82108 (Wrong vectorized code generated for x86_64)

2017-09-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/82108
* tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment
for gap in the non-permutation SLP case.

* gcc.dg/vect/pr82108.c: New testcase.

From-SVN: r251790

6 years ago[multiple changes]
Arnaud Charlet [Wed, 6 Sep 2017 12:27:15 +0000 (14:27 +0200)]
[multiple changes]

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

* sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram):
Do not warn on conditions that are not obeyed for Inline_Always
subprograms, when assertions are not enabled.

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

* sem_util.adb (Unique_Entity): For abstract states return their
non-limited view.

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

* sem_ch12.adb (Copy_Generic_Node): When we copy a node
that is a proper body corresponding to a stub, we defer the
adjustment of the sloc until after the correct adjustment has
been computed. Otherwise, Adjust_Instantiation_Sloc will ignore
the adjustment, because it will be outside the range in (the old,
incorrect) S_Adjustment.
* inline.adb: Use named notation for readability and uniformity.
* sinput-l.adb: Minor improvements to debugging output printed
for Debug_Flag_L.
* sinput-l.ads (Create_Instantiation_Source): Minor comment
correction.

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

* make.adb: Do not invoke gprbuild for -bargs -P.

2017-09-06  Sylvain Dailler  <dailler@adacore.com>

* sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Adding a
case when Op is of kind N_Qualified_Expression. In this case,
the function is called recursively on the subexpression like in
other cases.
* make.adb: Minor reformatting

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

* einfo.adb (Set_Linker_Section_Pragma): Modify
Set_Linker_Section_Pragma to be consistant with the "getter"
Linker_Section_Pragma.
* exp_ch5.adb (Expand_Formal_Container_Loop): Add proper error
checking for container loops so that the index cursor is not
directly changable by the user with the use of E_Loop_Parameter.
* sem_ch5.adb (Analyze_Block_Statement): Revert previous change.
* sem_warn.adb (Check_References): Revert previous change.

From-SVN: r251789

6 years agotrans.c (gnat_to_gnu): Try again to translate the prefix after the field if it is...
Eric Botcazou [Wed, 6 Sep 2017 12:23:36 +0000 (12:23 +0000)]
trans.c (gnat_to_gnu): Try again to translate the prefix after the field if it is incomplete.

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

* gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Try
again to translate the prefix after the field if it is incomplete.

From-SVN: r251788

6 years agoMakefile.in: Remove the Project Manager from the GNAT tools.
Vincent Celier [Wed, 6 Sep 2017 12:18:24 +0000 (12:18 +0000)]
Makefile.in: Remove the Project Manager from the GNAT tools.

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

        * gcc-interface/Makefile.in: Remove the Project Manager from the GNAT
tools.

From-SVN: r251787

6 years ago[multiple changes]
Arnaud Charlet [Wed, 6 Sep 2017 12:16:32 +0000 (14:16 +0200)]
[multiple changes]

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

* exp_util.adb (Is_Displace_Call): Make sure it works for indirect
calls and the like.

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

* sem_prag.adb (Analyze_Depends_Global): Reinforce test on object
declarations to only consider valid uses of Global/Depends those on
single concurrent objects.

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

* sem_ch13.adb (Check_Record_Representation_Clause): Give an
error as soon as one of the specified components overlaps the
parent field.

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

* sem_prag.ads: minor fix typo in comment.

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

* sem_ch5.adb (Analyze_Block_Statement): Verify a block comes
from source before checking source references.
* sem_warn.adb (Check_References): Add check for internal block
before recursing.

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

* make.adb, makeusg.adb, switch-m.adb, switch-m.ads, make_util.adb,
make_util.ads, sinput.adb, sinput.ads, clean.adb, gnatls.adb,
gnatname.adb: Remove the Project Manager from the GNAT tools.

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

* sem_util.ads: Minor comment fix.

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

* sem_ch12.adb (Analyze_Associations, case of Formal_Package):
Generate a freeze node for the actual of a formal package, if
the actual is declared in the same unit and has a corresponding
body, to prevent the current instance from being frozen before
the actual is.

From-SVN: r251786

6 years ago[multiple changes]
Arnaud Charlet [Wed, 6 Sep 2017 12:05:48 +0000 (14:05 +0200)]
[multiple changes]

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

* sem_ch7.adb (Entity_Table_Size): Change to nearest prime number.

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

* sem_warn.adb: Minor refactoring.

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

* einfo.ads, einfo.adb (Get_Classwwide_Pragma): New utility,
to retrieve the inherited classwide precondition/postcondition
of a subprogram.
* freeze.adb (Freeze_Entity): Use Get_Classwide_Pragma when
freezing a subprogram, to complete the generation of the
corresponding checking code.

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

* inline.adb (Analyze_Inlined_Bodies): Remove restriction on
loading of parent body with a with clause for the main unit.
* gcc-interface/decl.c (defer_limited_with_list): Document
new usage.
(gnat_to_gnu_entity) <E_Access_Type>: Handle
completed Taft Amendment types declared in external units like
types from limited with clauses.  Adjust final processing of
defer_limited_with_list accordingly.

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

* exp_util.adb (Is_Controlled_Indexing): New routine.
(Is_Displace_Call): Use routine Strip to remove indirections.
(Is_Displacement_Of_Object_Or_Function_Result): Code clean up. Add a
missing case of controlled generalized indexing.
(Is_Source_Object): Use routine Strip to remove indirections.
(Strip): New routine.

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

* sysdep.c (__gnat_has_cap_sys_nice): If HAVE_CAPABILITY is defined,
we include the proper header. Otherwise, we just declare the necessary
things from the capabilities library. This is so we can build on
machines without that library, while still enabling that library.
At run time, we're using weak symbols, so __gnat_has_cap_sys_nice will
simply return 0 if the library is not present, or not included
in the link.

2017-09-06  Pierre-Marie de Rodat  <derodat@adacore.com>

* exp_dbug.adb (Debug_Renaming_Declaration): Do not create an encoding
for renamings that involve function calls in prefix form.

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

* sem_ch3.adb (Analyze_Subtype_Declaration):
Set Has_Delayed_Freeze on a subtype of an incomplete type.

2017-09-06  Pierre-Marie de Rodat  <derodat@adacore.com>

* par_sco.adb (Extend_Statement_Sequence): When the accept statement
has no parameter specification and no entry index, use the entry name
as the end of the generated SCO statement.

From-SVN: r251785

6 years agoexp_util.adb (Side_Effect_Free): For CodePeer (only) treat uses of 'Image and related...
Steve Baird [Wed, 6 Sep 2017 12:01:13 +0000 (12:01 +0000)]
exp_util.adb (Side_Effect_Free): For CodePeer (only) treat uses of 'Image and related attributes as having side...

2017-09-06  Steve Baird  <baird@adacore.com>

* exp_util.adb (Side_Effect_Free): For CodePeer (only) treat
uses of 'Image and related attributes as having side effects in
order to avoid replicating such uses.
* pprint.ads (Expression_Image) Add new generic formal flag
Hide_Temp_Derefs.  The flag defaults to False; CodePeer will
(eventually) override the default.
* pprint.adb (Expression_Image) If the new flag is set, then
suppress the ".all" suffix when displaying a dereference whose
prefix is a use of a value-capturing compiler temp of the sort
generated by Expr_Util.Remove_Side_Effects .
* exp_attr.adb, g-catiio.adb, inline.adb, sem_attr.adb, sem_ch13.adb,
sem_ch7.adb, sem_dim.adb, sem_util.adb, sem_util.ads, sem_warn.adb:
Minor reformatting.
* inline.adb: Minor wording change.

From-SVN: r251784

6 years ago[multiple changes]
Arnaud Charlet [Wed, 6 Sep 2017 11:56:31 +0000 (13:56 +0200)]
[multiple changes]

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

* sem_ch7.adb: Update comment.

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

* einfo.adb, einfo.ads (Is_Subprogram_Or_Entry): New predicate.
* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Use new function.
* sem_util.adb, sem_util.ads (Within_Protected_Type): Renaming
with slight modification from Is_Subp_Or_Entry_Inside_Protected,
so that applies to any entity.

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

* sem_ch3.adb (Derived_Type_Declaration): Use
Incomplete_Or_Partial_View rather than local Find_Partial_View.

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

* g-catiio.ads, g-catiio.adb (Value): Extended to parse an UTC time
following ISO-8861.

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

* sem_dim.adb (Analyze_Dimension): In an instance, a type
conversion takes its dimensions from the expression, not from
the context type.
(Dimensions_Of_Operand): Ditto.

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

* exp_ch6.adb (Expand_Call_Helper): Do not optimize calls to
null procedures when GNAT coverage is used, so that their (empty)
bodies are properly covered.

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

* sem_ch13.adb (Resolve_Aspect_Expressions): If
the entity is a type with discriminants, make the discriminants
directly visible in aspect clauses.

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

* sem_res.adb (Resolve_Arithmentic_Op): If both operands are
Universal_Real and the context is a floating-point type, resolve
both operands to the target type.

From-SVN: r251783