platform/upstream/gcc.git
9 years agoCompute extend family info for AMD CPU and update for BTVER2
Ganesh Gopalasubramanian [Mon, 4 Aug 2014 09:27:31 +0000 (09:27 +0000)]
Compute extend family info for AMD CPU and update for BTVER2

From-SVN: r213544

9 years agoFor cproj test-case, use glibc version xfail
Tom de Vries [Mon, 4 Aug 2014 08:29:59 +0000 (08:29 +0000)]
For cproj test-case, use glibc version xfail

2014-08-04  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/cproj-fails-with-broken-glibc.c: Use xfail for broken glibc
version instead of required-target.
* lib/target-supports.exp
(check_effective_target_not_glibc_2_11_or_earlier): Replace by ...
(check_effective_target_glibc_2_11_or_earlier): ... this.

* doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
(glibc_2_11_or_earlier): Document effective-target keywords.

From-SVN: r213543

9 years agoexp_ch4.adb: Minor reformatting.
Robert Dewar [Mon, 4 Aug 2014 08:12:01 +0000 (08:12 +0000)]
exp_ch4.adb: Minor reformatting.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor reformatting.
* exp_attr.adb: Minor reformatting.

From-SVN: r213541

9 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 08:11:06 +0000 (10:11 +0200)]
[multiple changes]

2014-08-04  Thomas Quinot  <quinot@adacore.com>

* s-fatgen.ads, s-fatgen.adb (S, P): New visible type declarations
(Unaligned_Valid): Remove now unused subprogram.
* exp_attr.adb (Expand_N_Attribute_Reference, case
Attribute_Valid): If the prefix is in reverse SSO or potentially
unaligned, copy it using a byte copy operation to a temporary
variable.
* einfo.adb: Minor comment fix.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Freeze_Entity): Do not freeze formal subprograms.

From-SVN: r213540

9 years agos-imgrea.adb (Image_Floating_Point): Don't add space before +Inf.
Robert Dewar [Mon, 4 Aug 2014 08:09:31 +0000 (08:09 +0000)]
s-imgrea.adb (Image_Floating_Point): Don't add space before +Inf.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* s-imgrea.adb (Image_Floating_Point): Don't add space before +Inf.
* s-fatgen.adb (Pred): Handle Float'First.
(Succ): Handle Float'Last.

From-SVN: r213539

9 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 08:07:57 +0000 (10:07 +0200)]
[multiple changes]

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Is_Potentially_Unevaluated): If the original
node of a parent node in the tree is a short-circuit operation,
the node is potentially unevaluated.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_res.adb (Resolve_Type_Conversion): Set Do_Range_Check on
conversion from a real type to an integer type.

From-SVN: r213538

9 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 08:06:12 +0000 (10:06 +0200)]
[multiple changes]

2014-08-04  Yannick Moy  <moy@adacore.com>

* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_ch7.adb, sem_ch9.adb,
sem_ch12.adb, sem_util.adb, sem_util.ads, sem_res.adb, sem_attr.adb,
exp_ch6.adb, sem_ch4.adb, restrict.adb, restrict.ads, sem_ch6.adb,
sem_ch8.adb, sem_ch11.adb: Update some subprogram names to refer to
SPARK_05 instead of SPARK.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem.ads: Minor reformatting.
* sem_ch13.adb (Analyze_Aspect_External_Or_Link_Name): Minor
reformatting.
(Analyze_Aspect_Specifications, case Convention): Put External_Name
before Link_Name when constructing pragma.

From-SVN: r213537

9 years agosem.adb, sem.ads (In_Default_Expr): Global flag that is set to True during analysis...
Yannick Moy [Mon, 4 Aug 2014 08:01:36 +0000 (08:01 +0000)]
sem.adb, sem.ads (In_Default_Expr): Global flag that is set to True during analysis of a default component expression.

2014-08-04  Yannick Moy  <moy@adacore.com>

* sem.adb, sem.ads (In_Default_Expr): Global flag that is set
to True during analysis of a default component expression.
(Semantics): Save and restore In_Default_Expr around analysis.
* sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration):
Call new wrapper Preanalyze_Default_Expression.
(Preanalyze_Default_Expression): New wrapper on
Preanalyze_Spec_Expression which sets and restores In_Default_Expr.
* sem_res.adb (Resolve_Call): Mark calls inside default
expressions as not inlined in GNATprove mode.

From-SVN: r213536

9 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 08:00:05 +0000 (10:00 +0200)]
[multiple changes]

2014-08-04  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor reformatting.

2014-08-04  Olivier Hainque  <hainque@adacore.com>

* link.c: remove const on __gnat_objlist_file_supported for AIX

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_util.ads: Minor addition of comment.

2014-08-04  Vincent Celier  <celier@adacore.com>

* prj-dect.adb (Check_Package_Allowed): Allow package IDE in
all projects, including aggregate and aggregate library projects.

2014-08-04  Yannick Moy  <moy@adacore.com>

* back_end.adb (Call_Back_End): Do not call gigi in GNATprove mode.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_eval.adb (Test_In_Range): Always in range for
Is_Known_Valid target type, where input type has smaller or
equal size and does not have biased rep.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Eval_Attribute): Constrained is not treated as
a static attribute, and the Static flag must not be set on it
during resolution. It may be constant-folded during expansion,
but if expansion is disabled it is not a static expression.

From-SVN: r213535

9 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 07:57:40 +0000 (09:57 +0200)]
[multiple changes]

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch8.adb (Build_Class_Wide_Wrapper): Mark the primitive as
referenced once resolution has taken place.

2014-08-04  Gary Dismukes  <dismukes@adacore.com>

* exp_ch4.adb (Expand_N_Type_Conversion): Don't
compare access levels in the case where the target type is the
anonymous type of an access discriminant, since the level of
such types is defined based on context. Add comment.

From-SVN: r213534

9 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 07:56:02 +0000 (09:56 +0200)]
[multiple changes]

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch8.adb (Build_Class_Wide_Wrapper): Handle various special
cases related to equality.  Remove the special processing
for dispatching abstract subprograms as it is not needed.
(Interpretation_Error): Add a specialized error message for
predefined operators.
(Is_Intrinsic_Equality): New routine.
(Is_Suitable_Candidate): New routine.

2014-08-04  Gary Dismukes  <dismukes@adacore.com>

* checks.adb: Minor comment reformatting.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* restrict.adb (Check_Restriction): For checked max_parameter
restrictions reset Violated flag, so that subsequent violations
are properly detected.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb (Check_Initialization): Fix bad test of GNATprove
mode.
(Process_Discriminants): Fix bad test of GNATprove mode

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch12.adb (Instantiate_Formal_Subprogram):
Move variable to their own section. Propagate the source
location of a formal parameter to the corresponding formal of
the subprogram renaming declaration. Code reformatting.

From-SVN: r213533

9 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 07:54:00 +0000 (09:54 +0200)]
[multiple changes]

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Expand_Array_Aggregate): Do not attempt expansion
if error already detected.  We may reach this point in spite of
previous errors when compiling with -gnatq, to force all possible
errors (this is the usual ACATS mode).

2014-08-04  Gary Dismukes  <dismukes@adacore.com>

* checks.adb (Generate_Range_Check): For the case of converting
a base type with a larger range to a smaller target subtype, only
use unchecked conversions of bounds in the range check followed
by conversion in the case where both types are discrete. In other
cases, convert to the target base type and save in a temporary
followed by the range check.
(Convert_And_Check_Range): New procedure factoring code to save
conversion to a temporary followed by a range check (called two
places in Generate_Range_Check).
* exp_ch4.adb (Expand_N_Type_Conversion): Relax previous
check-in, to generate range checks for conversions between
any floating-point types rather than limiting it to matching
base types.

From-SVN: r213532

9 years agoRemoved.
Arnaud Charlet [Mon, 4 Aug 2014 07:53:47 +0000 (09:53 +0200)]
Removed.

From-SVN: r213531

9 years agodiscr6.adb, [...]: Removed, no longer relevant.
Arnaud Charlet [Mon, 4 Aug 2014 07:45:28 +0000 (07:45 +0000)]
discr6.adb, [...]: Removed, no longer relevant.

        * gnat.dg/discr6.adb, gnat.dg/discr6_pkg.ads: Removed, no longer
        relevant.
        * gnat.dg/debug1.ads: Adjust.
        * gnat.dg/formal_type.ads: Fix error in test.

From-SVN: r213530

9 years agoDaily bump.
GCC Administrator [Mon, 4 Aug 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213529

9 years agoipa-devirt.c (odr_type_warn_count): Add type.
Jan Hubicka [Sun, 3 Aug 2014 14:02:19 +0000 (14:02 +0000)]
ipa-devirt.c (odr_type_warn_count): Add type.

* ipa-devirt.c (odr_type_warn_count): Add type.
(possible_polymorphic_call_targets): Set it.
(ipa_devirt): Use it.

From-SVN: r213526

9 years agoc-common.c (check_case_value): Add location_t parameter.
Marek Polacek [Sun, 3 Aug 2014 12:23:03 +0000 (12:23 +0000)]
c-common.c (check_case_value): Add location_t parameter.

* c-common.c (check_case_value):  Add location_t parameter.  Use it.
(c_add_case_label): Pass loc to check_case_value.

* gcc.dg/case-bogus-1.c: New test.

From-SVN: r213525

9 years agoDaily bump.
GCC Administrator [Sun, 3 Aug 2014 00:16:53 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213523

9 years agore PR c++/15339 ([DR217] Adding default arguments to function templates in redeclarat...
Paolo Carlini [Sat, 2 Aug 2014 21:38:34 +0000 (21:38 +0000)]
re PR c++/15339 ([DR217] Adding default arguments to function templates in redeclarations should be forbidden)

2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/15339
* testsuite/26_numerics/headers/complex/synopsis.cc: Fix.

From-SVN: r213520

9 years agore PR c++/15339 ([DR217] Adding default arguments to function templates in redeclarat...
Paolo Carlini [Sat, 2 Aug 2014 19:41:32 +0000 (19:41 +0000)]
re PR c++/15339 ([DR217] Adding default arguments to function templates in redeclarations should be forbidden)

/cp
2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/15339
* decl.c (check_redeclaration_no_default_args): New.
(duplicate_decls): Use it, handle default arguments
in redeclarations of function templates.

/testsuite
2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/15339
* g++.dg/other/default9.C: New.
* g++.dg/other/default10.C: Likewise.
* g++.dg/other/default3.C: Remove xfail.

From-SVN: r213519

9 years agoinvoke.texi (Wsuggest-final-types, [...]): Document.
Jan Hubicka [Sat, 2 Aug 2014 15:13:41 +0000 (17:13 +0200)]
invoke.texi (Wsuggest-final-types, [...]): Document.

* doc/invoke.texi (Wsuggest-final-types, Wsuggest-final-methods): Document.
* ipa-devirt.c: Include hash-map.h
(struct polymorphic_call_target_d): Add type_warning and decl_warning.
(clear_speculation): Break out of ...
(get_class_context): ... here; speed up handling obviously useless
speculations.
(odr_type_warn_count, decl_warn_count): New structures.
(final_warning_record): New structure.
(final_warning_records): New static variable.
(possible_polymorphic_call_targets): Cleanup handling of speculative info;
do not build speculation when user do not care; record info about warnings
when asked for.
(add_decl_warning): New function.
(type_warning_cmp): New function.
(decl_warning_cmp): New function.
(ipa_devirt): Handle -Wsuggest-final-methods and -Wsuggest-final-types.
(gate): Enable pass when warnings are requested.
* common.opt (Wsuggest-final-types, Wsuggest-final-methods): New options.

* g++.dg/warn/Wsuggest-final.C: New testcase.
* g++.dg/ipa/devirt-34.C: Fix.

From-SVN: r213518

9 years agoconvert many uses of pointer_map to hash_map
Trevor Saunders [Sat, 2 Aug 2014 11:34:54 +0000 (11:34 +0000)]
convert many uses of pointer_map to hash_map

gcc/c-family/

* cilk.c: Use hash_map instead of pointer_map.

gcc/c/

* c-typeck.c: Use hash_map instead of pointer_map.

gcc/cp/

* optimize.c, semantics.c: Use hash_map instead of pointer_map.

gcc/

* hash-map.h (default_hashmap_traits::mark_key_deleted):
Fix cast.
(hash_map::remove): New method.
(hash_map::traverse): New method.
* cgraph.h, except.c, except.h, gimple-ssa-strength-reduction.c,
ipa-utils.c, lto-cgraph.c, lto-streamer.h, omp-low.c, predict.c,
tree-cfg.c, tree-cfgcleanup.c, tree-eh.c, tree-eh.h, tree-inline.c,
tree-inline.h, tree-nested.c, tree-sra.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-structalias.c,
tree-ssa.c, tree-ssa.h, var-tracking.c: Use hash_map instead of
 pointer_map.

From-SVN: r213517

9 years agoadd a hash_set based on hash_table
Trevor Saunders [Sat, 2 Aug 2014 11:23:49 +0000 (11:23 +0000)]
add a hash_set based on hash_table

This allows us to replace the usage of pointer_set outside of
pointer_map with a nicer interface.

gcc/ada/

* gcc-interface/trans.c: Use hash_set instead of pointer_set.

gcc/c-family/

* c-gimplify.c: Use hash_set instead of pointer_set.

gcc/c/

* c-decl.c: Use hash_set instead of pointer_set.

gcc/cp/

* class.c, cp-gimplify.c, cp-tree.h, decl.c, decl2.c, error.c,
method.c, name-lookup.c, pt.c, semantics.c, tree.c: Use hash_set
instead of pointer_set.

gcc/fortran/

* openmp.c, trans-decl.c: Use hash_set instead of pointer_set.

gcc/

* hash-set.h: new File.
* cfgexpand.c, cfgloop.c, cgraph.c, cgraphbuild.c, cgraphunit.c,
cprop.c, cse.c, gimple-walk.c, gimple-walk.h, gimplify.c, godump.c,
ipa-devirt.c, ipa-pure-const.c, ipa-visibility.c, ipa.c, lto-cgraph.c,
lto-streamer-out.c, stmt.c, tree-cfg.c, tree-core.h, tree-eh.c,
tree-inline.c, tree-inline.h, tree-nested.c, tree-pretty-print.c,
tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c,
tree-ssa-uninit.c, tree.c, tree.h, value-prof.c, varasm.c,
varpool.c: Use hash_set instead of pointer_set.

gcc/lto/

* lto-partition.c, lto-partition.h: Use hash_set instead of
pointer_set.

From-SVN: r213516

9 years agore PR c/59855 (Support sparse-style __attribute__((designated_init)) on structures...
Marek Polacek [Sat, 2 Aug 2014 05:52:30 +0000 (05:52 +0000)]
re PR c/59855 (Support sparse-style __attribute__((designated_init)) on structures, requiring designated initializers)

PR c/59855
* gcc.dg/Wdesignated-init-2.c: New test.

From-SVN: r213515

9 years agore PR other/61895 (libbacktrace crashes with bus error with empty file argv[0])
Ian Lance Taylor [Sat, 2 Aug 2014 00:54:15 +0000 (00:54 +0000)]
re PR other/61895 (libbacktrace crashes with bus error with empty file argv[0])

PR other/61895

runtime: Ignore small argv[0] file for backtrace.

Reportedly in some cases Docker starts processes with argv[0]
pointing to an empty file.  That would cause libgo to pass
that empty file to libbacktrace, which would then fail to do
any backtraces.  Everything should work fine if libbacktrace
falls back to /proc/self/exe.

This patch to libgo works around the problem by ignoring
argv[0] if it is a small file, or if stat fails.  This is not
a perfect fix but it's an unusual problem.

From-SVN: r213513

9 years agore PR c++/60417 ([DR 1518] Bogus error on C++03 aggregate initialization)
Jason Merrill [Sat, 2 Aug 2014 00:52:09 +0000 (20:52 -0400)]
re PR c++/60417 ([DR 1518] Bogus error on C++03 aggregate initialization)

PR c++/60417
* init.c (build_vec_init): Set CONSTRUCTOR_IS_DIRECT_INIT on
init-list for trailing elements.
* typeck2.c (process_init_constructor_array): Likewise.

From-SVN: r213511

9 years agoDaily bump.
GCC Administrator [Sat, 2 Aug 2014 00:16:58 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213510

9 years agoDR 217 again
Paolo Carlini [Fri, 1 Aug 2014 19:59:56 +0000 (19:59 +0000)]
DR 217 again

/cp
2014-08-01  Paolo Carlini  <paolo.carlini@oracle.com>

DR 217 again
* decl.c (duplicate_decls): Handle static member functions too.

/testsuite
2014-08-01  Paolo Carlini  <paolo.carlini@oracle.com>

DR 217 again
* g++.dg/tc1/dr217-2.C: New.

From-SVN: r213505

9 years agoatexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add _GLIBCXX_ prefix to macro.
Zifei Tong [Fri, 1 Aug 2014 19:45:56 +0000 (19:45 +0000)]
atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add _GLIBCXX_ prefix to macro.

2014-08-01  Zifei Tong  <zifeitong@gmail.com>

* libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
_GLIBCXX_ prefix to macro.

From-SVN: r213504

9 years ago* update_web_docs_svn: Simplify build of gnat_ugn.
Arnaud Charlet [Fri, 1 Aug 2014 19:00:14 +0000 (19:00 +0000)]
* update_web_docs_svn: Simplify build of gnat_ugn.

From-SVN: r213503

9 years agocp-array-notation.c (expand_an_in_modify_expr): Fix the misprint in error output.
Igor Zamyatin [Fri, 1 Aug 2014 17:23:40 +0000 (17:23 +0000)]
cp-array-notation.c (expand_an_in_modify_expr): Fix the misprint in error output.

gcc/cp/
* cp-array-notation.c (expand_an_in_modify_expr): Fix the misprint
in error output.

From-SVN: r213495

9 years agore PR other/61963 (CilkPlus Array Notation ICE in build_array_notation_ref on malform...
Igor Zamyatin [Fri, 1 Aug 2014 17:20:02 +0000 (17:20 +0000)]
re PR other/61963 (CilkPlus Array Notation ICE in build_array_notation_ref on malformed function arguments.)

PR other/61963

gcc/cp/
* parser.c (cp_parser_array_notation): Added check for array_type.

gcc/testsuite/
* c-c++-common/cilk-plus/AN/pr61963.c: New test.

From-SVN: r213494

9 years agore PR c++/61455 (Internal compiler error, and other confused errors, when using array...
Igor Zamyatin [Fri, 1 Aug 2014 16:54:27 +0000 (16:54 +0000)]
re PR c++/61455 (Internal compiler error, and other confused errors, when using array notation)

PR middle-end/61455

gcc/c-family/
* array-notation-common.c (extract_array_notation_exprs): Handling
of DECL_EXPR added.

gcc/c/
* c-array-notation.c (expand_array_notations): Handling
of DECL_EXPR added.

gcc/cp/
* cp-array-notation.c (expand_array_notation_exprs): Handling of
DECL_EXPR improved. Changed handling for INIT_EXPR.

gcc/testsuite/
* c-c++-common/cilk-plus/AN/pr61455.c: New test.
* c-c++-common/cilk-plus/AN/pr61455-2.c: Likewise.

From-SVN: r213491

9 years agoRemoved unused get_lane and dup_lane builtins.
Alan Lawrence [Fri, 1 Aug 2014 16:18:35 +0000 (16:18 +0000)]
Removed unused get_lane and dup_lane builtins.

* config/aarch64/aarch64-simd-builtins.def (dup_lane, get_lane): Delete.

From-SVN: r213490

9 years agoAdding missing testcase.
Jiong Wang [Fri, 1 Aug 2014 15:20:46 +0000 (15:20 +0000)]
Adding missing testcase.

(should svn add first...)

From-SVN: r213489

9 years ago[AArch64] Improve TARGET_LEGITIMIZE_ADDRESS_P hook
Jiong Wang [Fri, 1 Aug 2014 15:17:03 +0000 (15:17 +0000)]
[AArch64] Improve TARGET_LEGITIMIZE_ADDRESS_P hook

currently, aarch64 LEGITIMIZE_ADDRESS_P hook will reject all "reg + offset"
address given "offset" is beyond supported range.

while this may be too strict. we should honor the "strict_p" parameter in the
hook. before reload, we accept all offset if it's a frame access, because the
offset may change during later register elimination.

the early reject of "reg + offset" may cause extra registers created, and if
that register live range is across function invoking then callee saved reg
needed, thus introduce extra reg save/restore also.

give a simple example as:

int
test15 (void)
{
   unsigned char a[480];
   initialize_array (a, 480);

   if (a[0] == 0x10)
     return 1;

   return 0;
}

.S before the patch
(-O2 -fPIC)
===
test15:
         sub     sp, sp, #480
         mov     w1, 480
         stp     x29, x30, [sp, -32]!
         add     x29, sp, 0
         str     x19, [sp, 16]
         add     x19, x29, 32
         mov     x0, x19
         bl      initialize_array
         ldrb    w0, [x19]
         ldr     x19, [sp, 16]
         ldp     x29, x30, [sp], 32
         cmp     w0, 16
         cset    w0, eq
         add     sp, sp, 480
         ret

.S after the patch
===
test15:
         stp     x29, x30, [sp, -496]!
         mov     w1, 480
         add     x29, sp, 0
         add     x0, x29, 16
         bl      initialize_array
         ldrb    w0, [x29, 16]
         ldp     x29, x30, [sp], 496
         cmp     w0, 16
         cset    w0, eq
         ret

gcc/
  * config/aarch64/aarch64.c (aarch64_classify_address): Accept all offset for
  frame access when strict_p is false.

gcc/testsuite
   * gcc.target/aarch64/legitimize_stack_var_before_reload_1.c: New testcase.

From-SVN: r213488

9 years ago[AArch64][2/2] Add constrain to address offset in storewb_pair/loadwb_pair insns
Jiong Wang [Fri, 1 Aug 2014 15:09:05 +0000 (15:09 +0000)]
[AArch64][2/2] Add constrain to address offset in storewb_pair/loadwb_pair insns

Add a pridicate to check whether the const offset is valid.
For 32-bit variant: -256 <= offset <= 252
For 64-bit variant: -512 <= offset <= 504

2014-07-29  Renlin Li  <renlin.li@arm.com>
2014-07-29  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.c (offset_7bit_signed_scaled_p): Rename to
  aarch64_offset_7bit_signed_scaled_p, remove static and use it.
  * config/aarch64/aarch64-protos.h (aarch64_offset_7bit_signed_scaled_p):
  Declaration.
  * config/aarch64/predicates.md (aarch64_mem_pair_offset): Define new
  predicate.
  * config/aarch64/aarch64.md (loadwb_pair, storewb_pair): Use
  aarch64_mem_pair_offset.

From-SVN: r213487

9 years agoUpdate ChangeLog for commit 213485.
Jiong Wang [Fri, 1 Aug 2014 15:05:54 +0000 (15:05 +0000)]
Update ChangeLog for commit 213485.

From-SVN: r213486

9 years ago[AArch64][1/2] Fix offset glitch in load reg pair pattern
Jiong Wang [Fri, 1 Aug 2014 14:54:57 +0000 (14:54 +0000)]
[AArch64][1/2] Fix offset glitch in load reg pair pattern

on aarch64, we are using load register pair post-writeback instruction in
epilogue.

for example, for the following instruction:

ldp, x0, x1, [sp], #16

what it's doing is:

x0 <- MEM(sp + 0)
x1 <- MEM(sp + 8)
sp < sp + 16

while there is a glitch in our loadwb_pair* pattern, the restore of the
first reg should always be with offset zero.

(set (match_operand:GPI 2 "register_operand" "=r")
-          (mem:GPI (plus:P (match_dup 1)
-                   (match_dup 4))))
+          (mem:GPI (match_dup 1)))

gcc/
  * config/aarch64/aarch64.md (loadwb_pair<GPI:mode>_<P:mode>): Fix offset.
  (loadwb_pair<GPI:mode>_<P:mode>): Likewise.
  * config/aarch64/aarch64.c (aarch64_gen_loadwb_pair): Likewise.

From-SVN: r213485

9 years agoMIPS REGISTER_PREFIX definition
Matthew Fortune [Fri, 1 Aug 2014 14:46:25 +0000 (14:46 +0000)]
MIPS REGISTER_PREFIX definition

gcc/

* config/mips/mips.h (REGISTER_PREFIX): Define macro.

From-SVN: r213484

9 years agorestrict.adb (Update_Restrictions): For restrictions with a maximum parameter (e.g.
Ed Schonberg [Fri, 1 Aug 2014 14:46:11 +0000 (14:46 +0000)]
restrict.adb (Update_Restrictions): For restrictions with a maximum parameter (e.g.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* restrict.adb (Update_Restrictions): For restrictions with a
maximum parameter (e.g. number of protected entries in Ravenscar)
do not compute the maximum of the violation over several objects,
because the restriction is per-object.
(Check_Restriction): After possible message, reset the value
of of a checked max_parameter restriction to zero, to prevent
cascaded errors.
* sem_ch3.adb (Build_Derived_Private_Type): Use base of parent
(sub)type to determine whether derived type should be on the
list of private dependents of a type whose full view may become
visible subsequently.

From-SVN: r213483

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 14:45:26 +0000 (16:45 +0200)]
[multiple changes]

2014-08-01  Olivier Hainque  <hainque@adacore.com>

* gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS, native): use
$(CXX) instead of ../../xg++ to feed CXX.
(CXX_LFLAGS): Remove. Now unused as the proper flags
are expected to be included in the CXX variable.

2014-08-01  Pierre-Marie Derodat  <derodat@adacore.com>

* gcc-interface/decl.c (elaborate_expression_1): Return the new
variable when debug info is needed and the expression is not
constant.  Tag as external only new variables that are global.
(gnat_to_gnu_entity): Call it after the GNU declaration is saved.
* gcc-interface/trans.c (Attribute_to_gnu): Do not cache
attributes for IN array parameters when their actual subtype
needs debug info.
(Compilation_Unit_to_gnu): Call it to process all remaining nodes.
* gcc-interface/gigi.h (process_deferred_decl_context): New.
* gcc-interface/utils.c (gnat_write_global_declarations): Do not
emit debug info for ignored global declarations.
(struct deferred_decl_context_node,
add_deferred_decl_context, add_deferred_type_context,
compute_deferred_decl_context, defer_or_set_type_context,
deferred_decl_context_queue, get_debug_scope,
get_global_context, process_deferred_decl_context): New.
(gnat_pushdecl): Re-implement the DECL_CONTEXT and TYPE_CONTEXT
computation machinery to rely on the GNAT Scope attribute.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* gcc-interface/utils2.c (build_simple_component_ref): Add guard.

From-SVN: r213482

9 years agoAdd myself to Write After Approval list.
Jiong Wang [Fri, 1 Aug 2014 14:40:24 +0000 (14:40 +0000)]
Add myself to Write After Approval list.

  * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r213481

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 14:37:00 +0000 (16:37 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb, opt.ads Minor comment updates.

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_intr.adb (Expand_Unc_Deallocation): Request a renaming
from the side effects removal machinery.
* exp_util.adb (Duplicate_Subexpr): Add formal parameter
Renaming_Req. Update the nested call to Remove_Side_Effects.
(Duplicate_Subexpr_No_Checks): Add formal parameter
Renaming_Req. Update the nested call to Remove_Side_Effects.
(Duplicate_Subexpr_Move_Checks): Add formal parameter
Renaming_Req. Update the nested call to Remove_Side_Effects.
(Remove_Side_Effects): Add formal parameter Renaming_Req. Generate
an object renaming declaration when the caller requests it.
* exp_util.ads (Duplicate_Subexpr): Add formal
parameter Renaming_Req. Update comment on usage.
(Duplicate_Subexpr_No_Checks): Add formal parameter Renaming_Req.
(Duplicate_Subexpr_Move_Checks): Add formal parameter
Renaming_Req.

From-SVN: r213480

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 14:35:44 +0000 (16:35 +0200)]
[multiple changes]

2014-08-01  Bob Duff  <duff@adacore.com>

* gnat_ugn.texi: Minor updates.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* atree.adb: Minor reformatting.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Init_Hidden_Discriminants): If some ancestor is a
private extension, get stored constraint, if any, from full view.

From-SVN: r213479

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 14:34:37 +0000 (16:34 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* opt.ads (No_Elab_Code_All_Pragma): New global variable.
* sem_ch10.adb (Check_No_Elab_Code_All): New procedure
(Analyze_Compilation_Unit): Call Check_No_Elab_Code_All
(Analyze_Subunit_Context): Call Check_No_Elab_Code_All.
* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
Remove code for checking with's, now in sem_ch10.adb, set
Opt.No_Elab_Code_All_Pragma.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch3.adb (Copy_And_Build): Copy the declaration for
access types as well and adjust the subtype mark if there are
no constraints.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_eval.adb (Test_In_Range): Return Unknown if error posted.

From-SVN: r213478

9 years agosem_ch3.adb, [...]: Code clean ups.
Robert Dewar [Fri, 1 Aug 2014 14:33:17 +0000 (14:33 +0000)]
sem_ch3.adb, [...]: Code clean ups.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, einfo.ads, exp_ch4.adb: Code clean ups.

From-SVN: r213477

9 years agoeinfo.ads (Has_Private_Ancestor): Remove obsolete usage.
Eric Botcazou [Fri, 1 Aug 2014 14:31:20 +0000 (14:31 +0000)]
einfo.ads (Has_Private_Ancestor): Remove obsolete usage.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* einfo.ads (Has_Private_Ancestor): Remove obsolete usage.
* exp_ch4.adb (Expand_Composite_Equality): Add conversion
of the actuals in the case of untagged record types too.
* sem_ch3.adb (Build_Full_Derivation): New procedure to create the
full derivation of a derived private type, extracted from...
(Copy_And_Build): In the case of record types and most
enumeration types, copy the original declaration.  Build the
full derivation according to the approach extracted from...
(Build_Derived_Private_Type): ...here. Call Build_Full_Derivation
to create the full derivation in all existing cases and also
create it in the no-discriminants/discriminants case instead of
deriving directly from the full view.
(Is_Visible_Component): Remove obsolete code.
* sem_aggr.adb (Resolve_Record_Aggregate): Likewise.

From-SVN: r213476

9 years agoMinor reformatting.
Arnaud Charlet [Fri, 1 Aug 2014 14:26:57 +0000 (16:26 +0200)]
Minor reformatting.

From-SVN: r213474

9 years agofe.h (GNAT_Mode): New.
Arnaud Charlet [Fri, 1 Aug 2014 14:23:53 +0000 (14:23 +0000)]
fe.h (GNAT_Mode): New.

* fe.h (GNAT_Mode): New.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not error out on
reverse SSO in GNAT mode.

From-SVN: r213473

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 14:11:18 +0000 (16:11 +0200)]
[multiple changes]

2014-08-01  Thomas Quinot  <quinot@adacore.com>

* freeze.adb: Minor reformatting.

2014-08-01  Thomas Quinot  <quinot@adacore.com>

* exp_ch3.adb (Default_Initialize_Object): Do not generate
default initialization for an imported object.

2014-08-01  Olivier Hainque  <hainque@adacore.com>

* seh_init.c (__gnat_map_SEH): Cast argument of IsBadCodePtr
to the expected FARPROC type instead of void *.
* adaint.c (f2t): Expect __time64_t * as second argument, in line with
other datastructures.
(__gnat_file_time_name_attr): Adjust accordingly.
(__gnat_check_OWNER_ACL): Declare pSD as PSECURITY_DESCRIPTOR,
in line with uses.
(__gnat_check_OWNER_ACL): Declare AccessMode
parameter as ACCESS_MODE instead of DWORD, in line with callers
and uses.
(__gnat_set_executable): Add ATTRIBUTE_UNUSED on mode,
unused on win32.  Correct cast of "args" on call to spawnvp.
(add_handle): Cast realloc calls into their destination types.
(win32_wait): Remove declaration and initialization of unused variable.
(__gnat_locate_exec_on_path): Cast alloca calls
into their destination types.
* initialize.c (append_arg, __gnat_initialize): Cast xmalloc calls into
their destination types.

2014-08-01  Gary Dismukes  <dismukes@adacore.com>

* exp_ch4.adb (Expand_N_Type_Conversion): Expand
range checks for conversions between floating-point subtypes
when the target and source types are the same.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* exp_aggr.adb: Minor reformatting.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch13.adb (Check_Indexing_Functions): Initialize
Indexing_Found.

2014-08-01  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb (Gnat1drv): In gnatprove mode, we now write the
ALI file before we call the backend (so that gnat2why can append
to it).

2014-08-01  Thomas Quinot  <quinot@adacore.com>

* exp_pakd.adb (Expand_Bit_Packed_Element_Set,
Expand_Packed_Element_Reference): Pass additional Rev_SSO
parameter indicating whether the packed array type has reverse
scalar storage order to the s-pack* Set/Get routines.
* s-pack*.ad* (Get, Set, GetU, SetU): New formal Rev_SSO
indicating reverse scalar storage order.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb (Check_Initialization): Set Do_Range_Check
for initial component value in -gnatc or GNATprove mode.
(Process_Discriminants): Same fix for default discriminant values.
* sem_eval.adb (Test_In_Range): Improve accuracy of results by
checking subtypes.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sinfo.ads: Minor comment clarification.

From-SVN: r213471

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 14:05:00 +0000 (16:05 +0200)]
[multiple changes]

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): Code
reformatting. Store the generated pragma Import in the related
subprogram as routine Wrap_Imported_Subprogram will need it later.
* sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): An item of
a private type with discriminants is considered to fall in the
category of unconstrained or tagged items.

2014-08-01  Arnaud charlet  <charlet@adacore.com>

* s-os_lib.adb (Open_Append): New functions to open a file for
appending. This binds to the already existing (but not used)
__gnat_open_append.
* osint.ads, osint.adb (Open_File_To_Append_And_Check): New procedure
to open a file for appending.
* osint-c.ads, osint-c.adb (Open_Output_Library_Info): New procedure
to open the ALI file for appending.

From-SVN: r213470

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 14:02:43 +0000 (16:02 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb: Minor reformatting.

2014-08-01  Yannick Moy  <moy@adacore.com>

* sem_ch13.adb (Insert_Pragma): Add special case for precondition
pragmas from aspects, which need to be inserted in proper order.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Expand_Record_Aggregate, Init_Hidden_Discriminants):
Handle properly a type extension that constrains a discriminated
derived type that renames other discriminants of an ancestor.

2014-08-01  Thomas Quinot  <quinot@adacore.com>

* s-pack06.adb, s-pack10.adb, s-pack03.ads, s-pack12.adb, s-pack14.ads,
s-pack25.adb: Fix minor inconsistencies and typos.

From-SVN: r213469

9 years agosem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize globals and move certain varia...
Hristian Kirtchev [Fri, 1 Aug 2014 13:56:13 +0000 (13:56 +0000)]
sem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize globals and move certain variables to the "local variable" section.

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch8.adb (Analyze_Subprogram_Renaming): Alphabetize
globals and move certain variables to the "local
variable" section. Call Build_Class_Wide_Wrapper when
renaming a default actual subprogram with a class-wide actual.
(Build_Class_Wide_Wrapper): New routine.
(Check_Class_Wide_Actual): Removed.
(Find_Renamed_Entity): Code reformatting.
(Has_Class_Wide_Actual): Alphabetize. Change the
logic of the predicate as the renamed name may not necessarely
denote the correct subprogram.

From-SVN: r213467

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 13:54:30 +0000 (15:54 +0200)]
[multiple changes]

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch7.adb: Fix minor oversight in condition.

2014-08-01  Bob Duff  <duff@adacore.com>

* projects.texi: Minor documentation improvements.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* aspects.ads, aspects.adb: Add aspect No_Elaboration_Code_All.
* gnat_rm.texi: Document No_Elaboration_Code_All pragma and aspect.
* lib-load.adb: Initialize No_Elab_Code_All field.
* lib-writ.adb: Initialize No_Elab_Code_All.
* lib.ads, lib.adb: New field No_Elab_Code_All.
* par-prag.adb: Add dummy entry for pragma No_Elaboration_Code_All.
* restrict.ads, restrict.adb: Restriction No_Elaboration_Code_All no
longer exists.
* sem_ch10.adb (Analyze_Context): Processing for
No_Elaboration_Code_All removed.
(Generate_Parent_References): Moved to Sem_Util.
* sem_prag.adb: Add processing for pragma No_Elaboration_Code_All.
* sem_util.ads, sem_util.adb (Get_Parent_Entity): Moved here from
Sem_Ch10.
* snames.ads-tmpl: Add entry for pragma No_Elaboration_Code_All.
* targparm.adb: Minor comment updates Add comments on ignoring
pragma No_Elaboration_Code_All.

2014-08-01  Nicolas Roche  <roche@adacore.com>

* adaint.c (__gnat_set_close_on_exec): Ensure that
we can unset "close_on_exec" flag.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.adb (Build_Wrapper_Spec, Replicate_Formals): When building
the parameter specs of the wrapper program for a primitive operation
of a synchronized type that implements an interface, copy the
null_exclusion indicator as well.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_eval.ads: Minor reformatting.

From-SVN: r213466

9 years agoexp_ch3.adb (Build_Initialization_Call): Call Underlying_Type to go down the chain...
Eric Botcazou [Fri, 1 Aug 2014 13:51:43 +0000 (13:51 +0000)]
exp_ch3.adb (Build_Initialization_Call): Call Underlying_Type to go down the chain of private derivations.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch3.adb (Build_Initialization_Call): Call Underlying_Type
to go down the chain of private derivations.
* freeze.adb (Freeze_Entity): Fix typo in comment.

From-SVN: r213465

9 years agosem_ch3.adb (Access_Type_Declaration): If designated type is a limited view...
Ed Schonberg [Fri, 1 Aug 2014 13:50:32 +0000 (13:50 +0000)]
sem_ch3.adb (Access_Type_Declaration): If designated type is a limited view...

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Access_Type_Declaration): If designated type is
a limited view, create a master entity (as is already done for
class-wide types) in case the full view designates a type that
contains tasks.
* sem_ch8.adb (Find_Selected_Component): If prefix is a dereference
and the designated type is a limited view, use the non-limited
view if available.

From-SVN: r213464

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 13:47:34 +0000 (15:47 +0200)]
[multiple changes]

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_attr.adb (Analyze_Attribute): Preanalyze and resolve the
prefix of attribute Loop_Entry.
* sem_prag.adb (Analyze_Pragma): Verify the placement of pragma
Loop_Variant with respect to an enclosing loop (if any).
(Contains_Loop_Entry): Update the parameter profile and all
calls to this routine.
* sem_res.adb (Resolve_Call): Code reformatting. Do not ask
for the corresponding body before determining the nature of the
ultimate alias's declarative node.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb, sem_ch4.adb: Minor reformatting.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_eval.adb (Rewrite_In_Raise_CE): Don't try to reuse inner
constraint error node since it is a list member.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb: Minor reformatting.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* einfo.adb (Underlying_Type): Return the underlying full view
of a private type if present.
* freeze.adb (Freeze_Entity):
Build a single freeze node for partial, full and underlying full
views, if any.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Private_Type>: Add a
missing guard before the access to the Underlying_Full_View.
* gcc-interface/trans.c (process_freeze_entity): Deal with underlying
full view if present.
* gcc-interface/utils.c (make_dummy_type): Avoid superfluous work.

From-SVN: r213463

9 years agoada-tree.h (DECL_BY_DESCRIPTOR_P): Delete.
Arnaud Charlet [Fri, 1 Aug 2014 13:46:29 +0000 (15:46 +0200)]
ada-tree.h (DECL_BY_DESCRIPTOR_P): Delete.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* gcc-interface/ada-tree.h (DECL_BY_DESCRIPTOR_P): Delete.
(DECL_FUNCTION_STUB): Likewise.
(SET_DECL_FUNCTION_STUB): Likewise.
(DECL_PARM_ALT_TYPE): Likewise.
(SET_DECL_PARM_ALT_TYPE): Likewise.
(TYPE_VAX_FLOATING_POINT_P): Delete.
(TYPE_DIGITS_VALUE): Likewise.
(SET_TYPE_DIGITS_VALUE): Likewise.
* gcc-interface/gigi.h (standard_datatypes): Remove ADT_malloc32_decl.
(malloc32_decl): Delete.
(build_vms_descriptor): Likewise.
(build_vms_descriptor32): Likewise.
(fill_vms_descriptor): Likewise.
(convert_vms_descriptor): Likewise.
(TARGET_ABI_OPEN_VMS): Likewise.
(TARGET_MALLOC64): Likewise.
* gcc-interface/decl.c (add_parallel_type_for_packed_array): New.
(gnat_to_gnu_entity): Call it to add the original type as a parallel
type to the implementation type of a packed array type.
<E_Procedure>: Remove now obsolete kludge.
<E_Exception>: Delete obsolete comment.
<object>: Small tweak.
<E_Subprogram_Type>: Remove support for stub subprograms, as well as
for the descriptor passing mechanism.
(gnat_to_gnu_param): Likewise.
* gcc-interface/misc.c (gnat_init_gcc_fp): Remove special case.
(gnat_print_type): Adjust.
* gcc-interface/trans.c (gigi): Remove obsolete initializations.
(vms_builtin_establish_handler_decl): Delete.
(gnat_vms_condition_handler_decl): Likewise.
(establish_gnat_vms_condition_handler): Likewise.
(build_function_stub): Likewise.
(Subprogram_Body_to_gnu): Do not call above functions.
(Call_to_gnu): Remove support for the descriptor passing mechanism.
* gcc-interface/utils.c (make_descriptor_field): Delete.
(build_vms_descriptor32): Likewise.
(build_vms_descriptor): Likewise.
(fill_vms_descriptor): Likewise.
(convert_vms_descriptor64): Likewise.
(convert_vms_descriptor32): Likewise.
(convert_vms_descriptor): Likewise.
* gcc-interface/utils.c (unchecked_convert): Likewise.
* gcc-interface/utils2.c (maybe_wrap_malloc): Remove obsolete stuff.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* gcc-interface/trans.c (gigi): Use gnat_to_gnu_type for the exception
type and get_unpadded_type for the longest FP type.
(Attribute_to_gnu) <Machine>: Compare the precision of the types.
(convert_with_check): Adjust formatting and remove FIXME.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
Do not convert the RM bounds to the base type.
(E_Floating_Point_Subtype): Likewise.
(E_Array_Subtype): Convert the bounds to the base type.
* gcc-interface/trans.c (get_type_length): New function.
(Attribute_to_gnu) <Range_Length>: Call it.
<Length>: Likewise.
(Loop_Statement_to_gnu): Convert the bounds to the base type.
(gnat_to_gnu) <N_In>: Likewise.
* gcc-interface/utils.c (make_type_from_size): Do not convert the RM
bounds to the base type.
(create_range_type): Likewise.
(convert): Convert the bounds to the base type for biased types.
* gcc-interface/utils2.c (compare_arrays): Convert the bounds to the
base type.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Remove
incorrect implicit type derivation.
* gcc-interface/utils.c (max_size) <tcc_reference>: Convert the bounds
to the base type.

From-SVN: r213462

9 years agosem_res.adb (Resolve_Entry_Call): When an entry has preconditions...
Ed Schonberg [Fri, 1 Aug 2014 13:35:22 +0000 (13:35 +0000)]
sem_res.adb (Resolve_Entry_Call): When an entry has preconditions...

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Entry_Call): When an entry has
preconditions, the entry call is wrapped in a procedure call
that incorporates the precondition checks. To prevent a double
expansion, with possible duplication of extra formals, that
procedure call must only be pre-analyzed and resolved. Expansion
takes place upon return to the caller Resolve_Call.

From-SVN: r213461

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 13:32:40 +0000 (15:32 +0200)]
[multiple changes]

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_res.adb (Resolve_Call): Do not perform
GNATprove-specific inlining while within a generic.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Case_Expression): Handle properly a
case expression with incompatible alternatives, when the first
alternative is overloaded.

From-SVN: r213460

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 13:31:14 +0000 (15:31 +0200)]
[multiple changes]

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Check_Parameterless_Call): Use Relocate_Node
to create the name of the parameterless call, rather than
New_Copy, to preserve the tree structure when the name is a
complex expression, e.g. a selected component that denotes a
protected operation, whose prefix is itself a selected component.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use
Unit_Declaration_Node to retrieve body when inlining, to handle
properly subprogram child units.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_attr.adb: Minor reformatting.

From-SVN: r213459

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 13:28:35 +0000 (15:28 +0200)]
[multiple changes]

2014-08-01  Vincent Celier  <celier@adacore.com>

* debug.adb: Minor documentation addition for -dn switch.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_aggr.adb, exp_ch9.adb, sem_prag.adb, sem_util.adb,
sem_attr.adb, sem_eval.ads, sem_cat.adb, sem_ch13.adb: Improve
documentation of Is_Static_Expression vs Is_OK_Static_Expression.
In several places, use the Is_OK version as suggested by the spec.

2014-08-01  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb: Revert last change which was not correct.

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Find_Constant): Ensure that the constant being
inspected is still an object declaration (i.e. not a renaming).

From-SVN: r213458

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 13:26:17 +0000 (15:26 +0200)]
[multiple changes]

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Loop_Parameter_Specification): a)
An attribute_reference to Loop_Entry denotes an iterator
specification: its prefix is an object, as is the case for 'Old.
b) If the domain of iteration is an expression whose type has
the Iterable aspect defined, this is an iterator specification.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* gnatcmd.adb: Minor reformatting.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* atree.ads (Info_Messages): New counter.
* err_vars.ads: Minor comment update.
* errout.adb (Delete_Warning_And_Continuations): Deal
with new Info_Messages counter.
(Error_Msg_Internal): ditto.
(Delete_Warning): ditto.
(Initialize): ditto.
(Write_Error_Summary): ditto.
(Output_Messages): ditto.
(To_Be_Removed): ditto.
* erroutc.adb (Delete_Msg): Deal with Info_Messages counter.
(Compilation_Errors): ditto.
* errutil.adb (Error_Msg): Deal with Info_Messages counter.
(Finalize): ditto.
(Initialize): ditto.
* sem_prag.adb (Analyze_Pragma): Minor comment addition.
* gnat_ugn.texi: Document that -gnatwe does not affect info
messages.

From-SVN: r213457

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 13:23:00 +0000 (15:23 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* debug.adb: Document debug switch -gnatd.Z.
* sem.adb (Semantics): Force expansion on in no or configurable
run time mode.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Loop_Parameter_Specification): An
unchecked conversion denotes an iterator specification. Such a
conversion will be inserted in the context of an inlined call
when needed, and its argument is always an object.

From-SVN: r213456

9 years agore PR middle-end/61762 (failure to optimize memcpy from constant string)
Richard Biener [Fri, 1 Aug 2014 12:40:37 +0000 (12:40 +0000)]
re PR middle-end/61762 (failure to optimize memcpy from constant string)

2014-08-01  Richard Biener  <rguenther@suse.de>

PR middle-end/61762
* gcc.dg/pr61762.c: Align the string to make the testcase work
on strict-align targets.

From-SVN: r213454

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:32:10 +0000 (12:32 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* make.adb, makeutl.ads: Minor reformatting.
* debug.adb, opt.ads: Clarify documentation of Front_End_Inlining and
Back_End_Inlining.

2014-08-01  Tristan Gingold  <gingold@adacore.com>

* gnatcmd.adb (GNATCmd): Set AAMP_On_Target using command name.

From-SVN: r213453

9 years agognat1drv.adb (Adjust_Global_Switches): Reverse meaning of -gnatd.z.
Javier Miranda [Fri, 1 Aug 2014 10:29:51 +0000 (10:29 +0000)]
gnat1drv.adb (Adjust_Global_Switches): Reverse meaning of -gnatd.z.

2014-08-01  Javier Miranda  <miranda@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Reverse meaning of
-gnatd.z.
* debug.adb: Updating documentation.
* exp_ch6.adb (Expand_Call): Remove assertion.

From-SVN: r213452

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:28:52 +0000 (12:28 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_util.adb,
sem_res.adb: Minor reformatting.

2014-08-01  Vincent Celier  <celier@adacore.com>

* make.adb (Initialize): Set Keep_Temporary_Files to True when
-dn is specified.
* makeusg.adb: Add line for new switch --keep-temp-files.
* makeutl.ads (Keep_Temp_Files_Option): New constant String.
* opt.ads (Keep_Temporary_Files): Document that it is also used
by gnatmake and gprbuild.
* switch-m.adb: Recognize new switch --keep-temp-files.

From-SVN: r213451

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:26:42 +0000 (12:26 +0200)]
[multiple changes]

2014-08-01  Tristan Gingold  <gingold@adacore.com>

* sem_ch9.adb (Analyze_Task_Type_Declaration): Move code from ...
* exp_ch9.adb (Make_Task_Create_Call): ... here.

2014-08-01  Vincent Celier  <celier@adacore.com>

* gnat1drv.adb: Do not try to get the target parameters when
invoked with -gnats.

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Find_Last_Init): Nothing to do for an object
declaration subject to No_Initialization.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Array_Aggregate): Reject choice that
is a subtype with dynamic predicates, or a non-static subtype
with predicates.
* sem_ch3.adb (Analyze_Number_Declaration): Reject qualified
expression if subtype has a dynamic predicate.
(Constrain_Index): Reject subtype indication if subtype mark
has predicates.
(Inerit_Predicate_Flags): Inherit Has_Predicates as well.
(Make_Index): If index is a subtype indication, itype inhereits
predicate flags for subsequent testing.
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): New
procedure Check_Predicate_Use, to reject illegal uses of domains
of iteration that have dynamic predicates.
* sem_res.adb (Resolve_Slice): Reject slices given by a subtype
indication to which a predicate applies.
* sem_util.adb (Bad_Predicated_Subtype_Use): Add guard to
prevent cascaded errors when subtype is invalid.

From-SVN: r213450

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:24:57 +0000 (12:24 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_ch10.adb: Minor reformatting.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Same_Generic_Actual): Make function symmetric,
because either type may be a subtype of the other.

2014-08-01  Vincent Celier  <celier@adacore.com>

* makeusg.adb: Add documentation for debug switch -dn.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_dim.adb (Process_Minus, Process_Divide): Label dimension
expression with standard operator and type, for pretty-printing
use, when in ASIS_Mode. When generating code dimensional analysis
is not involved and dimension expressions are handled statically,
and other operators are resolved in the usual way.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Build_Derived_Record_Type): Remove setting of
Parent_Subtype in ASIS mode, leads to several failures.
* sem_ch4.adb (Analyze_Selected_Component): In an instance,
if the prefix is a type extension, check whether component is
declared in the parent type, possibly in a parent unit. Needed
in ASIS mode when Parent_Subtype is not set.

From-SVN: r213449

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:22:23 +0000 (12:22 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Minor reformatting.
* s-regpat.adb: Minor reformatting.
* sem_ch3.adb (Analyze_Object_Declaration): Do not set
Treat_As_Volatile on constants.

2014-08-01  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb (Make_Task_Create_Call): Improve error message.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Analyze_Compilation_Unit): Do not place a
warning on a with_clause created for the renaming of a parent
unit in an explicit with_clause.

From-SVN: r213448

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:15:59 +0000 (12:15 +0200)]
[multiple changes]

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications, case Aspect_Import):
Set Is_Imported flag at once, to simplify subsequent legality
checks. Reject the aspect on an object whose declaration has an
explicit initial value.
* sem_prag.adb (Process_Import_Or_Interface): Use original node
to check legality of an initial value for an imported entity.
Set Is_Imported flag in case of error to prevent cascaded errors.
Do not set the Is_Imported flag if the pragma comes from an
aspect, because it is already done when analyzing the aspect.

2014-08-01  Emmanuel Briot  <briot@adacore.com>

* g-regpat.adb (Parse): Add support for non-capturing parenthesis.

From-SVN: r213447

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:13:54 +0000 (12:13 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_ch7.adb, einfo.adb, einfo.ads, sem_ch13.adb: Minor change of
identifier name.

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Analyze_Object_Contract): Enable the volatility
checks when the related variable comes from source.
* sem_res.adb (Resolve_Actuals): Enable the volatility checks
when the related actual parameter comes from source. Update comment.
* freeze.adb (Freeze_Record_Type): Do not freeze the designated
type of an array of pointers when the designated type is
class-wide and its root type is the record being currently frozen.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): Preserve Ekind
of renaming declaration created for domain of iteration.
* sem_aggr.adb (Resolve_Array_Aggregate): Better placement
for error messages on aggregates whose index subtypes have
predicates. The new placement avoids posting messages on previous
subtype declarations rather than on the aggregate itself.
* sem_disp.adb (Is_Inherited_Public_Operation): New predicate for
Add_Dispatching_Operation, to handle properly the overriding of
the predefined operations on controlled types, when the partial
view of a type is not visibly controlled.

2014-08-01  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi: Add tutorial on portable fixed-point types as an
appendix.

From-SVN: r213446

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:11:16 +0000 (12:11 +0200)]
[multiple changes]

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Is_Hidden_Non_Overridden_Subprogram): Remove the
assertion check as the attribute is defined for all entities.
(Set_Is_Hidden_Non_Overridden_Subprogram): Remove the assertion
check as the attribute is defined for all entities.
* einfo.ads Update the documentation of attribute
Is_Hidden_Non_Overridden_Subprogram.
* sem_ch7.adb (Install_Package_Entity): No need to check the
entity kind of the Id.
* sem_ch13.adb (Hide_Matching_Homograph): Update the comment on
usage. Ensure that the homographs are of the same entity kind
and not fully conformant.
(Hide_Non_Overridden_Subprograms): Update the comment on usage.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* inline.adb: Minor code reorganization.
* sem_ch12.adb, s-tasdeb.ads: Minor reformatting.

From-SVN: r213445

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:08:23 +0000 (12:08 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* inline.adb, s-os_lib.ads: Minor reformatting.

2014-08-01  Arnaud Charlet  <charlet@adacore.com>

* s-tasdeb.ads, s-tasdeb.adb (Master_Hook, Master_Completed_Hook): New.
* s-tassta.adb (Task_Wrapper, Vulnerable_Complete_Master): Call new
hooks.

From-SVN: r213444

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:06:44 +0000 (12:06 +0200)]
[multiple changes]

2014-08-01  Yannick Moy  <moy@adacore.com>

* inline.adb (Cannot_Inline): Issue info message instead of
warning for subprograms not inlined in GNATprove mode.
* sem_res.adb (Resolve_Call): Take body into account for deciding
whether subprogram can be inlined in GNATprove mode or not.

2014-08-01  Claire Dross  <dross@adacore.com>

* exp_util.ads (Get_First_Parent_With_Ext_Axioms_For_Entity): Renaming
of Get_First_Parent_With_External_Axiomatization_For_Entity for
shorter.
* sem_ch12.adb (Analyze_Associations): Only call Build_Wrapper
for parameters of packages with external axiomatization.

From-SVN: r213443

9 years agoMakefile.in (LIBGCOV_MERGE, [...]): Reformat.
Nathan Sidwell [Fri, 1 Aug 2014 10:05:42 +0000 (10:05 +0000)]
Makefile.in (LIBGCOV_MERGE, [...]): Reformat.

* Makefile.in (LIBGCOV_MERGE, LIBGCOV_PROFILER,
LIBGCOV_INTERFACE): Reformat.
* libgcov-driver.c (gcov_exit, __gcov_init): Disable when
IN_GCOV_TOOL.
* libgcov-interface.c: Reformat some comments.
(__gcov_flush_mx): Add declaration.  Tidy up definition.

From-SVN: r213442

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:04:35 +0000 (12:04 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_res.adb: Minor comment addition.

2014-08-01  Arnaud Charlet  <charlet@adacore.com>

* s-crtl.ads, i-cstrea.ads, adaint.c, adaint.h, osint.adb,
s-fileio.adb (__gnat_fopen, __gnat_freopen): Remove vms_form parameter,
no longer used.
* s-os_lib.ads: Minor reformatting.

From-SVN: r213441

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 10:01:31 +0000 (12:01 +0200)]
[multiple changes]

2014-08-01  Arnaud Charlet  <charlet@adacore.com>

* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Restore more
completely previous code since only GCC back-ends are prepared
to handle e.g. 'Machine attribute.
* targparm.adb, targparm.ads: Remove remaining refs and
handling of OpenVMS_On_Target, VAX_Float_On_Target and
RTX_RTSS_Kernel_Module_On_Target.
* hostparm.ads (OpenVMS, Max_Debug_Name_Length): Removed,
no longer used.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* exp_dist.adb, exp_attr.adb: Minor reformatting.
* sem_ch3.adb, mlib-tgt-specific-hpux.adb, a-direct.ads,
a-synbar-posix.adb, exp_ch9.adb, sem_ch10.adb, sem_prag.adb,
sem_ch12.adb, sem.ads, sem_res.adb, s-exctra.adb, s-soflin.ads,
g-alveop.ads, sem_ch8.adb, vxaddr2line.adb, sem_cat.ads: Remove
improper use of shall.

From-SVN: r213440

9 years agosem_aggr.adb, [...]: Minor reformatting & code reorganization.
Robert Dewar [Fri, 1 Aug 2014 09:57:04 +0000 (09:57 +0000)]
sem_aggr.adb, [...]: Minor reformatting & code reorganization.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* sem_aggr.adb, exp_atag.adb, layout.adb, nlists.adb, nlists.ads,
exp_attr.adb, exp_ch9.adb, par-ch12.adb, exp_aggr.adb,
exp_ch3.adb: Minor reformatting & code reorganization.

From-SVN: r213439

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 09:55:31 +0000 (11:55 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Remove VMS specific rules for pragma Ident.
* Makefile.rtl, adaint.c, gnat_rm.texi, s-asthan.adb, s-asthan.ads,
s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
s-po32gl.adb, s-po32gl.ads, s-vaflop.adb, s-vaflop.ads, s-vmexta.adb,
s-vmexta.ads, sem_vfpt.adb, sem_vfpt.ads, socket.c: Remove VMS specific
code.
* gcc-interface/decl.c, gcc-interface/Makefile.in,
gcc-interface/Make-lang.in: Ditto. Also remove refs to rTX.

2014-08-01  Pascal Obry  <obry@adacore.com>

* s-os_lib.ads: Rename File_Size to Large_File_Size.

From-SVN: r213438

9 years agoa-numaux-vxworks.ads, [...]: Fix bad package header comments.
Robert Dewar [Fri, 1 Aug 2014 09:48:28 +0000 (09:48 +0000)]
a-numaux-vxworks.ads, [...]: Fix bad package header comments.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
a-numaux-darwin.adb, a-numaux-darwin.ads, a-numaux.ads,
a-numaux-libc-x86.ads: Fix bad package header comments.
* elists.ads, elists.adb (Append_New_Elmt): New procedure.
* gnat_rm.texi, a-calend.adb, gnatcmd.adb, einfo.adb, einfo.ads,
checks.adb, sem_prag.adb, sem_prag.ads, rtsfind.ads, freeze.adb,
sem_util.adb, sem_attr.adb, exp_dbug.adb, exp_dbug.ads, gnat1drv.adb,
targparm.adb, targparm.ads, exp_ch6.adb, switch-b.adb, s-shasto.ads,
stand.ads, s-auxdec.ads, opt.adb, opt.ads, mlib-tgt.ads, s-fatgen.adb,
s-fatgen.ads, system.ads, snames.ads-tmpl, s-stalib.ads,
s-os_lib.adb: Remove VMS-specific code.

From-SVN: r213437

9 years agoexp_attr.adb (Is_Inline_Floating_Point_Attribute): Revert to previous state in CodePe...
Arnaud Charlet [Fri, 1 Aug 2014 09:46:10 +0000 (09:46 +0000)]
exp_attr.adb (Is_Inline_Floating_Point_Attribute): Revert to previous state in CodePeer_Mode.

2014-08-01  Arnaud Charlet  <charlet@adacore.com>

* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Revert to
previous state in CodePeer_Mode.

From-SVN: r213435

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 09:44:35 +0000 (11:44 +0200)]
[multiple changes]

2014-08-01  Robert Dewar  <dewar@adacore.com>

* hostparm.ads: Put back definition of OpenVMS as False to aid
the transition process.
* sem_ch7.adb: Minor reformatting.
* prj-env.adb: Minor code fix.
* gnat_rm.texi: Complete previous change.
* sem_ch3.adb: Minor reformatting.
* sem_ch6.adb: Minor reformatting.
* sem_elab.adb: Minor reformatting.
* exp_strm.adb: Complete previous change.

2014-08-01  Vincent Celier  <celier@adacore.com>

* sem_warn.adb (Warn_On_Unreferenced_Entity): Do not issue a
warning when a constant is unreferenced and its type has pragma
Unreferenced_Objects.

2014-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb: Flag2 is now known as
Is_Hidden_Non_Overridden_Subprogram.
(Is_Hidden_Non_Overridden_Subprogram): New routine.
(Set_Is_Hidden_Non_Overridden_Subprogram): New routine.
(Write_Entity_Fields): Output Flag2.
* einfo.ads: New attribute Is_Hidden_Non_Overridden_Subprogram
along with occurrences in entities.
(Is_Hidden_Non_Overridden_Subprogram): New routine and pragma Inline.
(Set_Is_Hidden_Non_Overridden_Subprogram): New routine
and pragma Inline.
* sem_ch7.adb (Install_Package_Entity): Do not enter implicitly
declared non-overriden homographs into visibility.
* sem_ch13.adb (Freeze_Entity_Checks): Hide all
implicitly declared non-overriden homographs.
(Hide_Non_Overridden_Subprograms): New routine.

From-SVN: r213434

9 years agopt.c (lookup_template_class_1): Use DECL_TYPE_TEMPLATE_P.
Paolo Carlini [Fri, 1 Aug 2014 09:43:07 +0000 (09:43 +0000)]
pt.c (lookup_template_class_1): Use DECL_TYPE_TEMPLATE_P.

2014-08-01  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (lookup_template_class_1): Use DECL_TYPE_TEMPLATE_P.

From-SVN: r213433

9 years agosnames.ads-tmpl, [...]: Remove VMS-specific code.
Robert Dewar [Fri, 1 Aug 2014 09:41:55 +0000 (09:41 +0000)]
snames.ads-tmpl, [...]: Remove VMS-specific code.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* snames.ads-tmpl, s-os_lib.adb, s-os_lib.ads, s-fileio.adb: Remove
VMS-specific code.
* prj-conf.adb: Minor reformatting.
* xr_tabls.adb (Read_File): Restore code which was enabled on
non VMS platforms before.
* prj-env.adb (Initialize_Default_Project_Path): Ditto.
* sem_ch5.adb: Minor reformatting.
* lib-writ.adb, lib-writ.ads, bindgen.adb, sem_vfpt.adb,
sem_vfpt.ads, ali.adb, ali.ads, opt.ads, bcheck.adb, exp_strm.adb:
Remove VMS-specific code.

From-SVN: r213432

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 09:38:48 +0000 (11:38 +0200)]
[multiple changes]

2014-08-01  Vincent Celier  <celier@adacore.com>

* make.adb (Await_Compile): Remove loop that was only needed
for VMS.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* a-calcon.ads, a-direct.adb, a-dirval-mingw.adb, a-dirval.adb,
a-dirval.ads, a-except-2005.adb, a-excpol-abort.adb,
a-numaux-darwin.ads, a-numaux.ads, bindgen.adb, bindusg.adb,
einfo.adb, einfo.ads, err_vars.ads, errout.ads, errutil.adb,
exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_ch7.ads, fname-uf.adb,
fname.adb, fname.ads, freeze.adb, g-debpoo.adb, g-dirope.ads,
g-excact.ads, g-expect.ads, g-socket.adb, g-socket.ads, g-sothco.ads,
g-traceb.ads, gnat_rm.texi, gnatlink.adb, gnatls.adb, i-cstrea.adb,
krunch.adb, krunch.ads, layout.adb, lib-util.adb, make.adb,
mlib.adb, osint-b.adb, osint-b.ads, osint-c.adb, osint.adb,
osint.ads, output.ads, par.adb, prj-conf.adb, prj-env.adb,
prj-makr.adb, prj-nmsc.adb, prj.adb, prj.ads, repinfo.adb, rtsfind.adb,
rtsfind.ads, s-excmac-gcc.ads, s-fatgen.adb, s-mastop.ads,
s-parame-ae653.ads, s-parame-hpux.ads, s-parame-vxworks.ads,
s-parame.ads, s-soflin.ads, s-stoele.adb, s-tasini.adb,
s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-mingw.ads,
s-taspri-posix-noaltstack.ads, s-taspri-posix.ads,
s-taspri-solaris.ads, s-taspri-vxworks.ads, s-trasym.ads,
sem_ch12.adb, sem_ch4.adb, sem_eval.adb, sem_intr.adb, sem_mech.adb,
sem_mech.ads, sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads,
sinfo.adb, sinfo.ads, sinput-c.adb, symbols.ads, targparm.adb,
treepr.adb, types.ads, xr_tabls.adb, xr_tabls.ads: Remove VMS
specific code and comments.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): New procedure
Check_Reverse_Iteration, to verify the legality of the Reverse
indicator on various container types, and to detect illegal
reverse iterations on containers that only supoort forward
iteration.

From-SVN: r213431

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 09:32:00 +0000 (11:32 +0200)]
[multiple changes]

2014-08-01  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb: Remove the VMS specific stuff.  Integrate in
procedure GNATCmd the relevant declarations from packages VMS_Cmds
and VMS_Conv.
* gnatcmd.ads: Update comments to remove any trace of VMS

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb: sem_ch12.adb (Build_Wrapper): Capture entity for
defaulted actual that is an operator, before building wrapper
for it in GNATprove mode. Restrict construction of wrapper to
actuals that are operators.

2014-08-01  Vincent Celier  <celier@adacore.com>

* vms_conv.adb, vms_conv.ads, vms_data.ads, vms_cmds.ads: Remove VMS
specific packages no longer needed.

2014-08-01  Pascal Obry  <obry@adacore.com>

* s-os_lib.ads (System.CRTL): Move with clause to body.
(File_Size): New type.
(File_Length64): Use it.
(File_Length): Restore previous spec returning a Long_Integer.
* s-os_lib.adb (System.CRTL): Move with clause here.

2014-08-01  Vincent Celier  <celier@adacore.com>

* mlib-prj.adb: Update comments to remove any mention of VMS.

From-SVN: r213430

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 09:22:39 +0000 (11:22 +0200)]
[multiple changes]

2014-08-01  Arnaud Charlet  <charlet@adacore.com>

* ug_words, xgnatugn.adb, gcc-interface/Make-lang.in: Remove
xgnatugn.adb and ug_words.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Check whether
expansion can be avoid for Machine, Model and Rounding.
(Is_Inline_Floating_Point_Attribute): Return true for Machine
& Model, as well as Rounding if wrapped in a conversion to an
integer type.
* sem_res.adb (Simplify_Type_Conversion): Deal with Rounding as well.
* gcc-interface/gigi.h (fp_arith_may_widen): Declare.
* gcc-interface/utils.c (fp_arith_may_widen): New global variable.
* gcc-interface/misc.c (enumerate_modes): Compute it.
* gcc-interface/trans.c (FP_ARITH_MAY_WIDEN): Delete.
(lvalue_required_for_attribute_p): Deal with Descriptor_Size,
Machine and Model.
(Attribute_to_gnu) <Attr_Model>: New case.
<Attr_Machine>): Likewise.
(convert_with_check): Test
fp_arith_may_widen variable.

2014-08-01  Pascal Obry  <obry@adacore.com>

* adaint.h (GNAT_FOPEN): New definition for Windows.
(GNAT_OPEN): Likewise.
(GNAT_STAT): Likewise.
(GNAT_FSTAT): Likewise.
(GNAT_LSTAT): Likewise.
(GNAT_STRUCT_STAT): Likewise.
* adaint.c (__gnat_stat): Fix computation of file size for
Windows.

2014-08-01  Vincent Celier  <celier@adacore.com>

* Makefile.rtl: Minor comment update.

2014-08-01  Vincent Celier  <celier@adacore.com>

* Make-generated.in: Remove dependencies for vms-help.

From-SVN: r213429

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 08:58:50 +0000 (10:58 +0200)]
[multiple changes]

2014-08-01  Gary Dismukes  <dismukes@adacore.com>

* makeutl.ads, opt.ads: Minor grammar fixes.
* makeutl.adb: Minor code reorganization.

2014-08-01  Arnaud Charlet  <charlet@adacore.com>

* gcc-interface/Makefile.in, gcc-interface/Make-lang.in,
gnatsym.adb: Remove gnatsym (VMS only tool).

2014-08-01  Ben Brosgol  <brosgol@adacore.com>

* gnat_ugn.texi, projects.texi, xgnatugn.adb: Removed all VMS
conditionalization from gnat_ugn.texi and projects.texi, and updated
(considerably simplified) xgnatugn.adb, to be removed soon.

From-SVN: r213427

9 years ago[Patch] Not very subtle fix for pr61510
James Greenhalgh [Fri, 1 Aug 2014 08:56:05 +0000 (08:56 +0000)]
[Patch] Not very subtle fix for pr61510

gcc/

PR regression/61510
* cgraphunit.c (analyze_functions): Use get_create rather than get
for decls which are clones of abstract functions.

From-SVN: r213425

9 years agodebug.adb: Remove doc for gnatmake/gprbuild switch -ds.
Vincent Celier [Fri, 1 Aug 2014 08:34:02 +0000 (08:34 +0000)]
debug.adb: Remove doc for gnatmake/gprbuild switch -ds.

2014-08-01  Vincent Celier  <celier@adacore.com>

* debug.adb: Remove doc for gnatmake/gprbuild switch -ds.
* make.adb (List_Bad_Compilations): Use Opt.No_Exit_Message
instead of Debug.Debug_Flag_S.
* makeutl.adb (Finish_Program, Fail_Program): Use Opt flag
No_Exit_Message instead of Debug.Debug_Flag_S to suppress exit
error messages.
* makeutl.ads (No_Exit_Message_Option): New constant string
for switch --no-exit-message.
* opt.ads (No_Exit_Message): New Boolean flag, defaulted to False.
* switch-m.adb (Scan_Make_Switches): Recognize new switch
--no-exit-message.

From-SVN: r213424

9 years ago[multiple changes]
Arnaud Charlet [Fri, 1 Aug 2014 08:32:27 +0000 (10:32 +0200)]
[multiple changes]

2014-08-01  Arnaud Charlet  <charlet@adacore.com>

* exp_vfpt.adb, exp_vfpt.ads: Removed, no longer used.
* gcc-interface/Make-lang.in: Remove exp_vfpt.o

2014-08-01  Javier Miranda  <miranda@adacore.com>

* inline.ads (Inlined_Calls, Backend_Calls,
Backend_Inlined_Subps, Backend_Not_Inlined_Subps): Declarations
moved to inline.adb (Cannot_Inline): Update documentation.
(Check_And_Build_Body_To_Inline): Renamed.
(List_Inlining_Info): Subprogram moved here from package exp_ch6.
* inline.adb (Check_Inlining_Restrictions): New local variable.
(Inlined_Calls, Backend_Calls, Backend_Inlined_Subps,
Backend_Not_Inlined_Subps): Declarations moved here
from inline.ads (Number_Of_Statements): Removed.
(Remove_Pragmas): Avoid duplicated version of this subprogram.
(Build_Body_To_Inline): Code cleanup.
(Build_Body_To_Inline.Has_Excluded_Statament): Removed.
(Check_And_Build_Body_To_Inline): Renamed. Code cleanup.
(Check_Body_To_Inline): Removed.
(Generate_Body_To_Inline): Renamed as Generate_Subprogram_Body.
(Has_Excluded_Declaration): No action if not
Check_Inlining_Restrictions.
(Has_Excluded_Statement): No action if not Check_Inlining_Restrictions.
(Initialize): Initialize the lists of inlined calls and subprograms.
(List_Inlining_Info): Subprogram moved here from package exp_ch6.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Update call
to Check_And_Build_Body_To_Inline since it has been renamed as
Check_And_Split_Unconstrained_Function
* exp_ch6.ad[sb] (List_Inlining_Info): Subprogram moved to
package inline.
* gnat1drv.adb Update call to Inline.List_Inlining_Info.

2014-08-01  Vincent Celier  <celier@adacore.com>

* debug.adb: Add documentation for new debug switch -ds.
* make.adb (List_Bad_Compilations): Do not issue any message
when switch -ds is specified.
* makeutl.adb (Fail_Program): Do not issue any message when
-ds is specified.
(Finish_Program): Ditto.

2014-08-01  Robert Dewar  <dewar@adacore.com>

* s-exnint.adb, s-exnint.ads, s-wwdwch.ads, s-carsi8.ads,
s-casi32.ads, indepsw.adb, a-timoau.ads, s-explli.adb, s-explli.ads,
s-casi16.ads, s-powtab.ads, g-wistsp.ads, a-ztmoau.adb,
indepsw-gnu.adb, s-imgllb.ads, types.adb, gnat.ads, s-proinf.adb,
indepsw-aix.adb, s-caun64.ads, s-imgllw.ads, s-traces-default.adb,
s-vxwork-x86.ads, s-expllu.adb, s-exnlli.adb, s-exnlli.ads,
s-traces.adb, widechar.ads, stand.adb, s-expint.adb,
s-tratas-default.adb, s-expint.ads, s-geveop.ads, s-caun32.ads,
s-expuns.adb, s-mantis.adb, s-mantis.ads, s-caun16.ads, s-tasinf.adb,
s-memcop.ads, s-dsaser.ads, s-imgbiu.ads, a-szmzco.ads, g-strspl.ads,
s-casi64.ads, g-zstspl.ads, indepsw-mingw.adb, tree_io.adb,
s-boarop.ads, uname.ads, s-fore.adb, s-fore.ads, g-timsta.adb,
g-timsta.ads, s-assert.adb, s-vector.ads, s-tratas.adb,
s-tratas.ads: Minor fix to copyright notices.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

* sinfo.ads: Remove long obsolete comment.

From-SVN: r213423

9 years agosem_util.adb: Add guard to setting of No_Predicate_On_Actual.
Ed Schonberg [Fri, 1 Aug 2014 08:26:57 +0000 (10:26 +0200)]
sem_util.adb: Add guard to setting of No_Predicate_On_Actual.

       * sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
       * sem_ch3.adb: Minor reformatting.

From-SVN: r213422

9 years agosem_util.adb: Add guard to setting of No_Predicate_On_Actual.
Ed Schonberg [Fri, 1 Aug 2014 08:24:57 +0000 (10:24 +0200)]
sem_util.adb: Add guard to setting of No_Predicate_On_Actual.

2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
* sem_ch3.adb: Minor reformatting.

From-SVN: r213421

9 years agocstreams.c: Only enable large file support on know supported platforms.
Pascal Obry [Fri, 1 Aug 2014 08:24:09 +0000 (08:24 +0000)]
cstreams.c: Only enable large file support on know supported platforms.

2014-08-01  Pascal Obry  <obry@adacore.com>

        * cstreams.c: Only enable large file support on know supported
        platforms. Add missing defines/includes.

From-SVN: r213420

9 years ago2014-08-01 Ed Schonberg <schonberg@adacore.com>
Ed Schonberg [Fri, 1 Aug 2014 08:22:22 +0000 (08:22 +0000)]
2014-08-01  Ed Schonberg  <schonberg@adacore.com>

* einfo.ads, einfo.adb New flags No_Predicate_On_Actual and
No_Dynamic_Predicate_On_Actual, to enforce the generic contract
on generic units that contain constructs that forbid subtypes
with predicates.
* sem_ch3.adb (Analyze_Subtype_Declaration, Process_Subtype):
Inherit flags indicating the presence of predicates in subtype
declarations with and without constraints.
(Inherit_Predicate_Flags): Utility for the above.
* sem_util.adb (Bad_Predicated_Subtype_Use): In a generic context,
indicate that the actual cannot have predicates, and preserve
warning. In an instance, report error if actual has predicates
and the construct appears in a package declaration.
* sem_ch12.adb (Diagnose_Predicated_Actual): Report error
for an actual with predicates, if the corresponding formal
carries No_Predicate_On_Actual or (in the case of a loop)
No_Dynamic_Predicate_On_Actual.
* sem_ch13.adb (Build_Predicate_Functions); Do not build a
Static_Predicate function if the type is non-static (in the
presence of previous errors),
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Set flag
No_Dynamic_Predicate_On_Actual in a generic context, to enforce
generic contract on actuals that cannot have predicates.

From-SVN: r213418

9 years agoIPA ICF pass 1/N
Martin Liska [Fri, 1 Aug 2014 08:20:57 +0000 (10:20 +0200)]
IPA ICF pass 1/N

* gimple-iterator.h (gsi_next_nonvirtual_phi): New function.
* ipa-prop.h (count_formal_params): Global function created from static.
* ipa-prop.c (count_formal_params): Likewise.
* ipa-utils.c (ipa_merge_profiles): Be more tolerant if we merge
profiles for semantically equivalent functions.
* passes.c (do_per_function): If we load body of a function
during WPA, this condition should behave same.
* varpool.c (ctor_for_folding): More tolerant assert for variable
aliases created during WPA.

From-SVN: r213417

9 years agoa-direct.adb (C_Size): Returns an int64.
Pascal Obry [Fri, 1 Aug 2014 08:19:53 +0000 (08:19 +0000)]
a-direct.adb (C_Size): Returns an int64.

2014-08-01  Pascal Obry  <obry@adacore.com>

* a-direct.adb (C_Size): Returns an int64.
* osint.adb (System.CRTL): New with clause.
(File_Length.Internal): Returns an int64.
* s-os_lib.ads (File_Length): Returns an int64.

From-SVN: r213416