gcc.git
10 years agore PR libstdc++/58764 ([lwg/2193] error: converting to ‘const std::vector<std::basic_...
Jonathan Wakely [Wed, 22 Jan 2014 19:46:44 +0000 (19:46 +0000)]
re PR libstdc++/58764 ([lwg/2193] error: converting to ‘const std::vector<std::basic_string<char> >’ from initializer list would use explicit constructor)

PR libstdc++/58764
* include/bits/stl_deque.h (deque::deque(const allocator_type&):
Split into separate default constructor and constructor taking
allocator.
* include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
* include/bits/stl_vector.h (vector::vector(const allocator_type&):
Likewise.
* include/debug/deque (deque::deque(const allocator_type&)): Likewise.
* include/debug/list (list::list(const _Allocator&)): Likewise.
* include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
Likewise.
* include/debug/multimap.h
(multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
* include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
Likewise.
* include/debug/multiset.h
(multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
* include/debug/vector (vector::vector(const allocator_type&)):
Likewise.
* include/profile/deque (deque::deque(const _Allocator&)): Likewise.
* include/profile/list (list::list(const _Allocator&)): Likewise.
* include/profile/map.h
(map::map(const _Compare&, const _Allocator&)): Likewise.
* include/profile/multimap.h
(multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
* include/profile/set.h
(set::set(const _Compare&, const _Allocator&)): Likewise.
* include/profile/multiset.h
(multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
* include/profile/vector (vector::vector(const _Allocator&)):
Likewise.
* testsuite/23_containers/deque/58764.cc: New.
* testsuite/23_containers/list/58764.cc: New.
* testsuite/23_containers/map/58764.cc: New.
* testsuite/23_containers/multimap/58764.cc: New.
* testsuite/23_containers/set/58764.cc: New.
* testsuite/23_containers/multiset/58764.cc: New.
* testsuite/23_containers/vector/58764.cc: New.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r206939

10 years agore PR rtl-optimization/59477 (ICE: in assign_by_spills, at lra-assigns.c:1281 with -O)
Vladimir Makarov [Wed, 22 Jan 2014 19:38:47 +0000 (19:38 +0000)]
re PR rtl-optimization/59477 (ICE: in assign_by_spills, at lra-assigns.c:1281 with -O)

2014-01-22  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59477
* lra-constraints.c (inherit_in_ebb): Process call for living hard
regs.  Update reloads_num and potential_reload_hard_regs for all
insns.

2014-01-22  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59477
* g++.dg/pr59477.C: New.

From-SVN: r206938

10 years agolibgo/configure: Test for gold with gccgo -Wl,--help, not ld --help.
Ian Lance Taylor [Wed, 22 Jan 2014 19:10:47 +0000 (19:10 +0000)]
libgo/configure: Test for gold with gccgo -Wl,--help, not ld --help.

From-SVN: r206937

10 years agopr44194-1.c: Match "insn " and "insn:", but not "insn/f".
Richard Sandiford [Wed, 22 Jan 2014 18:45:05 +0000 (18:45 +0000)]
pr44194-1.c: Match "insn " and "insn:", but not "insn/f".

gcc/testsuite/
* gcc.dg/pr44194-1.c: Match "insn " and "insn:", but not "insn/f".

From-SVN: r206936

10 years agore PR c++/59482 (A friend class cannot inherit a private nested class)
Ville Voutilainen [Wed, 22 Jan 2014 18:08:01 +0000 (20:08 +0200)]
re PR c++/59482 (A friend class cannot inherit a private nested class)

/cp
2014-01-22  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR c++/59482
* parser.c (cp_parser_class_head): Push the class before parsing
the base-clause, pop after it.

/testsuite
2014-01-22  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR c++/59482
* g++.dg/pr59482.C: New.

From-SVN: r206933

10 years agoi386-interix.h (i386_pe_unique_section): Don't use PARAMS.
Tom Tromey [Wed, 22 Jan 2014 17:10:10 +0000 (17:10 +0000)]
i386-interix.h (i386_pe_unique_section): Don't use PARAMS.

* config/i386/i386-interix.h (i386_pe_unique_section): Don't use
PARAMS.
* config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.

From-SVN: r206932

10 years ago[multiple changes]
Arnaud Charlet [Wed, 22 Jan 2014 17:04:57 +0000 (18:04 +0100)]
[multiple changes]

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

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): A subprogram
body generated for an expression function within a protected body
needs a set of renaming declarations if the expression function
comes from source.

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

* lib-xref.adb (Get_Type_Reference): In semantics-only mode,
list interface progenitor of a tagged concurrent type, for better
source navigation.

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

* lib.adb (In_Extended_Main_Code_Unit): Return False for
Standard_Location.
(In_Extended_Main_Source_Unit): Return False for Standard_Location.
* lib.ads (In_Extended_Main_Code_Unit): Add documentation on
treatment of Slocs No_Location and Standard_Location.
* restrict.adb (Check_Restriction_No_Dependence): Explicitly
check for entity with Standard_Location Sloc, rather than relying
on Lib routines to do that.
* sem_res.adb (Resolve_Call): Implement SPARK_05 restriction
that a call cannot occur before a later occuring body within
the same unit.

From-SVN: r206931

10 years ago[multiple changes]
Arnaud Charlet [Wed, 22 Jan 2014 16:53:24 +0000 (17:53 +0100)]
[multiple changes]

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

* rtsfind.adb: Update comment.

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

* sem_aux.ads, sem_aux.adb (Is_Body): New routine.
* sem_ch3.adb (Analyze_Declarations): Add local variable
Body_Seen. Generate the spec of a late controlled
primitive body that is about to freeze its related type.
(Handle_Late_Controlled_Primitive): New routine.

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

* a-stream.adb: Minor reformatting.

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

* sem_ch8.adb (From_Actual_Package): Introduce a recursive
sub-procedure Declared_In_Actual to handle properly the visibility
of actuals in actual packages, that are themselves actuals to a
actual package of the current instance. This mimics properly the
visibility of formals of formal packages declared with a box,
within the corresponding generic unit.

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

* checks.adb: Do not assume that a volatile variable is valid.

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

* g-catiio.ads (Image, Value): Clarify that these functions
operate in the local time zone.  Minor documentation update.

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

* csets.adb, csets.ads, opt.ads: Minor documentation fixes.

From-SVN: r206930

10 years ago[multiple changes]
Arnaud Charlet [Wed, 22 Jan 2014 16:47:20 +0000 (17:47 +0100)]
[multiple changes]

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

* sem_aux.adb, sem_aux.ads, sem_ch3.adb (Has_Unconstrained_Elements):
Moved to sem_aux.adb.

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

* vms_data.ads: Minor reformatting.

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

* debug.adb: Document messages affected by -gnatd.E including
the new ones that relate to late definition of equality.
* sem_ch6.adb (Check_Untagged_Equality): In Ada 2012 mode, if
debug flag -gnatd.E is set, then generate warnings rather than
errors.
(Check_Untagged_Equality): In earlier versions of Ada,
generate warnings if Warn_On_Ada_2012_Incompatibility flag is set.

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

* sem_prag.adb (Usage_Error): Output additional messages for
unconstrained OUT parameters lacking an input dependency.

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

* sem_ch4.adb: Minor reformatting.

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

* restrict.ads: Minor reformatting.
* sem_res.adb (Resolve_Call): Check for SPARK_05 restriction that
forbids a call from within a subprogram to the same subprogram.

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

* a-stream.ads (Read_SEA, Write_SEA): New subprograms, optimized
stream attributes for Stream_Element_Array.
* a-stream.adb (Read_SEA, Write_SEA): Bodies for the above.
* rtsfind.adb (Check_CRT): Do not reject a reference to an entity
defined in the current scope.

From-SVN: r206929

10 years ago[multiple changes]
Arnaud Charlet [Wed, 22 Jan 2014 16:42:55 +0000 (17:42 +0100)]
[multiple changes]

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

* debug.adb, exp_ch4.adb, erroutc.adb: Minor reformatting.

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

* sem_ch7.adb, sem_ch8.adb, exp_ch3.adb: Minor reformatting.

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

* sem_ch3.adb (Analyze_Object_Declaration): For a constant
declaration initialized with a function call, whose type
has variable size, need to remove side effects so that the
initialization expression becomes a dereference of a temporary
reference to the function result.

From-SVN: r206928

10 years agoerrout.adb (Initialize): Remove trick to add dummy entry in Warnings table.
Yannick Moy [Wed, 22 Jan 2014 16:40:30 +0000 (16:40 +0000)]
errout.adb (Initialize): Remove trick to add dummy entry in Warnings table.

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

* errout.adb (Initialize): Remove trick to add dummy entry
in Warnings table.
* erroutc.adb (Set_Warnings_Mode_Off,
Set_Warnings_Mode_On): Do nothing if warnings are suppressed by
command line switch.
* opt.ads (Warning_Mode): Document behavior
wrt pragma Warnings, in normal mode and in GNATprove_Mode.

From-SVN: r206927

10 years agoinsert-vsx-be-order.c: New.
William Schmidt [Wed, 22 Jan 2014 16:10:07 +0000 (16:10 +0000)]
insert-vsx-be-order.c: New.

2014-01-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/insert-vsx-be-order.c: New.
* gcc.dg/vmx/extract-vsx.c: New.
* gcc.dg/vmx/extract-vsx-be-order.c: New.
* gcc.dg/vmx/insert-vsx.c: New.

From-SVN: r206926

10 years agoinsert-vsx-be-order.c: New.
William Schmidt [Wed, 22 Jan 2014 16:08:55 +0000 (16:08 +0000)]
insert-vsx-be-order.c: New.

2014-01-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/insert-vsx-be-order.c: New.
* gcc.dg/vmx/extract-vsx.c: New.
* gcc.dg/vmx/extract-vsx-be-order.c: New.
* gcc.dg/vmx/insert-vsx.c: New.

From-SVN: r206925

10 years ago* include/bits/stl_deque.h (_Deque_impl): Move comment.
Jonathan Wakely [Wed, 22 Jan 2014 14:34:39 +0000 (14:34 +0000)]
* include/bits/stl_deque.h (_Deque_impl): Move comment.

From-SVN: r206924

10 years agosem_ch3.adb, [...]: Minor reformatting.
Robert Dewar [Wed, 22 Jan 2014 14:24:03 +0000 (14:24 +0000)]
sem_ch3.adb, [...]: Minor reformatting.

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

* sem_ch3.adb, errout.adb, erroutc.adb: Minor reformatting.

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

* sem_ch13.adb (Check_Pool_Size_Clash): New procedure
(Analyze_Attribute_Definition_Clause, case Storage_Pool): call
Check_Pool_Size_Clash (Analyze_Attribute_Definition_Clause,
case Storage_Size): call Check_Pool_Size_Clash.

From-SVN: r206923

10 years ago[multiple changes]
Arnaud Charlet [Wed, 22 Jan 2014 14:06:41 +0000 (15:06 +0100)]
[multiple changes]

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

* sem_ch3.adb, exp_util.adb, sem_dim.adb, sem_elab.adb, sem_ch8.adb,
sem_eval.ads: Minor reformatting.

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

* sem_eval.adb (Compile_Time_Known_Bounds): Return False for
Any_Composite to prevent cascaded errors.

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

* errout.adb (Initialize): Do not insert special entry in Warnings
table in GNATprove_Mode.
* erroutc.adb (Set_Warnings_Mode_On): Add info in Warnings table in
GNATprove_Mode.
* gnat1drv.adb (Adjust_Global_Switches): Do not suppress frontend
warnings anymore.

From-SVN: r206922

10 years ago[multiple changes]
Arnaud Charlet [Wed, 22 Jan 2014 14:02:27 +0000 (15:02 +0100)]
[multiple changes]

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

* sem_prag.adb (Analyze_Initializes_In_Decl_Part): Handle null
initializes case.

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

* snames.ads-tmpl: Update header.

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

* exp_util.adb (Insert_Actions): When inserting actions on a
short circuit operator that has already been analyzed, do not park
actions in node; instead introduce an N_Expression_With_Actions
and insert actions immediately.
Add guard for unexpected case of climbing up through statement
in Actions list of an N_Expression_With_Actions.
* sem_elab.adb (Insert_Elab_Check): Remove complex
specialized circuitry for the case where the context is already
analyzed, as it is not needed and introduces irregularities in
finalization. Instead rely on the above change to Insert_Actions
to ensure that late insertion on short circuit operators works
as expected.

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

* sem_ch4.adb (Operator_Check): Improve error message when an
operand of concatenation is an access type.

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

* sem_dim.adb (Analyze_Dimension_Identifier): Add guard against
cascaded error.

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

* sem_ch8.adb (Find_Selected_Component): Handle properly the case
of an expanded name in a proper body, whose prefix is a package
in the context of the proper body, when there is a homonym of
the package declared in the parent unit.

From-SVN: r206921

10 years agosem_warn.adb (Check_Use_Clause): Don't give no entities used msg if errors found.
Robert Dewar [Wed, 22 Jan 2014 11:18:34 +0000 (11:18 +0000)]
sem_warn.adb (Check_Use_Clause): Don't give no entities used msg if errors found.

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

* sem_warn.adb (Check_Use_Clause): Don't give no entities used
msg if errors found.
(Check_One_Unit): Same change.

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

* ug_words: Add missing/wrong entries for VMS warning switches.
* sem_prag.adb (Check_Duplicate_Pragma): Avoid flagging parent type.

From-SVN: r206920

10 years ago[multiple changes]
Arnaud Charlet [Wed, 22 Jan 2014 11:17:01 +0000 (12:17 +0100)]
[multiple changes]

2014-01-22  Jerome Guitton  <guitton@adacore.com>

* mlib-tgt-specific-vxworks.adb (Get_Target_Suffix): Replace xscale by
arm.

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

* gnat_rm.texi, gnat_ugn.texi: Document passive task optimization

From-SVN: r206919

10 years ago* gcc-interface/Makefile.in: Minor fixes.
Eric Botcazou [Wed, 22 Jan 2014 09:15:03 +0000 (09:15 +0000)]
* gcc-interface/Makefile.in: Minor fixes.

From-SVN: r206918

10 years agoDaily bump.
GCC Administrator [Wed, 22 Jan 2014 00:17:09 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r206914

10 years agoMAINTAINERS: Update my email address.
John David Anglin [Tue, 21 Jan 2014 23:33:07 +0000 (23:33 +0000)]
MAINTAINERS: Update my email address.

* MAINTAINERS: Update my email address.

From-SVN: r206911

10 years agore PR rtl-optimization/59896 (Bootstrap: Thumb-1 LRA unable to generate reloads for...
Vladimir Makarov [Tue, 21 Jan 2014 21:26:33 +0000 (21:26 +0000)]
re PR rtl-optimization/59896 (Bootstrap: Thumb-1 LRA unable to generate reloads for jump_insn)

2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59896
* lra-constraints.c (process_alt_operands): Check unused note for
matched operands of insn with no output reloads.

2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59896
* gcc.target/arm/pr59896.c: New.

From-SVN: r206908

10 years agomips.c (mips_move_to_gpr_cost): Add M16_REGS case.
Richard Sandiford [Tue, 21 Jan 2014 20:49:17 +0000 (20:49 +0000)]
mips.c (mips_move_to_gpr_cost): Add M16_REGS case.

gcc/
* config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
(mips_move_from_gpr_cost): Likewise.

From-SVN: r206907

10 years agoregex.tcc: Remove incorrect `nosubs` handling.
Tim Shen [Tue, 21 Jan 2014 19:54:03 +0000 (19:54 +0000)]
regex.tcc: Remove incorrect `nosubs` handling.

2014-01-21  Tim Shen  <timshen91@gmail.com>

* include/bits/regex.tcc: Remove incorrect `nosubs` handling.
* include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
* testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.

From-SVN: r206906

10 years agore PR libstdc++/56267 (unordered containers require Assignable hash function)
Jonathan Wakely [Tue, 21 Jan 2014 19:38:35 +0000 (19:38 +0000)]
re PR libstdc++/56267 (unordered containers require Assignable hash function)

PR libstdc++/56267
* include/bits/hashtable.h (__cache_default): Do not depend on
whether the hash function is DefaultConstructible or CopyAssignable.
(_Hashtable): Adjust static assertions.
* doc/xml/manual/containers.xml (containers.unordered.cache): Update.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Remove.

From-SVN: r206904

10 years agoFix typo.
Sterling Augustine [Tue, 21 Jan 2014 19:30:08 +0000 (19:30 +0000)]
Fix typo.

From-SVN: r206900

10 years agore PR rtl-optimization/59858 (ICE: assign_by_spills, at lra-assigns.c:1283)
Vladimir Makarov [Tue, 21 Jan 2014 19:15:40 +0000 (19:15 +0000)]
re PR rtl-optimization/59858 (ICE: assign_by_spills, at lra-assigns.c:1283)

2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59858
* lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
ira_class_hard_regs_num.
(process_alt_operands): Increase reject for dying matched operand.

2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59858
* gcc.target/arm/pr59858.c: New.

From-SVN: r206897

10 years agore PR target/59003 (profiledbootstrap miscompiles gcc during stagefeedback --with...
Jakub Jelinek [Tue, 21 Jan 2014 19:12:06 +0000 (20:12 +0100)]
re PR target/59003 (profiledbootstrap miscompiles gcc during stagefeedback --with-tune=amdfam10)

PR target/59003
* config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
smaller than size, perform several stores or loads and stores
at dst + count - size to store or copy all of size bytes, rather
than just last modesize bytes.

* gcc.dg/tree-prof/pr59003.c: New test.

From-SVN: r206896

10 years agoconfig.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.
Baruch Siach [Tue, 21 Jan 2014 19:06:32 +0000 (19:06 +0000)]
config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.

libgcc/
* config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.

From-SVN: r206895

10 years agoFix ChangeLog entry, moving it from top-level ChangeLog to
Ian Lance Taylor [Tue, 21 Jan 2014 17:04:12 +0000 (17:04 +0000)]
Fix ChangeLog entry, moving it from top-level ChangeLog to
gcc/ChangeLog.

From-SVN: r206893

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 16:33:09 +0000 (17:33 +0100)]
[multiple changes]

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

* par-ch4.adb (P_If_Expression): Rewritten to improve error recovery.
* par-ch5.adb (P_Condition): New version with expression prescanned.
* par.adb (P_Condition): New version with expression prescanned.

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

* gnat_rm.texi: Document that Allow_Integer_Address is ignored
if Address is not a private type.
* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
Ignore pragma if System.Address is not a private type.

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

* namet.ads (Name_Len): Initialize to 0 to avoid accessing an
uninitialized value.

From-SVN: r206892

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 16:31:21 +0000 (17:31 +0100)]
[multiple changes]

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

* gnat_rm.texi (Scalar_Storage_Order): Update documentation.

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

* sem_ch12.adb (Set_Instance_Env): In Ada 2012 mode, preserve
the value of Assertions_Enabled flag when compiling an instance of
an internal unit. This facilitates the use of pre/postconditions
in generic internal units, such as the new elementary function
libraries.

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

* exp_aggr.adb: Minor reformatting.
* sem_attr.adb: Minor reformatting.
* sem_res.adb: Minor comment addition.
* einfo.adb: Minor comment updates.
* freeze.adb: Minor reformatting and code reorganization.

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

* par-ch4.adb (P_If_Expression): Handle more gracefully an
elsif clause that does not have an else part.

From-SVN: r206891

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 16:29:08 +0000 (17:29 +0100)]
[multiple changes]

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

* checks.adb, sem_util.ads, sem_ch4.adb: Minor reformatting.

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

* projects.texi: Minor typo fix.

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

* freeze.adb (Check_Component_Storage_Order): If a record type
has an explicit Scalar_Storage_Order attribute definition clause,
reject any component that itself is of a composite type and does
not have one.

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

* sem_ch10.adb (Generate_Parent_Reference): Make public so it
can be used to generate proper cross-reference information for
the parent units of proper bodies.

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

* gcc-interface/decl.c (gnat_to_gnu_entity): For a modular
type that represents a bit packed array type, propagate the
reverse storage order flag to the generated wrapper record.
* exp_pakd.adb (Expand_Packed_Element_Set,
Expand_Packed_Element_Reference): No byte swapping required in
the front-end for the case of a reverse storage order array,
as this is now handled uniformly in the back-end.  However we
still need to swap back an extracted element if it is itself a
nested composite with reverse storage order.

From-SVN: r206890

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 16:24:37 +0000 (17:24 +0100)]
[multiple changes]

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

* sem_prag.adb (Analyze_External_Property): Add processing for "others".
(Analyze_Pragma): Update the grammar of pragma Abstract_State to
include "others".

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

* gnat_ugn.texi: Minor updates.

From-SVN: r206889

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 16:22:17 +0000 (17:22 +0100)]
[multiple changes]

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

* exp_pakd.adb: Update comment, minor reformatting.

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

* sem_ch3.adb (Analyze_Variable_Contract): Trigger the volatile
object check when SPARK_Mode is on.
* sem_ch6.adb (Process_Formals): Trigger the volatile object
check when SPARK_Mode is on.
* sem_ch12.adb (Instantiate_Object): Trigger the volatile object
check when SPARK_Mode is on.
* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
corresponding pragma of aspect SPARK_Mode in the visible
declarations of a package declaration.
* sem_prag.adb (Analyze_Pragma): Trigger the volatile object
check when SPARK_Mode is on.
* sem_res.adb (Resolve_Actuals): Trigger the volatile object
check when SPARK_Mode is on.
(Resolve_Entity_Name): Trigger
the volatile object check when SPARK_Mode is on.

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

* a-except-2005.adb: Minor reformatting

From-SVN: r206888

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 16:20:24 +0000 (17:20 +0100)]
[multiple changes]

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

* sem_ch3.adb, sem_prag.adb, sem_prag.ads, sem_ch12.adb, sem_res.adb,
sem_ch6.adb, a-except-2005.adb: Minor reformatting.

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

* exp_ch3.adb (Expand_N_Object_Declaration): When a class-wide
object is declared, it is rewritten as a renaming of an dynamic
expression that wraps the initial value.  The renaming declaration
is first given an internal name, to prevent collisions with the
entity already declared, and then the name is modified to reflect
the original one. the modification of the name must preserve
the source location of the original, to prevent spurious errors
when compiling with style checks if the declaration involves
more than one entity.

From-SVN: r206887

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 16:16:43 +0000 (17:16 +0100)]
[multiple changes]

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

* aspects.adb Add entries for Async_Readers, Async_Writers,
Effective_Reads and Effective_Writes in table Canonical_Aspect.
* aspects.ads Add entries for Async_Readers, Async_Writers,
Effective_Reads and Effective_Writes in tables Aspect_Id,
Aspect_Names, Aspect_Delay and Implementation_Defined_Aspect.
* atree.adb (Ekind_In): New version with 8 parameters.
(Node34): New routine.
(Set_Node34): New routine.
* atree.ads (Ekind_In): New version with 8 parameters.
(Node34): New routine.
(Set_Node34): New routine.
* einfo.adb Contract is now Node34.
(Contract): Update the assertion and node usage.
(Get_Pragma): Include pragmas Async_Readers, Async_Writers,
Effective_Reads and Effective_Writes.
(Set_Contract): Update the assertion and node usage.
(Write_Field24_Name): Remove the output for a contract.
(Write_Field34_Name): Add output for a contract.
* einfo.ads Contract is now Node34. Update the comment on
attribute usage and related node structures.
(Get_Pragma): Update the comment on usage.
* par-prag.adb (Prag): Pragmas Async_Readers, Async_Writers,
Effective_Reads and Effective_Writes do not require special
processing by the parser.
* sem_ch3.adb (Analyze_Variable_Contract): New routine.
(Analyze_Declarations): Analyze the contract of a variable at
the end of the declarative region.
(Analyze_Object_Declaration): Create a contract for a variable.
* sem_ch6.adb (Analyze_Subprogram_Contract): Update the retrieval
of classification pragmas.
(Process_Formals): Detect an illegal
use of a volatile object as a formal in a function.
* sem_ch12.adb (Instantiate_Object): Detect an illegal use of
a volatile object as an actual in generic instantiation.
* sem_prag.adb Add entries for Async_Readers, Async_Writers,
Effective_Reads and Effective_Writes in table Sig_Flags.
(Analyze_External_State_In_Decl_Part): New routine.
(Analyze_Global_Item): Detect an illegal use of a volatile object
as a global item of a function.
(Analyze_Pragma): Reimplement
pragma Abstract_State. Add support for pragmas Async_Readers,
Async_Writers, Effective_Reads and Effective_Writes.
(Check_External_Properties): New routine.
* sem_prag.ads (Analyze_External_State_In_Decl_Part): New routine.
(Check_External_Properties): New routine.
* sem_res.adb (Resolve_Actuals): Detect an illegal use of a
volatile object as an actual in a call.
(Resolve_Entity_Name):
Add local variables Par, Prev and Usage_OK. Detect illegal
contexts of volatile objects.
* sem_util.adb (Add_Contract_Item): Add support for
pragmas associated with the contract of a variable.
(Async_Readers_Enabled): New routine.
(Async_Writers_Enabled): New routine.
(Effective_Reads_Enabled): New routine.
(Effective_Writes_Enabled): New routine.
(Has_Enabled_Property):
New routine.
(Is_Unchecked_Conversion_Instance): New routine.
(Is_Volatile_Object): Add support for entities that may denote
a volatile object.
* sem_util.ads (Add_Contract_Item): Update the
comment on usage.
(Async_Readers_Enabled): New routine.
(Async_Writers_Enabled): New routine.
(Effective_Reads_Enabled): New routine.
(Effective_Writes_Enabled): New routine.
(Is_Unchecked_Conversion_Instance): New routine.
* sinfo.ads Update the comment on the structure of N_Contract.
* snames.ads-tmpl Add predefined names for Async_Readers,
Async_Writers, Effective_Reads and Effective_Writes. Add
pragma ids for Async_Readers, Async_Writers, Effective_Reads
and Effective_Writes.

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

* exp_ch4.adb (Eval_Op_Expon): Use CRT_Safe_Compile_Time_Known_Value
* sem_eval.adb (Compile_Time_Known_Value): Remove special
handling of CRT mode (CRT_Safe_Compile_Time_Known_Value): New
function (Eval_Op_Expon): Add CRT_Safe in call to Test_Foldable
(Test_Foldable): Add CRT_Safe parameter
* sem_eval.ads (Compile_Time_Known_Value): Remove special
handling of CRT mode.
(CRT_Safe_Compile_Time_Known_Value): New function.

From-SVN: r206886

10 years agosem_prag.adb (Analyze_Pragma, [...]): Fix problem with pragma or aspect that applies...
Robert Dewar [Tue, 21 Jan 2014 16:13:56 +0000 (16:13 +0000)]
sem_prag.adb (Analyze_Pragma, [...]): Fix problem with pragma or aspect that applies to package spec or subprogram spec.

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

* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Fix problem
with pragma or aspect that applies to package spec or subprogram
spec.

From-SVN: r206885

10 years agoinclude
Tom Tromey [Tue, 21 Jan 2014 15:09:10 +0000 (15:09 +0000)]
include
* ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS)
(VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST)
(VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS)
(NOARGS): Don't define.
* libiberty.h (expandargv, writeargv): Don't use PARAMS.
libiberty
* _doprint.c (checkit): Use stdarg, not VA_* macros.
* asprintf.c (asprintf): Use stdarg, not VA_* macros.
* concat.c (concat_length, concat_copy, concat_copy2, concat)
(reconcat): Use stdarg, not VA_* macros.
* snprintf.c (snprintf): Use stdarg, not VA_* macros.
* vasprintf.c (checkit): Use stdarg, not VA_* macros.
* vsnprintf.c (checkit): Use stdarg, not VA_* macros.

From-SVN: r206881

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 12:02:54 +0000 (13:02 +0100)]
[multiple changes]

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

* exp_aggr.adb: Minor reformatting.

2014-01-21  Johannes Kanig  <kanig@adacore.com>

* gnat1drv.adb (Gnat1drv) remove obsolete reference to -gnatd.H.

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

* gnat_ugn.texi: Document the "checks" attribute in gnat2xml.

2014-01-21  Steve Baird  <baird@adacore.com>

* gnat_rm.texi: Improve description of SPARK_Mode pragma.

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

* prj-part.adb (Parse_Single_Project): Accept to extend a project
if it has only be imported by an project being extended. When a
project that has only been imported by a project being extended
is imported by another project that is not being extended,
reset the previous indication, so that it will be an error if
this project is extended later.
* prj-tree.adb (Create_Project): Include component From_Extended
in table Projects_HT
* prj-tree.ads (Project_Name_And_Node): New Boolean component
From_Extended

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

* atree.ads, atree.adb: Add Node33 and Set_Node33.
* einfo.ads, einfo.adb (SPARK_Pragma): New field (SPARK_Aux_Pragma):
New field (SPARK_Pragma_Inherited): New flag
(SPARK_Aux_Pragma_Inherited): New flag (SPARK_Mode_Pragmas):
Removed.
* lib.ads, lib.adb: Remove SPARK_Mode_Pragma, no longer used.
* opt.ads (SPARK_Mode_Pragma): New global variable.
* sem.ads: Add Save_SPARK_Mode_Pragma field to Scope_Stack_Entry.
* sem_ch3.adb: Use new SPARK_Mode data structures.
* sem_ch6.adb: Set SPARK_Mode fields in subprogram specs and bodies.
* sem_ch7.adb: Set SPARK_Mode fields in package spec and body entities.
* sem_ch8.adb (Push_Scope): Save SPARK_Mode_Pragma.
(Pop_Scope): Restore SPARK_Mode_Pragma.
* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Rewrite for
new data structures.

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

* back_end.adb: Undo previous change, not needed. Minor reformatting.

From-SVN: r206879

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 11:58:20 +0000 (12:58 +0100)]
[multiple changes]

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

* exp_ch5.adb: Fix comment.
* switch-c.adb: Minor comment update.
* exp_ch3.adb: Minor reformatting.

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

* back_end.adb (Scan_Compiler_Arguments): Do not store object
filename in gnatprove mode.

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

* sinfo.ads (No_Ctrl_Actions): Clarify documentation (flag also
suppresses usage of primitive _assign for tagged types).
* exp_aggr.adb (Build_Array_Aggr_Code.Gen_Assign): Set
No_Ctrl_Actions for a tagged type that does not require
finalization, as we want to disable usage of _assign (which
may cause undesirable discriminant checks on an uninitialized,
invalid target).

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

* sem_prag.adb: Reject invariant'class on completion.

From-SVN: r206878

10 years ago* mklog: Avoid adding falsely changed functions to ChangeLog.
Tatiana Udalova [Tue, 21 Jan 2014 10:07:22 +0000 (16:07 +0600)]
* mklog: Avoid adding falsely changed functions to ChangeLog.

From-SVN: r206875

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 08:01:05 +0000 (09:01 +0100)]
[multiple changes]

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

* exp_ch3.adb (Build_Init_Procedure): For
derivations of interfaces, do not move the the initialization
of the _parent field since such assignment is not generated.

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

* sem_res.adb (Rewrite_Renamed_Operator): Do not replace entity
with the operator it renames if we are within an expression of
a pre/postcondition, because the expression will be reanalyzed
at a later point, and the analysis of the renaming may affect
the visibility of the operator when in an instance.

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

* sinfo.ads, sinfo.adb: Change Do_Discriminant_Check to use new Flag1.
Add this flag to type conversion nodes and assignment nodes.
* treepr.adb: Deal properly with Flag 1,2,3.
* treeprs.adt: Minor comment update.

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

* sem_eval.adb (Compile_Time_Known_Value): Add Ignore_CRT
parameter.
* sem_eval.ads (Compile_Time_Known_Value): Add Ignore_CRT
parameter, completely rewrite spec.

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

* sem_ch10.adb (Install_Withed_Unit): If the unit is a subprogram
instance that is inlined, it may have been rewritten as a wrapper
package. In that case the unit that must be made visible is the
related instance of the package.

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

* exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Refine
previous change in codepeer mode.

From-SVN: r206874

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 07:57:53 +0000 (08:57 +0100)]
[multiple changes]

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

* exp_ch9.adb (Expand_N_Selective_Accept.Add_Accept): Always add
call to Abort_Undefer, as expected by the runtime.
* s-tasren.adb (Local_Complete_Rendezvous): Replace
Defer_Abort_Nestable by Defer_Abort, since we do not expect abort to be
deferred at this point. Update comments.

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

* exp_ch4.adb, exp_ch5.adb, checks.adb: Minor reformatting.

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

* switch-c.adb, usage.adb, gnat_ugn.texi: Mark -gnates as internal,
remove from doc.

From-SVN: r206873

10 years agoswitch-c.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 21 Jan 2014 07:54:56 +0000 (07:54 +0000)]
switch-c.adb, [...]: Minor reformatting.

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

* switch-c.adb, usage.adb, atree.adb, atree.ads: Minor reformatting.

From-SVN: r206872

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 07:52:22 +0000 (08:52 +0100)]
[multiple changes]

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

* atree.adb, atree.ads (Num_Extension_Nodes): Switch to Node_Id, since
this is value is used in Node_Id arithmetic operations.
(Copy_Node, Exchange_Entities): Use loops indexed by Num_Extension_Nodes
instead of hard-coded unrolled code.

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

* gnat1drv.adb: Minor code cleanup, removing useless code.

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

* opt.ads (SPARK_Switches_File_Name): New.
* switch-c.adb (Scan_Front_End_Switches): Add handling of -gnates=xxx *
* usage.adb (Usage): Document -gnates, in gnatprove mode only.
* gnat_ugn.texi: Document -gnates.

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

* errout.adb (Special_Msg_Delete): Update comment. Remove
special case for GNATprove which should not ignore mismatch
in sizes for representation clauses.
* sem_prag.adb (Analyze_Pragma): Remove special case for GNATprove
which should not ignore pragma Pack.

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

* sem_ch4.adb: Code clean up.

2014-01-21  Steve Baird  <baird@adacore.com>

* gnat_rm.texi: Improve GNAT RM description of SPARK_Mode pragma.

From-SVN: r206871

10 years ago[multiple changes]
Arnaud Charlet [Tue, 21 Jan 2014 07:47:43 +0000 (08:47 +0100)]
[multiple changes]

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

* gcc-interface/gigi.h: Get Flags array address.
* gcc-interface/trans.c: Acquire Flags array address.
* atree.adb: Add support for Flags array and Flag0,1,2,3.
* atree.ads: Add support for Flags array and Flag0,1,2,3.
* atree.h: Add support for Flags array and Flag0,1,2,3.
* back_end.adb: Pass Flags array address to gigi.

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

* sem_ch8.adb (Attribute_Renaming): Transfer original attribute
reference to generated body so that legality checks on stream
attributes are properly applied. If type is tagged and already
frozen, insert generated body at the point of the renaming
declaration.

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

* sem_ch12.adb: Code clean up.
* sem_ch8.adb: Minor reformatting

From-SVN: r206870

10 years agore PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias...
Jakub Jelinek [Tue, 21 Jan 2014 07:28:10 +0000 (08:28 +0100)]
re PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias.c:6843)

PR middle-end/59860
* gcc.dg/strlenopt-4.c: Expect the same counts on s390*-* as on all
other targets.

From-SVN: r206868

10 years agorl78.c (rl78_propogate_register_origins): Verify that CLOBBERs are REGs before propog...
DJ Delorie [Tue, 21 Jan 2014 04:30:45 +0000 (23:30 -0500)]
rl78.c (rl78_propogate_register_origins): Verify that CLOBBERs are REGs before propogating their values.

* config/rl78/rl78.c (rl78_propogate_register_origins): Verify
that CLOBBERs are REGs before propogating their values.

From-SVN: r206867

10 years agoround_3.f08: Add more cases.
Dominique d'Humieres [Tue, 21 Jan 2014 02:44:13 +0000 (03:44 +0100)]
round_3.f08: Add more cases.

2014-01-20  Dominique d'Humieres  <dominiq@lps.ens.fr>

* gfortran.dg/round_3.f08: Add more cases.

From-SVN: r206866

10 years agowrite_float.def (output_float): Remove inadvertent test code from previous patch.
Jerry DeLisle [Tue, 21 Jan 2014 02:39:53 +0000 (02:39 +0000)]
write_float.def (output_float): Remove inadvertent test code from previous patch.

2014-01-20  Jerry DeLisle  <jvdelisle@gcc.gnu>
    Dominique d'Humieres  <dominiq@lps.ens.fr>

* io/write_float.def (output_float): Remove inadvertent test
code from previous patch.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r206865

10 years agoDaily bump.
GCC Administrator [Tue, 21 Jan 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r206864

10 years agotarget-supports.exp (force_conventional_output_for): New procedure.
Richard Sandiford [Mon, 20 Jan 2014 21:21:53 +0000 (21:21 +0000)]
target-supports.exp (force_conventional_output_for): New procedure.

gcc/testsuite/
* lib/target-supports.exp (force_conventional_output_for): New
procedure.
* lib/scanasm.exp (scan-assembler_required_options)
(scan-assembler-not_required_options)
(scan-assembler-times_required_options): Replace with
force_conventional_output_fors.
* lib/scanrtl.exp: Force conventional output for all rtl dump scans.
* gcc.target/mips/octeon-pipe-1.c: Remove -ffat-lto-objects.

From-SVN: r206860

10 years agocreate_testsuite_files: Add testsuite/experimental in the list of folders to search...
François Dumont [Mon, 20 Jan 2014 21:15:13 +0000 (21:15 +0000)]
create_testsuite_files: Add testsuite/experimental in the list of folders to search for tests.

2014-01-20  François Dumont  <fdumont@gcc.gnu.org>

* scripts/create_testsuite_files: Add testsuite/experimental in
the list of folders to search for tests.
* include/experimental/string_view
(basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
incompatible with constexpr qualifier.
(basic_string_view<>::front()): Likewise.
(basic_string_view<>::back()): Likewise.
* testsuite/experimental/string_view/element_access/wchar_t/2.cc:
Merge dg-options directives into one.
* testsuite/experimental/string_view/element_access/char/2.cc:
Likewise. Remove invalid experimental namespace scope on
string_view_type.

From-SVN: r206859

10 years agoAdd type to DEFCIFCODE to describe the inline failure
H.J. Lu [Mon, 20 Jan 2014 21:08:26 +0000 (21:08 +0000)]
Add type to DEFCIFCODE to describe the inline failure

Report inline error during early inlining if the inline failure is
CIF_FINAL_ERROR.

gcc/

PR middle-end/59789
* cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
(cgraph_inline_failed_type): New function.
* cgraph.h (DEFCIFCODE): Add type.
(cgraph_inline_failed_type_t): New enum.
(cgraph_inline_failed_type): New prototype.
* cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
OPTIMIZATION_MISMATCH.
* tree-inline.c (expand_call_inline): Emit errors during
early_inlining if cgraph_inline_failed_type returns
CIF_FINAL_ERROR.

gcc/testsuite/

PR middle-end/59789
* gcc.target/i386/pr59789.c: New testcase.

From-SVN: r206858

10 years agore PR target/59685 (ICE: in output_2305, at config/i386/sse.md:8919 with -march=bdver...
Uros Bizjak [Mon, 20 Jan 2014 20:45:35 +0000 (21:45 +0100)]
re PR target/59685 (ICE: in output_2305, at config/i386/sse.md:8919 with -march=bdver1 -mavx512f)

PR target/59685
* config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
mode attribute in insn output.

From-SVN: r206856

10 years agooutput.h (output_constant): Delete.
Eric Botcazou [Mon, 20 Jan 2014 20:13:10 +0000 (20:13 +0000)]
output.h (output_constant): Delete.

* output.h (output_constant): Delete.
* varasm.c (output_constant): Make private.

From-SVN: r206855

10 years agora1.C (struct tree_base): Change the width of the 'code' bitfield from 16 to 8.
Yufeng Zhang [Mon, 20 Jan 2014 18:42:50 +0000 (18:42 +0000)]
ra1.C (struct tree_base): Change the width of the 'code' bitfield from 16 to 8.

gcc/testsuite

* g++.dg/debug/ra1.C (struct tree_base): Change the width of
the 'code' bitfield from 16 to 8.

From-SVN: r206853

10 years agoFixing ChangeLog entry for earlier commit.
Marcus Shawcroft [Mon, 20 Jan 2014 18:38:09 +0000 (18:38 +0000)]
Fixing ChangeLog entry for earlier commit.

From-SVN: r206852

10 years ago[AArch64] Disable vec_perm patterns for aarch64_be.
Alex Velenko [Mon, 20 Jan 2014 18:35:36 +0000 (18:35 +0000)]
[AArch64] Disable vec_perm patterns for aarch64_be.

From-SVN: r206851

10 years ago[AArch64] vneg floating point testcase BE fixed.
Alex Velenko [Mon, 20 Jan 2014 18:30:32 +0000 (18:30 +0000)]
[AArch64] vneg floating point testcase BE fixed.

2013-01-20  Alex Velenko  <Alex.Velenko@arm.com>

* gcc.target/aarch64/vneg_f.c (STORE_INST): New macro.
(RUN_TEST): Use new macro.
(INDEX64_32): Delete.
(INDEX64_64): Likewise.
(INDEX128_32): Likewise.
(INDEX128_64): Likewise.
(INDEX): Likewise.
(test_vneg_f32): Use fixed RUN_TEST.

From-SVN: r206850

10 years agore PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias...
Jakub Jelinek [Mon, 20 Jan 2014 18:18:21 +0000 (19:18 +0100)]
re PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias.c:6843)

PR middle-end/59860
* tree.h (fold_builtin_strcat): New prototype.
* builtins.c (fold_builtin_strcat): No longer static.  Add len
argument, if non-NULL, don't call c_strlen.  Optimize
directly into __builtin_memcpy instead of __builtin_strcpy.
(fold_builtin_2): Adjust fold_builtin_strcat caller.
* gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.

From-SVN: r206848

10 years agoi386.c (ix86_avoid_lea_for_addr): Return false for SImode_address_operand operands...
Uros Bizjak [Mon, 20 Jan 2014 17:59:14 +0000 (18:59 +0100)]
i386.c (ix86_avoid_lea_for_addr): Return false for SImode_address_operand operands, having only a REG argument.

* config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
for SImode_address_operand operands, having only a REG argument.

From-SVN: r206847

10 years agore PR other/58996 (build failure in libcilkrts)
Balaji V. Iyer [Mon, 20 Jan 2014 17:49:22 +0000 (17:49 +0000)]
re PR other/58996 (build failure in libcilkrts)

Fix for PR other/58996.
+2014-01-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       PR other/58996
+       * configure.ac: Added a check for pthread affinity support.
+       * runtime/os-unix.c: Likewise.
+       * configure: Regenerate.
+

From-SVN: r206846

10 years ago[AArch64] Define BE loader name.
Marcus Shawcroft [Mon, 20 Jan 2014 17:41:54 +0000 (17:41 +0000)]
[AArch64] Define BE loader name.

2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>

    * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
    loader name using mbig-endian.
    (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.

From-SVN: r206845

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 16:10:53 +0000 (17:10 +0100)]
[multiple changes]

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

* checks.adb: Check SPARK_Mode instead of GNATProve_Mode for
converting warnings on inevitable exceptions to errors.
* exp_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for
converting warnings on inevitable exceptions to errors.
* opt.adb (SPARK_Mode_Config): Handled like other config flags
* opt.ads (SPARK_Mode_Type): Moved here from types (renamed from
SPARK_Mode_Id) (SPARK_Mode_Type): Add pragma Ordered, remove
SPARK_ from names (SPARK_Mode): New flag (SPARK_Mode_Config):
New flag (Config_Switches_Type): Add SPARK_Mode field
* sem.adb: Minor code reorganization (remove unnecessary with)
* sem.ads (Scope_Stack_Entry): Add Save_SPARK_Mode field
* sem_aggr.adb: Check SPARK_Mode instead of GNATProve_Mode for
converting warnings on inevitable exceptions to errors.
* sem_attr.adb: Check SPARK_Mode instead of GNATProve_Mode for
converting warnings on inevitable exceptions to errors.
* sem_ch3.adb: Check SPARK_Mode instead of GNATProve_Mode for
converting warnings on inevitable exceptions to errors.
* sem_ch4.adb: Check SPARK_Mode instead of GNATProve_Mode for
converting warnings on inevitable exceptions to errors.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Reset SPARK_Mode
from spec if needed
* sem_ch7.adb (Analyze_Package_Body_Helper): Reset SPARK_Mode
from spec if needed
* sem_ch8.adb (Push_Scope): Save SPARK_Mode (Pop_Scope):
Restore SPARK_Mode
* sem_elab.adb: Check SPARK_Mode instead of GNATProve_Mode for
converting warnings on inevitable exceptions to errors.
* sem_prag.adb (Get_SPARK_Mode_From_Pragma): New function
(Get_SPARK_Mode_Id): Removed (Get_SPARK_Mode_Type): New name
of Get_SPARK_Mode_Id
* sem_prag.ads (Get_SPARK_Mode_From_Pragma): New function
* sem_res.adb: Check SPARK_Mode instead of GNATProve_Mode for
converting warnings on inevitable exceptions to errors.
* sem_util.adb: Check SPARK_Mode instead of GNATProve_Mode for
converting warnings on inevitable exceptions to errors.
* types.ads (SPARK_Mode_Id): Moved to opt.ads and renamed
SPARK_Mode_Type

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

* sem_ch13.adb: Add semantic information to rewritten type
reference.

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

* exp_ch5.adb (Expand_N_Assignment_Statement): If both sides
are of a type with unknown discriminants, convert both to the
underlying view of the type, so that the proper constraint check
can be applied to the right-hand side.

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

* atree.adb (Copy_Node): Fix failure to copy last component
(Exchange_Entities): Fix failure to exchange last entity

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

* sem_ch12.adb: Code clean up.

From-SVN: r206844

10 years agognat_rm.texi, [...]: Minor reformatting.
Robert Dewar [Mon, 20 Jan 2014 16:08:09 +0000 (16:08 +0000)]
gnat_rm.texi, [...]: Minor reformatting.

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

* gnat_rm.texi, sem_ch4.adb: Minor reformatting.

From-SVN: r206843

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 16:02:58 +0000 (17:02 +0100)]
[multiple changes]

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

* sem_ch4.adb (Analyze_Quantified_Expression): If after
pre-analysis  the loop parameter specification has been
rewritten as a iterator specification, propagate the change to
the quantified expression, for ASIS navigtion needs.

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

* par-ch10.adb: Minor error message change: escape [ and ].

From-SVN: r206842

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 16:01:22 +0000 (17:01 +0100)]
[multiple changes]

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

* checks.adb: Make warnings on exceptions into errors in GNATprove mode.
* errout.adb: Implement [ and ] insertion characters.
* errout.ads: Document new [ and ] insertion characters.
* sem_ch12.adb, restrict.adb, frontend.adb, exp_ch7.adb: Minor
addition of ??? comment.
* lib-xref.adb, exp_util.adb, gnat1drv.adb: Minor reformatting
* exp_ch4.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_elab.adb,
sem_eval.adb, sem_res.adb, sem_util.adb, sem_attr.adb, sem_aggr.adb:
Make warnings on exceptions into errors in GNATprove mode.
* sem_dim.adb: Minor reformatting throughout Quote [ and ]
in error messages.

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

* sem_ch13.adb: Code clean up.

From-SVN: r206841

10 years ago[AArch64 Documentation] Clarify meaning of -mcpu, -mtune, -march
James Greenhalgh [Mon, 20 Jan 2014 15:57:50 +0000 (15:57 +0000)]
[AArch64 Documentation] Clarify meaning of -mcpu, -mtune, -march

gcc/

* doc/invoke.texi (-march): Clarify documentation for AArch64.
(-mtune): Likewise.
(-mcpu): Likewise.

From-SVN: r206840

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:57:15 +0000 (16:57 +0100)]
[multiple changes]

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

* errout.ads, errout.adb: Implement >? >x? >X? sequences in error
messages.
* sem_ch6.adb (Check_Statement_Sequence): Missing return is an
error in GNATprove mode.

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

* par-ch4.adb (Is_Parameterless_Attribute): The Ada2012 attribute
reference 'Old takes no parameters, and thus can appear as a
prefix of a slice.

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

* exp_aggr.adb: Fix minor typos.

From-SVN: r206839

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:55:52 +0000 (16:55 +0100)]
[multiple changes]

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

* sem_attr.adb (Analyze_Attribute, case 'Constrained): In an
instance the attribute is legal, and its value is determined
statically if the type has no discriminants. This choice is
more useful than rechecking the legality rule in the instance,
is consistent with older usage, and is also consistent with all
existing tests.

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

* sem_cat.adb (Validate_Static_Object_Name): Change error into
warning in Relaxed_Semantic_Mode.

From-SVN: r206838

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:54:38 +0000 (16:54 +0100)]
[multiple changes]

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

* sem_attr.adb: Code and comments cleanup.

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

* debug.adb Free debug flags -gnatd.D, -gnatd.G and -gnatd.V *
* errout.adb (Compilation_Errors): Remove special handling in
GNATprove mode.
* gnat1drv.adb (Adjust_Global_Switches): Remove handling of the
removed debug flags.
* gnat_rm.texi: Initial documentation for Abstract_State, Depends,
Global, Initial_Condition, Initializes and Refined_State pragmas and
aspects.
* opt.ads (Frame_Condition_Mode, Formal_Extensions,
SPARK_Strict_Mode): Remove global flags.
* sem_ch3.adb (Analyze_Object_Declaration): Check of no hidden state
always performed now, on packages declaring a null state.
(Signed_Integer_Type_Declaration): Remove ill-designed attempt
at providing pedantic mode for bounds of integer types.
* sem_ch4.adb (Analyze_Quantified_Expression): Warning on suspicious
"some" quantified expression now issued under control of -gnatw.t,
like the other warning on unused bound variable.
* sem_prag.adb (Check_Precondition_Postcondition): Remove useless test
on removed flag.
(Analyze_Pragma): Remove tests for SPARK 2014
pragmas, not officially allowed by GNAT.

From-SVN: r206837

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:51:54 +0000 (16:51 +0100)]
[multiple changes]

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

* sem_prag.adb (Analyze_Pragma): Ensure that
the sole argument of pragmas Abstract_State, Contract_Cases,
Depends, Global and Initializes in in aggregate form.
(Analyze_Refined_Pragma): Ensure that the sole argument of
pragmas Refined_Depends, Refined_Global and Refined_State is in
aggregate form.
(Ensure_Aggregate_Form): New routine.

2014-01-20  Doug Rupp  <rupp@adacore.com>

* sem_attr.adb (Analyze_Attribute): case
Attribute_Constrained => treat all prefixes as legal for Declib
compatibility.

From-SVN: r206836

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:50:09 +0000 (16:50 +0100)]
[multiple changes]

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

* sem_prag.adb (Check_Mode): Reimplement the routine.
(Find_Mode): New routine.

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

* sem_ch4.adb (Operator_Check): Handle additional
Allow_Integer_Address cases.

From-SVN: r206835

10 years agore PR libstdc++/56267 (unordered containers require Assignable hash function)
Jonathan Wakely [Mon, 20 Jan 2014 15:49:39 +0000 (15:49 +0000)]
re PR libstdc++/56267 (unordered containers require Assignable hash function)

PR libstdc++/56267
* include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
friendship to _Local_iterator_base<..., false>.
(_Local_iterator_base): Give protected access to all existing members.
(_Local_iterator_base::_M_curr()): New public accessor.
(_Local_iterator_base::_M_get_bucket()): New public accessor.
(_Local_iterator_base<..., false>::_M_init()): New function to manage
the lifetime of the _Hash_code_base explicitly.
(_Local_iterator_base<..., false>::_M_destroy()): Likewise.
(_Local_iterator_base<..., false>): Define copy constructor and copy
assignment operator that use new functions to manage _Hash_code_base.
(operator==(const _Local_iterator_base&, const _Local_iterator_base&),
operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
Use public API for _Local_iterator_base.
* include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
* include/debug/unordered_map (__debug::unordered_map::erase(),
__debug::unordered_multimap::erase()): Likewise.
* include/debug/unordered_set (__debug::unordered_set::erase(),
__debug::unordered_multiset::erase()): Likewise.
* testsuite/23_containers/unordered_set/56267-2.cc: New test.

From-SVN: r206834

10 years agognat_rm.texi (Allow_Integer_Address): Remove note about not allowed if address is...
Robert Dewar [Mon, 20 Jan 2014 15:49:09 +0000 (15:49 +0000)]
gnat_rm.texi (Allow_Integer_Address): Remove note about not allowed if address is non-private, no longer true.

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

* gnat_rm.texi (Allow_Integer_Address): Remove note about not
allowed if address is non-private, no longer true.
* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
Remove check for address being private, causes difficulty when
pragma used in gnat.adc file and is not needed, since we guard
this in Address_Integer_Convert_OK.
* exp_ch7.adb: Minor reformatting.
* sem_ch4.adb: Handle operator operands in Allow_Integer_Address mode.

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

* checks.adb (Apply_Range_Check): Remove gnatprove special
casing of exponentiation.
* sem_res.adb (Resolve_Op_Expon): Apply range check to right
operand for integer case to check range against Natural.

From-SVN: r206833

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:47:03 +0000 (16:47 +0100)]
[multiple changes]

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

* s-tataat.adb: Minor reformatting.

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

* einfo.adb (Is_Descendent_Of_Address): Now applies to all
entities, and also fix documentation to remove mention of visible
integer type, since this is not what the implementation does.
* einfo.ads (Is_Descendent_Of_Address): Now applies to all
entities, and also fix documentation to remove mention of visible
integer type, since this is not what the implementation does.
* gnat_rm.texi: Minor clarification of Allow_Integer_Address
function.
* sem_ch4.adb (Analyze_One_Call): Handle Allow_Integer_Address
case for parameter type check.
* sem_res.adb (Resolve): Use new function
Address_Integer_Convert_OK.
* sem_type.adb: Minor code reorganization (use Ekind_In) Minor
reformatting throughout.
* sem_util.adb (Address_Integer_Convert_OK): New function.
* sem_util.ads: Minor reformatting (put specs in alpha order)
(Address_Integer_Convert_OK): New function.

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

* exp_ch7.adb (Wrap_Transient_Expression):
Insertion extra conditional expression only if
Opt.Suppress_Control_Flow_Optimizations is set.

From-SVN: r206832

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:45:51 +0000 (16:45 +0100)]
[multiple changes]

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

* s-tataat.adb (Initialize_Attributes): Abort might already be
deferred in Create_Task.

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

* checks.adb (Apply_Scalar_Range_Check): Flag
the exponent as requiring a range check when the expression is
an exponentiation.

From-SVN: r206831

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:41:35 +0000 (16:41 +0100)]
[multiple changes]

2014-01-20  Fedor Rybin  <frybin@adacore.com>

* gnat_ugn.texi: Documenting --passed-tests option for gnattest.

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

* sem_util.adb (Default_Initialization): New routine.
* sem_util.ads: Add new type Default_Initialization_Kind.
(Default_Initialization): New routine.

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

* sem_prag.adb (Check_Mode): Correct all error
message logic dealing with in/in out parameters that may appear
as inputs or have a self reference.

From-SVN: r206830

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:39:55 +0000 (16:39 +0100)]
[multiple changes]

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

* exp_ch9.adb, checks.adb, exp_intr.adb: Minor reformatting.
* sem_res.adb (Resolve): Fix error causing infinite loop for
integer used as address. Allow addresses as integers.

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

* s-osinte-linux.ads (struct_sigaction): Fix rep clause.

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

* par-ch8.adb (P_Use_Type_Clause): Detect syntax
error when "use all" is not followed by "type".

From-SVN: r206829

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:37:46 +0000 (16:37 +0100)]
[multiple changes]

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

* exp_intr.adb (Expand_Unc_Deallocation): Remove warning on abort
followed by free.

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

* checks.adb (Apply_Address_Clause_Check): If there is an
alignment check on the expression in an address clause, and there
is no local exception propagation, add an additional explanatory
message to clarify the cause of previous warning.

From-SVN: r206828

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:36:52 +0000 (16:36 +0100)]
[multiple changes]

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

* exp_ch7.adb: Minor reformatting.
* opt.ads: Minor comment updates.
* sem.adb: Minor name change Is_Main_Unit =>
Is_Main_Unit_Or_Main_Unit_Spec.
* sem_ch6.adb: Minor reformatting and code reorganization.

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

* gnat_ugn.texi: Update gnatpp switches.

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

* exp_ch9.adb: Minor comment edit.

From-SVN: r206827

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:35:11 +0000 (16:35 +0100)]
[multiple changes]

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

* gnat_rm.texi: Document that Allow_Integer_Address is permitted
only if System.Address is a private type.
* opt.ads (Allow_Integer_Address): No longer set by -gnates.
* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
Allowed only if type System.Address is private, since otherwise
it makes no sense.
* sem_res.adb: Fix failure to properly Analyze unchecked
conversions that were introduced by Allow_Integer_Address.
* switch-c.adb: Remove -gnates switch.
* usage.adb: Remove -gnates switch.
* gnat_ugn.texi: Remove documentation of -gnates flag.

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

* sem_ch6.adb (Analyze_Expression_Function): Pre-analyze and
resolve expression to perform proper name capture.

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

* sem.adb (Semantics): When saving/restoring configuration
switches, the spec of a pre- defined unit that is the main unit
must be treated as a predefined unit as well.

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

* exp_ch7.adb (Wrap_Transient_Expression): For a Boolean
expression, insert an extra conditional expression when saving
the value of the expression, for the benefit of control flow
graph based coverage analysis.
* exp_ch3.adb: Minor reformatting.

From-SVN: r206826

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:31:59 +0000 (16:31 +0100)]
[multiple changes]

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

* gnat1drv.adb: Set Allow_Integer_Address in relaxed semantics mode.
* gnat_rm.texi: Document pragma Allow_Integer_Address.
* gnat_ugn.texi: Document pragma Allow_Integer_Address, -gnates.
* opt.ads: New flag Allow_Integer_Address.
* par-prag.adb: Dummy entry for pragma Allow_Integer_Address.
* sem_ch5.adb: Minor reformatting.
* sem_prag.adb: Implement pragma Allow_Integer_Address.
* sem_res.adb (Resolve): Allow integer address value if
switch set.
* sem_util.adb: Minor reformatting.
* snames.ads-tmpl: Add entry for pragma Allow_Integer_Address.
* switch-c.adb: Recognize flag -gnates.
* usage.adb: Document flag -gnates.

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

* s-tadeca.adb: Fix minor typos in comment.

From-SVN: r206825

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:29:06 +0000 (16:29 +0100)]
[multiple changes]

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

* s-win32.ads (FreeLibrary): New import.

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

* sem_res.adb, sem_cat.adb: Minor reformatting.
* sem_ch11.adb (Analyze_Raise_Statement): Only give warning about
assigning to OUT parameters for the current subprogram scope.
* exp_ch4.adb: Minor reformatting.

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

* exp_ch4.adb (Process_Transient_Object,
Find_Enclosing_Contexts): If the top-level if-expression that
generated the transient object is an actual in a call, the proper
Hook_Context is a construct enclosing the call.
* einfo.ads: Indicate that Related_Expression is used to link a
loop variable to the container expression over which the loop
takes place.
(Analyze_Iterator_Specification): Set the Related_Expression of
the loop variable in a container element iterator.
(Note_Possible_Modification): If the variable is the loop
variable in a container element iterator, indicate that the
enclosing container is also modified.

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

* aspects.adb (Move_Or_Merge_Aspects): Reimplemented.

From-SVN: r206824

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:25:44 +0000 (16:25 +0100)]
[multiple changes]

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

* s-taasde.ads, gnat_ugn.texi, s-tadeca.adb, sem_res.adb, s-tadeca.ads:
Minor reformatting and code clean up.

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

* sem_cat.adb (Validate_Object_Declaration): Relax semantics
of objects of private type if Relaxed_RM_Semantics.

From-SVN: r206823

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:23:37 +0000 (16:23 +0100)]
[multiple changes]

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

* a-cofove.ads (Vector): Capacity discriminant
should be in range of the index.

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

* a-caldel.ads(To_Duration), s-taasde.ads(Time_Enqueue):
Clarify specs s-tadeca.adb(Enqueue_Calendar): Compensate for
possible difference between epoch of Ada.Calendar clock and Ada
real-time/tasking clock.
* s-taprop-posix.adb: Minor comment fix.

2014-01-20  Doug Rupp  <rupp@adacore.com>

* sysdep.c [vxworks]: Remove Vxworks version noise for RTP.

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

* exp_attr.adb (Expand_N_Attribute_Reference): Generate validity
checks on the prefix of attribute 'Old.
* sem_ch3.adb (Process_Range_Expr_In_Decl): Suppress the
generation of validity checks on a range that belongs to the
iteration scheme of a quantified expression.
* sem_ch5.adb (One_Bound): Suppress the generation of validity
checks on a bound that belongs to the iteration scheme of a
quantified expression, generate the check in all other cases.

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

* gnat_ugn.texi: Enable --pp-new by default. Minor reorganization.

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

* sem_res.adb (Resolve): When compiling a predefined unit, ignore
interpretations that do not come from other predefined units,
to prevent spurious ambiguities in the presence of user-defined
operators in the context of (an instance of) a predefined unit.

From-SVN: r206822

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:21:18 +0000 (16:21 +0100)]
[multiple changes]

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

* gnat_rm.texi: Document that Loop_Variant is included in
Statement_Assertions.
* sem_prag.adb (Check_Kind): Add Loop_Variant to
Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant
to Statement_Assertions.

2014-01-20  Doug Rupp  <rupp@adacore.com>

* sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case
for errno ENOENT from RTP on NFS mounted file system.

From-SVN: r206821

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:19:15 +0000 (16:19 +0100)]
[multiple changes]

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

* sem_util.adb (Check_Function_Writable_Actuals): 1) Do not
examine code that does not come from source. The check does not
apply to code generated for constraint checks, and such code may
generate spurious error messages when compiled with expansion
disabled (as in a generic unit) because side effects may not
have been removed.
2) Make error messages more explicit: indicate the component
of the construct whose value is indeterminate because of a
call to a function with in-out parameter in another component,
when there is no mandated order of execution between the two
components (actuals, aggregate components, alternatives).

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

* gnat_rm.texi: Minor cleanup.

From-SVN: r206820

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:17:29 +0000 (16:17 +0100)]
[multiple changes]

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

* sem_attr.adb (Analyze_Attribute): Attributes 'Old and 'Result
can now apply to a refined postcondition.
* sem_ch6.adb (Analyze_Subprogram_Contract): Remove local
variable Result_Seen. Add variables Case_Prag, Post_Prag,
Seen_In_Case and Seen_In_Post. Update the mechanism that detects
whether postconditions and/or constract-cases mention attribute
'Result and introduce a post-state when applied to functions.
(Check_Result_And_Post_State): Removed.
* sem_prag.adb (Analyze_Pragma): Add local variable
Result_Seen. Verify that the expression of pragma Refined_Post
mentions attribute 'Result and introduces a post-state.
* sem_util.ads, sem_util.adb (Check_Result_And_Post_State): New routine.

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

* exp_ch7.adb (Is_Subprogram_Call): New routine.
(Process_Transient_Objects): Make variable Must_Hook global with
respect to all locally declared subprograms. Search the context
for at least one subprogram call.
(Requires_Hooking): Removed.

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

* a-cfdlli.ads a-cfhama.ads a-cfhase.ads a-cforma.ads
* a-cforse.ads a-cofove.ads: Add pragma Annotate (GNATprove,
External_Axiomatization);

From-SVN: r206819

10 years agosem_attr.adb (Analyze_Attribute, [...]): Allow Loop_Entry in Assert, Assert_And_Cut...
Robert Dewar [Mon, 20 Jan 2014 15:15:34 +0000 (15:15 +0000)]
sem_attr.adb (Analyze_Attribute, [...]): Allow Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.

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

* sem_attr.adb (Analyze_Attribute, case Loop_Entry): Allow
Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.
* sem_prag.adb (Analyze_Pragma, case Assert[_And_Cut], Assume):
Allow Loop_Entry to be used in these pragmas if they appear in
an appropriate context.
(Placement_Error): Specialize error
message for pragma Assert[_And_Cut] or pragma Assume containing
Loop_Entry attribute.
* a-exexpr-gcc.adb, sinput.adb: Minor reformatting.
* s-excmac-arm.ads, s-except.ads, s-excmac-gcc.ads: Minor reformatting
and code clean ups.

From-SVN: r206818

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:13:01 +0000 (16:13 +0100)]
[multiple changes]

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

* gnat1drv.adb: Minor comment update.

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

* raise-gcc.c (PERSONALITY_FUNCTION/arm): Remove unused
variables, comment out unused code.
* a-exexpr-gcc.adb: Move declarations to s-excmac-gcc.ads
* s-excmac-gcc.ads: New file, extracted from a-exexpr-gcc.adb
* s-excmac-arm.ads: New file.

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

* exp_ch4.adb (Expand_N_Slice): Remove constant D and variables
Drange and Index_Typ. Remove the circuitry which creates a
range check to compare the index type of the array against the
discrete_range.
* sem_res.adb (Resolve_Slice): Add local variable Dexpr. Update
the circuitry which creates a range check to handle a
discrete_range denoted by a subtype indication.

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

* sinput.adb, sinput.ads (Sloc_Range): Traverse the tree of original
nodes to get the original sloc range.

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

* sem_prag.adb (Analyze_Pragma): Use Defining_Entity to obtain the
entity of a [library level] package.

From-SVN: r206817

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 14:00:29 +0000 (15:00 +0100)]
[multiple changes]

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

* raise-gcc.c (exception_class_eq): New function.
(is_handled_by): Use it to compare exception classes.
(PERSONALITY_STORAGE): Define. (continue_unwind): New function to
be called to return URC_CONTINUE_UNWIND.
(personality_body): New function, extracted from PERSONALITY_ROUTINE.
(PERSONALITY_ROUTINE): Add an implementation for the ARM unwinder.

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

* opt.ads: Minor comment update.

From-SVN: r206815

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 13:59:08 +0000 (14:59 +0100)]
[multiple changes]

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

* exp_ch4.adb (Expand_N_Slice): Relocate some variables and
constants to the "Local variables" area. Add new constant D. Add
new variables Drange and Index_Typ.  Rename Pfx to Rep and Ptp
to Pref_Typ and update all occurrences. Add circuitry to extract
the discrete_range and the index type and build a range check.

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

* gnat1drv.adb (Adjust_Global_Switches): Enable
Treat_Categorization_Errors_As_Warnings when Relaxed_RM_Semantics
is set.

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

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

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

* sem_ch13.adb (Analyze_Aspect_Specifications):
When aspect SPARK_Mode appears on a package body, insert the
generated pragma at the top of the body declarations.

From-SVN: r206814

10 years agosem_aggr.adb, [...]: Minor reformatting.
Robert Dewar [Mon, 20 Jan 2014 13:57:30 +0000 (13:57 +0000)]
sem_aggr.adb, [...]: Minor reformatting.

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

* sem_aggr.adb, exp_prag.adb, sem_aux.adb, sinfo.ads, sem_ch10.adb,
checks.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, g-arrspl.adb,
expander.adb, gnat1drv.adb, exp_ch4.adb, sem_ch6.adb,
sem_ch8.adb, exp_dist.adb: Minor reformatting.

From-SVN: r206813

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 13:54:43 +0000 (14:54 +0100)]
[multiple changes]

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

* gnat1drv.adb (Gnat1drv): Call Write_ALI with Object=True in GNATprove
mode.

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

* g-arrspl.ads (Slice_Set): New definition (will use a copy on
write scheme).
* g-arrspl.adb: Adapt all routine to this new implementation.
(Set): Copy the Slice_Set definition before reusing it.

From-SVN: r206812

10 years agosem_prag.adb (Process_Import_Or_Interface): In Relaxed_RM_Semantics, support old...
Arnaud Charlet [Mon, 20 Jan 2014 13:53:22 +0000 (13:53 +0000)]
sem_prag.adb (Process_Import_Or_Interface): In Relaxed_RM_Semantics, support old Ada 83 style of pragma Import.

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

* sem_prag.adb (Process_Import_Or_Interface): In
Relaxed_RM_Semantics, support old Ada 83 style of pragma Import.
(Analyze_Pragma): Ditto for pragma Export.
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Handle old pragma
Import style.

From-SVN: r206810

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 13:52:19 +0000 (14:52 +0100)]
[multiple changes]

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

* einfo.ads: E_Abstract_State is now part of the entities that
can be overloaded. Update type Overloadable_Kind to reflect the
inclusion of abstract states.
* sem_ch6.adb (New_Overloaded_Entity): A function can now
overload an abstract state.
* sem_prag.adb (Analyze_Constituent): Handle the overloading
of states by functions. Use Entity_Of to obtain the entity of
a constituent. (Analyze_Global_Item): Handle the overloading of
states by functions.
(Analyze_Initialization_Item): Handle the
overloading of states by functions.  Use Entity_Of to obtain the
entity of an item.
(Analyze_Input_Item): Handle the overloading
of states by functions. Use Entity_Of to obtain the entity of an item.
(Analyze_Input_Output): Handle the overloading of states by functions.
(Analyze_Refinement_Clause): Handle the overloading
of states by functions.  Use Entity_Of to obtain the entity of an item.
(Appears_In): Use Entity_Of to obtain the entity of an element.
(Check_Usage): Use Entity_Of to obtain the entity of
an item. Add a guard to prevent a crash due to a previous error.
(Resolve_State): New routine.

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

* spark_xrefs.ads, debug.adb, gnat1drv.adb, errout.adb, errout.ads,
opt.ads: Minor comments updates.

From-SVN: r206809