gcc.git
12 years agobackwards_compatibility.xml: Fix autoconf tests for C++11 compiler features and libra...
Jonathan Wakely [Sun, 6 Nov 2011 23:25:25 +0000 (23:25 +0000)]
backwards_compatibility.xml: Fix autoconf tests for C++11 compiler features and library headers.

* doc/xml/manual/backwards_compatibility.xml: Fix autoconf tests for
C++11 compiler features and library headers. Add stable id
attributes. Use <filename> element for headers and surround in angle
brackets. Use <classname> for classes.
* doc/html/*: Regenerate.

From-SVN: r181047

12 years agoregset.h (fixed_reg_set_regset): Declare.
Joern Rennecke [Sun, 6 Nov 2011 22:58:54 +0000 (22:58 +0000)]
regset.h (fixed_reg_set_regset): Declare.

        * regset.h (fixed_reg_set_regset): Declare.
        * dse.c: Include regset.h .
        (struct insn_info): Add member fixed_regs_live.
        (note_add_store_info): New typedef.
        (note_add_store): New function.
        (emit_inc_dec_insn_before): Expect arg to be of type insn_info_t .
        Use gen_add3_insn / gen_move_insn.
        Check new insn for unwanted clobbers before emitting it.
        (check_for_inc_dec): Rename to...
        (check_for_inc_dec_1:) ... this.  Return bool.  Take insn_info
        parameter.  Changed all callers in file.
        (check_for_inc_dec, copy_fixed_regs): New functions.
        (scan_insn): Set fixed_regs_live field of insn_info.
        * rtl.h (check_for_inc_dec): Update prototype.
        * postreload.c (reload_cse_simplify): Take new signature of
        check_ind_dec into account.
        * reginfo.c (fixed_reg_set_regset): New variable.
        (init_reg_sets_1): Initialize it.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r181046

12 years agostatus_cxx2011.xml: Document <cuchar> and <cstdalign> as missing.
Jonathan Wakely [Sun, 6 Nov 2011 22:10:41 +0000 (22:10 +0000)]
status_cxx2011.xml: Document <cuchar> and <cstdalign> as missing.

* doc/xml/manual/status_cxx2011.xml: Document <cuchar> and
<cstdalign> as missing.

From-SVN: r181045

12 years agogfortran.h (gfc_extend_expr): Modified prototype.
Janus Weil [Sun, 6 Nov 2011 21:36:54 +0000 (22:36 +0100)]
gfortran.h (gfc_extend_expr): Modified prototype.

2011-11-06  Janus Weil  <janus@gcc.gnu.org>

* gfortran.h (gfc_extend_expr): Modified prototype.
* interface.c (gfc_extend_expr): Return 'match' instead of 'gfc_try'.
Remove argument 'real_error'.
* resolve.c (resolve_operator): Modified call to 'gfc_extend_expr'.

From-SVN: r181044

12 years agore PR c++/47695 ([C++0X] Calling a deleted function fails twice)
Paolo Carlini [Sun, 6 Nov 2011 21:05:44 +0000 (21:05 +0000)]
re PR c++/47695 ([C++0X] Calling a deleted function fails twice)

2011-11-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/47695
* decl2.c (mark_used): Early return false after error or sorry.
* cp-tree.h (mark_used): Adjust declaration.
* semantics.c (finish_id_expression): Check mark_used return value.

From-SVN: r181042

12 years agofaq.xml: Replace references to C++0x with C++11.
Jonathan Wakely [Sun, 6 Nov 2011 20:15:53 +0000 (20:15 +0000)]
faq.xml: Replace references to C++0x with C++11.

* doc/xml/faq.xml: Replace references to C++0x with C++11.
* doc/xml/manual/intro.xml: Likewise.
* doc/xml/manual/backwards_compatibility.xml: Likewise.
* doc/xml/manual/shared_ptr.xml: Likewise.
* doc/xml/manual/configure.xml: Likewise.
* doc/xml/manual/evolution.xml: Likewise.
* doc/xml/manual/using.xml: Likewise.
* doc/xml/manual/strings.xml: Likewise.
* doc/xml/manual/debug_mode.xml: Likewise.
* doc/xml/manual/policy_data_structures.xml: Likewise.
* doc/xml/manual/extensions.xml: Likewise.
* doc/xml/manual/diagnostics.xml: Likewise.
* doc/xml/manual/test.xml: Likewise.
* doc/xml/manual/status_cxx200x.xml: Likewise, and rename to...
* doc/xml/manual/status_cxx2011.xml: Here.
* doc/Makefile.am: Rename status_cxx200x.xml.
* doc/Makefile.in: Regenerate.
* doc/html/*: Regenerate.

From-SVN: r181041

12 years agotree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove any user labels.
Jakub Jelinek [Sun, 6 Nov 2011 19:43:32 +0000 (20:43 +0100)]
tree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove any user labels.

* tree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove
any user labels.

From-SVN: r181040

12 years agore PR other/50991 (crtstuff.c:65:23: fatal error: libgcc_tm.h: No such file or direc...
John David Anglin [Sun, 6 Nov 2011 19:24:19 +0000 (19:24 +0000)]
re PR other/50991 (crtstuff.c:65:23: fatal error: libgcc_tm.h: No such file or  directory)

PR other/50991
* Makefile.in: Make EXTRA_PARTS depend on libgcc_tm.h instead of
extra-parts.

From-SVN: r181039

12 years agopa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.
John David Anglin [Sun, 6 Nov 2011 19:12:54 +0000 (19:12 +0000)]
pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.

* config/pa/pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.
Remove dependence of declaration and target define on definition of
HPUX_LONG_DOUBLE_LIBRARY.  Update implementation.

From-SVN: r181038

12 years ago41975.cc: Add tests to check performance with or without cache of hash code and with...
François Dumont [Sun, 6 Nov 2011 17:16:00 +0000 (17:16 +0000)]
41975.cc: Add tests to check performance with or without cache of hash code and with...

2011-11-06  François Dumont <fdumont@gcc.gnu.org>

* testsuite/performance/23_containers/insert_erase/41975.cc: Add
tests to check performance with or without cache of hash code and with
string type that has a costlier hash functor than int type.

From-SVN: r181037

12 years agoCheck in patch/merge from cxx-mem-model Branch
Andrew Macleod [Sun, 6 Nov 2011 14:55:48 +0000 (14:55 +0000)]
Check in patch/merge from cxx-mem-model  Branch

From-SVN: r181031

12 years agoRemove unwanted svn:executable properties that svn add had decided to add.
Joern Rennecke [Sun, 6 Nov 2011 14:43:20 +0000 (14:43 +0000)]
Remove unwanted svn:executable properties that svn add had decided to add.

From-SVN: r181030

12 years ago2011-11-6 Richard Guenther <rguenther@suse.de>
Richard Guenther [Sun, 6 Nov 2011 13:02:15 +0000 (13:02 +0000)]
2011-11-6  Richard Guenther  <rguenther@suse.de>

* ipa-prop.c (ipa_modify_call_arguments): Re-compute
inlinable flag.

From-SVN: r181027

12 years agotree-vectorizer.h (vectorizable_condition): Add argument.
Ira Rosen [Sun, 6 Nov 2011 09:01:45 +0000 (09:01 +0000)]
tree-vectorizer.h (vectorizable_condition): Add argument.

        * tree-vectorizer.h (vectorizable_condition): Add argument.
        * tree-vect-loop.c (vectorizable_reduction): Fail for condition
        in SLP.  Update calls to vectorizable_condition.
        * tree-vect-stmts.c (vect_is_simple_cond): Add basic block info
        to the arguments.  Pass it to vect_is_simple_use_1.
        (vectorizable_condition): Add slp_node to the arguments.
        Support vectorization of basic blocks.  Fail for reduction in
        SLP.  Update calls to vect_is_simple_cond and
        vect_is_simple_use.  Support SLP: call vect_get_slp_defs to get
        vector operands.
        (vect_analyze_stmt): Update calls to vectorizable_condition.
        (vect_transform_stmt): Likewise.
        * tree-vect-slp.c (vect_create_new_slp_node): Handle COND_EXPR.
        (vect_get_and_check_slp_defs): Handle COND_EXPR.  Allow pattern
        def stmts.
        (vect_build_slp_tree): Handle COND_EXPR.
        (vect_analyze_slp_instance): Push pattern statements to root
        node.
        (vect_get_constant_vectors): Fix comments.  Handle COND_EXPR.

From-SVN: r181026

12 years agoMore improvements to sparc VIS vec_init code generation.
David S. Miller [Sun, 6 Nov 2011 02:39:03 +0000 (19:39 -0700)]
More improvements to sparc VIS vec_init code generation.

gcc/

* config/sparc/sparc.md (UNSPEC_SHORT_LOAD): New unspec.
(zero-extend_v8qi_vis, zero_extend_v4hi_vis): New expanders.
(*zero_extend_v8qi_<P:mode>_insn,
*zero_extend_v4hi_<P:mode>_insn): New insns.
* config/sparc/sparc.c (vector_init_move_words,
vector_init_prepare_elts, sparc_expand_vector_init_vis2,
sparc_expand_vector_init_vis1): New functions.
(vector_init_bshuffle): Rewrite to handle more cases and make use
of locs[] array prepared by vector_init_prepare_elts.
(vector_init_fpmerge, vector_init_faligndata): Delete.
(sparc_expand_vector_init): Rewrite using new infrastructure.

gcc/testsuite/

* lib/test-supports.exp
(check_effective_target_ultrasparc_vis2_hw): New proc.
(check_effective_target_ultrasparc_vis3_hw): New proc.
* gcc.target/sparc/vec-init-1.inc: New vector init common code.
* gcc.target/sparc/vec-init-2.inc: Likewise.
* gcc.target/sparc/vec-init-3.inc: Likewise.
* gcc.target/sparc/vec-init-1-vis1.c: New test.
* gcc.target/sparc/vec-init-1-vis2.c: New test.
* gcc.target/sparc/vec-init-1-vis3.c: New test.
* gcc.target/sparc/vec-init-2-vis1.c: New test.
* gcc.target/sparc/vec-init-2-vis2.c: New test.
* gcc.target/sparc/vec-init-2-vis3.c: New test.
* gcc.target/sparc/vec-init-3-vis1.c: New test.
* gcc.target/sparc/vec-init-3-vis2.c: New test.
* gcc.target/sparc/vec-init-3-vis3.c: New test.

From-SVN: r181024

12 years ago* doc/xml/manual/test.xml: Fix dg-warning examples.
Jonathan Wakely [Sun, 6 Nov 2011 00:51:17 +0000 (00:51 +0000)]
* doc/xml/manual/test.xml: Fix dg-warning examples.

From-SVN: r181023

12 years agore PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
Jonathan Wakely [Sun, 6 Nov 2011 00:29:36 +0000 (00:29 +0000)]
re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)

PR libstdc++/44436
* doc/xml/manual/status_cxx200x.xml: Document emplace members are
missing.

From-SVN: r181022

12 years agoDaily bump.
GCC Administrator [Sun, 6 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181021

12 years ago* decl.c (cp_finish_decl): Mostly revert previous change.
Jason Merrill [Sat, 5 Nov 2011 21:06:34 +0000 (17:06 -0400)]
* decl.c (cp_finish_decl): Mostly revert previous change.

From-SVN: r181017

12 years agoconfig.gcc (epiphany-*-*): New architecture.
Joern Rennecke [Sat, 5 Nov 2011 20:48:23 +0000 (20:48 +0000)]
config.gcc (epiphany-*-*): New architecture.

gcc:
        * config.gcc (epiphany-*-*): New architecture.
        (epiphany-*-elf): New configuration.
        * config/epiphany, common/config/epiphany : New directories.
        * doc/extend.texi (disinterrupt attribute): Add Epiphany.
        (interrupt attribute): Add Epiphany.
        (long_call, short_call attribute): Add Epiphany.
        * doc/invoke.texi (Options): Add Epiphany options.
        * doc/md.texi (Machine Constraints): Add Epiphany constraints.
        * doc/install.texi (Options specification):
        Add --with-stack-offset=@var{num} description.
        (host/target specific issues): Add epiphany-*-elf.
        * doc/contrib.texi (Contributors): Mention Epiphany port.
gcc/testsuite:
        * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x:
        Disable test on Epiphany.
        * gcc.c-torture/execute/20101011-1.c: Disable test on Epiphany.
        * gcc.dg/stack-usage-1.c [__epiphany__] (SIZE): Define.
        * gcc.dg/pragma-pack-3.c: Disable test on Epiphany.
        * g++.dg/parse/pragma3.C: Likewise.
        * stackalign/builtin-apply-2.c (STACK_ARGUMENTS_SIZE): Define.
        (bar): Use it.
        * gcc.dg/weak/typeof-2.c [epiphany-*-*]: Add option -mshort-calls.
        * gcc.dg/tls/thr-cse-1.c: Likewise.
        * g++.dg/opt/devirt2.C: Likewise.
        * gcc.dg/20020312-2.c [epiphany-*-*] (PIC_REG): Define.
        * gcc.dg/builtin-apply2.c [__epiphany__]: (STACK_ARGUMENTS_SIZE): 20.
        * gcc.target/epiphany: New directory.
libgcc:
        * config.host (epiphany-*-elf*): New configuration.
        * config/epiphany: New Directory.
contrib:
        * contrib-list.mk: Add Epiphany configurations.

From-SVN: r181016

12 years agoquad_2.f90: New.
Tobias Burnus [Sat, 5 Nov 2011 20:43:44 +0000 (21:43 +0100)]
quad_2.f90: New.

2011-11-05  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/quad_2.f90: New.

From-SVN: r181015

12 years agore PR tree-optimization/50693 (Loop optimization restricted by GOTOs)
Jakub Jelinek [Sat, 5 Nov 2011 19:58:37 +0000 (20:58 +0100)]
re PR tree-optimization/50693 (Loop optimization restricted by GOTOs)

PR tree-optimization/50693
* tree-cfg.c (gimple_can_merge_blocks_p): Allow merging with
non-forced user labels.
(gimple_merge_blocks): Turn non-forced user labels into
debug bind stmt with the label as first operand and reset value.
(gimple_duplicate_bb): Don't duplicate label debug stmts.
* dwarf2out.c (gen_label_die): Handle NOTE_INSN_DELETED_DEBUG_LABEL.
* final.c (final_scan_insn): Likewise.
(rest_of_clean_state): Don't dump NOTE_INSN_DELETED_DEBUG_LABEL.
* var-tracking.c (debug_label_num): New variable.
(delete_debug_insns): Don't delete DEBUG_INSNs for LABEL_DECLs,
instead turn them into NOTE_INSN_DELETED_DEBUG_LABEL notes.
* cfglayout.c (skip_insns_after_block, duplicate_insn_chain): Handle
NOTE_INSN_DELETED_DEBUG_LABEL.
(duplicate_insn_chain): Don't duplicate LABEL_DECL DEBUG_INSNs.
* insn-notes.def (DELETED_DEBUG_LABEL): New note kind.
* print-rtl.c (print_rtx): Handle NOTE_INSN_DELETED_DEBUG_LABEL.
* gengtype.c (adjust_field_rtx_def): Likewise.
* config/i386/i386.c (ix86_output_function_epilogue): For MachO
clear CODE_LABEL_NUMBER of NOTE_INSN_DELETED_DEBUG_LABEL
if their are at the end of function and nop hasn't been emitted.
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Likewise.

From-SVN: r181014

12 years agore PR libstdc++/49894 ([C++0x] Uniform initialization in constructor)
Jonathan Wakely [Sat, 5 Nov 2011 13:33:29 +0000 (13:33 +0000)]
re PR libstdc++/49894 ([C++0x] Uniform initialization in constructor)

PR libstdc++/49894
PR bootstrap/50982
* include/std/mutex (once_flag): Use NSDMI.

From-SVN: r181013

12 years agoFix typo in entry for r180962.
Georg-Johann Lay [Sat, 5 Nov 2011 13:15:57 +0000 (13:15 +0000)]
Fix typo in entry for r180962.

From-SVN: r181012

12 years agore PR rtl-optimization/50448 (Missed optimization accessing struct component with...
Georg-Johann Lay [Sat, 5 Nov 2011 13:08:54 +0000 (13:08 +0000)]
re PR rtl-optimization/50448 (Missed optimization accessing struct component with integer address)

PR rtl-optimization/50448
* cprop.c (try_replace_reg): Also try to replace uses of FROM that
appear in SET_DEST.

From-SVN: r181011

12 years agoTweak previous commit
Eric Botcazou [Sat, 5 Nov 2011 11:30:23 +0000 (11:30 +0000)]
Tweak previous commit

From-SVN: r181010

12 years agostrlenopt-22g.c: New wrapper around...
Eric Botcazou [Sat, 5 Nov 2011 10:44:45 +0000 (10:44 +0000)]
strlenopt-22g.c: New wrapper around...

* gcc.dg/strlenopt-22g.c: New wrapper around...
* gcc.dg/strlenopt-22.c: ...this.  Do not define USE_GNU and adjust.

From-SVN: r181009

12 years agoFix malformated ChangeLog entries.
Ralf Corsepius [Sat, 5 Nov 2011 06:25:16 +0000 (07:25 +0100)]
Fix malformated ChangeLog entries.

From-SVN: r181007

12 years agortems.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Extend rs6000_spe handling.
Peter Dufault [Sat, 5 Nov 2011 06:18:08 +0000 (06:18 +0000)]
rtems.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Extend rs6000_spe handling.

2011-11-05  Peter Dufault  <dufault@hda.com>,
    Sebastian Huber <sebastian.huber@embedded-brains.de>

* config/rs6000/rtems.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
Extend rs6000_spe handling.

Co-Authored-By: Sebastian Huber <sebastian.huber@embedded-brains.de>
From-SVN: r181006

12 years agot-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.
Ralf Corsepius [Sat, 5 Nov 2011 06:09:09 +0000 (07:09 +0100)]
t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.

2011-11-05  Ralf Corsépius  <ralf.corsepius@rtems.org>

* config/rs6000/t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.
Remove -mcpu=601 multilib.
Remove -Dmpc8260 multilib.
* config/rs6000/rtems.h: Allow --float-gprs=... to override grps
on E500 targets.

From-SVN: r181005

12 years agoconfig.host (avr-*-rtems*): Add config/avr/t-rtems.
Ralf Corsepius [Sat, 5 Nov 2011 04:45:12 +0000 (05:45 +0100)]
config.host (avr-*-rtems*): Add config/avr/t-rtems.

2011-11-05  Ralf Corsépius  <ralf.corsepius@rtems.org>

* config.host (avr-*-rtems*): Add config/avr/t-rtems.
* config/avr/t-rtems: New.
Filter out _exit from LIB1ASMFUNCS.

From-SVN: r181003

12 years agore PR c++/26714 (violation of [class.temporary]/5)
Jason Merrill [Sat, 5 Nov 2011 03:28:14 +0000 (23:28 -0400)]
re PR c++/26714 (violation of [class.temporary]/5)

PR c++/26714
* init.c (perform_member_init): Strip TARGET_EXPR around NSDMI.
Do temporary lifetime extension.

From-SVN: r181002

12 years agore PR c++/48370 (G++ fails to extend reference temporary lifetime in some situations)
Jason Merrill [Sat, 5 Nov 2011 03:28:05 +0000 (23:28 -0400)]
re PR c++/48370 (G++ fails to extend reference temporary lifetime in some situations)

PR c++/48370
* decl.c (cp_finish_decl): Run cleanups in the right order.

From-SVN: r181001

12 years agoTweak libgcc configure test for 64-bit.
David S. Miller [Sat, 5 Nov 2011 02:46:21 +0000 (02:46 +0000)]
Tweak libgcc configure test for 64-bit.

libgcc/

* configure.ac: Test for 64-bit addresses on !x86 using __LP64__.
* configure: Rebuild.

From-SVN: r181000

12 years agoPiledriver f16cintrin.h fix.
Quentin Neill [Sat, 5 Nov 2011 02:31:29 +0000 (02:31 +0000)]
Piledriver f16cintrin.h fix.

2011-11-04  Quentin Neill  <quentin.neill@amd.com>

Piledriver f16cintrin.h fix.
* config/i386/f16cintrin.h: Contents moved from immintrin.h.
* config/config.gcc: Add f16cintrin.h.

From-SVN: r180999

12 years agoDaily bump.
GCC Administrator [Sat, 5 Nov 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180996

12 years agoFix select { case v, ok := <-c: }.
Ian Lance Taylor [Fri, 4 Nov 2011 23:03:37 +0000 (23:03 +0000)]
Fix select { case v, ok := <-c: }.

From-SVN: r180992

12 years agore PR c++/50608 (cannot apply 'offsetof' to a non-constant address)
Eric Botcazou [Fri, 4 Nov 2011 21:46:07 +0000 (21:46 +0000)]
re PR c++/50608 (cannot apply 'offsetof' to a non-constant address)

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

PR c++/50608
* c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
to fold_offsetof.
* c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
c-family/
* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
(fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
<INDIRECT_REF>: Return the argument.
<ARRAY_REF>: Remove special code for negative offset.
Call fold_build_pointer_plus instead of size_binop.
(fold_offsetof): Remove STOP_REF argument and adjust.
* c-common.h (fold_offsetof_1): Declare.
(fold_offsetof): Remove STOP_REF argument.
cp/
* semantics.c (finish_offsetof): Adjust call to fold_offsetof.
* typeck.c (cp_build_addr_expr_1): Call fold_offsetof_1.

From-SVN: r180986

12 years agoreload1.c (gen_reload): Don't use REGNO on SUBREGs.
Alan Modra [Fri, 4 Nov 2011 21:05:46 +0000 (07:35 +1030)]
reload1.c (gen_reload): Don't use REGNO on SUBREGs.

* reload1.c (gen_reload): Don't use REGNO on SUBREGs.
* print-rtl.c (print_rtx): Don't segfault on negative regno.

From-SVN: r180983

12 years agoFix sparc regression due to recent movcc pattern changes.
David S. Miller [Fri, 4 Nov 2011 20:25:59 +0000 (20:25 +0000)]
Fix sparc regression due to recent movcc pattern changes.

PR target/49965
* config/sparc/sparc.c (sparc_expand_conditional_move): Handle the
fact that sparc_emit_float_lib_cmp modifies the comparison in
operands[1].

From-SVN: r180982

12 years agorun_doxygen: Fix sed quoting.
Benjamin Kosnik [Fri, 4 Nov 2011 19:39:23 +0000 (19:39 +0000)]
run_doxygen: Fix sed quoting.

2011-11-04  Benjamin Kosnik  <bkoz@redhat.com>

* scripts/run_doxygen: Fix sed quoting.

From-SVN: r180978

12 years agot-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S variable.
Andreas Krebbel [Fri, 4 Nov 2011 19:05:36 +0000 (19:05 +0000)]
t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S variable.

2011-11-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S
variable.

From-SVN: r180976

12 years agoconfig.gcc (bfin*-rtems*): Add newlib-stdint.h.
Ralf Corsepius [Fri, 4 Nov 2011 18:16:31 +0000 (19:16 +0100)]
config.gcc (bfin*-rtems*): Add newlib-stdint.h.

2010-10-09  Ralf Corsépius <ralf.corsepius@rtems.org>

* config.gcc (bfin*-rtems*): Add newlib-stdint.h.
* config.gcc (lm32*-rtems*): Add newlib-stdint.h.

From-SVN: r180974

12 years agogcc-dg.exp (gcc_force_conventional_output): New global variable, default empty, ...
Hans-Peter Nilsson [Fri, 4 Nov 2011 18:06:43 +0000 (18:06 +0000)]
gcc-dg.exp (gcc_force_conventional_output): New global variable, default empty, -ffat-lto-objects for effective_target_lto.

* lib/gcc-dg.exp (gcc_force_conventional_output): New global
variable, default empty, -ffat-lto-objects for effective_target_lto.
(gcc-dg-test-1): Add options from dg-final methods.
* lib/scanasm.exp (scan-assembler_required_options)
(scan-assembler-not_required_options): New procs.

From-SVN: r180972

12 years agotypeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED.
Paolo Carlini [Fri, 4 Nov 2011 17:51:20 +0000 (17:51 +0000)]
typeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED.

2011-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED.
* mangle.c (write_unnamed_type_name): Likewise.

From-SVN: r180970

12 years agoparser.c (cp_parser_enumerator_list): Do not warn about trailing commas in C++0x...
Magnus Fromreide [Fri, 4 Nov 2011 17:38:16 +0000 (18:38 +0100)]
parser.c (cp_parser_enumerator_list): Do not warn about trailing commas in C++0x mode.

        * parser.c (cp_parser_enumerator_list): Do not warn about
        trailing commas in C++0x mode.

From-SVN: r180967

12 years agore PR target/50979 (architecture mismatch: "mul32" not enabled for "smul" or "umul")
Eric Botcazou [Fri, 4 Nov 2011 17:37:03 +0000 (17:37 +0000)]
re PR target/50979 (architecture mismatch: "mul32" not enabled for "smul" or "umul")

PR target/50979
* config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.

From-SVN: r180966

12 years agore PR c++/50965 (C++11 Non static member initializer are not run when class is initia...
Olivier Goffart [Fri, 4 Nov 2011 17:15:02 +0000 (17:15 +0000)]
re PR c++/50965 (C++11 Non static member initializer are not run when class is initialized with {})

PR c++/50965
* class.c (check_field_decls): NSDMI makes a class non-aggregate.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r180965

12 years agore PR rtl-optimization/38644 (Optimization flag -O1 -fschedule-insns2 causes wrong...
Jiangning Liu [Fri, 4 Nov 2011 16:50:04 +0000 (16:50 +0000)]
re PR rtl-optimization/38644 (Optimization flag -O1 -fschedule-insns2 causes wrong code)

2011-11-04  Jiangning Liu  <jiangning.liu@arm.com>

PR rtl-optimization/38644
* config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
for epilogue having stack adjustment.

testcase:
* gcc.target/arm/stack-red-zone.c: New.

From-SVN: r180964

12 years agore PR c++/48420 (Missed -Wconversion-null warning when passing const bool to T*)
Paolo Carlini [Fri, 4 Nov 2011 16:31:18 +0000 (16:31 +0000)]
re PR c++/48420 (Missed -Wconversion-null warning when passing const bool to T*)

/cp
2011-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48420
* call.c (conversion_null_warnings): For 'false' to NULL pointer,
just check that TREE_TYPE (expr) is a BOOLEAN_TYPE.

/testsuite
2011-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48420
* g++.dg/warn/Wconversion-null-3.C: New.

From-SVN: r180963

12 years agore PR target/50931 ([avr] Support a 24-bit scalar integer mode)
Georg-Johann Lay [Fri, 4 Nov 2011 16:20:18 +0000 (16:20 +0000)]
re PR target/50931 ([avr] Support a 24-bit scalar integer mode)

gcc/
PR target/50931
* config/avr/avr-modes.def: New file defining PSImode.
* config/avr/avr-c.c (__INT24_MAX__, __INT24_MIN__,
__UINT24_MAX__): New built-in defines.
* config/avr/avr.md (adjust_len): Add tstpsi, mov24,  reload_in24,
ashlpsi, ashrpsi, lshrpsi.
(QISO, QIDI, HISI, HIDI, MPUSH, rotx, rotsmode): Add PSI.
(MOVMODE): New mode iterator.
(movpsi): New expander.
(movqi, movhi, movsi, movsf, movpsi): Write as one using MOVMODE.
(*reload_inpsi, *movpsi): New insns.
(*reload_inpsi): New RTL peephole.
(addpsi3, *addpsi3_zero_extend.qi, *addpsi3_zero_extend.hi,
*addpsi3_sign_extend.hi): New insns.
(subpsi3, *subpsi3_zero_extend.qi, *subpsi3_zero_extend.hi,
*subpsi3_sign_extend.hi): New insns.
(divmodpsi4, udivmodpsi4): New define insn-and-split.
(*divmodpsi4_call, *udivmodpsi4_call): New insns.
(andpsi3, iorpsi3, xorpsi3): New insns.
(*rotlpsi2.1, *rotlpsi2.23): New insns.
(*rotw<mode>): Insn condition only allow even-sized modes.
(*rotb<mode>): Insn condition allows odd-sized modes.
(ashlpsi3, ashrpsi3, lshrpsi3, *addpsi3.lt0): New insns.
(negpsi2, one_cmplpsi2): New insns.
(extendqipsi2, extendhipsi2, extendpsisi2): New insns.
(zero_extendqipsi2, zero_extendhipsi2, zero_extendpsisi2): New
insn-and-splits.
(*cmppsi, *negated_tstpsi, *reversed_tstpsi): New insns.
(cbranchpsi4): New expander.
* config/avr/constraints.md (Ca3, Co3, Cx3): New constraints.
* config/avr/avr-protos.h (avr_out_tstpsi, avr_out_movpsi,
avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3,
avr_out_reload_inpsi): New prototypes.

* config/avr/avr.c (TARGET_SCALAR_MODE_SUPPORTED_P): Define to...
(avr_scalar_mode_supported_p): ...this new static function.
(avr_asm_len): Always return "".
(avr_out_load_psi, avr_out_store_psi): New static functions.
(avr_out_movpsi, avr_out_reload_inpsi): New functions.
(avr_out_tstpsi): New function.
(avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3): New functions.
(avr_out_plus_1, output_reload_in_const): Handle 3-byte types.
(avr_simplify_comparison_p): Ditto.
(adjust_insn_length): Handle ADJUST_LEN_RELOAD_IN24,
ADJUST_LEN_MOV24, ADJUST_LEN_TSTPSI, ADJUST_LEN_ASHLPSI,
ADJUST_LEN_ASHRPSI, ADJUST_LEN_LSHRPSI.
(avr_rtx_costs_1): Report PSI costs.
(avr_libcall_value): Handle odd-sized parameters.
(avr_init_builtin_int24): New static function to define built-in
24-bit types __int24 and __uint24.
(avr_init_builtins): Use it.

libgcc/
PR target/50931
* config/t-avr (LIB1ASMFUNCS): Add _divmodpsi4, _udivmodpsi4.
* config/lib1funcs.S (__udivmodpsi4, __divmodpsi4): New functions.

From-SVN: r180962

12 years agore PR c++/50941 ([C++0x] user-defined string literals provide incorrect length for...
Ed Smith-Rowland [Fri, 4 Nov 2011 16:16:09 +0000 (16:16 +0000)]
re PR c++/50941 ([C++0x] user-defined string literals provide incorrect length for wchar_t, char16_t, and char32_t)

PR c++/50941
* parser.c (cp_parser_userdef_string_literal): Fix string length.

From-SVN: r180961

12 years ago* gcc-interface/Make-lang.in: Update dependencies.
Arnaud Charlet [Fri, 4 Nov 2011 15:32:18 +0000 (15:32 +0000)]
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r180960

12 years agore PR target/50980 (arm-rtems multilib not matching for -mfpu=vfp -mfloat-abi=soft)
Thomas Doerfler [Fri, 4 Nov 2011 15:22:06 +0000 (15:22 +0000)]
re PR target/50980 (arm-rtems multilib not matching for -mfpu=vfp -mfloat-abi=soft)

2011-11-04 Thomas Doerfler <thomas.doerfler@embedded-brains.de>

PR target/50980
* config/arm/rtems-elf.h, config/arm/t-rtems: Add optional
support for VFP floating point model.

From-SVN: r180959

12 years agoMinor reformatting.
Arnaud Charlet [Fri, 4 Nov 2011 14:10:21 +0000 (15:10 +0100)]
Minor reformatting.

From-SVN: r180957

12 years agognat_ugn.texi (Performance Considerations): New sub-section.
Eric Botcazou [Fri, 4 Nov 2011 14:10:01 +0000 (15:10 +0100)]
gnat_ugn.texi (Performance Considerations): New sub-section.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

* gnat_ugn.texi (Performance Considerations) <Vectorization
of loops>: New sub-section.  <Other Optimization Switches>:
Minor tweak.

From-SVN: r180956

12 years ago[multiple changes]
Arnaud Charlet [Fri, 4 Nov 2011 14:09:05 +0000 (15:09 +0100)]
[multiple changes]

2011-11-04  Robert Dewar  <dewar@adacore.com>

* sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
Avoid junk semicolon after argument of machine code Asm operand.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
CodePeer mode or if restriction No_Exception_Handlers is present.
* exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
nodes in CodePeer mode or if restriction No_Exception_Handlers
is present.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Specification): The
specification is legal if it is a function that returns an
abstract type, if it comes from an attribute renaming of a stream
attribute of an abstract type.

2011-11-04  Gary Dismukes  <dismukes@adacore.com>

* exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
components, check whether recursively check whether the prefix
denotes an unaligned object.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Debug): The argument of
the pragma is legal if it is an expanded name that denotes a
procedure that be can called without parameters.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

* gnat_ugn.texi (Performance Considerations) <Vectorization
of loops>: New sub-section.  <Other Optimization Switches>:
Minor tweak.

From-SVN: r180955

12 years ago[multiple changes]
Arnaud Charlet [Fri, 4 Nov 2011 14:00:29 +0000 (15:00 +0100)]
[multiple changes]

2011-11-04  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Minor reformatting.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

* a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
when Target and Source denote same non-empty object
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto

2011-11-04  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb: Minor reformatting.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Assign_Record): Do not generate a
discriminant assignment within an initialization proc if the
record is an unchecked union, as it can only come from the
initialization of an unchecked union component.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Minor reformatting.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
warning message.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb: Minor code reorganization (remove junk obsolete
var Save_Space).

From-SVN: r180954

12 years agoexp_alfa.adb: Add local constant Disable_Processing_Of_Renamings;
Hristian Kirtchev [Fri, 4 Nov 2011 13:57:31 +0000 (13:57 +0000)]
exp_alfa.adb: Add local constant Disable_Processing_Of_Renamings;

2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_alfa.adb: Add local constant
Disable_Processing_Of_Renamings;
(Expand_Alfa_N_Object_Renaming_Declaration): Disable
the name evaluation of object renamings for now.
(Expand_Potential_Renaming): Do not perform the substitution
for now.
* exp_util.adb (Remove_Side_Effects): Remove processing for
        functions with side effects in Alfa mode.

From-SVN: r180953

12 years ago[multiple changes]
Arnaud Charlet [Fri, 4 Nov 2011 13:55:34 +0000 (14:55 +0100)]
[multiple changes]

2011-11-04  Gary Dismukes  <dismukes@adacore.com>

* bindgen.adb (Gen_Elab_Calls): In the case
of the AAMP target, set elaboration entities to 1 rather than
incrementing.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Install_Limited_With_Unit): To establish the
proper entities on the ancestors of a child unit that appear
in a limited_with clause, follow the unit links because the
units are not analyzed and scope information is incomplete.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch4.adb (Expand_N_Selected_Component): Refine code
setting the Atomic_Sync_Required flag to detect one more case.
* exp_util.adb (Activate_Atomic_Synchronization): Refine code
setting the Atomic_Sync_Required flag to exclude more cases,
depending on the parent of the node to be examined.

2011-11-04  Bob Duff  <duff@adacore.com>

* g-excact.adb: Minor: use named notation.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb: Improve error messages for illegal iterators.

From-SVN: r180952

12 years ago[multiple changes]
Arnaud Charlet [Fri, 4 Nov 2011 13:52:11 +0000 (14:52 +0100)]
[multiple changes]

2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
Sem_Util.
(Expand_Alfa): Alphabetize cases on first choice. Add
processing for object renaming declarations, identifiers and
expanded names.
(Expand_Alfa_N_In): Remove useless return.
(Expand_Alfa_N_Object_Renaming_Declaration): New routine.
(Expand_Potential_Renaming): New routine.
* exp_ch8.adb (Evaluate_Name): Moved to the top level.
(Expand_N_Object_Declaration): Alphabetize local variables. Move
Evaluate_Name out to the top level.
* exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
* exp_util.adb (Remove_Side_Effects): Add processing for
functions with side effects in Alfa mode.

2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>

* gnat_rm.texi: Add entries for
restrictions No_Relative_Delay, No_Requeue_Statements and
No_Stream_Optimizations.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb: Set type of entity in prefixed call, for
completeness in a generic context.

From-SVN: r180951

12 years ago[multiple changes]
Arnaud Charlet [Fri, 4 Nov 2011 13:48:52 +0000 (14:48 +0100)]
[multiple changes]

2011-11-04  Yannick Moy  <moy@adacore.com>

* sem_prag.adb: Minor refactoring (renaming of a parameter).

2011-11-04  Robert Dewar  <dewar@adacore.com>

* atree.ads: Minor reformatting.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
and -gnatd.e here
* exp_ch2.adb (Expand_Entity_Reference): Use
Activate_Atomic_Synchronization
* exp_ch4.adb (Expand_N_Explicit_Dereference): Use
Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
Activate_Atomic_Synchronization (Expand_N_Selected_Component):
Use Activate_Atomic_Synchronization
* exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
procedure.
* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
N_Selected_Component node

From-SVN: r180950

12 years agosem_prag.adb, [...]: Minor reformatting.
Robert Dewar [Fri, 4 Nov 2011 13:46:55 +0000 (13:46 +0000)]
sem_prag.adb, [...]: Minor reformatting.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb, atree.ads, prj-env.adb, prj-env.ads: Minor reformatting.

From-SVN: r180949

12 years ago[multiple changes]
Arnaud Charlet [Fri, 4 Nov 2011 13:45:01 +0000 (14:45 +0100)]
[multiple changes]

2011-11-04  Yannick Moy  <moy@adacore.com>

* atree.adb, atree.ads (Set_Original_Node): New set procedure.
* sem_ch13.adb (Analyze_Aspect_Specifications/Pre_Post_Aspects):
In ASIS mode, no splitting of aspects between conjuncts.
(Analyze_Aspect_Specifications/Aspect_Test_Case): Make pragma
expressions refer to the original aspect expressions through
the Original_Node link. This is used in semantic analysis for
ASIS mode, so that the original expression also gets analyzed.
* sem_prag.adb (Preanalyze_TC_Args,
Check_Precondition_Postcondition,
Analyze_Pragma/Pragma_Test_Case): In ASIS mode, for a pragma
generated from a source aspect, also analyze the original aspect
expression.
(Check_Expr_Is_Static_Expression): New procedure
similar to existing procedure Check_Arg_Is_Static_Expression,
except called on expression inside pragma.

2011-11-04  Tristan Gingold  <gingold@adacore.com>

* prj-env.adb, prj-env.ads (Find_Name_In_Path): New function, from
Find_Project.Try_Path_Name.
(Find_Project): Use Find_Name_In_Path to implement Try_Path_Name.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

* s-atocou.ads (Atomic_Counter): Remove redundant pragma Volatile.

2011-11-04  Pascal Obry  <obry@adacore.com>

* projects.texi: Add short description for qualifiers aggregate
and aggregate library.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

* Makefile.rtl, impunit.adb: Added a-cogeso.ad[sb]
* a-cgaaso.adb: Replaced implementation with instantiation
of Generic_Sort.
* a-cogeso.ad[sb] This is the new Ada 2012 unit
Ada.Containers.Generic_Sort

From-SVN: r180948

12 years agovms.h (ASM_OUTPUT_DEF): Do not switch section.
Tristan Gingold [Fri, 4 Nov 2011 13:39:21 +0000 (13:39 +0000)]
vms.h (ASM_OUTPUT_DEF): Do not switch section.

2011-11-04  Tristan Gingold  <gingold@adacore.com>

* config/alpha/vms.h (ASM_OUTPUT_DEF): Do not switch section.

From-SVN: r180947

12 years agore PR target/50989 (sparc libgcc2 __udivmoddi4 has undefined reference to .umul)
Joel Sherrill [Fri, 4 Nov 2011 12:57:40 +0000 (12:57 +0000)]
re PR target/50989 (sparc libgcc2 __udivmoddi4 has undefined reference to .umul)

2011-11-04  Joel Sherrill  <joel.sherrill@oarcorp.com>

PR target/50989
* config.host (sparc-*-rtems*): Add sparc/t-softmul.

From-SVN: r180946

12 years agoUnrevert:
Ira Rosen [Fri, 4 Nov 2011 12:55:06 +0000 (12:55 +0000)]
Unrevert:

        2011-10-24  Ira Rosen  <ira.rosen@linaro.org>

        PR tree-optimization/50730
        * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic
        block analysis if encountered unsupported data-ref.

From-SVN: r180945

12 years agore PR c++/48370 (G++ fails to extend reference temporary lifetime in some situations)
Jason Merrill [Fri, 4 Nov 2011 12:54:08 +0000 (08:54 -0400)]
re PR c++/48370 (G++ fails to extend reference temporary lifetime in some situations)

PR c++/48370
* call.c (extend_ref_init_temps, extend_ref_init_temps_1): New.
(set_up_extended_ref_temp): Use it.  Change cleanup parm to VEC.
(initialize_reference): Just call convert_like.
* decl.c (grok_reference_init): Just call initialize_reference.
(build_init_list_var_init): Remove.
(check_initializer): Change cleanup parm to VEC.  Handle references
like other types.  Call perform_implicit_conversion instead
of build_init_list_var_init.  Don't use build_aggr_init for
aggregate initialization of arrays.
(cp_finish_decl): Change cleanup to VEC.
* typeck2.c (store_init_value): Call extend_ref_init_temps.
Use build_vec_init for non-constant arrays.
* init.c (expand_aggr_init_1): Adjust.
(build_vec_init): Avoid re-converting an initializer
that's already digested.
* mangle.c (mangle_ref_init_variable): Add a discriminator.
* cp-tree.h: Adjust.
* typeck.c (convert_for_initialization): Adjust.
* decl2.c (maybe_emit_vtables): Adjust.

From-SVN: r180944

12 years ago[multiple changes]
Arnaud Charlet [Fri, 4 Nov 2011 12:04:55 +0000 (13:04 +0100)]
[multiple changes]

2011-11-04  Robert Dewar  <dewar@adacore.com>

* exp_ch2.adb (Expand_Entity_Reference): Do not set
Atomic_Sync_Required for the case of a prefix of an attribute.
* exp_ch4.adb (Expand_N_Explicit_Dereference): May require
atomic synchronization
(Expand_N_Indexed_Component): Ditto.
(Expand_B_Selected_Component): Ditto.
* sem_prag.adb (Process_Suppress_Unsuppress):
Disable/Enable_Atomic_Synchronization can now occur for array
types with pragma Atomic_Components.
* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
N_Explicit_Dereference nodes and on N_Indexed_Component nodes.

2011-11-04  Gary Dismukes  <dismukes@adacore.com>

* gnat_ugn.texi: Editorial corrections for gnattest section.

From-SVN: r180943

12 years agoRestore c6x-elf bootstrap
Rainer Orth [Fri, 4 Nov 2011 11:55:52 +0000 (11:55 +0000)]
Restore c6x-elf bootstrap

* config/c6x/t-elf (LIB2ADDEH): Set.
* config/c6x/t-c6x-elf: Remove.

From-SVN: r180942

12 years agoUse sol2-c[1n].S on more targets
Rainer Orth [Fri, 4 Nov 2011 11:54:17 +0000 (11:54 +0000)]
Use sol2-c[1n].S on more targets

* config/i386/sol2-ci.S: Rename to ...
* config/i386/crti.S: ... this.
* config/i386/sol2-cn.S: Rename to ...
* config/i386/crtn.S: ... this.
* config/sparc/sol2-ci.S: Rename to ...
* config/sparc/crti.S: ... this.
* config/sparc/sol2-cn.S: Rename to ...
* config/sparc/crtn.S: ... this.
* config/t-sol2 (CUSTOM_CRTIN): Remove.
(crti.o, crtn.o): Remove.

From-SVN: r180941

12 years agore PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree...
Tom de Vries [Fri, 4 Nov 2011 11:44:50 +0000 (11:44 +0000)]
re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)

2011-11-04  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* gcc.dg/pr50763-5.c: New test.

From-SVN: r180940

12 years agosem_prag.adb: Minor reformatting.
Robert Dewar [Fri, 4 Nov 2011 11:00:33 +0000 (11:00 +0000)]
sem_prag.adb: Minor reformatting.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Minor reformatting.
* gnat_rm.texi: Update documentation for pragma Warnings (Off,
"***") usage.
* exp_ch2.adb (Expand_Entity_Reference): Only set
Atomic_Sync_Required on entities that are variables. Doesn't
make any sense on anything else.

From-SVN: r180939

12 years agoexp_ch2.adb (Expand_Entity_Reference): Extend handling of atomic sync to type case.
Robert Dewar [Fri, 4 Nov 2011 10:58:44 +0000 (10:58 +0000)]
exp_ch2.adb (Expand_Entity_Reference): Extend handling of atomic sync to type case.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* exp_ch2.adb (Expand_Entity_Reference): Extend handling of
atomic sync to type case.
* sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
apply to types.

From-SVN: r180938

12 years agore PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree...
Tom de Vries [Fri, 4 Nov 2011 10:56:39 +0000 (10:56 +0000)]
re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)

2011-11-04  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* g++.dg/pr50763-4.C: New test.

From-SVN: r180936

12 years ago[multiple changes]
Arnaud Charlet [Fri, 4 Nov 2011 10:55:41 +0000 (11:55 +0100)]
[multiple changes]

2011-11-04  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
for call vs assign.
* gcc-interface/Make-lang.in: Update dependencies.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb: Detect more cases of Long_Float inconsistencies at
compile time.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

* Makefile.rtl, impunit.adb: Added a-sfecin.ads,
* a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
* a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
a-sulcin.ad[sb]: New files.

2011-11-04  Geert Bosch  <bosch@adacore.com>

* i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
* gcc-interface/Makefile.in: Remove libgnala and related objects.

From-SVN: r180935

12 years agoi386.c (ix86_expand_vector_convert_uns_vsivsf): New function.
Jakub Jelinek [Fri, 4 Nov 2011 10:39:25 +0000 (11:39 +0100)]
i386.c (ix86_expand_vector_convert_uns_vsivsf): New function.

* config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): New
function.
* config/i386/i386-protos.h (ix86_expand_vector_convert_uns_vsivsf):
New prototype.
* config/i386/sse.md (floatuns<sseintvecmodelower><mode>2): Use it.
For floatunsv8siv8sf2 require TARGET_AVX2.

* gcc.dg/torture/vec-cvt-1.c: Enable commented out inttoflttestui
test.

From-SVN: r180934

12 years agoi386.c (ix86_expand_adjust_ufix_to_sfix_si): Add XORP argument.
Jakub Jelinek [Fri, 4 Nov 2011 10:37:04 +0000 (11:37 +0100)]
i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add XORP argument.

* config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add
XORP argument.  Subtract 0x1p31 instead of 0x1p32.  Use normal
signalling comparison instead of non-signalling.  Store into
*XORP pseudo holding 0x80000000 integers if 0x1p31 has been
subtracted and 0 otherwise.
* config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si):
Adjust prototype.
* config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Enable
already for TARGET_SSE2.  Xor in vector initialized by
ix86_expand_adjust_ufix_to_sfix_si at the end.
(vec_pack_ufix_trunc_<mode>): Likewise.

* gcc.dg/torture/vec-cvt-1.c: Enable flttointtestui test.

From-SVN: r180933

12 years agotree-vect-stmts.c (vectorizable_conversion): Rewritten to handle not just FLOAT_EXPR...
Jakub Jelinek [Fri, 4 Nov 2011 10:35:44 +0000 (11:35 +0100)]
tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle not just FLOAT_EXPR and FIX_TRUNC_EXPR...

* tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle
not just FLOAT_EXPR and FIX_TRUNC_EXPR, but also CONVERT_EXPR_CODE_P,
WIDEN_MULT_EXPR and WIDEN_LSHIFT_EXPR to handle what
vectorizable_type_demotion and vectorizable_type_promotion did.
Additionally handle FLOAT_EXPR and FIX_TRUNC_EXPR where the integer
is {,un}signed {char,short}.
(vect_create_vectorized_demotion_stmts): Fix comment typo.  For
recursive calls unconditionally use VEC_PACK_TRUNC_EXPR.
Push vec_dest back to the vec_dsts vector at the end.
(vect_create_vectorized_promotion_stmts): Don't recurse, do just
one step.  Removed multi_step_cvt, vec_dsts, slp_node and
prev_stmt_info arguments, add vec_dest argument.  Push always
into vec_tmp, not just when multi_step_cvt != 0, replace *vec_oprdn0
with vec_tmp at the end after freeing old *vec_oprnd0 vector.
(vectorizable_type_demotion, vectorizable_type_promotion): Removed.
(vect_analyze_stmt): Don't call vectorizable_type_demotion and
vectorizable_type_promotion.  Call vectorizable_conversion even
for SLP bb vectorization.
(vect_transform_stmt): Call vectorizable_conversion instead of
vectorizable_type_demotion and vectorizable_type_promotion.
(supportable_widening_operation): Clear *multi_step_cvt first,
simplify c1/c2 computation, free *interm_types vector on failure.
(supportable_narrowing_operation): Clear *multi_step_cvt first,
free *interm_types vector on failure, handle multi-step
FIX_TRUNC_EXPR.

* gcc.dg/torture/vec-cvt-1.c: New test.

From-SVN: r180932

12 years agodecl.c (gnat_to_gnu_entity): Do not assert that the type of the parameters isn't...
Eric Botcazou [Fri, 4 Nov 2011 10:27:02 +0000 (10:27 +0000)]
decl.c (gnat_to_gnu_entity): Do not assert that the type of the parameters isn't dummy in type_annotate_only...

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
that the type of the parameters isn't dummy in type_annotate_only mode.

From-SVN: r180931

12 years ago[multiple changes]
Arnaud Charlet [Fri, 4 Nov 2011 09:58:07 +0000 (10:58 +0100)]
[multiple changes]

2011-11-04  Matthew Heaney  <heaney@adacore.com>

* a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
added to package.

2011-11-04  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb: Minor reformatting

2011-11-04  Gary Dismukes  <dismukes@adacore.com>

* bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
initialize elaboration entities to zero when specs are processed.

From-SVN: r180930

12 years agofde-vms.c: Do not include md-unwind-support.h
Tristan Gingold [Fri, 4 Nov 2011 09:25:41 +0000 (09:25 +0000)]
fde-vms.c: Do not include md-unwind-support.h

2011-11-04  Tristan Gingold  <gingold@adacore.com>

* config/ia64/fde-vms.c: Do not include md-unwind-support.h

From-SVN: r180929

12 years agoalpha.c (alpha_write_linkage): Remove fundecl argument.
Tristan Gingold [Fri, 4 Nov 2011 09:11:27 +0000 (09:11 +0000)]
alpha.c (alpha_write_linkage): Remove fundecl argument.

2011-11-04  Tristan Gingold  <gingold@adacore.com>

* config/alpha/alpha.c (alpha_write_linkage): Remove fundecl
argument.  Conditionally generate crash debug info.  Adjust
for alpha_funcs_tree removal.
(machine_function): Add links field.
(alpha_start_function): Conditionally generate crash debug info.
(alpha_end_function): Adjust call to alpha_write_linkage.
(alpha_funcs): Remove.
(links_kind): Remove.
(alpha_links): Remove num, target and lkind field.  Add func field.
(alpha_links_tree): Remove.
(alpha_funcs_tree): Remove.
(alpha_need_linkage): Remove.
(alpha_use_linkage): Change prototype.  Adjust.
(alpha_write_one_linkage): Use ASM_OUTPUT_INTERNAL_LABEL.
Use SYMBOL_REF_EXTERNAL_P and SYMBOL_REF_LOCAL_P macro.
* config/alpha/alpha-protos.h (alpha_use_linkage): Update.
(alpha_need_linkage): Remove.
* config/alpha/alpha.md: Update calls to alpha_use_linkage.
Adjust calls to alpha_need_linkage.

From-SVN: r180928

12 years agore PR fortran/43829 (Scalarization of reductions)
Mikael Morin [Fri, 4 Nov 2011 00:45:48 +0000 (00:45 +0000)]
re PR fortran/43829 (Scalarization of reductions)

PR fortran/43829
* gfortran.dg/function_optimize_7.f90: Disable sum inlining.
* gfortran.dg/inline_sum_1.f90: New.
* gfortran.dg/inline_sum_2.f90: New.
* gfortran.dg/inline_sum_bounds_check_1.f90: New.
* gfortran.dg/inline_sum_bounds_check_2.f90: New.
* gfortran.dg/inline_product_1.f90: New.

From-SVN: r180922

12 years agot-sh: Use $(gcc_compile) instead of $(compile).
Kaz Kojima [Fri, 4 Nov 2011 00:41:58 +0000 (00:41 +0000)]
t-sh: Use $(gcc_compile) instead of $(compile).

* config/sh/t-sh: Use $(gcc_compile) instead of $(compile).

From-SVN: r180921

12 years agore PR fortran/43829 (Scalarization of reductions)
Mikael Morin [Fri, 4 Nov 2011 00:31:19 +0000 (00:31 +0000)]
re PR fortran/43829 (Scalarization of reductions)

PR fortran/43829
* trans-array.c (gfc_conv_expr_descriptor): Accept the inline intrinsic
case in the assertion.
* trans-intrinsic (enter_nested_loop): New function.
(gfc_conv_intrinsic_arith): Support non-scalar cases.
(nest_loop_dimension, walk_inline_intrinsic_arith): New functions.
(walk_inline_intrinsic_function): Handle sum and product.
(gfc_inline_intrinsic_function_p): Ditto.
* trans.h (gfc_get_loopinfo): New macro.

From-SVN: r180920

12 years agotrans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parent expression variable.
Mikael Morin [Fri, 4 Nov 2011 00:23:14 +0000 (00:23 +0000)]
trans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parent expression variable.

* trans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parent
expression variable.  Use it.

From-SVN: r180919

12 years agotrans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current loop pointer.
Mikael Morin [Fri, 4 Nov 2011 00:21:14 +0000 (00:21 +0000)]
trans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current loop pointer.

* trans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current loop
pointer.  Use it.

From-SVN: r180918

12 years agotrans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling cleanup.
Mikael Morin [Fri, 4 Nov 2011 00:19:11 +0000 (00:19 +0000)]
trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling cleanup.

* trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
cleanup.

From-SVN: r180917

12 years agoDaily bump.
GCC Administrator [Fri, 4 Nov 2011 00:18:17 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180916

12 years agotrans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.
Mikael Morin [Fri, 4 Nov 2011 00:17:07 +0000 (00:17 +0000)]
trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.

* trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.

From-SVN: r180913

12 years agofrontend-passes.c (cfe_register_funcs): Return early in the case of an inline intrins...
Mikael Morin [Fri, 4 Nov 2011 00:14:58 +0000 (00:14 +0000)]
frontend-passes.c (cfe_register_funcs): Return early in the case of an inline intrinsic function.

* frontend-passes.c (cfe_register_funcs): Return early in the case
of an inline intrinsic function.
(optimize_binop_array_assignment): Skip optimization in the case of
an inline intrinsic function.

From-SVN: r180911

12 years agoarray.c (match_subscript): Skip whitespaces before setting locus.
Mikael Morin [Fri, 4 Nov 2011 00:12:54 +0000 (00:12 +0000)]
array.c (match_subscript): Skip whitespaces before setting locus.

* array.c (match_subscript): Skip whitespaces before setting locus.
* matchexp.c (match_level_1): Ditto.

From-SVN: r180910

12 years agotrans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's temporary rank to the...
Mikael Morin [Fri, 4 Nov 2011 00:11:39 +0000 (00:11 +0000)]
trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's temporary rank to the loop rank.

* trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's
temporary rank to the loop rank. Mark ss chains for multiple loop
if necessary.  Use gfc_trans_scalarized_loop_boundary to end one loop
and start another.

From-SVN: r180909

12 years agotrans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's temporary rank to the...
Mikael Morin [Fri, 4 Nov 2011 00:09:27 +0000 (00:09 +0000)]
trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's temporary rank to the loop rank.

* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's
temporary rank to the loop rank. Mark ss chains for multiple loop
if necessary.  Use gfc_trans_scalarized_loop_boundary to end one loop
and start another.

From-SVN: r180908

12 years agotrans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate offset twice in...
Mikael Morin [Fri, 4 Nov 2011 00:05:51 +0000 (00:05 +0000)]
trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate offset twice in generated code.

* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate
offset twice in generated code.

From-SVN: r180907

12 years agotrans-expr.c (gfc_conv_procedure_call): Handle temporaries for arguments to elemental...
Mikael Morin [Fri, 4 Nov 2011 00:04:27 +0000 (00:04 +0000)]
trans-expr.c (gfc_conv_procedure_call): Handle temporaries for arguments to elemental calls.

* trans-expr.c (gfc_conv_procedure_call): Handle temporaries for
arguments to elemental calls.
* trans-stmt.c (replace_ss): New function.
(gfc_conv_elemental_dependencies): Remove temporary loop handling.
Create a new ss for the temporary and replace the original one with it.
Remove fake array references. Recalculate all offsets.

From-SVN: r180906

12 years agotrans-array.h (gfc_free_ss, [...]): New prototypes.
Mikael Morin [Fri, 4 Nov 2011 00:00:23 +0000 (00:00 +0000)]
trans-array.h (gfc_free_ss, [...]): New prototypes.

* trans-array.h (gfc_free_ss, gfc_set_delta): New prototypes.
* trans-array.c (gfc_free_ss): Remove forward declaration.
Make non-static.
(set_delta, gfc_set_delta): Remove forward declaration.
Make non-static and rename the former to the later. Update uses.

From-SVN: r180905

12 years agotrans.h (gfc_inline_intrinsic_function_p): Move prototype...
Mikael Morin [Thu, 3 Nov 2011 23:58:20 +0000 (23:58 +0000)]
trans.h (gfc_inline_intrinsic_function_p): Move prototype...

* trans.h (gfc_inline_intrinsic_function_p): Move prototype...
* gfortran.h (gfc_inline_intrinsic_function_p): ... here.
* dependency.c (gfc_check_argument_var_dependency): Check dependencies
of inline intrinsics' arguments.

From-SVN: r180904

12 years agotrans-array.c (gfc_trans_preloop_setup): New pointers to outer dimension's ss and...
Mikael Morin [Thu, 3 Nov 2011 23:56:20 +0000 (23:56 +0000)]
trans-array.c (gfc_trans_preloop_setup): New pointers to outer dimension's ss and loop.

* trans-array.c (gfc_trans_preloop_setup): New pointers to outer
dimension's ss and loop. Use them.

From-SVN: r180903