Commit Graph

147301 Commits

Author SHA1 Message Date
Eric Botcazou 7352723b9e trans.c (add_decl_expr): Minor tweak.
* gcc-interface/trans.c (add_decl_expr): Minor tweak.
	* gcc-interface/utils.c (create_var_decl): For an external variable,
	also clear TREE_READONLY in LTO mode if the initializer is not a valid
	constant and set DECL_READONLY_ONCE_ELAB instead.

From-SVN: r238206
2016-07-11 08:16:48 +00:00
Eric Botcazou 833c1dbc60 re PR ada/71817 (suspicious condition in C code)
PR ada/71817
	* adaint.c (__gnat_is_read_accessible_file): Add parentheses.
	(__gnat_is_write_accessible_file): Likewise.

From-SVN: r238204
2016-07-11 07:41:11 +00:00
Jason Merrill 4adc6a122c remove gcc/cp/typeck.s
From-SVN: r238203
2016-07-11 01:35:23 -04:00
GCC Administrator 98e788e6a3 Daily bump.
From-SVN: r238202
2016-07-11 00:16:22 +00:00
Ville Voutilainen 435e56fb52 Implement std::optional.
* include/Makefile.am: Add optional to exported headers.
	* include/Makefile.in: Likewise.
	* include/std/optional: New.
	* testsuite/20_util/optional/typedefs.cc: Likewise.
	* testsuite/20_util/optional/relops/2.cc: Likewise.
	* testsuite/20_util/optional/relops/3.cc: Likewise.
	* testsuite/20_util/optional/relops/4.cc: Likewise.
	* testsuite/20_util/optional/relops/5.cc: Likewise.
	* testsuite/20_util/optional/relops/1.cc: Likewise.
	* testsuite/20_util/optional/relops/6.cc: Likewise.
	* testsuite/20_util/optional/nullopt.cc: Likewise.
	* testsuite/20_util/optional/in_place.cc: Likewise.
	* testsuite/20_util/optional/make_optional.cc: Likewise.
	* testsuite/20_util/optional/assignment/2.cc: Likewise.
	* testsuite/20_util/optional/assignment/3.cc: Likewise.
	* testsuite/20_util/optional/assignment/4.cc: Likewise.
	* testsuite/20_util/optional/assignment/5.cc: Likewise.
	* testsuite/20_util/optional/assignment/1.cc: Likewise.
	* testsuite/20_util/optional/assignment/6.cc: Likewise.
	* testsuite/20_util/optional/cons/value_neg.cc: Likewise.
	* testsuite/20_util/optional/cons/default.cc: Likewise.
	* testsuite/20_util/optional/cons/move.cc: Likewise.
	* testsuite/20_util/optional/cons/value.cc: Likewise.
	* testsuite/20_util/optional/cons/copy.cc: Likewise.
	* testsuite/20_util/optional/requirements.cc: Likewise.
	* testsuite/20_util/optional/observers/2.cc: Likewise.
	* testsuite/20_util/optional/observers/3.cc: Likewise.
	* testsuite/20_util/optional/observers/4.cc: Likewise.
	* testsuite/20_util/optional/observers/5.cc: Likewise.
	* testsuite/20_util/optional/observers/1.cc: Likewise.
	* testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
	* testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
	* testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
	* testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
	* testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
	* testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
	* testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
	* testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
	* testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
	* testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
	* testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
	* testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
	* testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
	* testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
	* testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
	* testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
	* testsuite/20_util/optional/swap/1.cc: Likewise.

From-SVN: r238197
2016-07-10 20:44:21 +03:00
GCC Administrator 290583564d Daily bump.
From-SVN: r238196
2016-07-10 00:16:20 +00:00
Thomas Koenig 36b54ce08e re PR fortran/71783 (ICE on valid code in gimplify_var_or_parm_decl at gimplify.c:1801)
2016-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71783
	* frontend-passes.c (create_var):  Always allocate a charlen
	for character variables.

2016-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71783
	* gfortran.dg/dependency_46.f90:  New test.

From-SVN: r238192
2016-07-09 22:18:29 +00:00
GCC Administrator 08a357ce0e Daily bump.
From-SVN: r238191
2016-07-09 00:16:18 +00:00
Steven G. Kargl 98d4439c04 re PR fortran/68426 (Simplification of SPREAD with a derived type element is unimplemented)
2016-07-08  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/68426
	* simplify (gfc_simplify_spread): Adjust locus.

From-SVN: r238186
2016-07-08 22:24:44 +00:00
James Bowman f0f649c33c FT32: apply unbias to references to RAM symbols.
The FT32 binutils use a bias to distinguish between RAM and flash
addresses.

This fix adds an ASM_OUTPUT_SYMBOL_REF() that unbiases references to
RAM symbols.

Only references to RAM objects have the bias applied. Flash objects
(that is, objects in ADDR SPACE 1) are not biased, so for these no bias
should be applied. Likewise references in the gdb section need to use
the biased address, so references in debug sections are not unbiased.

gcc/ChangeLog:

2016-07-08  James Bowman  <james.bowman@ftdichip.com>

	* config/ft32/ft32.c (ft32_elf_encode_section_info): New function.
	* config/ft32/ft32.h (ASM_OUTPUT_SYMBOL_REF): New function.

From-SVN: r238185
2016-07-08 22:11:30 +00:00
Jason Merrill 72b3e20335 Use lvalue_p instead of real_lvalue_p.
* cp-tree.h: Unpoison lvalue_p.
	* call.c, class.c, constexpr.c, cvt.c, init.c, lambda.c, pt.c,
	tree.c, typeck.c, typeck2.c: Use lvalue_p instead of
	real_lvalue_p.

From-SVN: r238183
2016-07-08 17:32:18 -04:00
Jason Merrill bb19d4af73 Rename lvalue_p to obvalue_p.
* tree.c (obvalue_p): Rename from lvalue_p.
	(lvalue_p): Define for c-common.
	* call.c, cp-tree.h, cvt.c, init.c: Adjust.
	* typeck.c: Adjust.
	(cp_build_addr_expr_1): Remove obsolete code.

From-SVN: r238182
2016-07-08 17:32:12 -04:00
Jason Merrill c3edc63382 Rename lvalue_or_rvalue_with_address_p to glvalue_p.
* tree.c (glvalue_p): Rename from lvalue_or_rvalue_with_address_p.
	* call.c, cp-tree.h, typeck.c: Adjust.

From-SVN: r238181
2016-07-08 17:32:06 -04:00
Jason Merrill 0596c4485c * lambda.c (maybe_add_lambda_conv_op): Fix null object argument.
From-SVN: r238180
2016-07-08 17:31:59 -04:00
Vladimir Makarov d13835b668 re PR rtl-optimization/71621 (ICE in assign_by_spills, at lra-assigns.c:1417 (error: unable to find a register to spill) w/ -O2 -mavx2 -ftree-vectorize)
2016-07-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/71621
	* lra-constraints.c (process_alt_operands): Check combination of
	reg class and mode.

2016-07-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/71621
	* gcc.target/i386/pr71621-1.c: New.
	* gcc.target/i386/pr71621-2.c: New.

From-SVN: r238178
2016-07-08 20:29:12 +00:00
Jason Merrill 65a550b46e P0145R2: Refining Expression Order for C++ (assignment 2).
* cp-gimplify.c (lvalue_has_side_effects): New.
	(cp_gimplify_expr): Implement assignment ordering.

From-SVN: r238177
2016-07-08 16:25:38 -04:00
Jason Merrill d0cf395a99 P0145: Refining Expression Order for C++ (-fstrong-eval-order).
gcc/c-family/
	* c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
	* c-opts.c: Adjust.
gcc/cp/
	* call.c (op_is_ordered, build_over_call): Adjust for
	-fargs-in-order renaming to -fstrong-eval-order.
	* cp-gimplify.c (cp_gimplify_expr): Likewise.

From-SVN: r238176
2016-07-08 16:25:31 -04:00
Jason Merrill 8a1b7b7fd7 P0145: Refining Expression Order for C++ (assignment)
* gimplify.c (initial_rhs_predicate_for): New.
	(gimplfy_modify_expr): Gimplify RHS before LHS.

Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r238175
2016-07-08 16:23:40 -04:00
Cesar Philippidis 642bcbdf1d parse.c (matcha): Define.
gcc/fortran/
	* parse.c (matcha): Define.
	(decode_oacc_directive): Add spec_only local var and set it.  Use
	matcha to parse acc directives except for routine and declare.  Return
	ST_GET_FCN_CHARACTERISTICS if a non-declarative directive could be
	matched.

	gcc/testsuite/
	* gfortran.dg/goacc/pr71704.f90: New test.

From-SVN: r238171
2016-07-08 11:34:55 -07:00
Jonathan Wakely d81102f473 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
From-SVN: r238169
2016-07-08 17:35:10 +01:00
Bill Schmidt 02eb5b8bf3 re PR target/71297 (ICE on invalid code in altivec_resolve_overloaded_builtin (rs6000-c.c:5106) on powerpc64le-linux)
[gcc]

2016-07-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/71297
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Allow standard error handling to take over when a wrong number
	of arguments is presented to __builtin_vec_ld () or
	__builtin_vec_st ().

[gcc/testsuite]

2016-07-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/71297
	* gcc.target/powerpc/pr71297.c: New.

From-SVN: r238168
2016-07-08 15:42:47 +00:00
Jiong Wang 8beb9a0dc9 [AArch64] Use fmin/fmax for v[min|max]nm{q} intrinsics
smin/smax will actually honor quiet NaN.

gcc/
	* config/aarch64/aarch64-simd-builtins.def (smax): Remove float
	variants.
	(smin): Likewise.
	(fmax): New entry.
	(fmin): Likewise.
	* config/aarch64/arm_neon.h (vmaxnm_f32): Use
	__builtin_aarch64_fmaxv2sf.
	(vmaxnmq_f32): Likewise.
	(vmaxnmq_f64): Likewise.
	(vminnm_f32): Likewise.
	(vminnmq_f32): Likewise.
	(vminnmq_f64): Likewise.

gcc/testsuite/

	* gcc.target/aarch64/simd/vminmaxnm_1.c: New.

From-SVN: r238166
2016-07-08 15:26:51 +00:00
Michael Meissner cef4b65070 re PR target/71806 (PowerPC -mcpu=power9 enables __float128 without an explicit -mfloat128)
[gcc]
2016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71806
	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not
	enable -mfloat128-hardware by default.
	(ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options
	that IEEE 128-bit hardware support needs.
	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
	-mcpu=power9 -mfloat128, enable -mfloat128-hardware by default.
	Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit
	floating point requires.
	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
	-mfloat128 and -mfloat128-hardware changes.

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

	PR target/71806
	* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Add -mfloat128 option.

From-SVN: r238164
2016-07-08 14:49:37 +00:00
Alan Hayward 3c3ecf52a6 re PR debug/71667 (ICE in as_a, at is-a.h:192 w/ -g -O2 -ftree-vectorize)
2016-07-08  Alan Hayward  <alan.hayward@arm.com>

gcc/
	PR tree-optimization/71667
	* tree-vect-loop.c (vectorizable_live_operation): ignore DEBUG stmts

testsuite/
	PR tree-optimization/71667
	* gcc.dg/vect/pr71667.c: New

From-SVN: r238160
2016-07-08 08:50:24 +00:00
Martin Liska 03e6ca4873 Enhance documentation of Wundefined-do-loop
* invoke.texi (Wundefined-do-loop): Enhance documentation.

From-SVN: r238159
2016-07-08 08:39:56 +00:00
Martin Liska 2660286dca Do not consider COMPLEX_TYPE as fold_convertible_p
PR middle-end/71606
	* fold-const.c (fold_convertible_p): As COMPLEX_TYPE
	folding produces SAVE_EXPRs, thus return false for the type.
	* gcc.dg/torture/pr71606.c: New test.

From-SVN: r238157
2016-07-08 07:52:03 +00:00
Jerry DeLisle 70cdd4ae94 re PR fortran/71764 (ICE in gfc_trans_structure_assign)
2016-07-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/71764
	* trans-expr.c (gfc_trans_structure_assign): Remove assert.

	* gfortran.dg/pr71764.f90: New test.

From-SVN: r238156
2016-07-08 04:36:16 +00:00
GCC Administrator cb0044dd6b Daily bump.
From-SVN: r238155
2016-07-08 00:16:21 +00:00
Jakub Jelinek 842dc2e6ed re PR c++/70869 (internal compiler error: Segmentation fault on array of pointer to function members)
PR c++/70869
	PR c++/71054
	* cp-gimplify.c (cp_genericize_r): For DECL_EXPR for non-static
	artificial vars, genericize their initializers.

	* g++.dg/cpp0x/pr70869.C: New test.
	* g++.dg/cpp0x/pr71054.C: New test.

Co-Authored-By: Kai Tietz <ktietz70@googlemail.com>

From-SVN: r238124
2016-07-07 20:45:43 +02:00
David Edelsohn 31be42626d * g++.dg/debug/pr71432.C: Fail on AIX.
From-SVN: r238122
2016-07-07 13:59:54 -04:00
Jonathan Wakely 9fc0faf012 Update libstdc++ status docs
* doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
	* doc/html/*: Regenerate.

From-SVN: r238120
2016-07-07 17:35:43 +01:00
Arnaud Charlet 86ec3bfb9f [multiple changes]
2016-07-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_Internal_Init_Call): Subsidiary procedure
	to Expand_Protected_ Subprogram_Call, to handle properly a
	call to a protected function that provides the initialization
	expression for a private component of the same protected type.
	* sem_ch9.adb (Analyze_Protected_Definition): Layout must be
	applied to itypes generated for a private operation of a protected
	type that has a formal of an anonymous access to subprogram,
	because these itypes have no freeze nodes and are frozen in place.
	* sem_ch4.adb (Analyze_Selected_Component): If prefix is a
	protected type and it is not a current instance, do not examine
	the first private component of the type.

2016-07-07  Arnaud Charlet  <charlet@adacore.com>

	* exp_imgv.adb, g-dynhta.adb, s-regexp.adb, s-fatgen.adb, s-poosiz.adb:
	Minor removal of extra whitespace.
	* einfo.ads: minor removal of repeated "as" in comment

2016-07-07  Vadim Godunko  <godunko@adacore.com>

	* adaint.c: Complete previous change.

From-SVN: r238117
2016-07-07 15:20:30 +02:00
Arnaud Charlet 0640c7d139 [multiple changes]
2016-07-07  Vadim Godunko  <godunko@adacore.com>

	* adainit.h, adainit.c (__gnat_is_read_accessible_file): New
	subprogram.
	(__gnat_is_write_accessible_file): New subprogram.
	* s-os_lib.ads, s-os_lib.adb (Is_Read_Accessible_File): New subprogram.
	(Is_Write_Accessible_File): New subprogram.

2016-07-07  Justin Squirek  <squirek@adacore.com>

	* sem_ch12.adb (Install_Body): Minor refactoring in the order
	of local functions.
	(In_Same_Scope): Change loop condition to be more expressive.

From-SVN: r238116
2016-07-07 15:17:51 +02:00
Arnaud Charlet 8c519039a6 [multiple changes]
2016-07-07  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb, sem_prag.adb, sem_prag.ads, prj-ext.adb, freeze.adb,
	sem_attr.adb: Minor reformatting, fix typos.

2016-07-07  Justin Squirek  <squirek@adacore.com>

	* sem_ch12.adb (In_Same_Scope): Created this function to check
	a generic package definition against an instantiation for scope
	dependancies.
	(Install_Body): Add function In_Same_Scope and
	amend conditional in charge of delaying the package instance.
	(Is_In_Main_Unit): Add guard to check if parent is present in
	assignment of Current_Unit.

From-SVN: r238115
2016-07-07 15:16:05 +02:00
Martin Liska 1c122092dc Optimize fortran loops with +-1 step.
* gfortran.dg/do_1.f90: Remove a corner case that triggers
	an undefined behavior.
	* gfortran.dg/do_3.F90: Likewise.
	* gfortran.dg/do_check_11.f90: New test.
	* gfortran.dg/do_check_12.f90: New test.
	* gfortran.dg/do_corner_warn.f90: New test.
	* lang.opt (Wundefined-do-loop): New option.
        * resolve.c (gfc_resolve_iterator): Warn for Wundefined-do-loop.
	(gfc_trans_simple_do): Generate a c-style loop.
	(gfc_trans_do): Fix GNU coding style.
	* invoke.texi: Mention the new warning.

From-SVN: r238114
2016-07-07 13:15:39 +00:00
Eric Botcazou 9cc6b3f86a sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test, adjust comments and formatting.
2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test,
	adjust comments and formatting.
	* sem_prag.adb (Inlining_Not_Possible): Do not test Front_End_Inlining
	here but...
	(Make_Inline): ...here before calling Inlining_Not_Possible instead.
	(Set_Inline_Flags): Remove useless test.
	(Analyze_Pragma) <Pragma_Inline>: Add comment about -gnatn switch.

From-SVN: r238113
2016-07-07 15:12:55 +02:00
Martin Liska 7119f1b1a4 Add PRED_FORTRAN_LOOP_PREHEADER to DO loops with step
* trans-stmt.c (gfc_trans_do): Add expect builtin for DO
	loops with step bigger than +-1.
	* gfortran.dg/predict-1.f90: Ammend the test.
	* gfortran.dg/predict-2.f90: Likewise.

From-SVN: r238112
2016-07-07 13:11:05 +00:00
Arnaud Charlet 0e77949e87 [multiple changes]
2016-07-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.ads, sem_prag.adb (Build_Classwide_Expression): Include
	overridden operation as parameter, in order to map formals of
	the overridden and overring operation properly prior to rewriting
	the inherited condition.
	* freeze.adb (Check_Inherited_Cnonditions): Change call to
	Build_Class_Wide_Expression accordingly.  In Spark_Mode, add
	call to analyze the contract of the parent operation, prior to
	mapping formals between operations.

2016-07-07  Arnaud Charlet  <charlet@adacore.com>

	* adabkend.adb (Scan_Back_End_Switches): Ignore -o/-G switches
	as done in back_end.adb.
	(Scan_Compiler_Args): Remove special case for CodePeer/SPARK, no longer
	needed, and prevents proper handling of multi-unit sources.

2016-07-07  Thomas Quinot  <quinot@adacore.com>

	* g-sechas.adb, g-sechas.ads (GNAT.Secure_Hashes.H): Add Hash_Stream
	type with Write primitive calling Update on the underlying context
	(and dummy Read primitive raising P_E).

2016-07-07  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb: Minor reformatting.

From-SVN: r238111
2016-07-07 15:05:08 +02:00
Arnaud Charlet 7dccd19430 [multiple changes]
2016-07-07  Thomas Quinot  <quinot@adacore.com>

	* g-socket.ads: Document performance consideration for stream
	wrapper.

2016-07-07  Arnaud Charlet  <charlet@adacore.com>

	* osint-c.ads (Set_File_Name): Clarify spec.

From-SVN: r238110
2016-07-07 15:02:31 +02:00
Eric Botcazou c765803988 freeze.adb: Reenable code.
2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>

	* freeze.adb: Reenable code.

From-SVN: r238109
2016-07-07 15:00:54 +02:00
Arnaud Charlet d1ce5f8c6f minor reformatting.
From-SVN: r238107
2016-07-07 14:59:19 +02:00
Yannick Moy 0bb97bdf5a sem_ch6.adb (Process_Formals): Set ghost flag on formal entities of ghost subprograms.
2016-07-07  Yannick Moy  <moy@adacore.com>

	* sem_ch6.adb (Process_Formals): Set ghost flag
	on formal entities of ghost subprograms.
	* ghost.adb (Check_Ghost_Context.Is_OK_Ghost_Context): Accept ghost
	entities in use type clauses.

From-SVN: r238106
2016-07-07 14:59:06 +02:00
Martin Liska f965d3dad7 Prevent LTO wrappers to process a recursive execution
* file-find.c (remove_prefix): New function.
	* file-find.h (remove_prefix): Declare the function.
	* gcc-ar.c (main): Skip a folder of the wrapper if
	a wrapped binary would point to the same file.

From-SVN: r238089
2016-07-07 12:03:39 +00:00
Jan Hubicka 019d659835 tree-scalar-evolution.c (iv_can_overflow_p): export.
* tree-scalar-evolution.c (iv_can_overflow_p): export.
	* tree-scalar-evolution.h (iv_can_overflow_p): Declare.
	* tree-ssa-loop-ivopts.c (alloc_iv): Use it.

From-SVN: r238088
2016-07-07 11:50:55 +00:00
Ilya Enkovich 275792f2eb re PR ipa/71624 ([CHKP] internal compiler error: in duplicate_thunk_for_node)
gcc/

	PR ipa/71624
	* ipa-inline-analysis.c (compute_inline_parameters): Set
	local.can_change_signature to false for intrumentation
	thunk callees.

gcc/testsuite/

	PR ipa/71624
	* g++.dg/pr71624.C: New test.

From-SVN: r238086
2016-07-07 11:45:11 +00:00
Thomas Preud'homme 33427b4642 arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability with TARGET_HAVE_MOVT.
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability
    with TARGET_HAVE_MOVT.
    (TARGET_HAVE_MOVT): Define.
    * config/arm/arm.c (const_ok_for_op): Check MOVT/MOVW
    availability with TARGET_HAVE_MOVT.
    * config/arm/arm.md (arm_movt): Use TARGET_HAVE_MOVT to check MOVT
    availability.
    (addsi splitter): Use TARGET_THUMB && TARGET_HAVE_MOVT rather than
    TARGET_THUMB2.
    (symbol_refs movsi splitter): Remove TARGET_32BIT check.
    (arm_movtas_ze): Use TARGET_HAVE_MOVT to check MOVT availability.
    * config/arm/constraints.md (define_constraint "j"): Use
    TARGET_HAVE_MOVT to check MOVT availability.

From-SVN: r238083
2016-07-07 08:54:59 +00:00
Thomas Preud'homme 3129a32097 arm-protos.h: Reindent FL_FOR_* macro definitions.
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-protos.h: Reindent FL_FOR_* macro definitions.

From-SVN: r238082
2016-07-07 08:54:50 +00:00
Thomas Preud'homme 05a437c1f3 arm-arches.def (armv8-m.base): Define new architecture.
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-arches.def (armv8-m.base): Define new architecture.
    (armv8-m.main): Likewise.
    (armv8-m.main+dsp): Likewise.
    * config/arm/arm-protos.h (FL_FOR_ARCH8M_BASE): Define.
    (FL_FOR_ARCH8M_MAIN): Likewise.
    * config/arm/arm-tables.opt: Regenerate.
    * config/arm/bpabi.h: Add armv8-m.base, armv8-m.main and
    armv8-m.main+dsp to BE8_LINK_SPEC.
    * config/arm/arm.h (TARGET_HAVE_LDACQ): Exclude ARMv8-M.
    (enum base_architecture): Add BASE_ARCH_8M_BASE and BASE_ARCH_8M_MAIN.
    * config/arm/arm.c (arm_arch_name): Increase size to work with ARMv8-M
    Baseline and Mainline.
    (arm_option_override_internal): Also disable arm_restrict_it when
    !arm_arch_notm.  Update comment for -munaligned-access to also cover
    ARMv8-M Baseline.
    (arm_file_start): Increase buffer size for printing architecture name.
    * doc/invoke.texi: Document architectures armv8-m.base, armv8-m.main
    and armv8-m.main+dsp.
    (mno-unaligned-access): Clarify that this is disabled by default for
    ARMv8-M Baseline architectures as well.

    gcc/testsuite/
    * lib/target-supports.exp: Generate add_options_for_arm_arch_FUNC and
    check_effective_target_arm_arch_FUNC_multilib for ARMv8-M Baseline and
    ARMv8-M Mainline architectures.

    libgcc/
    * config/arm/lib1funcs.S (__ARM_ARCH__): Define to 8 for ARMv8-M.

From-SVN: r238081
2016-07-07 08:54:40 +00:00
Thomas Preud'homme 3d16d9ec3c lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later and ARMv5t* rather than for a fixed list of...
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    libgcc/
    * config/arm/lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later
    and ARMv5t* rather than for a fixed list of architectures.

From-SVN: r238080
2016-07-07 08:54:28 +00:00
Thomas Preud'homme 6f49395177 elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to decide whether to prevent...
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to
    decide whether to prevent some libgcc routines being included for some
    multilibs rather than __ARM_ARCH_6M__ and add comment to indicate the
    link between this condition and the one in
    libgcc/config/arm/lib1func.S.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_cortex_m): Use
    __ARM_ARCH_ISA_ARM to test for Cortex-M devices.

    libgcc/
    * config/arm/bpabi-v6m.S: Clarify what architectures is the
    implementation suitable for.
    * config/arm/lib1funcs.S (__prefer_thumb__): Define among other cases
    for all Thumb-1 only targets.
    (NOT_ISA_TARGET_32BIT): Define for Thumb-1 only targets.
    (THUMB_LDIV0): Test for NOT_ISA_TARGET_32BIT rather than
    __ARM_ARCH_6M__.
    (EQUIV): Likewise.
    (ARM_FUNC_ALIAS): Likewise.
    (umodsi3): Add check to __ARM_ARCH_ISA_THUMB != 1 to guard the idiv
    version.
    (modsi3): Likewise.
    (clzsi2): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__.
    (clzdi2): Likewise.
    (ctzsi2): Likewise.
    (L_interwork_call_via_rX): Test for __ARM_ARCH_ISA_ARM rather than
    __ARM_ARCH_6M__ in guard for checking whether it is defined.
    (final includes): Test for NOT_ISA_TARGET_32BIT rather than
    __ARM_ARCH_6M__ and add comment to indicate the connection between
    this condition and the one in gcc/config/arm/elf.h.
    * config/arm/libunwind.S: Test for __ARM_ARCH_ISA_THUMB and
    __ARM_ARCH_ISA_ARM rather than __ARM_ARCH_6M__.
    * config/arm/t-softfp: Likewise.

From-SVN: r238079
2016-07-07 08:54:18 +00:00