GCC Administrator [Tue, 21 Jan 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206864
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
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
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
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
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
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
Marcus Shawcroft [Mon, 20 Jan 2014 18:38:09 +0000 (18:38 +0000)]
Fixing ChangeLog entry for earlier commit.
From-SVN: r206852
Alex Velenko [Mon, 20 Jan 2014 18:35:36 +0000 (18:35 +0000)]
[AArch64] Disable vec_perm patterns for aarch64_be.
From-SVN: r206851
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Hristian Kirtchev [Mon, 20 Jan 2014 13:50:15 +0000 (13:50 +0000)]
einfo.adb (Non_Limited_View): Applies to abstract states.
2014-01-20 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb (Non_Limited_View): Applies to abstract states.
(Set_From_Limited_With): Applies to abstract states.
(Set_Non_Limited_View): Applies to abstract states.
(Write_Field17): Output the non-limited view of an abstract state.
* einfo.ads: Update the comment on usage and occurrences in
nodes for attributes From_Limited_With and Non_Limited_View.
* sem_aux.adb (Available_View): This routine can now handle
abstract states.
* sem_aux.ads (Available_View): This routine can now handle
abstract states. Update the comment on usage.
* sem_ch8.adb (Find_Expanded_Name): Handle abstract views
of states and variables.
(In_Pragmas_Depends_Or_Global): New routine.
* sem_ch10.adb (Build_Limited_Views): Implement
abstract (limited) views of variables and states.
(Build_Shadow_Entity): This routine is now a procedure. Add
formal parameter Shadow. Update the comment on usage. Add
context-specific decoration for states and variables.
(Decorate_State): New routine. (Decorate_Variable): New routine.
(Find_And_Process_States): New routine.
(Process_Declarations): Renamed to Process_Declarations_And_States.
(Process_Declarations_And_States): Add formal parameters
Pack and Create_Abstract_Views. Update the comment on usage.
(Process_States): New routine.
* sem_prag.adb (Check_Dependency_Clause): Handle abstract
views of states and variables. Match the abstract view of a state
against its corresponding non-abstract view.
(Is_Matching_Input):
Handle abstract views of states and variables. Match the abstract
view of a state against its corresponding non-abstract view.
(Process_Global_Item): Handle abstract views of states and
variables.
From-SVN: r206808
Bob Duff [Mon, 20 Jan 2014 13:48:45 +0000 (13:48 +0000)]
sem_ch10.adb (Expand_With_Clause): Don't recurse on the prefix if the current with-ed name refers to a package...
2014-01-20 Bob Duff <duff@adacore.com>
* sem_ch10.adb (Expand_With_Clause): Don't
recurse on the prefix if the current with-ed name refers to a
package that renames its own parent, eg "package P.Q renames P;".
From-SVN: r206807
Yannick Moy [Mon, 20 Jan 2014 13:47:41 +0000 (13:47 +0000)]
exp_spark.adb (Expand_SPARK_Call): Remove procedure.
2014-01-20 Yannick Moy <moy@adacore.com>
* exp_spark.adb (Expand_SPARK_Call): Remove procedure.
* opt.adb, opt.ads (Full_Expander_Active): Remove function.
* checks.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb, sem_aggr.adb,
* sem_ch10.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb,
* sem_disp.adb, sem_res.adb Replace Full_Expander_Active by
Expander_Active.
2014-01-20 Yannick Moy <moy@adacore.com>
* sinfo.ads Update documentation of GNATprove mode.
From-SVN: r206806
Yannick Moy [Mon, 20 Jan 2014 13:44:07 +0000 (13:44 +0000)]
2014-01-20 Yannick Moy <moy@adacore.com>
* adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb,
* exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb,
* sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb,
* sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into
GNATprove_Mode.
* sem_ch13.adb: Remove blank.
* exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace
subprograms by alias for renamings, not for inherited primitive
operations.
* exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion
in GNATprove mode.
(Remove_Side_Effects): Apply the removal in
GNATprove mode, for the full analysis of expressions.
* expander.adb (Expand): Call the light SPARK expansion in GNATprove
mode.
(Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore
save/restore actions for Expander_Active flag in GNATprove mode,
similar to what is done in ASIS mode.
* frontend.adb (Frontend): Generic bodies are instantiated in
GNATprove mode.
* gnat1drv.adb (Adjust_Global_Switches): Set operating
mode to Check_Semantics in GNATprove mode, although a light
expansion is still performed.
(Gnat1drv): Set Back_End_Mode to
Declarations_Only in GNATprove mode, and later on special case
the GNATprove mode to continue analysis anyway.
* lib-writ.adb (Write_ALI): Always generate ALI files in
GNATprove mode.
* opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to
Expander_Active.
(SPARK_Mode): Renamed as GNATprove_Mode.
* sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the
tree in GNATprove_Mode.
* sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate
body in GNATprove mode.
(Need_Subprogram_Instance_Body): Always instantiate body in GNATprove
mode.
* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
Make sure side effects are removed in GNATprove mode.
From-SVN: r206805
Tejas Belagod [Mon, 20 Jan 2014 12:34:13 +0000 (12:34 +0000)]
[AArch64] Relax CANNOT_CHANGE_MODE_CLASS
gcc/
* config/aarch64/aarch64-protos.h
(aarch64_cannot_change_mode_class_ptr): Declare.
* config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
aarch64_cannot_change_mode_class_ptr): New.
* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
backend hook aarch64_cannot_change_mode_class.
From-SVN: r206804
James Greenhalgh [Mon, 20 Jan 2014 11:32:32 +0000 (11:32 +0000)]
[AArch64] Fix behaviour of -mcpu option to match ARM.
gcc/
* common/config/aarch64/aarch64-common.c
(aarch64_handle_option): Don't handle any option order logic here.
* config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
selected_cpu, warn on architecture version mismatch.
(aarch64_override_options): Fix parsing order for option strings.
From-SVN: r206803
Jan-Benedict Glaw [Mon, 20 Jan 2014 11:20:24 +0000 (11:20 +0000)]
re PR bootstrap/59496 (Bootstrap fails on powerpc-apple-darwin9 after r205685)
gcc:
PR bootstrap/59496
* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
warning. Amend comment to reflect current functionality.
Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
From-SVN: r206802
Richard Biener [Mon, 20 Jan 2014 11:01:53 +0000 (11:01 +0000)]
re PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias.c:6843)
2014-01-20 Richard Biener <rguenther@suse.de>
PR middle-end/59860
* builtins.c (fold_builtin_strcat): Remove case better handled
by tree-ssa-strlen.c.
* gcc.dg/pr59860.c: New testcase.
From-SVN: r206799
Eric Botcazou [Mon, 20 Jan 2014 10:59:26 +0000 (10:59 +0000)]
decl.c (gnat_to_gnu_entity): Robustify tests for aliased objects with an unconstrained nominal subtype.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Robustify tests
for aliased objects with an unconstrained nominal subtype.
* gcc-interface/trans.c (Call_to_gnu): Likewise.
(gnat_to_gnu) <case N_Op_Not>: Robustify test for private type.
<case N_Op_Minus>: Remove useless code.
(Exception_Handler_to_gnu_zcx): Minor tweaks.
From-SVN: r206798
Alan Lawrence [Mon, 20 Jan 2014 10:57:46 +0000 (10:57 +0000)]
[AArch64] Make -mcpu, -march and -mtune case-insensitive.
gcc/
* config/aarch64/aarch64.opt
(mcpu, march, mtune): Make case-insensitive.
From-SVN: r206797
Eric Botcazou [Mon, 20 Jan 2014 10:51:46 +0000 (10:51 +0000)]
decl.c (gnat_to_gnu_entity): Tidy up.
* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Record_Subtype>:
Tidy up. For a subtype with discriminants and variant part, if a
variant is statically selected and the fields all have a constant
position, put them in order of increasing position. Likewise if
no variant part but representation clause is present.
* gcc-interface/utils.c (make_packable_type): Robustify.
(maybe_pad_type): Use local variable and tidy up condition. If no
alignment is specified, use the original one.
(create_type_stub_decl): Minor tweak.
(convert) <case VECTOR_CST>: Fix typo.
<case CONSTRUCTOR>: Deal with padding types around the same type.
Do not punt on missing fields.
(unchecked_convert): Call finish_record_type to lay out the special
record types made for conversions from/to problematic integer types.
Bump the alignment of CONSTRUCTORs before converting them to a more
aligned type.
From-SVN: r206796
Eric Botcazou [Mon, 20 Jan 2014 10:29:09 +0000 (10:29 +0000)]
decl.c (gnat_to_gnu_entity): Remove obsolete code for type_annotate_only mode...
* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Component>: Remove
obsolete code for type_annotate_only mode, simplify code and slightly
improve wording of comments.
From-SVN: r206794
Eric Botcazou [Mon, 20 Jan 2014 10:18:49 +0000 (10:18 +0000)]
c-ada-spec.h (dump_ada_specs): Revert prototype change.
c-family/
* c-ada-spec.h (dump_ada_specs): Revert prototype change.
* c-ada-spec.c (dump_ads): Likewise.
(cpp_check): Likewise.
(dump_ada_specs): Likewise.
cp/
* decl2.c (cpp_check): Revert prototype change.
From-SVN: r206793
Jakub Jelinek [Mon, 20 Jan 2014 09:52:21 +0000 (10:52 +0100)]
re PR target/59880 (ix86_avoid_lea_for_addr is buggy)
PR target/59880
* config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
if operands[1] is a REG or ZERO_EXTEND of a REG.
* gcc.target/i386/pr59880.c: New test.
From-SVN: r206792
Renlin Li [Mon, 20 Jan 2014 09:11:16 +0000 (09:11 +0000)]
* gcc.dg/pr44194-1.c: Tweak regexp.
From-SVN: r206791
Gerald Pfeifer [Mon, 20 Jan 2014 03:15:26 +0000 (03:15 +0000)]
MAINTAINERS: Convert to UTF-8.
* MAINTAINERS: Convert to UTF-8.
Properly sort Xinliang David Li's entry.
From-SVN: r206790
GCC Administrator [Mon, 20 Jan 2014 00:17:00 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r206789
Steven G. Kargl [Sun, 19 Jan 2014 23:21:10 +0000 (23:21 +0000)]
re PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)
2014-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
PR libfortran/59771
PR libfortran/59774
PR libfortran/59836
* gfortran.dg/round_3.f08: New cases added.
* gfortran.dg/fmt_g_1.f90: New test.
From-SVN: r206786
Jerry DeLisle [Sun, 19 Jan 2014 23:17:43 +0000 (23:17 +0000)]
re PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)
2014-01-19 Jerry DeLisle <jvdelisle@gcc.gnu>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR libfortran/59771
PR libfortran/59774
PR libfortran/59836
* io/write_float.def (output_float): Fix wrong handling of the
Fw.0 format.
(output_float_FMT_G_): Fixes rounding issues with -m32.
Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r206785
Jan Hubicka [Sun, 19 Jan 2014 23:12:24 +0000 (00:12 +0100)]
* varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
From-SVN: r206784
Tim Shen [Sun, 19 Jan 2014 21:59:20 +0000 (21:59 +0000)]
regex_compiler.h (_Comipler<>::_M_quantifier()): Fix parse error of multiple consecutive quantifiers like "a**".
2014-01-19 Tim Shen <timshen91@gmail.com>
* include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
Fix parse error of multiple consecutive quantifiers like "a**".
* include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
Likewise.
* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
From-SVN: r206783
Uros Bizjak [Sun, 19 Jan 2014 19:21:26 +0000 (20:21 +0100)]
pr49718.C: Add "-mno-explicit-relocs" for alpha*-*-* targets.
* g++.dg/pr49718.C: Add "-mno-explicit-relocs" for alpha*-*-* targets.
From-SVN: r206782
John David Anglin [Sun, 19 Jan 2014 18:09:53 +0000 (18:09 +0000)]
pa.c (pa_attr_length_millicode_call): Correct length of long non-pic millicode calls.
* config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
long non-pic millicode calls.
From-SVN: r206779
Kito Cheng [Sun, 19 Jan 2014 17:36:00 +0000 (17:36 +0000)]
builtins.c (expand_movstr): Check movstr expand done or fail.
2014-01-19 Kito Cheng <kito@0xlab.org>
* gcc/builtins.c (expand_movstr): Check movstr expand done or fail.
From-SVN: r206777
Richard Sandiford [Sun, 19 Jan 2014 17:07:11 +0000 (17:07 +0000)]
pr54240.c: Add -ffat-lto-objects.
gcc/testsuite/
* gcc.target/mips/pr54240.c: Add -ffat-lto-objects.
From-SVN: r206776
Jan-Benedict Glaw [Sun, 19 Jan 2014 15:52:20 +0000 (15:52 +0000)]
Since started...
Since started, the VAX backend doesn't compile with config-list.mk
because one of VAX's macros doesn't use its argument:
g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -o loop-invariant.o -MT loop-invariant.o -MMD -MP -MF ./.deps/loop-invariant.TPo ../../../gcc/gcc/loop-invariant.c
../../../gcc/gcc/loop-invariant.c: In function ‘bool check_dependency(basic_block, df_ref, bitmap)’:../../../gcc/gcc/loop-invariant.c:789:20: error: unused variable ‘regno’ [-Werror=unused-variable] unsigned int regno = DF_REF_REGNO (use);
^
cc1plus: all warnings being treated as errors
make[2]: *** [loop-invariant.o] Error 1
This should fix it:
2014-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
[BR]: http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00882.html
From-SVN: r206775
Uros Bizjak [Sun, 19 Jan 2014 15:48:14 +0000 (16:48 +0100)]
re PR target/59379 (gomp_init_num_threads is compiled into an infinite loop with --with-arch=corei7 --with-cpu=slm)
PR target/59379
* config/i386/i386.md (*lea<mode>): Zero-extend return register
to DImode for zero-extended addresses.
From-SVN: r206774
Jakub Jelinek [Sun, 19 Jan 2014 15:30:22 +0000 (16:30 +0100)]
re PR rtl-optimization/57763 (comp-goto-1.c: ICE verify_flow_info failed, error: EDGE_CROSSING missing across section boundary)
PR rtl-optimization/57763
* bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
on the new indirect jump_insn and increment LABEL_NUSES (label).
From-SVN: r206773
Richard Sandiford [Sun, 19 Jan 2014 09:57:24 +0000 (09:57 +0000)]
pr57705.c: Require vect_int.
gcc/testsuite/
* gcc.dg/vect/pr57705.c: Require vect_int.
* gcc.dg/vect/pr58508.c: Fix order of dg-require-effective-target line.
* gcc.dg/vect/vect-alias-check.c: Likewise.
From-SVN: r206771
GCC Administrator [Sun, 19 Jan 2014 00:16:30 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r206770
Mikael Morin [Sat, 18 Jan 2014 20:05:25 +0000 (20:05 +0000)]
re PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups does not fixup component of __class_bsr_Bsr_matrix)
fortran/
PR fortran/58007
* module.c (MOD_VERSION): Bump.
(fp2, find_pointer2): Remove.
(mio_component_ref): Don't forcedfully set the containing derived type
symbol for loading. Remove unused argument.
(mio_ref): Update caller
(mio_symbol): Dump component list earlier.
(skip_list): New argument nest_level. Initialize level with the new
argument.
(read_module): Add forced pointer components association for derived
type symbols.
testsuite/
PR fortran/58007
* gfortran.dg/unresolved_fixup_1.f90: New test.
* gfortran.dg/unresolved_fixup_2.f90: New test.
From-SVN: r206759
H.J. Lu [Sat, 18 Jan 2014 13:25:40 +0000 (13:25 +0000)]
Update x86 --with-arch/--with-cpu= configure handling
PR bootstrap/59580
PR bootstrap/59583
* config.gcc (x86_archs): New variable.
(x86_64_archs): Likewise.
(x86_cpus): Likewise.
Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
--with-arch/--with-cpu= options.
Support --with-arch=/--with-cpu={nehalem,westmere,
sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
From-SVN: r206756
Uros Bizjak [Sat, 18 Jan 2014 12:42:10 +0000 (13:42 +0100)]
i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8 and PROCESSOR_ATHLON to simplify code.
* config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
* config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
From-SVN: r206753
Jakub Jelinek [Sat, 18 Jan 2014 10:18:33 +0000 (11:18 +0100)]
re PR target/58944 (bogus -Wunused-macros warnings when compiling Libreoffice)
PR target/58944
* config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
clear cpp_get_options (parse_in)->warn_unused_macros for
ix86_target_macros_internal with cpp_define.
* gcc.target/i386/pr58944.c: Drop -march=native from dg-options.
Remove dg-prune-output lines.
From-SVN: r206750
Richard Sandiford [Sat, 18 Jan 2014 10:12:22 +0000 (10:12 +0000)]
jump.c (delete_related_insns): Keep (use (insn))s.
gcc/
* jump.c (delete_related_insns): Keep (use (insn))s.
* reorg.c (redundant_insn): Check for barriers too.
From-SVN: r206749
H.J. Lu [Sat, 18 Jan 2014 02:49:56 +0000 (02:49 +0000)]
Fix a comment typo in ix86_split_lea_for_addr
* config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment
typo.
From-SVN: r206745
John David Anglin [Sat, 18 Jan 2014 00:35:08 +0000 (00:35 +0000)]
pa.c (pa_attr_length_indirect_call): Don't output a short call to $$dyncall when TARGET_LONG_CALLS is true.
* config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
call to $$dyncall when TARGET_LONG_CALLS is true.
From-SVN: r206742
GCC Administrator [Sat, 18 Jan 2014 00:17:14 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r206741
Ian Lance Taylor [Fri, 17 Jan 2014 22:43:03 +0000 (22:43 +0000)]
re PR go/59866 (gccgo gc work buffer is misaligned)
PR go/59866
runtime: Force work variable in mgc0 to be aligned on 8-byte boundary.
From-SVN: r206738
Jeff Law [Fri, 17 Jan 2014 22:20:24 +0000 (15:20 -0700)]
ree.c (combine_set_extension): Temporarily disable test for changing number of hard registers.
* ree.c (combine_set_extension): Temporarily disable test for
changing number of hard registers.
From-SVN: r206735
Jan Hubicka [Fri, 17 Jan 2014 21:10:42 +0000 (22:10 +0100)]
re PR middle-end/58125 (ICE: in operator[], at vec.h:827 with -fno-inline-small-functions)
PR middle-end/58125
* ipa-inline-analysis.c (inline_free_summary):
Do not free summary of aliases.
From-SVN: r206734
François Dumont [Fri, 17 Jan 2014 21:10:15 +0000 (21:10 +0000)]
set.h (set): Implement C++11 allocator-aware container requirements.
2014-01-17 François Dumont <fdumont@gcc.gnu.org>
* include/profile/set.h (set): Implement C++11 allocator-aware
container requirements.
* include/profile/map.h (map): Likewise.
* include/profile/multiset.h (multiset): Likewise.
* include/profile/multimap.h (multimap): Likewise.
* include/profile/set.h
(set::operator=(const set&)): Define as default in C++11 mode.
(set::operator=(set&&)): Likewise.
* include/profile/map.h
(map::operator=(const map&)): Likewise.
(map::operator=(map&&)): Likewise.
* include/profile/multiset.h
(multiset::operator=(const multiset&)): Likewise.
(multiset::operator=(multiset&&)): Likewise.
* include/profile/multimap.h
(multimap::operator=(const multimap&)): Likewise.
(multimap::operator=(multimap&&)): Likewise.
* include/profile/set.h (set::operator=(std::initializer_list<>)):
Rely on the same operator from normal mode.
* include/profile/map.h (map::operator=(std::initializer_list<>)):
Likewise.
* include/profile/multiset.h
(multiset::operator=(std::initializer_list<>)): Likewise.
* include/profile/multimap.h
(multimap::operator=(std::initializer_list<>)): Likewise.
* include/profile/set.h (set::swap(set&)): Add noexcept
specification.
* include/profile/map.h (map::swap(map&)): Likewise.
* include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
* include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
From-SVN: r206733
Jakub Jelinek [Fri, 17 Jan 2014 20:55:42 +0000 (21:55 +0100)]
re PR fortran/59706 (ICE with do concurrent and internal subprogram)
PR middle-end/59706
* gimplify.c (gimplify_expr): Use create_tmp_var
instead of create_tmp_var_raw. If cond doesn't have
integral type, don't add the IFN_ANNOTATE builtin at all.
* gfortran.dg/pr59706.f90: New test.
* g++.dg/ext/pr59706.C: New test.
From-SVN: r206732
Paolo Carlini [Fri, 17 Jan 2014 20:25:01 +0000 (20:25 +0000)]
re PR c++/59270 ([c++11] ICE with decltype of a broken class)
/cp
2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59270
PR c++/58811
* init.c (build_value_init_noctor): Don't pass error_mark_node to
build_value_init.
/testsuite
2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59270
PR c++/58811
* g++.dg/cpp0x/decltype-incomplete1.C: New.
* g++.dg/init/pr58811.C: Likewise.
From-SVN: r206731
Martin Jambor [Fri, 17 Jan 2014 19:05:52 +0000 (20:05 +0100)]
re PR ipa/59736 (ice with -O3 in cgraph_edge_brings_value_p)
2014-01-17 Martin Jambor <mjambor@suse.cz>
PR ipa/59736
* ipa-cp.c (prev_edge_clone): New variable.
(grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
Also resize prev_edge_clone vector.
(ipcp_edge_duplication_hook): Also update prev_edge_clone.
(ipcp_edge_removal_hook): New function.
(ipcp_driver): Register ipcp_edge_removal_hook.
From-SVN: r206729
Andrew Pinski [Fri, 17 Jan 2014 18:07:18 +0000 (18:07 +0000)]
re PR target/59462 (c-c++-common/cilk-plus/AN/builtin_func_double2.c fails on MIPS)
2014-01-17 Andrew Pinski <apinski@cavium.com>
Steve Ellcey <sellcey@mips.com>
PR target/59462
* config/mips/mips.c (mips_print_operand): Check operand mode instead
of operator mode.
Co-Authored-By: Steve Ellcey <sellcey@mips.com>
From-SVN: r206724
Jeff Law [Fri, 17 Jan 2014 17:50:10 +0000 (10:50 -0700)]
re PR middle-end/57904 (Bogus(?) "invokes undefined behavior" warning with Fortran's finalization wrapper (gfortran.dg/class_48.f90))
PR middle-end/57904
* passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
so that pass_ccp runs first.
PR middle-end/57904
* gfortran.dg/pr57904.f90: New test.
From-SVN: r206723
H.J. Lu [Fri, 17 Jan 2014 17:16:25 +0000 (17:16 +0000)]
Use TARGET_XXX and !TARGET_XXX in i386.c
* config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
(ix86_adjust_cost): Use !TARGET_XXX.
(do_reorder_for_imul): Likewise.
(swap_top_of_ready_list): Likewise.
(ix86_sched_reorder): Likewise.
From-SVN: r206720
H.J. Lu [Fri, 17 Jan 2014 17:13:40 +0000 (09:13 -0800)]
Reorder the last ChangeLog entry
From-SVN: r206719
Paolo Carlini [Fri, 17 Jan 2014 15:40:13 +0000 (15:40 +0000)]
re PR c++/59269 (ICE with reference in union)
/cp
2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59269
* init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT
only when errorcount == 0.
/testsuite
2014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59269
* g++.dg/cpp0x/nsdmi-union4.C: New.
From-SVN: r206718
H.J. Lu [Fri, 17 Jan 2014 15:23:58 +0000 (15:23 +0000)]
Add X86_TUNE_AVOID_LEA_FOR_ADDR
ix86_split_lea_for_addr transforms a single LEA instruction into a
series of MOV and ADD instructions. For
lea 0x400(%edx, %ecx, 8), %edx
we get
mov %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add $0x400, %edx
For -mtune=intel, we want to turn on X86_TUNE_OPT_AGU, but avoid
ix86_split_lea_for_addr to optimize for both Haswell and Silvermont.
This patch adds X86_TUNE_AVOID_LEA_FOR_ADDR and PROCESSOR_INTEL.
We keep PROCESSOR_INTEL the same as PROCESSOR_SILVERMONT, except that
X86_TUNE_AVOID_LEA_FOR_ADDR isn't turned on for PROCESSOR_INTEL.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
* config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
(intel_memset): New. Duplicate slm_memset.
(intel_cost): New. Duplicate slm_cost.
(m_INTEL): New macro.
(processor_target_table): Add "intel".
(ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
with PROCESSOR_INTEL for "intel".
(ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
PROCESSOR_SILVERMONT.
(ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
instead of TARGET_OPT_AGU.
(ix86_issue_rate): Likewise.
(ix86_adjust_cost): Likewise.
(ia32_multipass_dfa_lookahead): Likewise.
(swap_top_of_ready_list): Likewise.
(ix86_sched_reorder): Likewise.
* config/i386/i386.h (TARGET_INTEL): New.
(TARGET_AVOID_LEA_FOR_ADDR): Likewise.
(processor_type): Add PROCESSOR_INTEL.
* config/i386/x86-tune.def: Support m_INTEL. Duplicate
m_SILVERMONT. Add X86_TUNE_AVOID_LEA_FOR_ADDR.
From-SVN: r206717
Marek Polacek [Fri, 17 Jan 2014 15:23:17 +0000 (15:23 +0000)]
re PR c++/59838 (ICE with an enum using an incomplete type)
PR c++/59838
cp/
* cvt.c (ocp_convert): Don't segfault on non-existing
ENUM_UNDERLYING_TYPE.
testsuite/
* g++.dg/diagnostic/pr59838.C: New test.
From-SVN: r206716