platform/upstream/gcc.git
9 years agoPR jit/64752 - Rewrite jit testsuite to eliminate use of "file"
David Malcolm [Fri, 6 Feb 2015 23:19:32 +0000 (23:19 +0000)]
PR jit/64752 - Rewrite jit testsuite to eliminate use of "file"

gcc/testsuite/ChangeLog:
PR jit/64752
* jit.dg/create-code-for-hello-world-executable.h: New file, taken
from jit.dg/test-compile-to-executable.c's create_code, with a
clarification of the output message.
* jit.dg/harness.h (CHECK_NO_ERRORS): Add test and __func__ to the
pass/fail message.
(test_jit): Use CHECK_NO_ERRORS when calling
gcc_jit_context_compile_to_file.
* jit.dg/jit.exp (jit-dg-test): Update grep for rename of
jit-verify-compile-to-file to jit-verify-output-file-was-created.
(jit-setup-compile-to-file): Likewise.  Add a verbose comment
about deletions that are attempted.
(jit-verify-compile-to-file): Rename to...
(jit-verify-output-file-was-created): ...this, and drop the
attempt to run "file" and verify the output.
(jit-verify-assembler): New function.
(jit-verify-object): New function.
(jit-verify-dynamic-library): New function.
* jit.dg/test-compile-to-assembler.c (create_code): Eliminate in
favor of an implementation from new file
create-code-for-hello-world-executable.h, which also adds a
"main".
(dg-final): Replace jit-verify-compile-to-file with
jit-verify-output-file-was-created, and invoke new function
jit-verify-assembler.
* jit.dg/test-compile-to-dynamic-library.c (create_code): Clarify
the output message.
(dg-final): Replace jit-verify-compile-to-file with
jit-verify-output-file-was-created, and invoke new function
jit-verify-dynamic-library.
* jit.dg/test-compile-to-executable.c (create_code): Eliminate in
favor of an implementation from new file
create-code-for-hello-world-executable.h, which also adds a
"main".
(dg-final): Replace jit-verify-compile-to-file with
jit-verify-output-file-was-created.  Strengthen the expected stdout
from the built executable.
* jit.dg/test-compile-to-object.c (create_code): Eliminate in
favor of an implementation from new file
create-code-for-hello-world-executable.h, which also adds a
"main".
(dg-final): Replace jit-verify-compile-to-file with
jit-verify-output-file-was-created, and invoke new function
jit-verify-object.
* jit.dg/verify-dynamic-library.c: New source file.

From-SVN: r220494

9 years agoPR 64878: do not jump thread across more than one back-edge
Sebastian Pop [Fri, 6 Feb 2015 21:08:13 +0000 (21:08 +0000)]
PR 64878: do not jump thread across more than one back-edge

2015-02-04  Sebastian Pop  <s.pop@samsung.com>
    Brian Rzycki  <b.rzycki@samsung.com>

PR tree-optimization/64878
* tree-ssa-threadedge.c: Include tree-ssa-loop.h.
(fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
Stop recursion at loop phi nodes after having visited a loop phi node.

* testsuite/gcc.dg/tree-ssa/ssa-dom-thread-8.c: New.

Co-Authored-By: Brian Rzycki <b.rzycki@samsung.com>
From-SVN: r220491

9 years agotoplev.c (process_options): Change flag_ipa_ra before creating optimization_{default...
Jakub Jelinek [Fri, 6 Feb 2015 20:50:07 +0000 (21:50 +0100)]
toplev.c (process_options): Change flag_ipa_ra before creating optimization_{default,current}_node.

* toplev.c (process_options): Change flag_ipa_ra before creating
optimization_{default,current}_node.

From-SVN: r220490

9 years agore PR ipa/64896 (ICE in get_address_mode, at rtlanal.c:5442)
Jakub Jelinek [Fri, 6 Feb 2015 20:47:20 +0000 (21:47 +0100)]
re PR ipa/64896 (ICE in get_address_mode, at rtlanal.c:5442)

PR ipa/64896
* cgraphunit.c (cgraph_node::expand_thunk): If
restype is not is_gimple_reg_type nor the thunk_fndecl
returns aggregate_value_p, set restmp to a temporary variable
instead of resdecl.

* g++.dg/ipa/pr64896.C: New test.

From-SVN: r220489

9 years agolra.c (lra_emit_add): Fix a typo in using disp instead of base.
Vladimir Makarov [Fri, 6 Feb 2015 19:40:45 +0000 (19:40 +0000)]
lra.c (lra_emit_add): Fix a typo in using disp instead of base.

2015-02-06  Vladimir Makarov  <vmakarov@redhat.com>

* lra.c (lra_emit_add): Fix a typo in using disp instead of base.

From-SVN: r220488

9 years agore PR target/64205 (powerpc64-linux --with-cpu=G5 bootstrap failure)
Michael Meissner [Fri, 6 Feb 2015 19:15:56 +0000 (19:15 +0000)]
re PR target/64205 (powerpc64-linux --with-cpu=G5 bootstrap failure)

[gcc]
2015-02-06  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/64205
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
add a general secondary reload handler for SDmode, unless we have
both read/write support for SDmode.

[gcc/testsuite]
2015-02-06  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/64205
* gcc.target/powerpc/pr64205.c: New file.

From-SVN: r220485

9 years agopr64317.c: Compile for 32bit *-*-linux* targets.
Uros Bizjak [Fri, 6 Feb 2015 19:04:10 +0000 (20:04 +0100)]
pr64317.c: Compile for 32bit *-*-linux* targets.

* gcc.target/i386/pr64317.c: Compile for 32bit *-*-linux* targets.
(dg-options): Use -fpie instead of -fPIE -pie.

From-SVN: r220484

9 years agore PR middle-end/64937 (compare debug failure with -fsanitize=address)
Jakub Jelinek [Fri, 6 Feb 2015 18:26:59 +0000 (19:26 +0100)]
re PR middle-end/64937 (compare debug failure with -fsanitize=address)

PR middle-end/64937
* dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
1 before, push it to abstract_vec.
(dwarf2out_abstract_function): Adjust caller.  Don't call
set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
DECL_ABSTRACT_P flags for all abstract_vec elts.

* g++.dg/asan/pr64937.C: New test.

From-SVN: r220483

9 years agore PR fortran/63205 ([OOP] Wrongly rejects type = class (for identical declared...
Paul Thomas [Fri, 6 Feb 2015 18:15:01 +0000 (18:15 +0000)]
re PR fortran/63205 ([OOP] Wrongly rejects  type = class (for identical declared type))

2015-02-06  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/63205
* gfortran.h: Add 'must finalize' field to gfc_expr and
prototypes for gfc_is_alloc_class_scalar_function and for
gfc_is_alloc_class_array_function.
* expr.c (gfc_is_alloc_class_scalar_function,
gfc_is_alloc_class_array_function): New functions.
* trans-array.c (gfc_add_loop_ss_code): Do not move the
expression for allocatable class scalar functions outside the
loop.
(conv_array_index_offset): Cope with deltas being NULL_TREE.
(build_class_array_ref): Do not return with allocatable class
array functions. Add code to pick out the returned class array.
Dereference if necessary and return if not a class object.
(gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
(gfc_walk_function_expr): Return an array ss for the result of
an allocatable class array function.
* trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
that the argument should be a variable. If an allocatable class
array function, set the offset to zero and skip the write-out
loop in this case.
(gfc_conv_procedure_call): Add allocatable class array function
to the assert. Call gfc_conv_subref_array_arg for allocatable
class array function arguments with derived type formal arg..
Add the code for handling allocatable class functions, including
finalization calls to prevent memory leaks.
(arrayfunc_assign_needs_temporary): Return if an allocatable
class array function.
(gfc_trans_assignment_1): Set must_finalize to rhs expression
for allocatable class functions. Set scalar_to_array as needed
for scalar class allocatable functions assigned to an array.
Nullify the allocatable components corresponding the the lhs
derived type so that the finalization does not free them.

2015-02-06  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/63205
* gfortran.dg/class_to_type_4.f90: New test

From-SVN: r220482

9 years agomksysinfo.sh: Remove _zone_net_addr_t handling.
Ian Lance Taylor [Fri, 6 Feb 2015 16:18:14 +0000 (16:18 +0000)]
mksysinfo.sh: Remove _zone_net_addr_t handling.

From Rainer Orth.

The recent godump changes broke Solaris 11.1+ bootstrap in
libgo: before, gen-sysinfo.so had

type _zone_net_addr_t struct { zna_family uint16; zna_plen uint16; zna_addru struct { znau_addr6 _in6_addr; }; }

which was filtered out by mksysinfo.sh due to the use of
_in6_addr.

After the change, there's now

type _zone_net_addr_t struct { zna_family uint16; zna_plen uint16; zna_addru struct { znau_addr6 [16]byte; Godump_0_align [0]uint32; }; }

instead, not filtered, but added a second time by the
_zone_net_addr_t code in mksysinfo.sh, which leads to
redefinition warnings/errors.

Simply removing the old _zone_net_addr_t fragment fixes this
and restores bootstrap.

From-SVN: r220481

9 years ago[PATCH]Keep location info when expand complex component-wise load/store.
Renlin Li [Fri, 6 Feb 2015 14:37:59 +0000 (14:37 +0000)]
[PATCH]Keep location info when expand complex component-wise load/store.

gcc/
* tree-ssa-forwprop.c (execute): Keep location info while rewrite
complex gimple.
* tree-ssa.c (execute_update_addresses_taken): Likewise.

From-SVN: r220480

9 years agoFix 404 in "Show Source" in jit docs
David Malcolm [Fri, 6 Feb 2015 14:36:54 +0000 (14:36 +0000)]
Fix 404 in "Show Source" in jit docs

maintainer-scripts/ChangeLog:
PR jit/64257
* update_web_docs_svn: When copying up files for the built jit
documentation, also copy up .txt files.

From-SVN: r220479

9 years agore PR target/64889 ([h8300] ICE maybe_record_trace_start, at dwarf2cfi.c:2318)
Jeff Law [Fri, 6 Feb 2015 14:25:23 +0000 (07:25 -0700)]
re PR target/64889 ([h8300] ICE maybe_record_trace_start, at dwarf2cfi.c:2318)

PR target/64889
* config/h8300/h8300.c (push): New argument "in_prologue".
Pass "in_prologue" along to "F".
(h8300_push_pop): Corresponding changes.
(h8300_expand_prologue): Likewise.
(h8300_swap_into_er6): Likewise.  Do not set RTX_FRAME_RELATED_P.

From-SVN: r220478

9 years agoRevert the PR lto/64837 fix
H.J. Lu [Fri, 6 Feb 2015 13:55:42 +0000 (13:55 +0000)]
Revert the PR lto/64837 fix

It breaks gold:

% echo "int main () {}" | gcc -fuse-ld=gold -flto -x c++ -
ld.gold: internal error in remove_writer, at token.h:132
collect2: error: ld returned 1 exit status

* lto-plugin.c (release_input_file): Removed.
(claim_file_handler): Don't call release_input_file.
(onload): Don't set release_input_file.

From-SVN: r220477

9 years agore PR rtl-optimization/64957 (wrong code at -O1, -O2 and -O3 on x86_64-linux-gnu)
Jakub Jelinek [Fri, 6 Feb 2015 11:36:34 +0000 (12:36 +0100)]
re PR rtl-optimization/64957 (wrong code at -O1, -O2 and -O3 on x86_64-linux-gnu)

PR rtl-optimization/64957
PR debug/64817
* simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
IOR rather than for AND.

* gcc.c-torture/execute/pr64957.c: New test.

From-SVN: r220475

9 years agore PR fortran/60289 (allocating class(*) pointer as character gives type-spec require...
Andre Vehreschild [Fri, 6 Feb 2015 11:22:54 +0000 (12:22 +0100)]
re PR fortran/60289 (allocating class(*) pointer as character gives type-spec requires the same character-length parameter)

PR fortran/60289
Initial patch by Janus Weil
* resolve.c (resolve_allocate_expr): Add check for comp. only when
target is not unlimited polymorphic.
* trans-stmt.c (gfc_trans_allocate): Assign correct value to _len
component of unlimited polymorphic entities.

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

From-SVN: r220474

9 years agore PR target/62631 (gcc.dg/tree-ssa/ivopts-lt-2.c FAILs)
Eric Botcazou [Fri, 6 Feb 2015 11:17:46 +0000 (11:17 +0000)]
re PR target/62631 (gcc.dg/tree-ssa/ivopts-lt-2.c FAILs)

PR target/62631
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
of shift-add and (add + shift) operations.  Rename local variable.

From-SVN: r220473

9 years agore PR target/17306 (function_vector attribute in H8300H/H8S)
Jeff Law [Fri, 6 Feb 2015 06:19:03 +0000 (23:19 -0700)]
re PR target/17306 (function_vector attribute in H8300H/H8S)

PR target/17306
* config/h8300/constraints.md (U): Correctly dectect
"eightbit_data" memory addresses.
* config/h8300/h8300.c (eightbit_constant_address_p): Also
handle (const (plus (symbol_ref (x)))) where x is declared
as an 8-bit data memory address.
* config/h8300/h8300.md (call, call_value): Correctly detect
"funcvec" functions.

PR target/17306
* gcc.target/h8300/pr17306-1.c: New test.
* gcc.target/h8300/pr17306-2.c: New test.

From-SVN: r220472

9 years agore PR target/43264 (Arithmetic expression error)
Jeff Law [Fri, 6 Feb 2015 05:34:00 +0000 (22:34 -0700)]
re PR target/43264 (Arithmetic expression error)

PR target/43264
* config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
24 to 28 bits for the H8/300.

From-SVN: r220471

9 years agoruntime: Add memprofilerate to GODEBUG
Ian Lance Taylor [Fri, 6 Feb 2015 05:03:22 +0000 (05:03 +0000)]
runtime:  Add memprofilerate to GODEBUG

Add memprofilerate as a value recognized
in the GODEBUG env var.  The value provided
is used as the new setting for
runtime.MemProfileRate, allowing the user
to adjust memory profiling.

From-SVN: r220470

9 years agoDaily bump.
GCC Administrator [Fri, 6 Feb 2015 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r220467

9 years agore PR target/64876 (Regressions in gcc-testresults for powerpc64 gccgo in 5.0 due...
Alan Modra [Thu, 5 Feb 2015 22:52:24 +0000 (09:22 +1030)]
re PR target/64876 (Regressions in gcc-testresults for powerpc64 gccgo in 5.0 due to change for static chain for closures (219776))

PR target/64876
* config/rs6000/rs6000.c (chain_already_loaded): New function.
(rs6000_call_aix): Use it.

From-SVN: r220463

9 years agore PR fortran/64943 (No error on ultimate allocatable components in IO list)
Tobias Burnus [Thu, 5 Feb 2015 21:58:38 +0000 (22:58 +0100)]
re PR fortran/64943 (No error on ultimate allocatable components in IO list)

2015-02-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/64943
        * resolve.c (resolve_transfer): Also check structure
        constructors.

2015-02-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/64943
        * gfortran.dg/structure_constructor_12.f90: New.

From-SVN: r220462

9 years agoPass handle to release_input_file
H.J. Lu [Thu, 5 Feb 2015 20:56:14 +0000 (20:56 +0000)]
Pass handle to release_input_file

* lto-plugin.c (claim_file_handler): Pass handle to
release_input_file.

From-SVN: r220461

9 years agoipa-cp.c (ipa_value_from_jfunc, [...]): Add bounds check.
Jan Hubicka [Thu, 5 Feb 2015 18:39:24 +0000 (19:39 +0100)]
ipa-cp.c (ipa_value_from_jfunc, [...]): Add bounds check.

* ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
check.

From-SVN: r220458

9 years agore PR target/58400 (gcc for h8300 internal compiler error: insn does not satisfy...
Jeff Law [Thu, 5 Feb 2015 17:04:04 +0000 (10:04 -0700)]
re PR target/58400 (gcc for h8300 internal compiler error: insn does not satisfy its constraints at  fs/ext4/mballoc.c: In function 'mb_free_blocks':)

* config/h8300/constraints.md ("U" constraint): Use strict
variant of REG_OK_FOR_BASE_P after reload has started.

PR target/58400
gcc.target/h8300/pr58400.c: New test.

From-SVN: r220457

9 years ago[ARM] __ARM_FP & __ARM_NEON_FP defined when -march=armv7-m
Mantas Mikaitis [Thu, 5 Feb 2015 16:58:58 +0000 (16:58 +0000)]
[ARM] __ARM_FP & __ARM_NEON_FP defined when -march=armv7-m

gcc/:

* config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
define to zero if !TARGET_NEON.
(TARGET_CPU_CPP_BUILTINS): Added second condition before defining
__ARM_FP macro.

gcc/testsuite/:

* gcc.target/arm/macro_defs0.c: New test.
* gcc.target/arm/macro_defs1.c: New test.
* gcc.target/arm/macro_defs2.c: New test.

From-SVN: r220456

9 years agoCall release_input_file only if file is claimed
H.J. Lu [Thu, 5 Feb 2015 16:40:44 +0000 (16:40 +0000)]
Call release_input_file only if file is claimed

* lto-plugin.c (claim_file_handler): Call release_input_file only
if file is claimed.

From-SVN: r220455

9 years ago[multiple changes]
Arnaud Charlet [Thu, 5 Feb 2015 14:35:53 +0000 (15:35 +0100)]
[multiple changes]

2015-02-05  Robert Dewar  <dewar@adacore.com>

* prj-proc.adb, sem_aux.adb, exp_ch9.adb, errout.adb, prj-dect.adb,
prj-nmsc.adb: Minor reformatting.

2015-02-05  Ed Schonberg  <schonberg@adacore.com>

* sem_type.adb (Covers): In ASIS_Mode the Corresponding_Record
of a protected type may not be available, so to check conformance
with an interface type, examine the interface list in the type
declaration directly.
(Write_Overloads): Improve information for indirect calls,
for debugger use.

2015-02-05  Ed Schonberg  <schonberg@adacore.com>

* exp_ch3.adb (Make_Tag_Assignment): Do not perform this
expansion activity in ASIS mode.

From-SVN: r220452

9 years ago[multiple changes]
Arnaud Charlet [Thu, 5 Feb 2015 14:32:46 +0000 (15:32 +0100)]
[multiple changes]

2015-02-05  Javier Miranda  <miranda@adacore.com>

* errout.adb (Error_Msg_PT): Add missing error.
* sem_ch6.adb (Check_Synchronized_Overriding): Check the missing
RM rule.  Code cleanup.
* exp_ch9.adb (Build_Wrapper_Spec): Propagate "constant" in
anonymous access types.  Found working on the tests. Code cleanup.

2015-02-05  Vincent Celier  <celier@adacore.com>

* prj-dect.adb (Parse_Attribute_Declaration): Continue scanning
when there are incomplete withs.
* prj-nmsc.adb (Process_Naming): Do not try to get the value
of an element when it is nil.
(Check_Naming): Do not check a nil suffix for illegality
* prj-proc.adb (Expression): Do not process an empty term.
* prj-strt.adb (Attribute_Reference): If attribute cannot be
found, parse a possible index to avoid cascading errors.

2015-02-05  Ed Schonberg  <schonberg@adacore.com>

* sem_aux.adb (Is_Derived_Type): A subprogram_type generated
for an access_to_subprogram declaration is not a derived type.

From-SVN: r220451

9 years agoerrout.adb (Error_Msg_Internal): For non-serious error set Fatal_Error to Ignored.
Robert Dewar [Thu, 5 Feb 2015 14:31:10 +0000 (14:31 +0000)]
errout.adb (Error_Msg_Internal): For non-serious error set Fatal_Error to Ignored.

2015-02-05  Robert Dewar  <dewar@adacore.com>

* errout.adb (Error_Msg_Internal): For non-serious error set
Fatal_Error to Ignored.
* lib-load.adb (Load_Unit): Minor comment updates.
* sem_ch10.adb (Analyze_With_Clause): Propagate Fatal_Error
setting from with'ed unit to with'ing unit.
* sem_prag.adb (Analyze_Pragma, case Warnings): Document handling
of ambiguity.

From-SVN: r220450

9 years agogcc_update (files_and_dependencies): Add rules for liboffloadmic and liboffloadmic...
Ilya Verbin [Thu, 5 Feb 2015 13:55:25 +0000 (13:55 +0000)]
gcc_update (files_and_dependencies): Add rules for liboffloadmic and liboffloadmic/plugin.

contrib/
* gcc_update (files_and_dependencies): Add rules for liboffloadmic and
liboffloadmic/plugin.

From-SVN: r220449

9 years agosem_prag.adb, [...]: Minor code clean up.
Yannick Moy [Thu, 5 Feb 2015 13:55:03 +0000 (13:55 +0000)]
sem_prag.adb, [...]: Minor code clean up.

2015-02-05  Yannick Moy  <moy@adacore.com>

* sem_prag.adb, par-prag.adb: Minor code clean up.

From-SVN: r220448

9 years agopar-prag.adb (Pragma_Warnings): Update for extended form of pragma Warnings.
Yannick Moy [Thu, 5 Feb 2015 13:51:44 +0000 (13:51 +0000)]
par-prag.adb (Pragma_Warnings): Update for extended form of pragma Warnings.

2015-02-05  Yannick Moy  <moy@adacore.com>

* par-prag.adb (Pragma_Warnings): Update for extended form
of pragma Warnings. The "one" argument case may now have 2 or
3 arguments.
* sem_prag.adb (Analyze_Pragma/Pragma_Warnings): Update for
extended form of pragma Warnings. Pragma with tool name is either
rewritten as null or as an equivalent form without tool name,
before reanalysis.
* snames.ads-tmpl (Name_Gnatprove): New name.

From-SVN: r220447

9 years ago015-02-05 Robert Dewar <dewar@adacore.com>
Arnaud Charlet [Thu, 5 Feb 2015 11:22:39 +0000 (12:22 +0100)]
015-02-05  Robert Dewar  <dewar@adacore.com>

* sem_ch13.adb (Add_Invariants): Don't assume invariant is
standard Boolean.
* sem_prag.adb (Analyze_Pragma, case Check): Don't assume
condition is standard Boolean, it can be non-standard derived
Boolean.

2015-02-05  Robert Dewar  <dewar@adacore.com>

* checks.adb (Enable_Range_Check): Disconnect attempted
optimization for the case of range check for subscript of
unconstrained array.

2015-02-05  Robert Dewar  <dewar@adacore.com>

* par-ch13.adb (With_Present): New function
(Aspect_Specifications_Present): Handle WHEN in place of WITH
(Get_Aspect_Specifications): Comment update.
* par.adb: Comment updates.

2015-02-05  Robert Dewar  <dewar@adacore.com>

* errout.adb (Handle_Serious_Error): New setting of Fatal_Error.
* frontend.adb (Frontend): New setting of Fatal_Error.
* lib-load.adb (Create_Dummy_Package_Unit): New setting of
Fatal_Error.
(Load_Main_Source): New setting of Fatal_Error
(Load_Unit): New setting of Fatal_Error.
* lib-writ.adb (Add_Preprocessing_Dependency): New setting of
Fatal_Error.
(Ensure_System_Dependency): New setting of Fatal_Error.
* lib.adb (Fatal_Error): New setting of Fatal_Error
(Set_Fatal_Error): New setting of Fatal_Error.
* lib.ads: New definition of Fatal_Error and associated routines.
* par-ch10.adb (P_Compilation_Unit): New setting of Fatal_Error.
* par-load.adb (Load): New setting of Fatal_Error.
* rtsfind.adb (Load_RTU): New setting of Fatal_Error.
* sem_ch10.adb (Analyze_Compilation_Unit): New setting of
Fatal_Error.
(Optional_Subunit): New setting of Fatal_Error.
(Analyze_Proper_Body): New setting of Fatal_Error.
(Load_Needed_Body): New setting of Fatal_Error.

2015-02-05  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Call): If the function being called has
out parameters do not check for language version if the function
comes from a predefined unit, as those are always compiled in
Ada 2012 mode.

2015-02-05  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Process_Full_View): Verify that the full view
of a type extension must carry an explicit limited keyword if
the partial view does (RM 7.3 (10.1)).

From-SVN: r220446

9 years agog-rannum.adb, [...]: Minor reformatting.
Robert Dewar [Thu, 5 Feb 2015 11:17:25 +0000 (11:17 +0000)]
g-rannum.adb, [...]: Minor reformatting.

2015-02-05  Robert Dewar  <dewar@adacore.com>

* g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads,
sem_warn.ads: Minor reformatting.
* exp_ch13.adb (Expand_N_Freeze_Entity): Add guard for aspect
deleted by -gnatI.
* sem_prag.adb (Analyze_Pragma, case Type_Invariant): Give
error for abstract type.

From-SVN: r220445

9 years agoopt.ads (Warn_On_Suspicious_Contract): Update comment describing use.
Yannick Moy [Thu, 5 Feb 2015 11:13:41 +0000 (11:13 +0000)]
opt.ads (Warn_On_Suspicious_Contract): Update comment describing use.

2015-02-05  Yannick Moy  <moy@adacore.com>

* opt.ads (Warn_On_Suspicious_Contract): Update comment
describing use.
* sem_attr.adb (Analyze_Attribute/Attribute_Update): Warn on
suspicious uses of 'Update.
* sem_warn.adb, sem_warn.ads (Warn_On_Suspicious_Update): New
function issues warning on suspicious uses of 'Update.
* g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads: Mark
package spec and body as SPARK_Mode Off.

From-SVN: r220444

9 years agosem_prag.adb (Set_Elab_Unit_Name): New name for Set_Unit_Name
Robert Dewar [Thu, 5 Feb 2015 11:11:49 +0000 (11:11 +0000)]
sem_prag.adb (Set_Elab_Unit_Name): New name for Set_Unit_Name

2015-02-05  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Set_Elab_Unit_Name): New name for Set_Unit_Name
(Analyze_Pragma): Change Set_Unit_Name to Set_Elab_Unit_Name
(Set_Elab_Unit_Name): Generate reference for Elaborate[_All]
* sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning
for exported entity.

From-SVN: r220443

9 years ago[multiple changes]
Arnaud Charlet [Thu, 5 Feb 2015 11:10:42 +0000 (12:10 +0100)]
[multiple changes]

2015-02-05  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_Pragma_Conformance): Add
local variable Arg. Ensure that all errors are associated with
the pragma if it appears without an argument. Add comments on
various cases.

2015-02-05  Robert Dewar  <dewar@adacore.com>

* lib-xref.adb: Minor reformatting.

From-SVN: r220442

9 years agore PR rtl-optimization/64905 (unsigned short is loaded with 4-byte load (movl))
Uros Bizjak [Thu, 5 Feb 2015 10:37:05 +0000 (11:37 +0100)]
re PR rtl-optimization/64905 (unsigned short is loaded with 4-byte load (movl))

PR rtl-optimization/64905
* gcc.target/i386/pr64905.c: Require nonpic target.
(dg-options): Add -fomit-frame-pointer.
(main): Remove.

From-SVN: r220441

9 years ago[Patch Testsuite, obvious] Workaround fragility in gcc.dg/tree-ssa/foldconst-6.c
James Greenhalgh [Thu, 5 Feb 2015 10:24:34 +0000 (10:24 +0000)]
[Patch Testsuite, obvious] Workaround fragility in gcc.dg/tree-ssa/foldconst-6.c

gcc/testsuite/

* gcc.dg/tree-ssa/foldconst-6.c: Change expected pattern for
tree dump scanning.

From-SVN: r220440

9 years agoFix failures on AIX (PR libobjc/63765)
Rainer Orth [Thu, 5 Feb 2015 09:41:44 +0000 (09:41 +0000)]
Fix failures on AIX (PR libobjc/63765)

PR libobjc/63765
* thr.c (_XOPEN_SOURCE): Remove.

From-SVN: r220438

9 years agore PR ada/64349 (Bootstrapping Ada fails on darwin(9|10).)
Tristan Gingold [Thu, 5 Feb 2015 09:09:51 +0000 (09:09 +0000)]
re PR ada/64349 (Bootstrapping Ada fails on darwin(9|10).)

2015-02-05  Tristan Gingold  <gingold@adacore.com>

PR ada/64349
* env.c: Fix thinko: handle Darwin case before default one.

From-SVN: r220437

9 years agore PR fortran/64757 (ICE in fold_convert_loc, at fold-const.c:2353)
Paul Thomas [Thu, 5 Feb 2015 08:06:04 +0000 (08:06 +0000)]
re PR fortran/64757 (ICE in fold_convert_loc, at fold-const.c:2353)

2015-02-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64757
* resolve.c (resolve_structure_cons): Obtain the rank of class
components.
* trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
assignment to allocatable class array components.
(alloc_scalar_allocatable_for_subcomponent_assignment): If comp
is a class component, allocate to the _data field.
(gfc_trans_subcomponent_assign): If a class component with a
derived type expression set the _vptr field and for array
components, call gfc_trans_alloc_subarray_assign. For scalars,
the assignment is performed here.

2015-02-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64757
* gfortran.dg/type_to_class_2.f90: New test
* gfortran.dg/type_to_class_3.f90: New test

From-SVN: r220436

9 years ago2015-02-05 Paul Thomas <pault@gcc.gnu.org>
Paul Thomas [Thu, 5 Feb 2015 08:02:58 +0000 (08:02 +0000)]
2015-02-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/640757
* resolve.c (resolve_structure_cons): Obtain the rank of class
components.
* trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
assignment to allocatable class array components.
(alloc_scalar_allocatable_for_subcomponent_assignment): If comp
is a class component, allocate to the _data field.
(gfc_trans_subcomponent_assign): If a class component with a
derived type expression set the _vptr field and for array
components, call gfc_trans_alloc_subarray_assign. For scalars,
the assignment is performed here.

2015-02-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/640757
* gfortran.dg/type_to_class_2.f90: New test
* gfortran.dg/type_to_class_3.f90: New test

From-SVN: r220435

9 years agore PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)
Jan Hubicka [Thu, 5 Feb 2015 04:45:41 +0000 (05:45 +0100)]
re PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)

PR ipa/61548
* tree-emultls.c (new_emutls_decl): Resolve alias after creating it.

Co-Authored-By: Trevor Saunders <tsaunders@mozilla.com>
From-SVN: r220434

9 years agore PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)
Jan Hubicka [Thu, 5 Feb 2015 04:01:25 +0000 (05:01 +0100)]
re PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)

PR ipa/61548
* ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
when removing varpool nodes.

From-SVN: r220433

9 years agore PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)
Jan Hubicka [Thu, 5 Feb 2015 03:57:32 +0000 (04:57 +0100)]
re PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)

PR ipa/61548
* varpool.c (varpool_node::remove): Fix order of variables.

From-SVN: r220432

9 years agoDaily bump.
GCC Administrator [Thu, 5 Feb 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r220430

9 years agore PR ipa/64686 (ICE: in edge_badness, at ipa-inline.c:912 during Firefox LTO build...
Jan Hubicka [Thu, 5 Feb 2015 00:16:11 +0000 (01:16 +0100)]
re PR ipa/64686 (ICE: in edge_badness, at ipa-inline.c:912 during Firefox LTO build with enabled checking)

PR ipa/64686
* ipa-inline.c (inline_small_functions): Fix ordering issue between
speculation resolution and key updates.
* g++.dg/torture/pr64686.C: New testcase.

From-SVN: r220429

9 years agoipa-prop.c (update_indirect_edges_after_inlining): By more careful about not letting...
Jan Hubicka [Wed, 4 Feb 2015 23:32:31 +0000 (00:32 +0100)]
ipa-prop.c (update_indirect_edges_after_inlining): By more careful about not letting any speculative edges unupdated.

* ipa-prop.c (update_indirect_edges_after_inlining): By more careful
about not letting any speculative edges unupdated.

From-SVN: r220425

9 years agore PR gcov-profile/64123 (Instrumented Firefox segfaults on start)
Jan Hubicka [Wed, 4 Feb 2015 23:26:40 +0000 (00:26 +0100)]
re PR gcov-profile/64123 (Instrumented Firefox segfaults on start)

PR gcov/64123
* gcov-io.c (gcov_var): Export.

From-SVN: r220424

9 years agore PR middle-end/64922 (runtime error: member call on misaligned address for type...
Jan Hubicka [Wed, 4 Feb 2015 22:59:30 +0000 (23:59 +0100)]
re PR middle-end/64922 (runtime error: member call on misaligned address for type 'struct _Rep')

PR middle-end/64922
* ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
edges that become speculative.

From-SVN: r220423

9 years agodwarf2.h (enum dwarf_source_language): Add DW_LANG_Fortran03 and DW_LANG_Fortran08.
Jakub Jelinek [Wed, 4 Feb 2015 22:38:48 +0000 (23:38 +0100)]
dwarf2.h (enum dwarf_source_language): Add DW_LANG_Fortran03 and DW_LANG_Fortran08.

include/
* dwarf2.h (enum dwarf_source_language): Add DW_LANG_Fortran03
and DW_LANG_Fortran08.
gcc/
* dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
or DW_LANG_Fortran08.
(lower_bound_default): Return 1 for DW_LANG_Fortran03 or
DW_LANG_Fortran08.
(gen_compile_unit_die): Handle "GNU Fortran2003" and
"GNU Fortran2008" language strings.
* dbxout.c (get_lang_number): Use lang_GNU_Fortran.
* langhooks.h (lang_GNU_Fortran): New prototype.
* langhooks.c (lang_GNU_Fortran): New function.
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
lang_GNU_Fortran.
gcc/fortran/
* options.c: Include langhooks.h.
(gfc_post_options): Change lang_hooks.name based on
selected -std= mode.

From-SVN: r220422

9 years agosparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
Eric Botcazou [Wed, 4 Feb 2015 22:37:16 +0000 (22:37 +0000)]
sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.

* config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
(RTX_OK_FOR_OLO10_P): Likewise.

From-SVN: r220421

9 years agore PR middle-end/64824 (ICE in gimple verification)
Jakub Jelinek [Wed, 4 Feb 2015 22:32:36 +0000 (23:32 +0100)]
re PR middle-end/64824 (ICE in gimple verification)

PR c/64824
PR c/64868
gcc/c/
* c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
gcc/cp/
* parser.c (cp_parser_omp_atomic): Handle RDIV_EXPR.
gcc/c-family/
* c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
instead of RDIV_EXPR.  Use build_binary_op instead of
build2_loc.
libgomp/
* testsuite/libgomp.c/pr64824.c: New test.
* testsuite/libgomp.c/pr64868.c: New test.
* testsuite/libgomp.c++/pr64824.C: New test.
* testsuite/libgomp.c++/pr64868.C: New test.

From-SVN: r220420

9 years ago* tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
Eric Botcazou [Wed, 4 Feb 2015 21:59:08 +0000 (21:59 +0000)]
* tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.

From-SVN: r220419

9 years agore PR middle-end/64922 (runtime error: member call on misaligned address for type...
Jan Hubicka [Wed, 4 Feb 2015 20:28:49 +0000 (21:28 +0100)]
re PR middle-end/64922 (runtime error: member call on misaligned address for type 'struct _Rep')

PR middle-end/64922
* gimple.c: Include gimple-ssa.h.
(maybe_remove_unused_call_args): New function.
* gimple.h (maybe_remove_unused_call_args): Declare.
* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
* gimple-fold.c (gimple_fold_call): Likewise.

From-SVN: r220417

9 years agoActually check in the fix
H.J. Lu [Wed, 4 Feb 2015 20:02:21 +0000 (12:02 -0800)]
Actually check in the fix

From-SVN: r220416

9 years agoClear hard frame pointer alignment if not needed
H.J. Lu [Wed, 4 Feb 2015 19:35:17 +0000 (11:35 -0800)]
Clear hard frame pointer alignment if not needed

When hard frame pointer isn't needed, the register for hard frame pointer
may be reused.  This patch clears alignment on hard frame pointer if hard
frame pointer isn't needed.

gcc/

PR rtl-optimization/64905
* lra-eliminations.c (setup_can_eliminate): Clear hard frame
pointer alignment if it isn't needed.

gcc/testsuite/

PR rtl-optimization/64905
* gcc.target/i386/pr64905.c: New file.

From-SVN: r220414

9 years ago[AArch64] Add support for -mcpu=cortex-a72
Matthew Wahab [Wed, 4 Feb 2015 19:25:46 +0000 (19:25 +0000)]
[AArch64] Add support for -mcpu=cortex-a72

2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>

  gcc/
    * config/aarch64/aarch64-cores.def: Add cortex-a72 and
    cortex-a72.cortex-a53.
    * config/aarch64/aarch64-tune.md: Regenerate.
    * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".

From-SVN: r220413

9 years agoMore fixes for update_web_docs_svn for jit docs (PR jit/64257)
David Malcolm [Wed, 4 Feb 2015 19:11:48 +0000 (19:11 +0000)]
More fixes for update_web_docs_svn for jit docs (PR jit/64257)

gcc/jit/ChangeLog:
PR jit/64257
* docs/conf.py (html_theme): Change from 'pyramid'
to 'sphinxdoc'.

maintainer-scripts/ChangeLog:
PR jit/64257
* update_web_docs_svn: Update build of jit docs to use EPEL6
variant install of sphinx 1.0.8, rather than 0.6.6.

From-SVN: r220412

9 years agopr41447-1.c: Remove xfail.
Segher Boessenkool [Wed, 4 Feb 2015 17:22:57 +0000 (18:22 +0100)]
pr41447-1.c: Remove xfail.

* gcc.dg/guality/pr41447-1.c: Remove xfail.
* gcc.dg/guality/pr41616-1.c: Ditto.

From-SVN: r220411

9 years agofpmath-sf.S (__rl78_int_pack_a_r8): Fix edge case rounding up the fraction.
Nick Clifton [Wed, 4 Feb 2015 16:39:16 +0000 (16:39 +0000)]
fpmath-sf.S (__rl78_int_pack_a_r8): Fix edge case rounding up the fraction.

* config/rl78/fpmath-sf.S (__rl78_int_pack_a_r8): Fix edge case
rounding up the fraction.

* config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
inside a MEM.

From-SVN: r220410

9 years agojit: fix typo in docs
David Malcolm [Wed, 4 Feb 2015 14:47:08 +0000 (14:47 +0000)]
jit: fix typo in docs

gcc/jit/ChangeLog:
* docs/topics/contexts.rst (gcc_jit_context_acquire): Fix
typo.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r220408

9 years agobuiltins.def (DEF_BUILTIN_CHKP): Define if not defined.
Jakub Jelinek [Wed, 4 Feb 2015 14:26:16 +0000 (15:26 +0100)]
builtins.def (DEF_BUILTIN_CHKP): Define if not defined.

* builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
(DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
(DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
of DEF_BUILTIN.
(BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
(BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
* tree-core.h (enum built_in_function): In between
BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
for builtins that use DEF_BUILTIN_CHKP macro.

From-SVN: r220407

9 years agoFix signedness of compares expanding debug exprs.
Alexandre Oliva [Wed, 4 Feb 2015 14:24:00 +0000 (14:24 +0000)]
Fix signedness of compares expanding debug exprs.

for  gcc/ChangeLog

PR debug/64817
* cfgexpand.c (expand_debug_expr): Compute unsignedp from
operands for tcc_comparison exprs.  Fix typos.

for  gcc/testsuite/ChangeLog

PR debug/64817
* gcc.dg/pr64817-3.c: New.

From-SVN: r220406

9 years agoSimplify XOR of (AND or IOR) of XOR.
Alexandre Oliva [Wed, 4 Feb 2015 14:23:47 +0000 (14:23 +0000)]
Simplify XOR of (AND or IOR) of XOR.

for  gcc/ChangeLog

PR debug/64817
* simplify-rtx.c (simplify_binary_operation_1): Simplify one
of two XORs that have an intervening AND or IOR.

From-SVN: r220405

9 years agoAvoid allocating memory when trying but failing to simplify XOR of AND.
Alexandre Oliva [Wed, 4 Feb 2015 14:23:33 +0000 (14:23 +0000)]
Avoid allocating memory when trying but failing to simplify XOR of AND.

for  gcc/ChangeLog

PR debug/64817
* simplify-rtx.c (simplify_binary_operation_1): Rewrite
simplification of XOR of AND to not allocate new rtx before
committing to a simplification.

From-SVN: r220404

9 years ago[AArch64] Use std::swap instead of manually swapping in aarch64-ldpstp.md
Kyrylo Tkachov [Wed, 4 Feb 2015 13:53:56 +0000 (13:53 +0000)]
[AArch64] Use std::swap instead of manually swapping in aarch64-ldpstp.md

* config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
manual swaps in all peepholes.

From-SVN: r220403

9 years ago[AArch64] Use std::swap instead of manually swapping
Kyrylo Tkachov [Wed, 4 Feb 2015 13:52:55 +0000 (13:52 +0000)]
[AArch64] Use std::swap instead of manually swapping

* config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
of manual swapping implementation.
(aarch64_expand_vec_perm_const_1): Likewise.

From-SVN: r220402

9 years ago[AArch64] Rid the world of NAMED_PARAM
James Greenhalgh [Wed, 4 Feb 2015 13:47:13 +0000 (13:47 +0000)]
[AArch64] Rid the world of NAMED_PARAM

gcc/

* config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
(generic_addrcost_table): Remove NAMED_PARAM.
(cortexa57_addrcost_table): Likewise.
(xgene1_addrcost_table): Likewise.
(generic_regmove_table): Likewise.
(cortexa53_regmove_table): Likewise.
(xgene1_regmove_table): Likewise.
(generic_vector_table): Likewise.
(cortexa57_vector_table): Likewise.
(xgene1_vector_table): Likewise.
(generic_tunings): Likewise.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(xgene1_tunings): Likewise.

From-SVN: r220401

9 years agore PR target/64408 (fr30-elf ICE in extract_insn, at recog.c:2202)
Nick Clifton [Wed, 4 Feb 2015 13:42:26 +0000 (13:42 +0000)]
re PR target/64408 (fr30-elf ICE in extract_insn, at recog.c:2202)

PR target/64408
* config/fr30/predicates.md (di_operand): Add SUBREG to the list
of accepted codes.
(nonimmediate_di_operand): Likewise.

From-SVN: r220400

9 years ago[ARM] Add support for -mcpu=cortex-a72 and -mcpu=cortex-a72.cortex-a53
Matthew Wahab [Wed, 4 Feb 2015 13:34:58 +0000 (13:34 +0000)]
[ARM] Add support for -mcpu=cortex-a72 and -mcpu=cortex-a72.cortex-a53

gcc/

* config/arm/arm-cores.def: Add cortex-a72 and
cortex-a72.cortex-a53.
* config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
* config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
* config/arm/arm-tune.md: Regenerate.
* config/arm/arm-tables.opt: Add entries for "cortex-a72" and
"cortex-a72.cortex-a53".
* doc/invoke.texi (ARM Options/-mtune): Likewise.

From-SVN: r220399

9 years agoAdjust pr36728-*.c for targets that pass parameters in registers.
Jakub Jelinek [Wed, 4 Feb 2015 12:29:51 +0000 (13:29 +0100)]
Adjust pr36728-*.c for targets that pass parameters in registers.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r220398

9 years agoMinor corrections to gcc.dg/combine_ashiftrt_[12].c
Alan Lawrence [Wed, 4 Feb 2015 12:23:08 +0000 (12:23 +0000)]
Minor corrections to gcc.dg/combine_ashiftrt_[12].c

2015-02-04  Alan Lawrence  <alan.lawrence@arm.com>
    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

* gcc.dg/combine_ashiftrt_1.c: Sort, complete and explain target
list, allow for multilibed targets.
* gcc.dg/combine_ashiftrt_2.c: Likewise.

Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r220397

9 years agomsp430.c (msp430_use_f5_series_hwmult): Add more prefixes of known F5 using MSP430...
Nick Clifton [Wed, 4 Feb 2015 11:50:46 +0000 (11:50 +0000)]
msp430.c (msp430_use_f5_series_hwmult): Add more prefixes of known F5 using MSP430 MCUs.

* config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
prefixes of known F5 using MSP430 MCUs.

From-SVN: r220396

9 years ago[AArch64] Use target builtin instead of __builtin_sqrt for vsqrt_f64
Kyrylo Tkachov [Wed, 4 Feb 2015 11:46:07 +0000 (11:46 +0000)]
[AArch64] Use target builtin instead of __builtin_sqrt for vsqrt_f64

* config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
* config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
instead of __builtin_sqrt.

From-SVN: r220395

9 years agobuiltins-58.c: Check for pow at the end of words only.
Segher Boessenkool [Wed, 4 Feb 2015 11:19:17 +0000 (12:19 +0100)]
builtins-58.c: Check for pow at the end of words only.

* gcc.dg/builtins-58.c: Check for pow at the end of words only.
* gcc.dg/pr46728-6.c: Ditto.

From-SVN: r220394

9 years agoloongson-simd.c: Update comment to clarify the need for mips_nanlegacy target.
Robert Suchanek [Wed, 4 Feb 2015 10:47:29 +0000 (10:47 +0000)]
loongson-simd.c: Update comment to clarify the need for mips_nanlegacy target.

2015-02-04  Robert Suchanek  <robert.suchanek@imgtec.com>

* gcc.target/mips/loongson-simd.c: Update comment to clarify the need
for mips_nanlegacy target.

From-SVN: r220393

9 years ago[PATCH][libstdc++][Testsuite] isctype test fails for newlib.
Matthew Wahab [Wed, 4 Feb 2015 09:24:56 +0000 (09:24 +0000)]
[PATCH][libstdc++][Testsuite] isctype test fails for newlib.

libstdc++-v3/
2015-02-02  Matthew Wahab  <matthew.wahab@arm.com>

PR libstdc++/64467
* testsuite/28_regex/testsuiteraits/char/isctype.cc (test01): Add newlib
special case for '\n'.
* test01estsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.

From-SVN: r220392

9 years agovarasm.c (do_assemble_alias): Follow transparent alias chain for target.
Ilya Enkovich [Wed, 4 Feb 2015 08:26:49 +0000 (08:26 +0000)]
varasm.c (do_assemble_alias): Follow transparent alias chain for target.

gcc/

* varasm.c (do_assemble_alias): Follow transparent alias
chain for target.
(default_assemble_visibility): Follow transparent alias
chain for decl name.

gcc/testsuite/

* gcc.target/i386/chkp-hidden-def.c: New.

From-SVN: r220391

9 years agore PR middle-end/62103 (Incorrect folding of bitfield in a union on big endian targets)
Thomas Preud'homme [Wed, 4 Feb 2015 08:22:45 +0000 (08:22 +0000)]
re PR middle-end/62103 (Incorrect folding of bitfield in a union on big endian targets)

2015-02-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR middle-end/62103
    * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
    to compute size of referenced value in the constant case.

    gcc/testsuite/
    PR middle-end/62103
    * gcc.c-torture/execute/bitfld-7.c: New test adapted from bitfld-6.c
    to use 24 bits for bitfield b.

From-SVN: r220390

9 years agore PR testsuite/64796 (effective target bswap64 globally caches target-specific use...
Thomas Preud'homme [Wed, 4 Feb 2015 01:54:47 +0000 (01:54 +0000)]
re PR testsuite/64796 (effective target bswap64 globally caches target-specific use of lp64)

2015-02-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    PR testsuite/64796
    * lib/target-supports.exp (check_effective_target_bswap64): Do not
    cache result in a global variable.  Include all 32-bit targets for
    bswap64 tests.

From-SVN: r220388

9 years agoDaily bump.
GCC Administrator [Wed, 4 Feb 2015 00:16:10 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r220387

9 years agointrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
Steven G. Kargl [Tue, 3 Feb 2015 21:53:39 +0000 (21:53 +0000)]
intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.

2015-02-03  Steven G. Kargl  <kargl@gcc.gnu.org>

* intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.

From-SVN: r220381

9 years agogo/types: Remove unused testdata files.
Ian Lance Taylor [Tue, 3 Feb 2015 21:39:27 +0000 (21:39 +0000)]
go/types: Remove unused testdata files.

The go/types package was removed in July 2013, but the
testdata files were accidentally left behind.

From-SVN: r220378

9 years agore PR rtl-optimization/64756 (wrong code at -O3 on x86_64-linux-gnu (in 32-bit mode))
Jakub Jelinek [Tue, 3 Feb 2015 20:41:38 +0000 (21:41 +0100)]
re PR rtl-optimization/64756 (wrong code at -O3 on x86_64-linux-gnu (in 32-bit mode))

PR rtl-optimization/64756
* cse.c (invalidate_dest): New function.
(cse_insn): Use it.  If dest != SET_DEST (sets[i].rtl) and
HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
invalidate and do not record it.

* gcc.c-torture/execute/pr64756.c: New test.

From-SVN: r220377

9 years agore PR target/64660 ([SH] Convert atomic_fetch_<op> to atomic_<op>_fetch)
Oleg Endo [Tue, 3 Feb 2015 20:24:13 +0000 (20:24 +0000)]
re PR target/64660 ([SH] Convert atomic_fetch_<op> to atomic_<op>_fetch)

gcc/
PR target/64660
* config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
atomic_nand<mode>_soft_tcb): New insns.
(atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
(define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
Split into atomic_not_fetchsi_hard if operands[0] is unused.
(atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
(atomic_fetch_not<mode>_hard): Convert to insn_and_split.  Split into
atomic_not<mode>_hard if operands[0] is unused.
(atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
if operands[0] is unused.
(atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split.  Split
into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
(atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
unused.
(atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split.  Split
into atomic_not<mode>_soft_tcb if operands[0] is unused.
(atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
if operands[0] is unused.
(atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split.  Split
into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
(atomic_fetch_nandsi_hard): Convert to insn_and_split.  Split into
atomic_nand_fetchsi_hard if operands[0] is unused.
(atomic_fetch_nand<mode>_hard): Convert to insn_and_split.  Split into
atomic_nand<mode>_hard if operands[0] is unused.
(atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split.  Split
into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
(atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split.  Split
into atomic_nand<mode>_soft_tcb if operands[0] is unused.
(atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split.  Split
into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
(atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
(atomic_not_fetch<mode>_hard): Convert to insn_and_split.  Split into
atomic_not<mode>_hard if operands[0] is unused.
(atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
unused.
(atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
into atomic_not<mode>_soft_tcb if operands[0] is unused.
(atomic_nand_fetch<mode>_hard): Convert to insn_and_split.  Split into
atomic_nand<mode>_hard if operands[0] is unused.
(atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
into atomic_nand<mode>_soft_tcb if operands[0] is unused.

gcc/testsuite/
PR target/64660
* gcc.target/sh/pr64660-0.h: New.
* gcc.target/sh/pr64660-1.c: New.
* gcc.target/sh/pr64660-2.c: New.
* gcc.target/sh/pr64660-3.c: New.
* gcc.target/sh/pr64660-4.c: New.

From-SVN: r220376

9 years agojit: option-logging
David Malcolm [Tue, 3 Feb 2015 19:28:24 +0000 (19:28 +0000)]
jit: option-logging

gcc/jit/ChangeLog:
* jit-logging.h (gcc::jit::log_user::log): Make const.
* jit-recording.c (gcc::jit::recording::context::set_str_option):
Log the new value of the option.
(gcc::jit::recording::context::set_int_option): Likewise.
(gcc::jit::recording::context::set_bool_option): Likewise.
(gcc::jit::recording::context::compile): Log the value of all
options.
(gcc::jit::recording::context::compile_to_file): Likewise.
(gcc::jit::recording::context::log_all_options): New function.
(gcc::jit::recording::context::log_str_option): New function.
(gcc::jit::recording::context::log_int_option): New function.
(gcc::jit::recording::context::log_bool_option): New function.
* jit-recording.h (gcc::jit::recording::context::log_all_options):
New function.
(gcc::jit::recording::context::log_str_option): New function.
(gcc::jit::recording::context::log_int_option): New function.
(gcc::jit::recording::context::log_bool_option): New function.
* docs/internals/test-hello-world.exe.log.txt: Update for above
changes.

From-SVN: r220375

9 years agore PR c++/64877 (strange warning message from -Waddress)
Paolo Carlini [Tue, 3 Feb 2015 17:21:49 +0000 (17:21 +0000)]
re PR c++/64877 (strange warning message from -Waddress)

/cp
2015-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64877
* typeck.c (cp_build_binary_op): Avoid spurious -Waddress warnings
for generated expressions.

/testsuite
2015-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64877
* g++.dg/warn/Waddress-2.C: New.

From-SVN: r220374

9 years agoPR jit/64810: driver, arm, jit: configure-time default options
David Malcolm [Tue, 3 Feb 2015 17:19:58 +0000 (17:19 +0000)]
PR jit/64810: driver, arm, jit: configure-time default options

gcc/ChangeLog:
PR jit/64810
* Makefile.in (GCC_OBJS): Add gcc-main.o.
* gcc-main.c: New file, containing "main" taken from gcc.c.
* gcc.c (do_self_spec): Free decoded_options.
(class driver): Move declaration to gcc.h.
(main): Move declaration and implementation to new file
gcc-main.c.
(driver_get_configure_time_options): New function.
* gcc.h (class driver): Move this declaration here, from
gcc.c.
(driver_get_configure_time_options): New declaration.

gcc/jit/ChangeLog:
PR jit/64810
* Make-lang.in (jit_OBJS): Add jit/jit-spec.o and gcc.o.
(LIBGCCJIT_FILENAME): Add EXTRA_GCC_OBJS.
* jit-playback.c: Include gcc.h.
(gcc::jit::playback::context::compile): Move mutex acquisition
to before the call to make_fake_args.
(append_arg_from_driver): New function.
(gcc::jit::playback::context::make_fake_args): On the first call,
call into driver_get_configure_time_options to get configure-time
default options and cache them.  Add them to the args for
toplev::main.
* jit-spec.c: New source file.
* docs/internals/test-hello-world.exe.log.txt: Update to reflect
above changes.

From-SVN: r220373

9 years agoipa-inline-analysis.c (simple_edge_hints): Fix check for cross-module inlining.
Jan Hubicka [Tue, 3 Feb 2015 16:57:20 +0000 (17:57 +0100)]
ipa-inline-analysis.c (simple_edge_hints): Fix check for cross-module inlining.

* ipa-inline-analysis.c (simple_edge_hints): Fix check for
cross-module inlining.
* cgraph.h (cgraph_node): Add flag merged.
* ipa-icf.c (sem_function::merge): Maintain it.

* lto-symtab.c (lto_cgraph_replace_node): Maintain merged flag.

From-SVN: r220372

9 years agoarm.c (thumb2_reorg): Test UNARY_P and BINARY_P instead of OBJECT_P.
Richard Sandiford [Tue, 3 Feb 2015 14:18:38 +0000 (14:18 +0000)]
arm.c (thumb2_reorg): Test UNARY_P and BINARY_P instead of OBJECT_P.

gcc/
* config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
instead of OBJECT_P.

From-SVN: r220371

9 years agore PR middle-end/61225 (Several new failures after r210458 on x86_64-*-* with -m32)
Segher Boessenkool [Tue, 3 Feb 2015 12:15:32 +0000 (13:15 +0100)]
re PR middle-end/61225 (Several new failures after r210458 on x86_64-*-* with -m32)

PR middle-end/61225
gcc.target/i386/pr49095.c: XFAIL for ia32.

From-SVN: r220370

9 years agore PR target/62631 (gcc.dg/tree-ssa/ivopts-lt-2.c FAILs)
Eric Botcazou [Tue, 3 Feb 2015 09:56:45 +0000 (09:56 +0000)]
re PR target/62631 (gcc.dg/tree-ssa/ivopts-lt-2.c FAILs)

PR target/62631
* config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
(TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
* config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.

From-SVN: r220369

9 years agore PR other/63504 (Issues found by --enable-checking=valgrind)
Jakub Jelinek [Tue, 3 Feb 2015 09:39:19 +0000 (10:39 +0100)]
re PR other/63504 (Issues found by --enable-checking=valgrind)

PR other/63504
* combine.c (reg_n_sets_max): New variable.
(can_change_dest_mode, reg_nonzero_bits_for_combine,
reg_num_sign_bit_copies_for_combine, get_last_value_validate,
get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
(try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
(rest_of_handle_combine): Initialize reg_n_sets_max.

From-SVN: r220368

9 years agoPR preprocessor/64803 - __LINE__ inside macro is not constant
Dodji Seketeli [Tue, 3 Feb 2015 09:26:46 +0000 (10:26 +0100)]
PR preprocessor/64803 - __LINE__ inside macro is not constant

Consider the example code mentionned in this PR:

 $ cat -n test.c
      1 #define C(a, b) a ## b
      2 #define L(x) C(L, x)
      3 #define M(a) goto L(__LINE__); __LINE__; L(__LINE__):
      4 M(a /* --> this is the line of the expansion point of M.  */
      5   ); /* --> this is the line of the end of the invocation of M.  */
 $

"cc1 -quiet -E test.c" yields:

 goto L5; 5; L4:
    ;

Notice how we have a 'L4' there, where it should be L5.  That is the issue.

My understanding is that during the *second* expansion of __LINE__
(the one between the two L(__LINE__)), builtin_macro() is called by
enter_macro_context() with the location of the expansion point of M
(which is at line 4).  Then _cpp_builtin_macro_text() expands __LINE__
into the line number of the location of the last token that has been
lexed, which is the location of the closing parenthesis of the
invocation of M, at line 5.  So that invocation of __LINE__ is
expanded into 5.

Now let's see why the last invocation of __LINE__ is expanded into 4.

In builtin_macro(), we have this code at some point:

   /* Set pfile->cur_token as required by _cpp_lex_direct.  */
   pfile->cur_token = _cpp_temp_token (pfile);
   cpp_token *token = _cpp_lex_direct (pfile);
   /* We should point to the expansion point of the builtin macro.  */
   token->src_loc = loc;

The first two statements insert a new token in the stream of lexed
token and pfile->cur_token[-1], is the "new" last token that has been
lexed.  But the location of pfile->cur_token[-1] is the same location
as the location of the "previous" pfile->cur_token[-1], by courtesy of
_cpp_temp_token().  So normally, in subsequent invocations of
builtin_macro(), the location of pfile->cur_token[-1] should always be
the location of the closing parenthesis of the invocation of M at line
5.  Except that that code in master now has the statement
"token->src_loc = loc;" on the next line.  That statement actually
sets the location of pfile->cur_token[-1] to 'loc'.  Which is the
location of the expansion point of M, which is on line 4.

So in the subsequent call to builtin_macro() (for the last expansion
of __LINE__ in L(__LINE__)), for _cpp_builtin_macro_text(),
pfile->cur_token[-1].src_loc is going to have a line number of 4.

I think the core issue here is that the location that is passed to
builtin_macro() from enter_macro_context() is not correct when we are
in presence of a top-most function-like macro invocation; in that
case, that location should be the location of the closing parenthesis
of the macro invocation.  Otherwise, if we are in presence of a a
top-most object-like macro invocation then the location passed down
to builtin_macro should be the location of the expansion point of the
macro.

That way, in the particular case of the input code above, the location
received by builtin_macro() will always have line number 5.

Boostrapped and tested on x86_64-unknown-linux-gnu against trunk.

libcpp/ChangeLog:

* internal.h (cpp_reader::top_most_macro_node): New data member.
* macro.c (enter_macro_context): Pass the location of the end of
the top-most invocation of the function-like macro, or the
location of the expansion point of the top-most object-like macro.
(cpp_get_token_1): Store the top-most macro node in the new
pfile->top_most_macro_node data member.
(_cpp_pop_context): Clear the new cpp_reader::top_most_macro_node
data member.

gcc/testsuite/ChangeLog:

* gcc.dg/cpp/builtin-macro-1.c: New test case.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
From-SVN: r220367

9 years agore PR go/64836 (go.test/test/fixedbugs/issue4348.go FAILs)
Ian Lance Taylor [Tue, 3 Feb 2015 03:33:21 +0000 (03:33 +0000)]
re PR go/64836 (go.test/test/fixedbugs/issue4348.go FAILs)

PR go/64836
PR go/64838

compiler: Use int64_t for backend type size and alignment.

Fixes 32-bit host 64-bit target cross-compilation.

* go-gcc.cc (Gcc_backend::type_size): Change return type to
int64_t.
(Gcc_backend::type_alignment): Likewise.
(Gcc_backend::type_field_alignment): Likewise.
(Gcc_backend::type_field_offset): Likewise.
(Gcc_backend::implicit_variable): Change alignment parameter type
to int64_t.

From-SVN: r220364

9 years agore PR c++/64901 (overriding final function defined out of line does not lead to an...
Ville Voutilainen [Tue, 3 Feb 2015 02:49:42 +0000 (04:49 +0200)]
re PR c++/64901 (overriding final function defined out of line does not lead to an error)

PR c++/64901
* decl.c (duplicate_decls): Also duplicate DECL_FINAL_P and
DECL_OVERRIDE_P.

From-SVN: r220363