OSDN Git Service

pf3gnuchains/gcc-fork.git
13 years ago PR bootstrap/43699
jakub [Mon, 12 Apr 2010 13:27:07 +0000 (13:27 +0000)]
PR bootstrap/43699
* c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
for exprs satisfying handled_component_p.

* gcc.dg/Wunused-var-7.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158224 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/43560
jakub [Mon, 12 Apr 2010 10:18:39 +0000 (10:18 +0000)]
PR tree-optimization/43560
* gcc.c-torture/execute/pr43560.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158220 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
ebotcazou [Mon, 12 Apr 2010 10:00:13 +0000 (10:00 +0000)]
* expr.c (categorize_ctor_elements_1): Properly count sub-elements of
non-constant aggregate elements.

* gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
is a real initialization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158219 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-12 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 12 Apr 2010 09:52:50 +0000 (09:52 +0000)]
2010-04-12  Richard Guenther  <rguenther@suse.de>

PR c++/43611
* semantics.c (expand_or_defer_fn_1): Do not keep extern
template inline functions.

* g++.dg/torture/pr43611.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158218 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
ebotcazou [Mon, 12 Apr 2010 08:54:00 +0000 (08:54 +0000)]
* gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
(call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
front-end's predicate Is_By_Reference_Type.  Use consistent order and
remove ??? comment.  Use original conversion in all cases, if any.
* gcc-interface/utils.c (make_dummy_type): Minor tweak.
(convert): Use local copy in more cases.
<INDIRECT_REF>: Remove deactivated code.
(unchecked_convert): Use a couple of local copies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158216 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
pzhao [Mon, 12 Apr 2010 03:43:21 +0000 (03:43 +0000)]
gcc/
2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c/36774
        * c-decl.c (start_function): Move forward check for nested function.

gcc/testsuite/
2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c/36774
        * gcc.dg/pr36774-1.c: New test.
        * gcc.dg/pr36774-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158214 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Mon, 12 Apr 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158212 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
kkojima [Sun, 11 Apr 2010 22:59:36 +0000 (22:59 +0000)]
* config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
* config/sh/sh.c: Include reload.h.
(sh_legitimize_reload_address): New.
* config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
sh_legitimize_reload_address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158208 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/sh/sh.md (*movqi_pop): New insn pattern.
kkojima [Sun, 11 Apr 2010 22:53:30 +0000 (22:53 +0000)]
* config/sh/sh.md (*movqi_pop): New insn pattern.
* config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
* gcc.target/sh/rte-delay-slot.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158207 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (any_shiftrt): New code iterator.
uros [Sun, 11 Apr 2010 20:40:02 +0000 (20:40 +0000)]
* config/i386/i386.md (any_shiftrt): New code iterator.
(shiftrt_insn): New code attribute.
(shiftrt): Ditto.
(<shiftrt_insn><mode>3): Macroize expander from ashr<mode>3 and
lshr<mode>3 using any_shiftrt code iterator.
(*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
*ashr<mode>3_doubleword and *lshr<mode>3_doubleword using
any_shiftrt code iterator.
(*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
pattern from corresponding peephole2 patterns.
(*<shiftrt_insn><mode>3_1): Macroize insn from *ashr<mode>3_1
and *lshr<mode>3_1 using any_shiftrt code iterator.
(*<shiftrt_insn>si3_1_zext): Ditto from *ashrsi3_1_zext
and *lshrsi3_1_zext.
(*<shiftrt_insn>qi3_1_slp): Ditto from *ashrqi3_1_slp
and *lshrqi3_1_slp.
(*<shiftrt_insn><mode>3_cmp): Ditto from *ashr<mode>3_cmp
and *lshr<mode>3_cmp.
(*<shiftrt_insn><mode>3_cmp_zext): Ditto from *ashr<mode>3_cmp_zext
and *lshr<mode>3_cmp_zext.
(*<shiftrt_insn><mode>3_cconly): Ditto from *ashr<mode>3_cconly
and *lshr<mode>3_cconly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158205 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
uros [Sun, 11 Apr 2010 14:26:27 +0000 (14:26 +0000)]
* config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
scratch register.
(*lshr<mode>3_cconly): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158204 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (lshr<mode>3): Macroize expander from
uros [Sun, 11 Apr 2010 14:04:35 +0000 (14:04 +0000)]
* config/i386/i386.md (lshr<mode>3): Macroize expander from
lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
(*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
pattern from *lshr{di,ti}3_1 and corresponding splitters using
DWI mode iterator.
(*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
from corresponding peephole2 patterns.
(*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
*lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
and *lshrdi3_cmp_rex64 using SWI mode iterator.
(*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
(*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
*lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
and *lshrdi3_cmp_rex64 using SWI mode iterator.
(*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
(*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
*lshrdi3_one_bit_cconly_rex64. Macroize insn from
*lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
SWI mode iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158203 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
ebotcazou [Sun, 11 Apr 2010 11:49:22 +0000 (11:49 +0000)]
* gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
function.
(lvalue_required_p) <N_Attribute_Reference>: Call it.
(gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
folding the result only if lvalue_required_for_attribute_p is true.
* gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
typed constant to build_component_ref.
(unchecked_convert): Likewise.
* gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
(build_allocator): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158202 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/utils2.c (build_cond_expr): Take the address and
ebotcazou [Sun, 11 Apr 2010 11:23:32 +0000 (11:23 +0000)]
* gcc-interface/utils2.c (build_cond_expr): Take the address and
dereference if the result type is passed by reference.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158201 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
ebotcazou [Sun, 11 Apr 2010 11:11:49 +0000 (11:11 +0000)]
* gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
(gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
goto to the next statement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158200 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sun, 11 Apr 2010 00:17:00 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158199 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (ashr<mode>3): Macroize expander from
uros [Sat, 10 Apr 2010 17:20:47 +0000 (17:20 +0000)]
* config/i386/i386.md (ashr<mode>3): Macroize expander from
ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
(*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
pattern from *ashr{di,ti}3_1 and corresponding splitters using
DWI mode iterator.
(*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
from corresponding peephole2 patterns.
(ashrdi3_cvt): Rename from ashrdi3_63_rex64.
(ashrsi3_cvt): Rename from ashrsi3_31.
(*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
(x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
and x86_64_shift_adj_3 using SWI48 mode iterator.
(*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
*ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
and *ashrdi3_cmp_rex64 using SWI mode iterator.
(*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
(*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
*ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
and *ashrdi3_cmp_rex64 using SWI mode iterator.
(*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
(*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
*ashrdi3_one_bit_cconly_rex64. Macroize insn from
*ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
SWI mode iterator.
(sign_extend splitters): Update for renamed ashr{di,si}3_patterns.
* config/i386/i386.c (ix86_split_ashr): Update for renamed
x86_shift<mode>_adj_3 expander.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158195 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/43417
jiez [Sat, 10 Apr 2010 15:12:14 +0000 (15:12 +0000)]
PR target/43417
* gcc.target/sh/pr43417.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158192 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-10 Tobias Burnus <burnus@net-b.de>
burnus [Sat, 10 Apr 2010 14:24:46 +0000 (14:24 +0000)]
2010-04-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43591
        * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
        proc-pointers and type-bound procedures.
        (gfc_specification_expr): Check proc-pointers for pureness.

2010-04-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43591
        * gfortran.dg/spec_expr_6.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158191 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/42601
carrot [Sat, 10 Apr 2010 13:13:47 +0000 (13:13 +0000)]
PR target/42601
* config/arm/arm.c (arm_pic_static_addr): New function.
(legitimize_pic_address): Call arm_pic_static_addr when it detects
a static symbol.
(arm_output_addr_const_extra): Output expression for new pattern.
* config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158189 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * reload1.c (eliminate_regs_in_insn): Don't restore an operand
bernds [Sat, 10 Apr 2010 12:33:17 +0000 (12:33 +0000)]
* reload1.c (eliminate_regs_in_insn): Don't restore an operand
if doing so would replace the entire pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158188 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
bernds [Sat, 10 Apr 2010 12:30:29 +0000 (12:30 +0000)]
* Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
* web.c: Include "insn-config.h" and "recog.h".
(union_match_dups): New function.
(web_main): Call it.
(union_defs): Don't try to recognize match_dups.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158187 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * ira-costs.c (record_reg_classes): Ignore alternatives that are
bernds [Sat, 10 Apr 2010 12:28:25 +0000 (12:28 +0000)]
* ira-costs.c (record_reg_classes): Ignore alternatives that are
not enabled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158186 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sat, 10 Apr 2010 00:16:59 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158181 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/43707
uros [Fri, 9 Apr 2010 21:12:42 +0000 (21:12 +0000)]
PR target/43707
PR target/43709
* config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
and splitter pattern.  Change splitter operand 1 predicate to
nonmemory_operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158177 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 9 Apr 2010 20:24:11 +0000 (20:24 +0000)]
2010-04-09  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
lattices are addresses of CONST_DECLs with the same initial value.
(ipcp_print_all_lattices): Print values of CONST_DECLs.
* ipa-prop.c (ipa_print_node_jump_functions): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158176 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * loop-invariant.c (replace_uses): New static function.
ebotcazou [Fri, 9 Apr 2010 20:13:59 +0000 (20:13 +0000)]
* loop-invariant.c (replace_uses): New static function.
(move_invariant_reg): Use it to ensure we can replace the uses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158175 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/picochip/picochip.c (picochip_rtx_costs): Use correct function
hariharans [Fri, 9 Apr 2010 19:25:03 +0000 (19:25 +0000)]
    * config/picochip/picochip.c (picochip_rtx_costs): Use correct function
          template.
          (picochip_override_options): Enable section anchors only above O1.
          (picochip_reorg): Fixed a couple of build warnings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158174 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * configure.ac (plugin -rdynamic test): Log result.
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Fri, 9 Apr 2010 17:35:18 +0000 (17:35 +0000)]
* configure.ac (plugin -rdynamic test): Log result.
* configure: Regenerate.
* config/sol2.h (LINK_SPEC): Handle -rdynamic.
(RDYNAMIC_SPEC): Define.
* config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158173 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * configure.ac: Determine Sun ld version numbers.
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Fri, 9 Apr 2010 17:32:54 +0000 (17:32 +0000)]
* configure.ac: Determine Sun ld version numbers.
(comdat_group): Restrict GNU ld version checks to gld.
(comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
(enable_comdat): Support --enable-comdat.
* configure: Regenerate.
* doc/install.texi (Configuration): Document --enable-comdat.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158172 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/sparc/sol2-gld.h: Remove SPARC reference.
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Fri, 9 Apr 2010 17:02:52 +0000 (17:02 +0000)]
* config/sparc/sol2-gld.h: Remove SPARC reference.
Rename ...
* config/sol2-gld.h: ... here.
* config.gcc (sparc*-*-solaris2*): Reflect this.
(i[34567]86-*-solaris2*): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158171 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Steve Ellcey <sje@cup.hp.com>
sje [Fri, 9 Apr 2010 16:25:21 +0000 (16:25 +0000)]
2010-04-09  Steve Ellcey  <sje@cup.hp.com>

* config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
setup_clocks_p.
(final_emit_insn_group_barriers): Remove unused variable prev_insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158170 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Fri, 9 Apr 2010 16:08:42 +0000 (16:08 +0000)]
2010-04-09  Manuel López-Ibáñez <manu@gcc.gnu.org>

PR cpp/43195
libcpp/
* files.c (report_missing_guard): Test for #pragma once.
testsuite/
* gcc.dg/cpp/pr43195.c: New.
* gcc.dg/cpp/pr43195.h: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158169 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Fri, 9 Apr 2010 15:45:52 +0000 (15:45 +0000)]
2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR 42965
* diagnostic.c (diagnostic_initialize): Initialize
some_warnings_are_errors.
(diagnostic_finish): New.
(diagnostic_action_after_output): Call it before exiting.
(diagnostic_report_diagnostic): Do not print message here. Set
some_warnings_are_errors.
* diagnostic.h (diagnostic_context): Delete
issue_warnings_are_errors_message. Add some_warnings_are_errors.
(diagnostic_finish): Declare.
* toplev.c (toplev_main): Call it before exit.
testsuite/
* gcc.dg/Werror-6.c: Adjust.
* gcc.dg/Werror-implicit-function-declaration.c: Likewise.
* gcc.dg/Werror-4.c: Likewise.
* gcc.dg/Wdeclaration-after-statement-3.c: Likewise.
* gcc.dg/Wswitch-enum-error.c: Likewise.
* gcc.dg/Wpointer-arith.c: Likewise.
* gcc.dg/Wfatal.c: Likewise.
* gcc.dg/Wswitch-error.c: Likewise.
* g++.dg/warn/unused-result1-Werror.c: Likewise.
* gcc.dg/Werror-9.c: Delete. Duplicate of Werror-4.c.
* gcc.dg/cpp/warn-undef-2.c: Likewise.
* gcc.dg/cpp/warn-traditional-2.c: Likewise.
* gcc.dg/cpp/warn-comments-2.c: Likewise.
* gcc.dg/cpp/warn-variadic-2.c: Likewise.
* gcc.dg/cpp/warning-directive-2.c: Likewise.
* gcc.dg/cpp/warn-long-long-2.c: Likewise.
* gcc.dg/cpp/warn-deprecated-2.c: Likewise.
* gcc.dg/cpp/warn-multichar-2.c: Likewise.
* gcc.dg/cpp/warn-normalized-3.c: Likewise.
* gcc.dg/cpp/warn-cxx-compat-2.c: Likewise.
* gcc.dg/cpp/warn-trigraphs-3.c: Likewise.
* gcc.dg/cpp/warn-unused-macros-2.c: Likewise.
* gcc.dg/cpp/warn-trigraphs-4.c: Likewise.
* gcc.dg/cpp/warn-redefined-2.c: Likewise.
* g++.dg/cpp/warning-directive-2.C: Likewise.
* gfortran.dg/warning-directive-2.F90: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158168 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/42623
jason [Fri, 9 Apr 2010 15:20:58 +0000 (15:20 +0000)]
PR c++/42623
* c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
for incomplete type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158167 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/41788
jason [Fri, 9 Apr 2010 15:19:17 +0000 (15:19 +0000)]
PR c++/41788
* stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
based on a warning flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158166 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Apr 2010 13:44:49 +0000 (13:44 +0000)]
2010-04-09  Richard Guenther  <rguenther@suse.de>

* tree-pretty-print.c (dump_generic_node): Dump
TYPE_VECTOR_SUBPARTS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158165 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
iains [Fri, 9 Apr 2010 13:34:33 +0000 (13:34 +0000)]
gcc/
2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>

PR bootstrap/43684
* varasm.c (default_assemble_visibility): Wrap vars that are
set, but unused, by targets without GAS.
* config/rs6000/rs6000.c: (paired_emit_vector_compare):
Remove set, but unused, vars.
(rs6000_legitimize_tls_address): Likewise.
(altivec_expand_dst_builtin): Likewise.
* config/darwin.c (machopic_classify_symbol): Likewise.
(machopic_indirection_name): Likewise.

gcc/fortran/
2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>

PR bootstrap/43684
* gfortranspec.c (lang_specific_driver): Do not expose vars
only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
for such.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158164 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (DWI): New mode iterator.
uros [Fri, 9 Apr 2010 13:29:24 +0000 (13:29 +0000)]
* config/i386/i386.md (DWI): New mode iterator.
(S): New mode attribute.
(shift_operand): Ditto.
(shift_immediate_operand): Ditto.
(ashl_input_operand): Ditto.
(ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
using SDWIM mode iterator.
(*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
pattern from *ashl{di,ti}3_1 and corresponding splitters using
DWI mode iterator.
(*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
from corresponding peephole2 patterns.
(x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
and x86_64_shift_adj_1 using SWI48 mode iterator.
(x86_shift<mode>_adj_2): Ditto.
(*ashldi3_1_rex64): Split TYPE_LEA pattern.
(*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
using SWI48 mode iterator.
(*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
*ashldi3_cmp_rex64 using SWI mode iterator.
(*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
*ashldi3_cconly_rex64 using SWI mode iterator.
* config/i386/i386.c (ix86_split_ashl): Update for renamed
x86_shift<mode>_adj_{1,2}.
(ix86_split_ashr): Ditto.
(ix86_split_lshr): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158163 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Apr 2010 13:21:43 +0000 (13:21 +0000)]
2010-04-09  Richard Guenther  <rguenther@suse.de>

* target.h (builtin_conversion): Pass in input and output types.
* targhooks.c (default_builtin_vectorized_conversion): Adjust.
* targhooks.h (default_builtin_vectorized_conversion): Likewise.
* tree-vect-stmts.c (vectorizable_conversion): Adjust.
* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.

* config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
Handle AVX modes.
* config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158162 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/gigi.h (maybe_variable): Delete.
ebotcazou [Fri, 9 Apr 2010 10:49:46 +0000 (10:49 +0000)]
* gcc-interface/gigi.h (maybe_variable): Delete.
(protect_multiple_eval): Likewise.
(maybe_stabilize_reference): Likewise.
(gnat_save_expr): Declare.
(gnat_protect_expr): Likewise.
(gnat_stabilize_reference): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
gnat_stabilize_reference.
(maybe_variable): Delete.
(elaborate_expression_1): Use gnat_save_expr.
* gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr.
(call_to_gnu): Pass NULL to gnat_stabilize_reference.
(gnat_to_gnu) <N_Object_Declaration>: Use gnat_save_expr.
<N_Slice>: Use gnat_protect_exp.
<N_Selected_Component>: Pass NULL to gnat_stabilize_reference.
<N_In>: Use gnat_protect_expr.
Pass NULL to gnat_stabilize_reference.
(build_unary_op_trapv): Use gnat_protect_expr.
(build_binary_op_trapv): Likewise.
(emit_range_check): Likewise.
(emit_index_check): Likewise.
(convert_with_check): Likewise.
(protect_multiple_eval): Move to utils2.c file.
(maybe_stabilize_reference): Merge into...
(gnat_stabilize_reference): ...this.  Move to utils2.c file.
(gnat_stabilize_reference_1): Likewise.
* gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr
instead of protect_multiple_eval.
* gcc-interface/utils2.c (compare_arrays): Likewise.
(nonbinary_modular_operation): Likewise.
(maybe_wrap_malloc): Likewise.
(build_allocator): Likewise.
(gnat_save_expr): New function.
(gnat_protect_expr): Rename from protect_multiple_eval.  Early return
in common cases.  Propagate TREE_READONLY onto dereferences.
(gnat_stabilize_reference_1): Move from trans.c file.
(gnat_stabilize_reference): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158159 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Apr 2010 10:41:37 +0000 (10:41 +0000)]
2010-04-09  Richard Guenther  <rguenther@suse.de>

PR target/43152
* config/i386/sse.md (vcond<mode>): Handle AVX modes as well.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158158 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Apr 2010 10:40:14 +0000 (10:40 +0000)]
2010-04-09  Richard Guenther  <rguenther@suse.de>

* tree-vectorizer.h (struct _stmt_vec_info): Document
that vectype is the type of the LHS.
(supportable_widening_operation, supportable_narrowing_operation):
Get both input and output vector types as arguments.
(vect_is_simple_use_1): Declare.
(get_same_sized_vectype): Likewise.
* tree-vect-loop.c (vect_determine_vectorization_factor):
Set STMT_VINFO_VECTYPE to the vector type of the def.
(vectorizable_reduction): Adjust.
* tree-vect-patterns.c (vect_recog_widen_mult_pattern):
Adjust.  Specify the output vector type.
(vect_pattern_recog_1): Adjust.
* tree-vect-stmts.c (get_same_sized_vectype): New function.
(vectorizable_call): Adjust.
(vectorizable_conversion): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_type_demotion): Likewise.
(vectorizable_type_promotion): Likewise.
(vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
the def.
(vect_is_simple_use_1): New function.
(supportable_widening_operation): Get both input and output
vector types.
(supportable_narrowing_operation): Likewise.
* tree-vect-slp.c (vect_schedule_slp_instance): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158157 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.
ebotcazou [Fri, 9 Apr 2010 10:10:25 +0000 (10:10 +0000)]
* gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.
* gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF
node.  Use the type of the operand to set TREE_READONLY.
* gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on
_REF node.  Do not overwrite TREE_READONLY.
(call_to_gnu): Rename local variable and fix various nits.  In the
copy-in/copy-out case, build the SAVE_EXPR manually.
(convert_with_check): Call protect_multiple_eval in lieu of save_expr
and fold the computations.
(protect_multiple_eval): Always save entire fat pointers.
(maybe_stabilize_reference): Minor tweaks.
(gnat_stabilize_reference_1): Likewise.  Do not deal with tcc_constant,
tcc_type and tcc_statement.
* gcc-interface/utils.c (convert_to_fat_pointer): Call
protect_multiple_eval in lieu of save_expr.
(convert): Minor tweaks.
(maybe_unconstrained_array): Do not set TREE_STATIC on _REF node.
(builtin_type_for_size): Call gnat_type_for_size directly.
* gcc-interface/utils2.c (contains_save_expr_p): Delete.
(contains_null_expr): Likewise
(gnat_build_constructor): Do not call it.
(compare_arrays): Deal with all side-effects, use protect_multiple_eval
instead of gnat_stabilize_reference to protect the operands.
(nonbinary_modular_operation): Call protect_multiple_eval in lieu of
save_expr.
(maybe_wrap_malloc): Likewise.
(build_allocator): Likewise.
(build_unary_op) <INDIRECT_REF>: Do not set TREE_STATIC on _REF node.
(gnat_mark_addressable): Rename parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158156 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Kai Tietz <kai.tietz@onevision.com>
ktietz [Fri, 9 Apr 2010 08:58:00 +0000 (08:58 +0000)]
2010-04-09  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
        __thiscall and _thiscall as predefined macros.
        * config/i386/i386.c (ix86_handle_cconv_attribute): Add
        thiscall attribute handling.
        (ix86_comp_type_attributes): Likewise.
        (ix86_function_regparm): Likewise.
        (ix86_return_pops_args): Likewise.
        (init_cumulative_args): Likewise.
        (find_drap_reg): Likewise.
        (ix86_static_chain): Likewise.
        (x86_this_parameter): Likewise.
        (x86_output_mi_thunk): Likewise.
        (ix86_attribute_table): Add description for thiscall attribute.
        * config/i386/i386.h (ix86_args): Adjust comment for member
        fastcall.
        * doc/extend.texi: Add documentation for thiscall.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158155 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Kai Tietz <kai.tietz@onevision.com>
ktietz [Fri, 9 Apr 2010 08:52:54 +0000 (08:52 +0000)]
2010-04-09  Kai Tietz  <kai.tietz@onevision.com>

        * g++.dg/other/pr35504.C: Add check for thiscall.
        * g++.dg/torture/stackalign/eh-thiscall-1.C: New.
        * gcc.dg/torture/stackalign/thiscall-1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158153 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Fri, 9 Apr 2010 07:49:41 +0000 (07:49 +0000)]
2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/28584
* c.opt (Wint-to-pointer-cast): Available in C++.
* doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
cp/
* typeck.c (cp_build_c_cast): Warn for casting integer to larger
pointer type.
testsuite/
* gcc.dg/Wint-to-pointer-cast-1.c: Move to...
* c-c++-common/Wint-to-pointer-cast-1.c: ...  here.
* gcc.dg/Wint-to-pointer-cast-2.c: Move to...
* c-c++-common/Wint-to-pointer-cast-2.c: ...  here.
* gcc.dg/Wint-to-pointer-cast-3.c: Move to...
* c-c++-common/Wint-to-pointer-cast-3.c: ...  here. Update.
* g++.old-deja/g++.mike/warn1.C: Add -Wno-int-to-pointer-cast.
* g++.dg/other/increment1.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158150 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-09 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 9 Apr 2010 05:54:29 +0000 (05:54 +0000)]
2010-04-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * decl.c (variable_decl, match_attr_spec): Fix setting the array
        spec.
        * array.c (match_subscript,gfc_match_array_ref): Add coarray
        * support.
        * data.c (gfc_assign_data_value): Ditto.
        * expr.c (gfc_check_pointer_assign): Add check for coarray
        * constraint.
        (gfc_traverse_expr): Traverse also through codimension expressions.
        (gfc_is_coindexed, gfc_has_ultimate_allocatable,
        gfc_has_ultimate_pointer): New functions.
        * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for
        * coarrays.
        (gfc_array_ref): Add codimen.
        (gfc_array_ref): Add in_allocate.
        (gfc_is_coindexed, gfc_has_ultimate_allocatable,
        gfc_has_ultimate_pointer): Add prototypes.
        * interface.c (compare_parameter, compare_actual_formal,
        check_intents): Add coarray constraints.
        * match.c (gfc_match_iterator): Add coarray constraint.
        * match.h (gfc_match_array_ref): Update interface.
        * primary.c (gfc_match_varspec): Handle codimensions.
        * resolve.c (coarray_alloc, inquiry_argument): New static
        * variables.
        (check_class_members): Return gfc_try instead for error recovery.
        (resolve_typebound_function,resolve_typebound_subroutine,
        check_members): Handle return value of check_class_members.
        (resolve_structure_cons, resolve_actual_arglist, resolve_function,
        check_dimension, compare_spec_to_ref, resolve_array_ref,
        resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
        resolve_allocate_expr, resolve_ordinary_assign): Add coarray
        support.
        * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
        Skip over coarray refs.
        (gfc_array_allocate) Add support for references containing coindexes.
        * trans-expr.c (gfc_add_interface_mapping): Copy coarray
        * attribute.
        (gfc_map_intrinsic_function): Ignore codimensions.

2010-04-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_7.f90: New test.
        * gfortran.dg/coarray_8.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158149 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-08 Bud Davis <bdavis9659@sbcglobal.net>
jvdelisle [Fri, 9 Apr 2010 03:25:09 +0000 (03:25 +0000)]
2010-04-08  Bud Davis  <bdavis9659@sbcglobal.net>

PR fortran/28039
* gfortran.dg/fmt_with_extra.f: Remove xfail and update test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158148 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-08 Bud Davis <bdavis9659@sbcglobal.net>
jvdelisle [Fri, 9 Apr 2010 02:03:10 +0000 (02:03 +0000)]
2010-04-08  Bud Davis  <bdavis9659@sbcglobal.net>

PR fortran/28039
* io.c (check_format_string):  Added check for additional non
blank characters after the format string was successfully
parsed.
* io.c (check_format): Changed the error messages for positive
int required and period required to drop through the error logic
and report with gfc_error instead of gfc_error_now.  Corrected
format postion for hollerith strings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158147 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Fri, 9 Apr 2010 00:17:20 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158143 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
ebotcazou [Thu, 8 Apr 2010 20:16:36 +0000 (20:16 +0000)]
* tree.h (TREE_ADDRESSABLE): Document its effect for function types.
* calls.c (expand_call): Pass the function type to aggregate_value_p.
* function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
function type instead.  Reorder and simplify checks.

* gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
ada/
* gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
(TYPE_RETURN_UNCONSTRAINED_P): ...this.
(TYPE_RETURNS_BY_REF_P): Rename into.
(TYPE_RETURN_BY_DIRECT_REF_P): ...this.
(TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
* gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
(build_return_expr): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
Rename local variables.  If the return Mechanism is By_Reference, pass
return_by_invisible_ref_p to create_subprog_type instead of toggling
TREE_ADDRESSABLE.  Test return_by_invisible_ref_p in order to annotate
the mechanism.  Use regular return for contrained types with non-static
size and return by invisible reference for unconstrained return types
with default discriminants.  Update comment.
* gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
returns by invisible reference, turn the RESULT_DECL into a pointer.
Do not handle DECL_BY_REF_P in the CICO case here.
(call_to_gnu): Remove code handling return by target pointer.  For a
function call, if the return type has non-constant size, generate the
assignment with an INIT_EXPR.
(gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case.
If the function returns by invisible reference, build the copy return
operation manually.
(add_decl_expr): Initialize the variable with an INIT_EXPR.
* gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
Adjust for renaming of macros.  Copy the node only when necessary.
(create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
type, only change DECL_BY_REFERENCE on the RETURN_DECL.
(convert_from_reference): Delete.
(is_byref_result): Likewise.
(gnat_genericize_r): Likewise.
(gnat_genericize): Likewise.
(end_subprog_body): Do not call gnat_genericize.
* gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case.
(build_return_expr): Adjust parameter names, logic and comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158139 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix a problematic logic at unswitch-loops pass.
jingyu [Thu, 8 Apr 2010 18:16:57 +0000 (18:16 +0000)]
Fix a problematic logic at unswitch-loops pass.

2010-04-07  Jing Yu  <jingyu@google.com>
            Zdenek Dvorak  <ook@ucw.cz>

PR tree-optimization/42720
* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
loop unswitch conditions here from
(tree_unswitch_single_loop).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158138 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix comments, simplify logic.
spop [Thu, 8 Apr 2010 17:32:23 +0000 (17:32 +0000)]
Fix comments, simplify logic.

2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>

* tree-if-conv.c: Fix comments and simplify logic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158136 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoRemove unused parameter.
spop [Thu, 8 Apr 2010 17:32:17 +0000 (17:32 +0000)]
Remove unused parameter.

2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>

* tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
(tree_if_conversion): Same.  Update call to if_convertible_loop_p.
(main_tree_if_conversion): Update call to tree_if_conversion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158135 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
manu [Thu, 8 Apr 2010 17:21:26 +0000 (17:21 +0000)]
2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR 42485
* doc/invoke.texi (-b,-V): Delete.
* doc/tm.texi: Do not mention -b.
* gcc.c (display_help): Delete -b and -V.
(process_command): Delete -b and -V.
* gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158134 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
krebbel [Thu, 8 Apr 2010 15:07:57 +0000 (15:07 +0000)]
2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
            Wolfgang Gellerich  <gellerich@de.ibm.com>

        Implement target hook for loop unrolling
        * target.h (loop_unroll_adjust): Add a new target hook function.
        * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
        * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
        * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
        (s390_loop_unroll_adjust): Implement the new target hook for s390.
        * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll target hook
        (decide_unroll_stupid): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158132 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago gcc:
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Thu, 8 Apr 2010 14:48:46 +0000 (14:48 +0000)]
gcc:
PR target/43643
* config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.

gcc/testsuite:
PR target/43643
* gcc.dg/pr43643.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158130 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-08 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 8 Apr 2010 14:44:37 +0000 (14:44 +0000)]
2010-04-08  Tobias Burnus  <burnus@net-b.de>

        * module.c (use_iso_fortran_env_module): Fix standard check.

2010-04-08  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/iso_fortran_env_6.f90: Add more checks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158129 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Thu, 8 Apr 2010 14:41:43 +0000 (14:41 +0000)]
* doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
(Specific, *-*-solaris2*): Likewise.
Don't prefer Sun as over GNU as.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158127 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
krebbel [Thu, 8 Apr 2010 11:45:34 +0000 (11:45 +0000)]
2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>

* config/s390/s390.c (override_options): Adjust the z10
          defaults for max-unroll-times, max-completely-peeled-insns
          and max-completely-peel-times.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158122 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Thu, 8 Apr 2010 11:23:23 +0000 (11:23 +0000)]
2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_expand_movmem): Issue prefetch
instructions for z10.
(s390_expand_setmem): Likewise.
(s390_expand_cmpmem): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158116 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-08 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 8 Apr 2010 10:21:23 +0000 (10:21 +0000)]
2010-04-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43679
* tree-ssa-pre.c (eliminate): Only propagate copies.

* gcc.c-torture/compile/pr43679.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158112 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR bootstrap/43681
jakub [Thu, 8 Apr 2010 10:12:35 +0000 (10:12 +0000)]
PR bootstrap/43681
* expr.c (block_move_libcall_safe_for_call_parm): Avoid
set but not used variable warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158111 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/41653
carrot [Thu, 8 Apr 2010 09:27:44 +0000 (09:27 +0000)]
    PR target/41653
        * config/arm/arm.c (thumb1_size_rtx_costs): New function.
        (arm_size_rtx_costs): Call the new function when optimized for size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158110 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR debug/43670
jakub [Thu, 8 Apr 2010 09:16:28 +0000 (09:16 +0000)]
PR debug/43670
* cfgexpand.c (expand_debug_expr): If for non-NULL offset
op0 is not a MEM, just return NULL instead of assertion
failure.
(discover_nonconstant_array_refs): Don't walk debug stmts.

* gcc.dg/pr43670.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158108 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-07 Doug Kwan <dougkwan@google.com>
dougkwan [Thu, 8 Apr 2010 08:41:50 +0000 (08:41 +0000)]
2010-04-07  Doug Kwan  <dougkwan@google.com>

* configure.ac: Recognize gold and do not use its version number
to test ld features.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158106 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/40815
mkuvyrkov [Thu, 8 Apr 2010 08:20:36 +0000 (08:20 +0000)]
PR middle-end/40815
* tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
(negate_value): Move code to push elements to broken_up_substracts ...
(eliminate_plus_minus_pair): ... here.  Push operands that have no
negative pair to plus_negates.
(repropagate_negates, init_reassoc, fini_reassoc): Update.

PR middle-end/40815
* gcc.dg/tree-ssa/reassoc-19.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158105 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Thu, 8 Apr 2010 00:17:39 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158103 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/43016
jason [Wed, 7 Apr 2010 22:16:15 +0000 (22:16 +0000)]
PR c++/43016
* decl.c (start_preparsed_function): Do defer nested functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158095 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * crontab: Switch 4.5 snapshots to 4.5 branch.
jsm28 [Wed, 7 Apr 2010 21:36:44 +0000 (21:36 +0000)]
* crontab: Switch 4.5 snapshots to 4.5 branch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158091 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoMove LTO build option description to correct subheading.
rwild [Wed, 7 Apr 2010 20:52:27 +0000 (20:52 +0000)]
Move LTO build option description to correct subheading.

gcc/:
* doc/install.texi (Configuration): Move description of
--enable-lto, --with-libelf*, --enable-gold from Java section to
general section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158089 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix documentation typos.
rwild [Wed, 7 Apr 2010 20:49:41 +0000 (20:49 +0000)]
Fix documentation typos.

gcc/:
* doc/generic.texi (Working with declarations)
(Function Properties, C and C++ Trees): Fix typos.
* doc/sourcebuild.texi (Top Level): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158088 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c/18624
jakub [Wed, 7 Apr 2010 20:33:36 +0000 (20:33 +0000)]
PR c/18624
* tree.h (DECL_READ_P): Define.
(struct tree_decl_common): Add decl_read_flag.
* c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
a set but not used warning.
(merge_decls): Merge DECL_READ_P flag.
(finish_decl, build_compound_literal): Set DECL_READ_P flag.
(finish_function): Issue -Wunused-but-set-parameter diagnostics.
* c-common.c (handle_used_attribute, handle_unused_attribute):
Likewise.
* c-tree.h (default_function_array_read_conversion, mark_exp_read):
New prototypes.
* c-typeck.c (default_function_array_read_conversion, mark_exp_read):
New functions.
(default_conversion, c_process_expr_stmt): Call mark_exp_read.
* c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
c_parser_binary_expression, c_parser_cast_expression,
c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
Call default_function_array_read_conversion instead of
default_function_array_conversion where needed.
(c_parser_unary_expression, c_parser_conditional_expression,
c_parser_postfix_expression_after_primary, c_parser_initelt):
Likewise.  Call mark_exp_read where needed.
(c_parser_statement_after_labels, c_parser_asm_operands,
c_parser_typeof_specifier, c_parser_sizeof_expression,
c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
where needed.
* common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
New.
* toplev.c (warn_unused_but_set_variable): Default to warn_unused.
(warn_unused_but_set_parameter): Default to warn_unused
&& extra_warnings.
* doc/invoke.texi: Document -Wunused-but-set-variable and
-Wunused-but-set-parameter.

* objc-act.c (finish_var_decl, objc_begin_catch_clause,
really_start_method, get_super_receiver, handle_class_ref): Set
DECL_READ_P in addition to TREE_USED.

* gcc.dg/Wunused-var-1.c: New test.
* gcc.dg/Wunused-var-2.c: New test.
* gcc.dg/Wunused-var-3.c: New test.
* gcc.dg/Wunused-var-4.c: New test.
* gcc.dg/Wunused-var-5.c: New test.
* gcc.dg/Wunused-var-6.c: New test.
* gcc.dg/Wunused-parm-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158086 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
jakub [Wed, 7 Apr 2010 20:29:01 +0000 (20:29 +0000)]
* tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
used count variable.
* genemit.c (gen_expand, gen_split): Avoid set but not used warnings
when operandN variables aren't used in the body of the expander
or splitter.
* tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
* tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
* tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
FOR_EACH_IMM_USE_ON_STMT): Likewise.
* tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
* tree.c (PROCESS_ARG): Likewise.
fortran/
* parse.c (parse_derived, parse_enum): Avoid set but not used
warning.
java/
* expr.c (process_jvm_instruction): Avoid set but not used warning.
* builtins.c (compareAndSwapInt_builtin, compareAndSwapLong_builtin,
getVolatile_builtin): Likewise.
libjava/
* exception.cc (_Jv_Throw): Avoid set but not used warning.
* include/java-assert.h (JvAssertMessage, JvAssert): Use argument in
sizeof to avoid set but not used warnings.
libjava/classpath/
* native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaPortDevice.c
(Java_gnu_javax_sound_midi_alsa_AlsaPortDevice_run_1receiver_1thread_1):
Avoid set but not used warning.
libiberty/
* regex.c (byte_re_match_2_internal): Avoid set but not used
warning.
gcc/testsuite/
* gcc.dg/builtin-choose-expr.c: Avoid set but not used warnings.
* gcc.dg/trunc-1.c: Likewise.
* gcc.dg/vla-9.c: Likewise.
* gcc.dg/dfp/composite-type.c: Likewise.
libffi/
* testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158085 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
jakub [Wed, 7 Apr 2010 20:27:37 +0000 (20:27 +0000)]
* tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
used count variable.
* genemit.c (gen_expand, gen_split): Avoid set but not used warnings
when operandN variables aren't used in the body of the expander
or splitter.
* tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
* tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
* tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
FOR_EACH_IMM_USE_ON_STMT): Likewise.
* tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
* tree.c (PROCESS_ARG): Likewise.
fortran/
* parse.c (parse_derived, parse_enum): Avoid set but not used
warning.
java/
* expr.c (process_jvm_instruction): Avoid set but not used warning.
* builtins.c (compareAndSwapInt_builtin, compareAndSwapLong_builtin,
getVolatile_builtin): Likewise.
libjava/
* exception.cc (_Jv_Throw): Avoid set but not used warning.
* include/java-assert.h (JvAssertMessage, JvAssert): Use argument in
sizeof to avoid set but not used warnings.
libjava/classpath/
* native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaPortDevice.c
(Java_gnu_javax_sound_midi_alsa_AlsaPortDevice_run_1receiver_1thread_1):
Avoid set but not used warning.
libiberty/
* regex.c (byte_re_match_2_internal): Avoid set but not used
warning.
gcc/testsuite/
* gcc.dg/builtin-choose-expr.c: Avoid set but not used warnings.
* gcc.dg/trunc-1.c: Likewise.
* gcc.dg/vla-9.c: Likewise.
* gcc.dg/dfp/composite-type.c: Likewise.
libffi/
* testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158084 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/objc/Changelog:
iains [Wed, 7 Apr 2010 19:57:46 +0000 (19:57 +0000)]
gcc/objc/Changelog:
2010-04-07  Iain Sandoe <iains@gcc.gnu.org>

PR objc/35996
* objc-act.c (objc_init): Warn that -fobjc-gc is ignored for
-fgnu-runtime and set flag_objc_gc to zero.

testsuite:
2010-04-07  Iain Sandoe <iains@gcc.gnu.org>

PR objc/35996
* objc.dg/objc-gc-4.m: Run for all targets, prune new warning.
* obj-c++.dg/objc-gc-3.mm: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158083 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPR fortran/40539 Document LOGICAL representation
jb@138bc75d-0d04-0410-961f-82ee72b054a4 [Wed, 7 Apr 2010 18:01:24 +0000 (18:01 +0000)]
PR fortran/40539 Document LOGICAL representation

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158080 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * diagnostic.h (diagnostic_override_option_index): New macro to
simonb [Wed, 7 Apr 2010 17:18:10 +0000 (17:18 +0000)]
* diagnostic.h (diagnostic_override_option_index): New macro to
set a diagnostic's option_index.
* c-tree.h (c_cpp_error): Add warning reason argument.
* opts.c (_warning_as_error_callback): New.
(register_warning_as_error_callback): Store callback for
warnings enabled via enable_warning_as_error.
(enable_warning_as_error): Call callback, minor code tidy.
* opts.h (register_warning_as_error_callback): Declare.
* c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
response to -Werror=.
(c_common_init_options): Register warning_as_error_callback in opts.c.
* common.opt: Add -Wno-cpp option.
* c-common.c (struct reason_option_codes_t): Map cpp warning
reason codes to gcc option indexes.
* (c_option_controlling_cpp_error): New function, lookup the gcc
option index for a cpp warning reason code.
* (c_cpp_error): Add warning reason argument, call
c_option_controlling_cpp_error for diagnostic_override_option_index.
* doc/invoke.texi: Document -Wno-cpp.

* cpp.c (cb_cpp_error): Add warning reason argument, set a value
for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.

* directives.c (do_diagnostic): Add warning reason argument,
call appropriate error reporting function for code.
(directive_diagnostics): Call specific warning functions with
warning reason where appropriate.
(do_error, do_warning, do_pragma_dependency): Add warning reason
argument to do_diagnostic calls.
* macro.c (_cpp_warn_if_unused_macro, enter_macro_context,
_cpp_create_definition): Call specific warning functions with
        warning reason where appropriate.
* Makefile.in: Add new diagnostic functions to gettext translations.
* include/cpplib.h (struct cpp_callbacks): Add warning reason code
to error callback.
(CPP_DL_WARNING, CPP_DL_WARNING_SYSHDR, CPP_DL_PEDWARN, CPP_DL_ERROR,
CPP_DL_ICE, CPP_DL_NOTE, CPP_DL_FATAL): Replace macros with enums.
(CPP_W_NONE, CPP_W_DEPRECATED, CPP_W_COMMENTS,
CPP_W_MISSING_INCLUDE_DIRS, CPP_W_TRIGRAPHS, CPP_W_MULTICHAR,
CPP_W_TRADITIONAL, CPP_W_LONG_LONG, CPP_W_ENDIF_LABELS,
CPP_W_NUM_SIGN_CHANGE, CPP_W_VARIADIC_MACROS,
CPP_W_BUILTIN_MACRO_REDEFINED, CPP_W_DOLLARS, CPP_W_UNDEF,
CPP_W_UNUSED_MACROS, CPP_W_CXX_OPERATOR_NAMES, CPP_W_NORMALIZE,
CPP_W_INVALID_PCH, CPP_W_WARNING_DIRECTIVE): New enums for cpp
warning reason codes.
(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
cpp_warning_with_line, cpp_pedwarning_with_line,
cpp_warning_with_line_syshdr): New specific error reporting functions.
* pch.c (cpp_valid_state): Call specific warning functions with
        warning reason where appropriate.
* errors.c (cpp_diagnostic, cpp_diagnostic_with_line): New central
diagnostic handlers.
(cpp_warning, cpp_pedwarning, cpp_warning_syshdr,
cpp_warning_with_line, cpp_pedwarning_with_line,
cpp_warning_with_line_syshdr): New specific error reporting functions.
* expr.c (cpp_classify_number, eval_token, num_unary_op): Call
specific warning functions with warning reason where appropriate.
* lex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
warn_about_normalization, lex_identifier_intern, lex_identifier,
_cpp_lex_direct): Ditto.
* charset.c (_cpp_valid_ucn, convert_hex, convert_escape,
narrow_str_to_charconst): Ditto.

* gcc.dg/cpp/warn-undef-2.c: New.
* gcc.dg/cpp/warn-traditional-2.c: New.
* gcc.dg/cpp/warn-comments-2.c: New.
* gcc.dg/cpp/warning-directive-1.c: New.
* gcc.dg/cpp/warn-long-long.c: New.
* gcc.dg/cpp/warn-traditional.c: New.
* gcc.dg/cpp/warn-variadic-2.c: New.
* gcc.dg/cpp/warn-undef.c: New.
* gcc.dg/cpp/warn-normalized-1.c: New.
* gcc.dg/cpp/warning-directive-2.c: New.
* gcc.dg/cpp/warn-long-long-2.c: New.
* gcc.dg/cpp/warn-variadic.c: New.
* gcc.dg/cpp/warn-normalized-2.c: New.
* gcc.dg/cpp/warning-directive-3.c: New.
* gcc.dg/cpp/warn-deprecated-2.c: New.
* gcc.dg/cpp/warn-trigraphs-1.c: New.
* gcc.dg/cpp/warn-multichar-2.c: New.
* gcc.dg/cpp/warn-normalized-3.c: New.
* gcc.dg/cpp/warning-directive-4.c: New.
* gcc.dg/cpp/warn-unused-macros.c: New.
* gcc.dg/cpp/warn-trigraphs-2.c: New.
* gcc.dg/cpp/warn-cxx-compat-2.c: New.
* gcc.dg/cpp/warn-cxx-compat.c: New.
* gcc.dg/cpp/warn-redefined.c: New.
* gcc.dg/cpp/warn-trigraphs-3.c: New.
* gcc.dg/cpp/warn-unused-macros-2.c: New.
* gcc.dg/cpp/warn-deprecated.c: New.
* gcc.dg/cpp/warn-trigraphs-4.c: New.
* gcc.dg/cpp/warn-redefined-2.c: New.
* gcc.dg/cpp/warn-comments.c: New.
* gcc.dg/cpp/warn-multichar.c: New.
* g++.dg/cpp/warning-directive-1.C: New.
* g++.dg/cpp/warning-directive-2.C: New.
* g++.dg/cpp/warning-directive-3.C: New.
* g++.dg/cpp/warning-directive-4.C: New.
* gfortran.dg/warning-directive-1.F90: New.
* gfortran.dg/warning-directive-3.F90: New.
* gfortran.dg/warning-directive-2.F90: New.
* gfortran.dg/warning-directive-4.F90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158079 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agofix PR23716
iains [Wed, 7 Apr 2010 16:20:08 +0000 (16:20 +0000)]
fix PR23716

2010-04-07  Iain Sandoe <iains@gcc.gnu.org>

PR objc++/23716
* objc-act.c (build_module_initializer_routine): Make the argument
to objc_start_function NULL_TREE when compiling ObjC++.

2010-04-07  Iain Sandoe <iains@gcc.gnu.org>

PR objc++/23716
* obj-c++.dg/comp-types-10.mm: Remove XFAIL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158076 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/11094, DR 408
jason [Wed, 7 Apr 2010 15:55:20 +0000 (15:55 +0000)]
PR c++/11094, DR 408
* cp-tree.h (VAR_HAD_UNKNOWN_BOUND, SET_VAR_HAD_UNKNOWN_BOUND): New.
* decl2.c (finish_static_data_member_decl): Set it.
* decl.c (duplicate_decls): Propagate it.
* pt.c (tsubst_decl): Don't substitute the domain of an array
VAR_DECL if it's set.
(regenerate_decl_from_template): Substitute it here.
(type_dependent_expression_p): Return true if it's set.
* semantics.c (finish_decltype_type): Instantiate such a variable.
* typeck.c (cxx_sizeof_expr): Likewise.
(strip_array_domain): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158075 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * name-lookup.c (current_decl_namespace): Non-static.
jason [Wed, 7 Apr 2010 15:55:02 +0000 (15:55 +0000)]
* name-lookup.c (current_decl_namespace): Non-static.
(pop_nested_namespace): Sanity check.
* cp-tree.h: Declare current_decl_namespace.
* decl.c (grokvardecl): Use it instead of current_namespace.
(grokfndecl): Likewise.
* gnu/gcj/runtime/natSharedLibLoader.cc (findCore): Move
declaration of _Jv_create_core out of the function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158074 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/38392
jason [Wed, 7 Apr 2010 15:54:42 +0000 (15:54 +0000)]
PR c++/38392
* pt.c (tsubst_friend_function): Instatiate a friend that has already
been used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158073 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * pt.c (print_template_statistics): New.
jason [Wed, 7 Apr 2010 15:54:29 +0000 (15:54 +0000)]
* pt.c (print_template_statistics): New.
* cp-tree.h: Declare it.
* tree.c (cxx_print_statistics): Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158072 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/41970
jason [Wed, 7 Apr 2010 15:54:17 +0000 (15:54 +0000)]
PR c++/41970
* decl.c (grokvardecl): Tweak warning message.
(grokfndecl): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158071 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-07 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 7 Apr 2010 15:31:37 +0000 (15:31 +0000)]
2010-04-07  Richard Guenther  <rguenther@suse.de>

* ipa-reference.c (mark_load): Use get_base_address.
(mark_store): Likewise.

* tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
inserting GIMPLE_NOPs into the IL.
* tree-ssa-structalias.c (get_constraint_for_component_ref):
Explicitly strip handled components and indirect references.

* fold-const.c (fold_unary_loc): Do not strip qualifiers when
folding address expressions.
* gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
* tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
operand_equal_p to compare decls.
(ptr_deref_may_alias_decl_p): Likewise.
* tree-ssa-operands.c (get_asm_expr_operands): Simplify
* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
Handle reversed comparison ops.
* tree-sra.c (asm_visit_addr): Use get_base_address.
* ipa-prop.c (visit_store_addr_for_mod_analysis): Use
get_base_address.
* ipa-reference.c (mark_address): Use get_base_address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158069 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix PR c++/42697
dodji [Wed, 7 Apr 2010 15:16:12 +0000 (15:16 +0000)]
Fix PR c++/42697

gcc/cp/ChangeLog:
PR c++/42697
*pt.c (tsubst_decl): Get the arguments of a specialization from
the specialization template, not from the most general template.

gcc/testsuite/ChangeLog:
PR c++/42697
* g++.dg/template/crash94.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158068 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix PR c++/40239
dodji [Wed, 7 Apr 2010 15:11:42 +0000 (15:11 +0000)]
Fix PR c++/40239

gcc/cp/ChangeLog:
PR c++/40239
* typeck2.c (process_init_constructor_record):
value-initialize members that are are not explicitely
initialized.

gcc/testsuite/ChangeLog:
PR c++/40239
* g++.dg/init/aggr5.C: New test.
* g++.dg/init/aggr5.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158066 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-07 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 7 Apr 2010 14:34:35 +0000 (14:34 +0000)]
2010-04-07  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (forward_propagate_addr_expr):
Propagate constants everywhere.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158063 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR debug/43516
jakub [Wed, 7 Apr 2010 14:23:35 +0000 (14:23 +0000)]
PR debug/43516
* tree.c (MAX_INT_CACHED_PREC): Define.
(nonstandard_integer_type_cache): New array.
(build_nonstandard_integer_type): Cache results for precision
<= MAX_INT_CACHED_PREC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158062 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-07 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 7 Apr 2010 13:08:24 +0000 (13:08 +0000)]
2010-04-07  Richard Guenther  <rguenther@suse.de>

* doc/invoke.texi (-fargument-alias, -fargument-noalias,
-fargument-noalias-global, -fargument-noalias-anything): Remove.
* common.opt: Likewise.
* tree-ssa-structalias.c (intra_create_variable_infos): Adjust
comment.
* alias.c (base_alias_check): Remove flag_argument_noalias
handling.
(nonoverlapping_memrefs_p): Likewise.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
* opts.c (common_handle_option): Handle OPT_fargument_alias,
OPT_fargument_noalias, OPT_fargument_noalias_anything and
OPT_fargument_noalias_global for backward compatibility.

fortran/
* options.c (gfc_init_options): Do not set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158060 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-07 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 7 Apr 2010 12:31:32 +0000 (12:31 +0000)]
2010-04-07  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/43270
* tree-vrp.c (check_array_ref): Fix flexible array member
detection.
* tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
* tree-ssa-pre.c (phi_translate_1): Adjust.
(fully_constant_expression): Split out vn_reference handling to ...
* tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
Fold reads from constant strings.
(vn_reference_lookup): Handle fully constant references.
(vn_reference_lookup_pieces): Likewise.
* Makefile.in (expmed.o-warn): Add -Wno-error.

* g++.dg/warn/Warray-bounds-4.C: New testcase.
* gcc.dg/Warray-bounds-7.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158058 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-07 Martin Jambor <mjambor@suse.cz>
jamborm [Wed, 7 Apr 2010 11:43:38 +0000 (11:43 +0000)]
2010-04-07  Martin Jambor  <mjambor@suse.cz>

* tree-sra.c (find_param_candidates): Allow scalar va_list types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158057 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
ebotcazou [Wed, 7 Apr 2010 11:38:06 +0000 (11:38 +0000)]
* exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
if the size is small enough.  Propagate the alignment if there is an
alignment clause on the original array type.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
Deal with under-aligned packed array types.  Copy the size onto the
justified modular type and don't lay it out again.  Likewise for the
padding type built for other under-aligned subtypes.
* gcc-interface/utils.c (finish_record_type): Do not set a default mode
on the type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158056 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
ebotcazou [Wed, 7 Apr 2010 10:51:30 +0000 (10:51 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
alignment on the RETURN type built for the Copy-In Copy-Out mechanism.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158054 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
ebotcazou [Wed, 7 Apr 2010 10:49:53 +0000 (10:49 +0000)]
* gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
do not set the result type if there is a specified target and do not
convert the result in any cases.
(protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
(maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158053 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
iains [Wed, 7 Apr 2010 10:40:06 +0000 (10:40 +0000)]
2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>

PR driver/41594
* gcc.c: Add -static-libstdc++ to list of recognized options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158052 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoUpdate comment for last commit.
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Wed, 7 Apr 2010 10:35:19 +0000 (10:35 +0000)]
Update comment for last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158051 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Wed, 7 Apr 2010 10:30:32 +0000 (10:30 +0000)]
* config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to
generic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158049 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-04-07 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 7 Apr 2010 10:15:05 +0000 (10:15 +0000)]
2010-04-07  Richard Guenther  <rguenther@suse.de>

PR middle-end/42617
* expr.c (expand_expr_real_1): For TARGET_MEM_REFs with
pointer bases build simple mem attributes to retain
points-to information.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158048 138bc75d-0d04-0410-961f-82ee72b054a4