Commit Graph

164224 Commits

Author SHA1 Message Date
Justin Squirek
b45a9ff305 [Ada] Crash on expression functions within quantified expressions
This patch fixes an issue whereby using a call to an expression function
as the domain of iteration for a loop would trigger a crash due to the
function not being frozen appropriately.

2018-09-26  Justin Squirek  <squirek@adacore.com>

gcc/ada/

	* sem_ch5.adb (Analyze_Iterator_Specification): Add conditional
	to freeze called functions within iterator specifications during
	full analysis.
	(Preanalyze_Range): Minor typo fix.

gcc/testsuite/

	* gnat.dg/expr_func8.adb: New testcase.

From-SVN: r264612
2018-09-26 09:17:21 +00:00
Ed Schonberg
bcbe14db19 [Ada] Missing predicate check on return value
The semantics of the return statement includes an implicit conversion of
the value to the return type of the funcction. This conversion, as
elsewhere, entails a predicate check if the return type has a predicate
aspect.

We do not apply the check to a case expression because in the context of
a return statement it will be expanded into a series of return
statements, each of which will receive a predicate check.

2018-09-26  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* sem_ch6.adb (Analyze_Function_Return): If the return type has
	a dynamic_predicate, apply a Predicate_Check to the expression,
	given that it is implicitly converted to the return type.
	Exclude case expressions from the check, because in this context
	the expression is expanded into individual return statements.

gcc/testsuite/

	* gnat.dg/predicate3.adb, gnat.dg/predicate3_pkg.ads: New
	testcase.

From-SVN: r264611
2018-09-26 09:17:16 +00:00
Eric Botcazou
4453a8221c [Ada] ICE on array of task type with -gnatct
2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Task_Type>: In
	-gnatct mode, process the discriminants only for a definition.

From-SVN: r264610
2018-09-26 09:17:10 +00:00
Eric Botcazou
81d85d4bae [Ada] Fix assertion failure on record subtype with -gnatRj
The JSON output of the -gnatR machinery was choking on record subtypes
and the change fixes this oversight.

The following package must now compile properly with -gnatRj:

package P is

  type Rec (D : Integer) is record
      C : Integer;

      case D is
         when 1 =>
            S : String (1 .. 20);
         when 2 =>
            B : Boolean;
         when others =>
            Ch1 : Character;
            F   : Float;
            Ch2 : Character;
      end case;

   end record;

   subtype Rec1 is Rec (1);

end P;

2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* repinfo.adb (List_Record_Layout): Be prepared for JSON output.
	(List_Record_Info): Use the flat representation for record
	subtypes in the JSON format.

From-SVN: r264609
2018-09-26 09:17:05 +00:00
Justin Squirek
05a84157e9 [Ada] Regression in partial compilation of RCI units
This patch fixes an issue whereby the compilation of partial sources
(packages without bodies that require them) would not occur when said
sources were remote call interfaces. This is required because such
interfaces may have bodies that only exist on the server side or vice
versa

2018-09-26  Justin Squirek  <squirek@adacore.com>

gcc/ada/

	* lib-writ.adb, lib-writ.ads (Write_With_Lines): Add
	documentation and an extra conditional check for RCI units so
	that generated ali files will list the spec only instead of a
	body when a body is not found.

From-SVN: r264608
2018-09-26 09:16:59 +00:00
Eric Botcazou
738b83cd32 [Ada] Set Current_Error_Node directly
This changes gigi to set Current_Error_Node directly, which should
result in a more robust error handling.

2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* gcc-interface/gigi.h (error_gnat_node): Delete.
	* gcc-interface/trans.c (error_gnat_node): Likewise.
	(gigi): Replace it with Current_Error_Node.
	(gnat_to_gnu): Likewise.
	* gcc-interface/utils.c (rest_of_subprog_body_compilation):
	Likewise.
	* gcc-interface/misc.c (internal_error_function): Do not set it.

From-SVN: r264607
2018-09-26 09:16:54 +00:00
Eric Botcazou
3b9d159401 [Ada] Wrong handling of address clause for limited record type
2018-09-26  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Adjust
	code retrieving the address when a clause has already been
	processed.
	* gcc-interface/trans.c (gnat_to_gnu)
	<N_Attribute_Definition_Clause>: For an object with a Freeze
	node, build a meaningful expression.

gcc/testsuite/

	* gnat.dg/addr12.adb, gnat.dg/addr12_a.adb,
	gnat.dg/addr12_a.ads, gnat.dg/addr12_b.adb,
	gnat.dg/addr12_b.ads, gnat.dg/addr12_c.ads: New testcase.

From-SVN: r264606
2018-09-26 09:16:49 +00:00
Arnaud Charlet
1ac984f595 [Ada] Introduce -gnatd_A to set Opt.Disable_ALI_File
This will allow us to remove the import of flag_compare_debug in
lib-writ.adb in a second stage.

2018-09-26  Arnaud Charlet  <charlet@adacore.com>

gcc/ada/

	* gnat1drv.adb (Adjust_Global_Switches): -gnatd_A sets
	Opt.Disable_ALI_File.
	* debug.adb: Update debug flags documentation.

From-SVN: r264605
2018-09-26 09:16:44 +00:00
Ed Schonberg
6d7d342a39 [Ada] Disable special handling for preconditions specified by pragmas
2018-09-26  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* contracts.adb (Analyze_Entry_Or_Subprogram_Contract): The
	analysis of preconditions specified by pragmas (rather than
	aspects) is not delayed, and therefore expressions functions
	that are completions do not need special handling during
	expansion.

From-SVN: r264604
2018-09-26 09:16:39 +00:00
Ed Schonberg
ef8f9700fa [Ada] Unnesting: fix handling of up level refs for entries
2018-09-26  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* exp_unst.adb: Fix handling of up level references for entries.

From-SVN: r264603
2018-09-26 09:16:33 +00:00
Ed Schonberg
33d2551767 [Ada] Fix ICE related to type freezing
2018-09-26  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* contracts.adb (Expand_Subprogram_Contract,
	Process_Preconditions_For): Apply Freeze_Expr_Types to the
	expression for a precondition of an expression function that is
	a completion, when the completion appears in the private part
	and the declaration it completes is in the visible part of the
	same package.
	* freeze.adb (Freeze_Expr_Types): Do not establish the scope of
	the operation if it is already installed, as will be the case
	when called to analyze the contract oc the subprogram (which
	happens when generating code inside the subprogram body).

From-SVN: r264602
2018-09-26 09:16:28 +00:00
Maroua Maalej
f0f2d1fc03 [Ada] SPARK: update borrowing effects for IN parameters
2018-09-26  Maroua Maalej  <maalej@adacore.com>

gcc/ada/

	* sem_spark.adb (Check_Param_In, Setup_Parameter_Or_Global):
	Change the operation associated to assigning to an IN parameter.
	In SPARK, IN access-to-variable is an observe operation for a
	function, and borrow operation for a procedure.

From-SVN: r264601
2018-09-26 09:16:23 +00:00
Arnaud Charlet
98f57e4ca3 [Ada] Vxlink: minor reformatting
2018-09-26  Arnaud Charlet  <charlet@adacore.com>

gcc/ada

	* vxlink.adb: Minor reformatting.

From-SVN: r264600
2018-09-26 09:16:18 +00:00
Gary Dismukes
e5d1632351 [Ada] Fix miscellaneous typos
2018-09-26  Gary Dismukes  <dismukes@adacore.com>

gcc/ada/

	* exp_ch9.adb, layout.adb, sem_attr.adb, sem_res.adb: Fix
	miscellaneous typos.

From-SVN: r264599
2018-09-26 09:15:48 +00:00
Matthew Malcomson
5e14418b07 A few places in the arm and aarch64 backends check whether an atomic operation needs acquire or release semantics.
A few places in the arm and aarch64 backends check whether an atomic
operation needs acquire or release semantics.
This is generally done with a check like

(is_mm_relaxed (model)
  || is_mm_consume (model)
  || is_mm_release (model))

In this patch we introduce two helper functions to make things a little
tidier.

There are a few places in the arm/ backend that check whether an
operation needs memory model semantics with an idiom that can now be
replaced with the new aarch_mm_needs_* functions, so we make that
replacement.

There is also some backslash removal to make things a little tidier.

Full bootstrap and regression test plus cross-compilation regression tests done
on arm-none-linux-gnueabihf.
Ok for trunk?

gcc/ChangeLog:

2018-09-20  Matthew Malcomson  <matthew.malcomson@arm.com>

	* config/arm/arm.c (arm_split_compare_and_swap, arm_split_atomic_op):
	Use new helper functions.
	* config/arm/sync.md (atomic_load<mode>, atomic_store<mode>):
	Use new helper functions.
	* config/arm/aarch-common-protos.h (aarch_mm_needs_acquire,
	aarch_mm_needs_release): New declarations.
	* config/arm/aarch-common.c (aarch_mm_needs_acquire,
	aarch_mm_needs_release): New.

From-SVN: r264598
2018-09-26 09:13:18 +00:00
Jerome Lambourg
539866048e [Ada] Vxlink: kill a CodePeer warning
2018-09-26  Jerome Lambourg  <lambourg@adacore.com>

gcc/ada/

	* vxlink.adb: Kill a CodePeer warning.

From-SVN: r264597
2018-09-26 09:13:03 +00:00
Paolo Carlini
9464ed971f re PR c++/67656 ([concepts] matched variadics in expression constraint report as unmatched)
2018-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67656
	* g++.dg/concepts/pr67656.C: New.

From-SVN: r264596
2018-09-26 09:08:24 +00:00
Eric Botcazou
f29cfc6b15 arm.c (arm_reorg): Skip Thumb reorg pass for thunks.
* config/arm/arm.c (arm_reorg): Skip Thumb reorg pass for thunks.
	(arm32_output_mi_thunk): Deal with long calls.

From-SVN: r264595
2018-09-26 07:36:45 +00:00
Richard Biener
392047f92a re PR debug/87428 ("Missed" inline instances cause bogus DWARF to be emitted)
2018-09-26  Richard Biener  <rguenther@suse.de>

	PR debug/87428
	PR debug/87362
	* tree-inline.c (expand_call_inline): When the location
	of the call is UNKNOWN_LOCATION use DECL_SOURCE_LOCATION
	or BUILTINS_LOCATION for the BLOCK_SOURCE_LOCATION of
	the inserted BLOCK to make inlined_function_outer_scope_p
	recognize it.
	* dwarf2out.c (add_call_src_coords_attributes): Do not add
	coords for reserved locations.

From-SVN: r264594
2018-09-26 07:05:01 +00:00
Ian Lance Taylor
201054a7f0 runtime, os: fix the build on Solaris
Reviewed-on: https://go-review.googlesource.com/137535

From-SVN: r264593
2018-09-26 03:29:07 +00:00
GCC Administrator
a1f9402ebd Daily bump.
From-SVN: r264592
2018-09-26 00:16:57 +00:00
Segher Boessenkool
0bbadf8bc3 rs6000: Use set_attr_alternative in some places
Some code is much neater if it uses set_attr_alternative than if it
does everything by hand.  Change some patterns to use this shorthand.


	* config/rs6000/rs6000.md (*movcc_internal1): Use set_attr_alternative.
	(*call_indirect_nonlocal_sysv<mode>): Ditto.
	(*call_value_indirect_nonlocal_sysv<mode>): Ditto.
	(*sibcall_nonlocal_sysv<mode>): Ditto.
	(*sibcall_value_nonlocal_sysv<mode>): Ditto.
	(<bd>_<mode>): Ditto.
	(<bd>tf_<mode>): Ditto.

From-SVN: r264588
2018-09-26 01:42:28 +02:00
Segher Boessenkool
07a38de7ce rs6000: Simplify "switch (which_alternative)" patterns
A few of the rs6000 patterns use C code as output control string, where
that code is just a "switch (which_alternative)" with all alternatives
returning a constant string or just the result of a function call as
template.
Write such cases as just a list of templates, with the few pieces that
are C code preceded by "*".


	* config/rs6000/altivec.md (*altivec_mov<mode>): Write the output
	control string as a list of templates instead of as C code.
	(*altivec_movti): Ditto.
	* config/rs6000/darwin.md (movdf_low_di): Ditto.

From-SVN: r264587
2018-09-26 01:31:22 +02:00
Jim Wilson
ad117173a0 RISC-V: Fix weak symbols with medany and explicit relocs.
gcc/
	* config/riscv/riscv.c (riscv_split_symbol): Mark auipc label as weak
	when target symbol is weak.

	gcc/testsuite/
	* gcc.target/riscv/weak-1.c: New.

From-SVN: r264586
2018-09-25 15:52:38 -07:00
Jeff Law
c7813484bc re PR c/87387 (trunk/gcc/builtins.c:585:7: warning: -Wself-assign problem)
PR c/87387
        * builtins.c (unterminated_array): Simplify.
	* expr.c (string_constant): Handle SSA_NAME.  Add more exceptions
	where pointer arithmetic is safe.

	* gcc.dg/warn-stpcpy-no-nul.c: Drop unnecessary xfails.
	* gcc.dg/warn-stplen-no-nul.c: Likewise.

From-SVN: r264585
2018-09-25 16:17:45 -06:00
Segher Boessenkool
a9f6e019d1 rs6000: Do not allow out of range immediate in vsplt[bhw] (PR86987)
The original AltiVec manuals had the immediate lane number in the
splat instructions as a 5-bit number, but anything too big has no
defined meaning, and gas will choke on it too.  This patch disallows
it in the instruction patterns as well as in the builtins.  This
solves PR86987.


	PR target/86987
	* config/rs6000/altivec.md (altivec_vspltb): Use
	const_0_to_15_operand instead of u5bit_cint_operand.
	(*altivec_vspltb_internal): Ditto.
	(altivec_vspltb_direct): Ditto.
	(altivec_vsplth): Use const_0_to_7_operand instead of
	u5bit_cint_operand.
	(*altivec_vsplth_internal): Ditto.
	(altivec_vsplth_direct): Ditto.
	(altivec_vspltw): Use const_0_to_3_operand instead of
	u5bit_cint_operand.
	(*altivec_vspltw_internal): Ditto.
	(altivec_vspltw_direct): Ditto.
	(altivec_vspltsf): Ditto.
	(*altivec_vspltsf_internal): Ditto.
	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Handle the
	various splats with the proper size immediate.  Reorder the various
	cases by ascending size of immediate, and put all such together.

From-SVN: r264584
2018-09-26 00:09:38 +02:00
Alexandre Oliva
ee8505183c adjust dinst.adb's expectations for location views
The testcase failed when the compiler used .loc view syntax, because
it expected discriminators at the end of the .loc lines.

for  gcc/testsuite/ChangeLog

	* gnat.dg/dinst.adb: Adjust for locviews.

From-SVN: r264583
2018-09-25 19:04:44 +00:00
Will Schmidt
43ab423d96 altivec-6.C: Updated vec_splat() calls.
[testsuite]

2018-09-25  Will Schmidt  <will_schmidt@vnet.ibm.com>

    * g++.dg/ext/altivec-6.C: Updated vec_splat() calls.
    * gcc.target/powerpc/fold-vec-splat-char.c: Remove invalid
    vec_splat calls from recently added tests. Update instruction counts.
    * gcc.target/powerpc/fold-vec-splat-floatdouble.c: Same.
    * gcc.target/powerpc/fold-vec-splat-int.c: Same.
    * gcc.target/powerpc/fold-vec-splat-longlong.c: Same.
    * gcc.target/powerpc/fold-vec-splat-pixel.c: Same.
    * gcc.target/powerpc/fold-vec-splat-short.c: Same.

From-SVN: r264582
2018-09-25 18:34:06 +00:00
Marek Polacek
a5bfbcc85c re PR c++/87425 (ICE with virtual assignment operator)
PR c++/87425
	* g++.dg/cpp2a/constexpr-virtual12.C: New test.

From-SVN: r264581
2018-09-25 18:02:47 +00:00
Jakub Jelinek
69deaf149a re PR c++/87398 (g++ ICE on valid code: tree check: expected record_type or union_type or qual_union_type, have array_type in cxx_eval_constant_expression, at cp/constexpr.c:4820)
PR c++/87398
	* constexpr.c (cxx_eval_constant_expression) <case OBJ_TYPE_REF>: Only
	look through COMPONENT_REFs with DECL_FIELD_IS_BASE FIELD_DECLs.

	* g++.dg/other/pr87398.C: New test.
	* g++.dg/cpp2a/constexpr-virtual10.C: New test.
	* g++.dg/cpp2a/constexpr-virtual11.C: New test.

From-SVN: r264580
2018-09-25 18:40:57 +02:00
Martin Jambor
e8753bb88e [PR 87339] Fix failure of gcc.dg/warn-abs-1.c on some targets
2018-09-25  Martin Jambor  <mjambor@suse.cz>

	PR testsuite/87339
	* gcc.dg/warn-abs-1.c: Do not test _Float128.  Remove dg-skip-if and
	float125 target.
	* gcc.target/i386/warn-abs-3.c: New test.

From-SVN: r264579
2018-09-25 18:28:40 +02:00
Uros Bizjak
84848f5199 * config/i386/i386.md: Move nearbyint patterns closer to rint.
From-SVN: r264578
2018-09-25 18:06:36 +02:00
Paolo Carlini
0ae1678fd9 re PR c++/81246 (ICE on invalid C++ code (with a non-type template parameter having type 'float'): Segmentation fault)
2018-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/81246
	* g++.dg/cpp0x/pr81246.C: New.

From-SVN: r264577
2018-09-25 16:05:48 +00:00
Mike Crowe
29b26763f5 Use steady_clock to implement condition_variable::wait_for with predicate
In r263225 (d2e378182a12d68fe5caeffae681252662a2fe7b), I fixed
condition_variable::wait_for to use std::chrono::steady_clock for the wait.
Unfortunately, I failed to spot that the same fix is required for the
wait_for variant that takes a predicate too.

2018-09-25  Mike Crowe  <mac@mcrowe.com>

	* include/std/condition_variable (condition_variable::wait_for): Use
	steady clock in overload that uses a predicate.

From-SVN: r264575
2018-09-25 15:59:27 +01:00
Jonathan Wakely
16d30bbd4d PR libstdc++/87431 optimise valueless_by_exception()
If a std::variant can never get into valueless state then we don't need
to do a runtime check for a valid alternative.

	PR libstdc++/87431
	* include/std/variant (_Variant_storage<true, _Types...>::_M_valid):
	Avoid runtime test when all alternatives are scalars and so cannot
	throw during initialization.

From-SVN: r264574
2018-09-25 15:59:16 +01:00
Richard Biener
4fb792e189 re PR debug/83941 (Debug info generated with -flto contains useless forwarders)
2018-09-25  Richard Biener  <rguenther@suse.de>

	PR debug/83941
	* dwarf2out.c (add_AT_external_die_ref): Remove now redundant
	GC-ification.
	(maybe_create_die_with_external_ref): Do not create
	DW_TAG_imported_unit here.
	(add_abstract_origin_attribute): Handle external BLOCK refs.
	(dwarf2out_abstract_function): Simplify LTO case.
	(dwarf2out_early_finish): Create DW_TAG_imported_unit explicitely
	rather than using maybe_create_die_with_external_ref.

From-SVN: r264573
2018-09-25 14:51:39 +00:00
Ian Lance Taylor
f5ec13f15d internal/bytealg, internal/cpu, internal/poll: portability fixes
In internal/bytealg correct a +build tag to never build indexbyte_generic.go
    for the gofrontend, where we always use indexbyte_native.go.
    
    For internal/cpu let the Makefile define CacheLineSize using goarch.sh,
    rather than trying to enumerate all the possibilities in cpu_ARCH.go files.
    
    In internal/poll call the C fcntl function rather than using SYS_FCNTL.
    Change mksysinfo.sh to ensure that F_GETPIPE_SZ is always defined,
    and check that in internal/poll.
    
    Reviewed-on: https://go-review.googlesource.com/137256

From-SVN: r264572
2018-09-25 14:31:57 +00:00
Uros Bizjak
be2df8bc38 i386.md (frndintxf2_mask_pm): Remove.
* config/i386/i386.md (frndintxf2_mask_pm): Remove.
	(frndintxf2_mask_pm_i387): Ditto.
	(nearbyintxf2): Rewrite expander pattern to match rintxf2.
	Enable for !flag_trapping_math.
	(nearbyint<mode>2): Enable x87 modes for !flag_trapping_math.
	Enable SSE modes for TARGET_SSE4_1 and expand them with round insn.
	Change operand 1 predicate to nonimmediate_operand.
	(attr "i387_cw"): Remove mask_pm.
	* config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_CW_MASK_PM.
	(enum ix86_entity): Remove I387_MASK_PM.
	* config/i386/i386.c (ix86_i387_mode_needed): Do not
	handle I387_MASK_PM.
	(ix86_mode_needed): Ditto.
	(ix86_mode_after): Ditto.
	(ix86_mode_entry): Ditto.
	(ix86_mode_exit): Ditto.
	(emit_i387_cw_initialization): Do not handle I387_CW_MASK_PM.

From-SVN: r264571
2018-09-25 16:26:11 +02:00
Ian Lance Taylor
b16084d244 cmd/go: pass down testing gccgo in TestScript
This permits TestScript to work when gccgo is not installed.
    Previous testing was using a previously installed gccgo, not the newly
    built one.
    
    This revealed that the testing of whether an internal package is
    permitted was incorrect for standard library packages, since the
    uninstalled gccgo can see internal packages in the uninstalled libgo.
    Fix the internal package tests.
    
    This permitted removing a couple of gccgo-specific changes in the
    testsuite.
    
    Reviewed-on: https://go-review.googlesource.com/137255

From-SVN: r264570
2018-09-25 14:16:32 +00:00
H.J. Lu
97b8f8679d i386: Compile pr82699-5.c and pr82699-6.c with -fno-pic
Compile pr82699-5.c and pr82699-6.c with -fno-pic to avoid

FAIL: gcc.target/i386/pr82699-5.c (test for excess errors)
Excess errors:
cc1: sorry, unimplemented: -mfentry isn't supported for 32-bit in combination with -fpic
FAIL: gcc.target/i386/pr82699-6.c (test for excess errors)
Excess errors:
cc1: error: -mnop-mcount is not implemented for -fPIC
cc1: sorry, unimplemented: -mfentry isn't supported for 32-bit in combination with -fpic

when running GCC testsuite with --target_board='unix{-fpic\ -m32,-fpic}'.

	PR target/82699
	* gcc.target/i386/pr82699-5.c: Add -fno-pic for ia32.
	* gcc.target/i386/pr82699-6.c: Add -fno-pic.

From-SVN: r264569
2018-09-25 06:51:45 -07:00
Jakub Jelinek
eeefd00d92 coarray_lock_7.f90: Adjust scan-tree-dump-times for ILP32.
* gfortran.dg/coarray_lock_7.f90: Adjust scan-tree-dump-times for
	ILP32.

From-SVN: r264568
2018-09-25 15:21:44 +02:00
Jakub Jelinek
d02c08cb15 vr-values.c (vr_values::vr_values): Initialize to_remove_edges and to_update_switch_stmts to vNULL instead of...
* vr-values.c (vr_values::vr_values): Initialize to_remove_edges and
	to_update_switch_stmts to vNULL instead of calling create on them
	immediately.

From-SVN: r264567
2018-09-25 15:18:06 +02:00
Richard Biener
a0d013bdc2 re PR tree-optimization/87402 (ICE in set_ssa_val_to, at tree-ssa-sccvn.c:3645)
2018-09-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/87402
	* tree-ssa-sccvn.c (SSA_VISITED): Remove unused function.
	(visit_phi): Re-instantiate handling of supposed to be VARYING
	but non-VARYING backedge value.

	* gcc.dg/torture/pr87402.c: New testcase.

From-SVN: r264566
2018-09-25 12:51:57 +00:00
H.J. Lu
5d6749d1f2 Check pie_enabled target in PIC tests
We need to check pie_enabled target in PIC tests to support GCC where
PIE is enabled by default when configured with --enable-default-pie.

	PR testsuite/70150
	* gcc.dg/20020312-2.c (dg-additional-options): Set to "-no-pie"
	for pie_enabled target.
	* gcc.dg/uninit-19.c: Check pie_enabled for PIC.
	* gcc.target/i386/pr34256.c: Likewise.

From-SVN: r264565
2018-09-25 05:25:44 -07:00
Richard Biener
f6919d2011 re PR debug/83941 (Debug info generated with -flto contains useless forwarders)
2018-09-25  Richard Biener  <rguenther@suse.de>

	PR debug/83941
	* dwarf2out.c (struct sym_off_pair): New.
	(external_die_map): New global.
	(lookup_decl_die): When in LTO create DIEs lazily from the
	external_die_map.
	(lookup_block_die): New function, create DIEs lazily in LTO.
	(equate_block_to_die): New function.
	(dwarf2out_die_ref_for_decl): During WPA get the association
	from the external DIE map.
	(dwarf2out_register_external_die): Record mapping into the
	external DIE map.
	(maybe_create_die_with_external_ref): New function split out from
	DIE generation part of old dwarf2out_register_external_die.
	(add_abstract_origin_attribute): Do not return the DIE.  When
	in LTO reference externals directly.
	(dwarf2out_abstract_function): When in LTO ignore calls for
	decls with external DIEs (already present abstract instances).
	(gen_call_site_die): Adjust.
	(add_high_low_attributes): Likewise.
	(gen_lexical_block_die): Likewise.
	(gen_inlined_subroutine_die): Likewie.
	(gen_block_die): Likewise.
	(dwarf2out_inline_entry): Likewise.
	(dwarf2out_early_finish): In LTRANS phase create DW_TAG_imported_unit
	DIEs.

From-SVN: r264564
2018-09-25 07:30:56 +00:00
Martin Liska
59d2702625 Fix scaling of a sreal number.
2018-09-25  Martin Liska  <mliska@suse.cz>

	* ipa-fnsummary.c (estimate_node_size_and_time): Scale by two
	integers and not by a float value.

From-SVN: r264563
2018-09-25 07:14:38 +00:00
Martin Liska
5433e40109 Fix small coding style issues (PR fortran/87394).
2018-09-25  Martin Liska  <mliska@suse.cz>

	PR fortran/87394
	* dbgcnt.c (dbg_cnt_process_single_pair): Return false
	instead of NULL.
	* dumpfile.c (dump_enable_all): Remove extra parenthesis.
	* gcov-tool.c: Declare the function with ATTRIBUTE_NORETURN.
	* godump.c (go_format_type): Remove extra parenthesis.
2018-09-25  Martin Liska  <mliska@suse.cz>

	PR fortran/87394
	* decl.c (add_hidden_procptr_result): Simplify condition
	as we are in branch witch 'case1 || case2'.

From-SVN: r264562
2018-09-25 07:13:59 +00:00
Martin Liska
72744f65a2 Remove unused functions and fields.
2018-09-25  Martin Liska  <mliska@suse.cz>

	* alias.c (set_dest_equal_p): Remove unused function.
	* config/i386/i386.c (def_builtin_pure2): Likewise.
	* diagnostic-show-locus.c (class layout): Remove
	unused field.
	(layout::layout): Likewise here.
	* dump-context.h (class temp_dump_context): Likewise.
	* dwarf2out.c (add_AT_fde_ref): Remove unused function.
	(add_AT_loclistsptr): Likewise.
	(add_AT_offset): Likewise.
	(get_AT_hi_pc): Likewise.
	(is_comdat_die): Likewise.
	(type_is_enum): Likewise.
	(ceiling): Likewise.
	(add_AT_vms_delta): Likewise.
	(is_class_die): Likewise.
	* edit-context.c (class line_event): Remove unused field.
	* graphite-sese-to-poly.c (tree_int_to_gmp): Remove
	unused function.
	* ipa-cp.c (ipa_get_vr_lat): Likewise.
	* lra-constraints.c (ok_for_index_p_nonstrict): Likewise.
	(ok_for_base_p_nonstrict): Likewise.
	* tree-chrec.c (is_not_constant_evolution): Likewise.
	(chrec_fold_poly_cst): Likewise.
	* tree-if-conv.c (has_pred_critical_p): Likewise.
	* tree-ssa-coalesce.c (print_exprs): Likewise.
	* tree-ssa-pre.c (bitmap_set_contains_expr): Likewise.
	* tree-ssa-uninit.c (is_and_or_or_p): Likewise.
	* tree-vrp.c (value_ranges_intersect_p): Likewise.
	(value_range_nonnegative_p): Likewise.
2018-09-25  Martin Liska  <mliska@suse.cz>

	* name-lookup.c (namespace_scope_ht_size): Remove
	unused function.
	* parser.c (cp_lexer_next_token_is_not_keyword): Likewise.
2018-09-25  Martin Liska  <mliska@suse.cz>

	* trans.c (remove_suffix): Remove
	unused function.
2018-09-25  Martin Liska  <mliska@suse.cz>

	* gofrontend/escape.cc (Gogo::analyze_escape): Remove
	usage of a parameter.
	(Gogo::assign_connectivity): Likewise.
	(class Escape_analysis_tag): Likewise.
	(Gogo::tag_function): Likewise.
	* gofrontend/expressions.cc (Call_expression::do_type): Likewise.
	* gofrontend/gogo.h (class Gogo): Likewise.
	* gofrontend/types.cc (class Call_multiple_result_type): Likewise.
	(Type::make_call_multiple_result_type): Likewise.
	* gofrontend/types.h (class Type): Likewise.
	* gofrontend/wb.cc (class Check_escape): Likewise.
	(Gogo::add_write_barriers): Likewise.

From-SVN: r264561
2018-09-25 07:13:40 +00:00
Martin Liska
a0464aa0c4 Add filter-rtags-warnings.py script.
2018-09-25  Martin Liska  <mliska@suse.cz>

	* filter-rtags-warnings.py: New file.

From-SVN: r264560
2018-09-25 07:12:52 +00:00
Martin Liska
87677ac7fb Remove Pascal-related entries in code and comments.
2018-09-25  Martin Liska  <mliska@suse.cz>

	* config/powerpcspe/powerpcspe.c (rs6000_output_function_epilogue):
	Do not handle "GNU Pascal".
	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
	Likewise.
	* config/sparc/sparc.c (sparc_pass_by_reference): Remove Pascal
	from documentation. Likewise.
	* dbxout.c (dbxout_range_type): Likewise.
	* doc/cpp.texi: Likewise.
	* doc/extend.texi: Likewise.
	* doc/frontends.texi: Likewise.
	* doc/invoke.texi: Remove Pascal entry.
	* tree.def (CLEANUP_POINT_EXPR): Likewise.
	* doc/rtl.texi (MODE_FUNCTION): Remove not used entry.
2018-09-25  Martin Liska  <mliska@suse.cz>

	* c-common.c (c_common_truthvalue_conversion):
	Remove Pascal from documentation.

From-SVN: r264559
2018-09-25 07:11:05 +00:00