backport: re PR target/57150 (GCC when targeting power7 spills long double using VSX instructions.)
[gcc]
2013-05-07 Michael Meissner <meissner@linux.vnet.ibm.com>
Backport from trunk
2013-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/57150
* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
to save TFmode registers and DImode to save TImode registers for
caller save operations.
(HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
mark being partially clobbered since they only use the first
double word.
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
and TDmode only use the upper 64-bits of each VSX register.
[gcc/testsuite]
2013-05-07 Michael Meissner <meissner@linux.vnet.ibm.com>
Backport from trunk
2013-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/57150
* gcc.target/powerpc/pr57150.c: New file.
Tobias Burnus [Tue, 7 May 2013 17:28:12 +0000 (19:28 +0200)]
backport: re PR fortran/57142 (SIZE/SHAPE overflow despite kind=8)
2013-05-07 Tobias Burnus <burnus@net-b.de>
Backport from mainline
2013-05-02 Tobias Burnus <burnus@net-b.de>
PR fortran/57142
* simplify.c (gfc_simplify_size): Renamed from
simplify_size; fix kind=8 handling.
(gfc_simplify_size): New function.
(gfc_simplify_shape): Add range check.
2013-05-07 Tobias Burnus <burnus@net-b.de>
Backport from mainline
2013-05-02 Tobias Burnus <burnus@net-b.de>
Jerry DeLisle [Mon, 29 Apr 2013 01:25:43 +0000 (01:25 +0000)]
backport: re PR fortran/51825 (Fortran runtime error: Cannot match namelist object name)
2013-04-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from mainline:
2013-03-20 Tilo Schwarz <tilo@tilo-schwarz.de>
PR libfortran/51825
* io/list_read.c (nml_read_obj): Don't end the component loop on a
nested derived type, but continue with the next loop iteration.
(nml_get_obj_data): Don't move the first_nl pointer further in the
list if a qualifier was found.
PR fortran/51825
* gfortran.dg/namelist_77.f90: New test.
* gfortran.dg/namelist_78.f90: New test.
Jerry DeLisle [Sun, 28 Apr 2013 17:20:06 +0000 (17:20 +0000)]
backport: re PR libfortran/56786 (Namelist read fails with designators containing embedded spaces)
2013-04-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from mainline:
PR libfortran/56786
* io/list_read.c (nml_parse_qualifier): Remove spurious next_char call
when checking for EOF. Use error return mechanism when EOF detected.
Do not return FAILURE unless parse_err_msg and parse_err_msg_size have
been set. Use hit_eof.
(nml_get_obj_data): Likewise use the correct error mechanism.
* io/transfer.c (hit_eof): Do not set AFTER_ENDFILE if in namelist
mode.
Backport from trunk:
PR fortran/56786
* gfortran.dg/namelist_81.f90: New test.
Jerry DeLisle [Sun, 28 Apr 2013 16:50:19 +0000 (16:50 +0000)]
backport: re PR fortran/52512 (Cannot match namelist object name)
2013-04-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from mainline:
2013-03-25 Tilo Schwarz <tilo@tilo-schwarz.de>
PR libfortran/52512
* io/list_read.c (nml_parse_qualifier): To check for a derived type
don't use the namelist head element type but the current element type.
(nml_get_obj_data): Add current namelist element type to
nml_parse_qualifier call.
2013-04-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from trunk:
PR fortran/52512
* gfortran.dg/namelist_79.f90: New test.
PR fortran/53685
PR fortran/57022
* check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
expressions.
* target-memory.h (gfc_element_size): New prototype.
* target-memory.c (size_array): Remove.
(gfc_element_size): New function.
(gfc_target_expr_size): Modified to always return the full size of the
expression.
Backport from mainline
2013-02-25 Andrey Belevantsev <abel@ispras.ru>
Alexander Monakov <amonakov@ispras.ru>
PR middle-end/56077
* sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
flush pending lists also on non-jumps. Adjust comment.
Backport from 4.8:
2012-08-27 Maxim Kuvyrkov <maxim@codesourcery.com>
* sched-deps.c (add_dependence_list_and_free): Simplify.
(flush_pending_list_and_free): Fix a hack that was fixing a hack. Free
lists when add_dependence_list_and_free doesn't free them.
Marek Polacek [Fri, 19 Apr 2013 08:18:29 +0000 (08:18 +0000)]
backport: re PR tree-optimization/48189 (ICE: SIGFPE (division by zero) in in predict_loops () at predict.c:991 with --param max-predicted-iterations=0)
Backport from mainline
2013-01-08 Steven Bosscher <steven@gcc.gnu.org>
Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/48189
* predict.c (predict_loops): If max is 0, don't call compare_tree_int.
If nitercst is 0, don't predict the exit edge.
Mike Stump [Wed, 17 Apr 2013 15:51:35 +0000 (15:51 +0000)]
Move changelog entry to right file.
2013-04-16 Jack Howarth <howarth@bromo.med.uc.edu>
Backport from mainline
2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
* config/darwin.h (STARTFILE_SPEC): Use -no_new_main with -lgcrt1.o
on Darwin >= 12.
(DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10 and < 12.
Jack Howarth [Tue, 16 Apr 2013 17:09:14 +0000 (17:09 +0000)]
backport: re PR debug/53453 (darwin linker expects both AT_name and AT_comp_dir debug notes)
2013-04-16 Jack Howarth <howarth@bromo.med.uc.edu>
Backport from mainline
2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
* config/darwin.h (STARTFILE_SPEC): Use -no_new_main with -lgcrt1.o
on Darwin >= 12.
(DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10 and < 12.
Eric Botcazou [Mon, 15 Apr 2013 08:33:56 +0000 (08:33 +0000)]
re PR target/56890 (invalid fdtox instruction in 64-bit mode with -O2)
PR target/56890
* config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
(S_MODES): Set H_MODE bit.
(SF_MODES): Set only S_MODE and SF_MODE bits.
(DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
(sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
<MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
<MODE_FLOAT>: Likewise.
Julian Brown [Thu, 11 Apr 2013 16:26:48 +0000 (16:26 +0000)]
libgcc/
* config/arm/linux-atomic.c (SUBWORD_SYNC_OP, SUBWORD_VAL_CAS)
(SUBWORD_TEST_AND_SET): Use signed char/short types instead of
unsigned char/unsigned short.
(__sync_val_compare_and_swap_{1,2}): Handle signed argument.