OSDN Git Service
devans [Wed, 14 Apr 2010 21:16:34 +0000 (21:16 +0000)]
* filenames.h (HAS_DRIVE_SPEC, STRIP_DRIVE_SPEC): New macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158359
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 14 Apr 2010 20:42:02 +0000 (20:42 +0000)]
gcc/
PR target/21803
* ifcvt.c (cond_exec_process_if_block): Look for identical sequences
at the start and end of the then/else blocks, and omit them from the
conversion.
* cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
argument; all callers changed. Pass zero to old_insns_match_p instead.
(flow_find_head_matching_sequence): New function.
(old_insns_match_p): Check REG_EH_REGION notes for calls.
* basic-block.h (flow_find_cross_jump,
flow_find_head_matching_sequence): Declare functions.
gcc/testsuite/
PR target/21803
* gcc.target/arm/pr42496.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158357
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 14 Apr 2010 20:17:34 +0000 (20:17 +0000)]
PR c++/36625
* c-common.c (attribute_takes_identifier_p): New fn.
* c-common.h: Declare it.
cp/
* parser.c (cp_parser_parenthesized_expression_list): Change
is_attribute_list parm to int to indicate whether or not to
handle initial identifier specially.
(cp_parser_attribute_list): Use attribute_takes_identifier_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158355
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Wed, 14 Apr 2010 19:38:07 +0000 (19:38 +0000)]
Add ChangeLog entry for my previous commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158354
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 14 Apr 2010 18:55:05 +0000 (18:55 +0000)]
* config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
splitter condition.
(*udivmod<mode>4): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158353
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Wed, 14 Apr 2010 18:32:51 +0000 (18:32 +0000)]
2010-04-14 Steven G. Kargl <kargl@gcc.gnu.org>
* fortran/intrinsic.texi: Add the missing specific name of intrinsic
procedure where the specific name is identical to the generic name.
Fix inconsistent or mismatch in the argument names in intrinsic
procedure descriptions. Add the SCALAR allocatable description to
ALLOCATED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158352
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Wed, 14 Apr 2010 16:47:15 +0000 (16:47 +0000)]
2010-04-14 Steve Ellcey <sje@cup.hp.com>
PR testsuite/43739
* gcc.dg/pr43643.c: Use static link on hppa*-*-hpux*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158351
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 14 Apr 2010 16:16:31 +0000 (16:16 +0000)]
* config/i386/i386.md (maxmin_int): Rename code attribute from
maxminiprefix and update all users.
(maxmin_float): Ditto from maxminfprefix.
(logic): Ditto from logicprefix.
(absneg_mnemonic): Ditto from absnegprefix.
* config/i386/mmx.md: Update all users of maxminiprefix,
maxminfprefix and loficprefix for rename.
* config/i386/sse.md: Ditto.
* config/i386/sync.md (sync_<code><mode>): Update for
logicprefix rename.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158350
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Wed, 14 Apr 2010 16:08:23 +0000 (16:08 +0000)]
2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 42966
* diagnostics.c (diagnostic_report_diagnostic): Mark specially
warnings converted to errors.
testsuite/
* gcc.dg/cpp/warn-undef-2.c: Update.
* gcc.dg/cpp/warn-traditional-2.c: Update.
* gcc.dg/cpp/warn-comments-2.c: Update.
* gcc.dg/cpp/warn-variadic-2.c: Update.
* gcc.dg/cpp/warn-long-long-2.c: Update.
* gcc.dg/cpp/warn-deprecated-2.c: Update.
* gcc.dg/cpp/warn-multichar-2.c: Update.
* gcc.dg/cpp/warn-normalized-3.c: Update.
* gcc.dg/cpp/warn-cxx-compat-2.c: Update.
* gcc.dg/cpp/warn-trigraphs-3.c: Update.
* gcc.dg/cpp/warn-unused-macros-2.c: Update.
* gcc.dg/cpp/warn-trigraphs-4.c: Update.
* gcc.dg/cpp/warn-redefined-2.c: Update.
* gfortran.dg/warning-directive-2.F90: Update.
* c-c++-common/cpp/warning-directive-2.c: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158349
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 14 Apr 2010 15:23:05 +0000 (15:23 +0000)]
* config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
used insn_type variable.
(function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
to avoid set-but-not-used warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158348
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 14 Apr 2010 15:08:54 +0000 (15:08 +0000)]
* df-core.c (df_ref_debug): Change format string placeholder
from 0x%x to %#x.
* dwarf2asm.c (dw2_asm_output_data_raw,
dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
* dwarf2out.c (output_cfi, output_cfi_directive,
dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
output_cfa_loc_raw, output_die, output_ranges, output_file_names):
Ditto.
* genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
* print-rtl.c (print_rtx): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158347
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Wed, 14 Apr 2010 15:01:40 +0000 (15:01 +0000)]
PR 42694: Optimize pow (x, 0.25), pow (x, 0.75), pow (x, 1./6.)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158346
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Wed, 14 Apr 2010 14:50:33 +0000 (14:50 +0000)]
PR tree-optimization/42963
* tree-cfg.c (touched_switch_bbs): New static variable.
(group_case_labels_stmt): New function broken out from ...
(group_case_labels): ... here, use the above.
(start_recording_case_labels): Allocate touched_switch_bbs.
(end_recording_case_labels): Deallocate it, call
group_case_labels_stmt.
(gimple_redirect_edge_and_branch): Remember index of affected BB.
testsuite/
* testsuite/gcc.dg/pr42963.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158345
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 14 Apr 2010 12:57:43 +0000 (12:57 +0000)]
* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
not unused bar variable.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158344
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Wed, 14 Apr 2010 09:48:21 +0000 (09:48 +0000)]
Synchronize with src/.
2010-04-14 Tristan Gingold <gingold@adacore.com>
* configure.ac (alpha*-*-*vms*): Remove ld from noconfigdirs.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158341
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 14 Apr 2010 09:28:05 +0000 (09:28 +0000)]
* config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
from insn template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158340
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 14 Apr 2010 08:14:54 +0000 (08:14 +0000)]
* gcc-interface/gigi.h: Reorder declarations and tweak comments.
(gigi): Adjust ATTRIBUTE_UNUSED markers.
* gcc-interface/gadaint.h: New file.
* gcc-interface/trans.c: Include it in lieu of adaint.h. Reorder.
(__gnat_to_canonical_file_spec): Remove declaration.
(number_names): Delete.
(number_files): Likewise.
(gigi): Adjust.
* gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to
above change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158296
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 14 Apr 2010 07:58:08 +0000 (07:58 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix
comment.
* gcc-interface/trans.c (process_freeze_entity): Use local copy of
Ekind. Return early for class-wide types. Do not compute initializer
unless necessary. Reuse the tree for an associated class-wide type
only if processing its root type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158295
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 14 Apr 2010 06:36:53 +0000 (06:36 +0000)]
* config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158293
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 14 Apr 2010 05:43:30 +0000 (05:43 +0000)]
2010-04-14 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* array.c (gfc_find_array_ref): Handle codimensions.
(gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
* check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
New functions.
* gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
GFC_ISYM_UCOBOUND.
* intrinsic.h (add_functions): Add this_image, image_index,
lcobound and ucobound intrinsics.
* intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
gfc_check_image_index, gfc_check_this_image,
gfc_simplify_image_index, gfc_simplify_lcobound,
gfc_simplify_this_image, gfc_simplify_ucobound):
New function prototypes.
* intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
IMAGE_INDEX): Document new intrinsic functions.
* match.c (gfc_match_critical, sync_statement): Make
* -fcoarray=none
error fatal.
* simplify.c (simplify_bound_dim): Handle coarrays.
(simplify_bound): Update simplify_bound_dim call.
(gfc_simplify_num_images): Add -fcoarray=none check.
(simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.
2010-04-14 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray_9.f90: Update dg-errors.
* gfortran.dg/coarray_10.f90: New test.
* gfortran.dg/coarray_11.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158292
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Wed, 14 Apr 2010 05:27:29 +0000 (05:27 +0000)]
2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43747
gfortran.dg/initialization_24.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158291
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Wed, 14 Apr 2010 05:16:59 +0000 (05:16 +0000)]
2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/43747
* constructor.c: Fix typo in comment.
* expr.c (find_array_section): Add check for max array limit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158290
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 14 Apr 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158289
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Tue, 13 Apr 2010 22:54:07 +0000 (22:54 +0000)]
2010-04-13 Steve Ellcey <sje@cup.hp.com>
* configure: Regenerate after change to elf.m4.
In config subdir:
2010-04-13 Steve Ellcey <sje@cup.hp.com>
* elf.m4: Add hppa[12]*-*-hpux* to list of non-elf platforms.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158285
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 13 Apr 2010 20:24:40 +0000 (20:24 +0000)]
* include/backward/hash_map: Don't #include "backward_warning.h"
if _GLIBCXX_PERMIT_BACKWARD_HASH is defined.
* include/backward/hash_set: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158281
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 13 Apr 2010 18:22:35 +0000 (18:22 +0000)]
* ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
of optimized out static functions.
(cgraph_edge_badness): Add DUMP parameter and dump reasons for the
cost computation. Also sanity check for overflows.
(update_caller_keys): Update cgraph_edge_badness call; properly
update fibheap and sanity check that it is up to date.
(add_new_edges_to_heap): Update cgraph_edge_badness.
(cgraph_decide_inlining_of_small_function): Likewise;
add sanity checking that badness in heap is up to date;
improve dumping of reason; Update badness of calls to the
offline copy of function currently inlined; dump badness
of functions not inlined because of unit growth limits.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158278
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 13 Apr 2010 17:24:52 +0000 (17:24 +0000)]
* call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of
CLASS_TYPE_P.
* parser.c (cp_parser_lambda_expression): Complain about lambda in
unevaluated context.
* pt.c (iterative_hash_template_arg): Don't crash on lambda.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158277
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Tue, 13 Apr 2010 16:29:54 +0000 (16:29 +0000)]
Commit gcc/testsuite/ChangeLog for revision 158275.
2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
* gcc.dg/cpp/cpp.exp: Test also c-c++-common/cpp.
* g++.dg/dg.exp: Likewise.
* gcc.dg/cpp/warning-directive-1.c: Move to ...
* c-c++-common/cpp/warning-directive-1.c: ... here.
* gcc.dg/cpp/warning-directive-2.c: Move to ...
* c-c++-common/cpp/warning-directive-2.c: ... here.
* gcc.dg/cpp/warning-directive-3.c: Move to ...
* c-c++-common/cpp/warning-directive-3.c: ... here.
* gcc.dg/cpp/warning-directive-4.c: Move to ...
* c-c++-common/cpp/warning-directive-4.c: ... here.
* g++.dg/cpp/warning-directive-1.C: Delete.
* g++.dg/cpp/warning-directive-2.C: Delete.
* g++.dg/cpp/warning-directive-3.C: Delete.
* g++.dg/cpp/warning-directive-4.C: Delete.
* gcc.dg/cpp/normalised-3.c: Delete.
* g++.dg/cpp/normalised-1.C: Rename as ...
* c-c++-common/cpp/normalised-3.c: ... this.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158276
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Tue, 13 Apr 2010 16:26:01 +0000 (16:26 +0000)]
2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
* gcc.dg/cpp/cpp.exp: Test also c-c++-common/cpp.
* g++.dg/dg.exp: Likewise.
* gcc.dg/cpp/warning-directive-1.c: Move to ...
* c-c++-common/cpp/warning-directive-1.c: ... here.
* gcc.dg/cpp/warning-directive-2.c: Move to ...
* c-c++-common/cpp/warning-directive-2.c: ... here.
* gcc.dg/cpp/warning-directive-3.c: Move to ...
* c-c++-common/cpp/warning-directive-3.c: ... here.
* gcc.dg/cpp/warning-directive-4.c: Move to ...
* c-c++-common/cpp/warning-directive-4.c: ... here.
* g++.dg/cpp/warning-directive-1.C: Delete.
* g++.dg/cpp/warning-directive-2.C: Delete.
* g++.dg/cpp/warning-directive-3.C: Delete.
* g++.dg/cpp/warning-directive-4.C: Delete.
* gcc.dg/cpp/normalised-3.c: Delete.
* g++.dg/cpp/normalised-1.C: Rename as ...
* c-c++-common/cpp/normalised-3.c: ... this.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158275
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 13 Apr 2010 15:47:38 +0000 (15:47 +0000)]
PR middle-end/32628
* c-common.c (pointer_int_sum): Disregard overflow that occured only
because of sign-extension change when converting to sizetype here...
* fold-const.c (fold_convert_const_int_from_int): ...and not here.
* fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
the folding to constants. Remove redundant final conversion.
(fold_binary) <associate>: Do not associate if the re-association of
constants alone overflows.
(fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
to the end of the list.
(multiple_of_p) <COND_EXPR>: New case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158274
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Tue, 13 Apr 2010 14:27:22 +0000 (14:27 +0000)]
2010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
* opt-functions.awk (opt_sanitized_name): New.
(opt_enum): New.
* optc-gen.awk: Use it
* opth-gen.awk: Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158272
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Tue, 13 Apr 2010 13:47:34 +0000 (13:47 +0000)]
2010-04-13 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
(sra_modify_assign): Delete stmts loading dead data even if racc has no
children. Call replace_uses_with_default_def_ssa_name to handle
SSA_NAES on lhs.
* testsuite/gcc.dg/tree-ssa/sra-9.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158271
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Tue, 13 Apr 2010 13:35:30 +0000 (13:35 +0000)]
PR middle-end/43730
* builtins.c (expand_builtin_interclass_mathfn): Also create
a register if the predicate doesn't match.
testsuite/
* gcc.dg/pr43730.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158268
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Tue, 13 Apr 2010 13:30:41 +0000 (13:30 +0000)]
Add CL entry
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158267
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Tue, 13 Apr 2010 13:30:31 +0000 (13:30 +0000)]
2010-04-12 Diego Novillo <dnovillo@google.com>
* Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
* c-pch.c: Include timevar.h.
(c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
(c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE
timers.
* ggc-common.c: Include timevar.h.
(gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT
timers.
* timevar.def (TV_PCH_SAVE): Define.
(TV_PCH_CPP_SAVE): Define.
(TV_PCH_PTR_REALLOC): Define.
(TV_PCH_PTR_SORT): Define.
(TV_PCH_RESTORE): Define.
(TV_PCH_CPP_RESTORE): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158266
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Tue, 13 Apr 2010 12:39:53 +0000 (12:39 +0000)]
* tree-ssa-reassoc.c (repropagate_negates): Merge negates also
into MINUS_EXPRs.
(can_reassociate_p): New function.
(break_up_subtract_bb, reassociate_bb): Use it.
testsuite/
* gcc.dg/tree-ssa/negate.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158265
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 13 Apr 2010 12:23:17 +0000 (12:23 +0000)]
2010-04-13 Richard Guenther <rguenther@suse.de>
PR bootstrap/43737
* builtins.c (c_readstr): Fix assert.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158264
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 13 Apr 2010 11:50:54 +0000 (11:50 +0000)]
2010-04-13 Richard Guenther <rguenther@suse.de>
PR testsuite/43735
* gcc.dg/guality/inline-params.c: Remove -fwhopr XPASS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158263
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 13 Apr 2010 11:37:34 +0000 (11:37 +0000)]
gcc/fortran:
2010-04-13 Iain Sandoe <iains@gcc.gnu.org>
PR bootstrap/31400
* gfortranspec.c (lookup_option): Check for -static and return
OPTION_static.
(lang_specific_driver): Break when OPTION_static is discovered.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158262
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 13 Apr 2010 10:27:03 +0000 (10:27 +0000)]
* config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
when generating cltd insn.
(*ashl<mode>3_1): Remove special handling for register operand 2.
(*ashlsi3_1_zext): Ditto.
(*ashlhi3_1): Ditto.
(*ashlhi3_1_lea): Ditto.
(*ashlqi3_1): Ditto.
(*ashlqi3_1_lea): Ditto.
(*<shiftrt_insn><mode>3_1): Ditto.
(*<shiftrt_insn>si3_1_zext): Ditto.
(*<shiftrt_insn>qi3_1_slp): Ditto.
(*<rotate_insn><mode>3_1): Ditto.
(*<rotate_insn>si3_1_zext): Ditto.
(*<rotate_insn>qi3_1_slp): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158261
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 13 Apr 2010 09:53:19 +0000 (09:53 +0000)]
2010-04-13 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (callused_id): Remove.
(call_stmt_vars): New.
(get_call_vi): Likewise.
(lookup_call_use_vi): Likewise.
(lookup_call_clobber_vi): Likewise.
(get_call_use_vi): Likewise.
(get_call_clobber_vi): Likewise.
(make_transitive_closure_constraints): Likewise.
(handle_const_call): Adjust to do per-call call-used handling.
(handle_pure_call): Likewise.
(find_what_var_points_to): Remove general callused handling.
(init_base_vars): Likewise.
(init_alias_vars): Initialize call_stmt_vars.
(compute_points_to_sets): Process call-used and call-clobbered
vars for call statements.
(delete_points_to_sets): Free call_stmt_vars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158260
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 13 Apr 2010 09:48:26 +0000 (09:48 +0000)]
2010-04-13 Richard Guenther <rguenther@suse.de>
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
Only add RW dependence for dependence distance zero.
Adjust maximal vectorization factor according to dependences.
Move alignment handling ...
(vect_find_same_alignment_drs): ... here. New function.
(vect_analyze_data_ref_dependences): Adjust.
(vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
(vect_analyze_data_refs): Adjust minimal vectorization factor
according to data references.
* tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
dependences before determining the vectorization factor.
Analyze alignment after determining the vectorization factor.
* tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
dependences before alignment.
* tree-vectorizer.h (vect_analyze_data_ref_dependences):
Adjust prototype.
(vect_analyze_data_refs): Likewise.
(MAX_VECTORIZATION_FACTOR): New define.
* gcc.dg/vect/no-vfa-vect-depend-1.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158259
138bc75d-0d04-0410-961f-
82ee72b054a4
baldrick [Tue, 13 Apr 2010 09:21:12 +0000 (09:21 +0000)]
Remove lang_eh_type_covers, which is dead, and the corresponding
Ada routine gnat_eh_type_covers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158258
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 13 Apr 2010 09:04:31 +0000 (09:04 +0000)]
2010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
* gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
UNITS_PER_LONG where it is ABI relevant.
(s390_return_addr_rtx): Likewise.
(s390_back_chain_rtx): Likewise.
(s390_frame_area): Likewise.
(s390_frame_info): Likewise.
(s390_initial_elimination_offset): Likewise.
(save_gprs): Likewise.
(s390_emit_prologue): Likewise.
(s390_emit_epilogue): Likewise.
(s390_function_arg_advance): Likewise.
(s390_function_arg): Likewise.
(s390_va_start): Likewise.
(s390_gimplify_va_arg): Likewise.
(s390_function_profiler): Likewise.
(s390_optimize_prologue): Likewise.
(s390_rtx_costs): Likewise.
(s390_secondary_reload): Likewise.
(s390_promote_function_mode): Likewise.
(s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
(s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
registers available.
(s390_unwind_word_mode): New function.
(s390_function_value): Split 64 bit values into register pair if
used as return value.
(s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
function call parameters. Handle parallels.
(TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
(HARD_REGNO_CALL_PART_CLOBBERED): New macro.
(DWARF_CIE_DATA_ALIGNMENT): New macro.
(s390_expand_setmem): Remove unused variable src_addr.
* gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
deal with 64 bit registers.
* gcc/config/s390/s390.h: Define __zarch__ predefined macro.
Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
(UNITS_PER_LONG): New macro.
* libjava/include/s390-signal.h: Define extended ucontext
structure containing the upper halfs of the 64 bit registers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158257
138bc75d-0d04-0410-961f-
82ee72b054a4
simonb [Tue, 13 Apr 2010 08:58:15 +0000 (08:58 +0000)]
* cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158256
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 13 Apr 2010 07:21:15 +0000 (07:21 +0000)]
* gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
(parent_name_id): New macro.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it.
* gcc-interface/trans.c (gigi): Initialize it.
(lvalue_required_p) <N_Type_Conversion>: New case.
<N_Qualified_Expression>: Likewise.
<N_Allocator>: Likewise.
* gcc-interface/utils.c (convert): Try to properly upcast tagged types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158255
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 13 Apr 2010 07:08:24 +0000 (07:08 +0000)]
* gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
rvalue on the RHS if the LHS is of a non-renamable type.
* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
ada/
* gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
(DECL_CONST_ADDRESS_P): New macro.
(SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
(SAME_FIELD_P): Likewise.
* gcc-interface/decl.c (constructor_address_p): New static function.
(gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to
the return value of above function.
(gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types
passed by reference.
<E_Record_Subtype>: Likewise.
Set TREE_ADDRESSABLE on the type if it passed by reference.
(make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
(create_field_decl_from): Likewise.
(substitute_in_type): Likewise.
(purpose_member_field): Use SAME_FIELD_P.
* gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
* gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
parameter and adjust recursive calls.
<N_Explicit_Dereference>: New case.
<N_Object_Declaration>: Return 1 if the object is of a class-wide type.
Adjust calls to lvalue_required_p. Do not return the initializer of a
DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
(call_to_gnu): Delay issuing error message for a misaligned actual and
avoid the associated back-end assertion. Test TREE_ADDRESSABLE.
(gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors.
* gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
type is passed by reference.
(convert) <CONSTRUCTOR>: Convert in-place in more cases.
* gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
(build_simple_component_ref): Use SAME_FIELD_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158254
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Tue, 13 Apr 2010 01:59:35 +0000 (01:59 +0000)]
2010-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* array.c (extract_element): Restore function from trunk.
(gfc_get_array_element): Restore function from trunk.
(gfc_expand_constructor): Restore check against
flag_max_array_constructor.
* constructor.c (node_copy_and_append): Delete unused.
* gfortran.h: Delete comment and extra include.
* constructor.h: Bump copyright and clean up TODO comments.
* resolve.c: Whitespace.
2010-04-12 Daniel Franke <franke.daniel@gmail.com>
* simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
with direct access access to elements. Adjusted prototype, fixed all
callers.
(gfc_simplify_dot_product): Removed duplicate check for zero-sized
array.
(gfc_simplify_matmul): Removed usage of ADVANCE macro.
(gfc_simplify_spread): Removed workaround, directly insert elements
at a given array position.
(gfc_simplify_transpose): Likewise.
(gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
function calls.
(gfc_simplify_unpack): Likewise.
2010-04-12 Daniel Franke <franke.daniel@gmail.com>
* simplify.c (only_convert_cmplx_boz): Renamed to ...
(convert_boz): ... this and moved to start of file.
(gfc_simplify_abs): Whitespace fix.
(gfc_simplify_acos): Whitespace fix.
(gfc_simplify_acosh): Whitespace fix.
(gfc_simplify_aint): Whitespace fix.
(gfc_simplify_dint): Whitespace fix.
(gfc_simplify_anint): Whitespace fix.
(gfc_simplify_and): Replaced if-gate by more common switch-over-type.
(gfc_simplify_dnint): Whitespace fix.
(gfc_simplify_asin): Whitespace fix.
(gfc_simplify_asinh): Moved creation of result-expr out of switch.
(gfc_simplify_atan): Likewise.
(gfc_simplify_atanh): Whitespace fix.
(gfc_simplify_atan2): Whitespace fix.
(gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
(gfc_simplify_bessel_j1): Likewise.
(gfc_simplify_bessel_jn): Likewise.
(gfc_simplify_bessel_y0): Likewise.
(gfc_simplify_bessel_y1): Likewise.
(gfc_simplify_bessel_yn): Likewise.
(gfc_simplify_ceiling): Reorderd statements.
(simplify_cmplx): Use convert_boz(), check for constant arguments.
Whitespace fix.
(gfc_simplify_cmplx): Use correct default kind. Removed check for
constant arguments.
(gfc_simplify_complex): Replaced if-gate. Removed check for
constant arguments.
(gfc_simplify_conjg): Whitespace fix.
(gfc_simplify_cos): Whitespace fix.
(gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
(gfc_simplify_dcmplx): Removed check for constant arguments.
(gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
(gfc_simplify_digits): Whitespace fix.
(gfc_simplify_dim): Whitespace fix.
(gfc_simplify_dprod): Reordered statements.
(gfc_simplify_erf): Whitespace fix.
(gfc_simplify_erfc): Whitespace fix.
(gfc_simplify_epsilon): Whitespace fix.
(gfc_simplify_exp): Whitespace fix.
(gfc_simplify_exponent): Use convert_boz().
(gfc_simplify_floor): Reorderd statements.
(gfc_simplify_gamma): Whitespace fix.
(gfc_simplify_huge): Whitespace fix.
(gfc_simplify_iand): Whitespace fix.
(gfc_simplify_ieor): Whitespace fix.
(simplify_intconv): Use gfc_convert_constant().
(gfc_simplify_int): Use simplify_intconv().
(gfc_simplify_int2): Reorderd statements.
(gfc_simplify_idint): Reorderd statements.
(gfc_simplify_ior): Whitespace fix.
(gfc_simplify_ishftc): Removed duplicate type check.
(gfc_simplify_len): Use range_check() instead of manual range check.
(gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
(gfc_simplify_log): Whitespace fix.
(gfc_simplify_log10): Whitespace fix.
(gfc_simplify_minval): Whitespace fix.
(gfc_simplify_maxval): Whitespace fix.
(gfc_simplify_mod): Whitespace fix.
(gfc_simplify_modulo): Whitespace fix.
(simplify_nint): Reorderd statements.
(gfc_simplify_not): Whitespace fix.
(gfc_simplify_or): Replaced if-gate by more common switch-over-type.
(gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
(gfc_simplify_range): Removed unused result-variable. Whitespace fix.
(gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
(gfc_simplify_realpart): Whitespace fix.
(gfc_simplify_selected_char_kind): Removed unused result-variable.
(gfc_simplify_selected_int_kind): Removed unused result-variable.
(gfc_simplify_selected_real_kind): Removed unused result-variable.
(gfc_simplify_sign): Whitespace fix.
(gfc_simplify_sin): Whitespace fix.
(gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
(gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
(gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
(gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
(gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
2010-04-12 Daniel Franke <franke.daniel@gmail.com>
* gfortran.h (gfc_start_constructor): Removed.
(gfc_get_array_element): Removed.
* array.c (gfc_start_constructor): Removed, use gfc_get_array_expr
instead. Fixed all callers.
(extract_element): Removed.
(gfc_expand_constructor): Temporarily removed check for
max-array-constructor. Will be re-introduced later if still required.
(gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
instead. Fixed all callers.
* expr.c (find_array_section): Replaced manual lookup of elements
by gfc_constructor_lookup.
2010-04-12 Daniel Franke <franke.daniel@gmail.com>
* gfortran.h (gfc_get_null_expr): New prototype.
(gfc_get_operator_expr): New prototype.
(gfc_get_character_expr): New prototype.
(gfc_get_iokind_expr): New prototype.
* expr.c (gfc_get_null_expr): New.
(gfc_get_character_expr): New.
(gfc_get_iokind_expr): New.
(gfc_get_operator_expr): Moved here from matchexp.c (build_node).
* matchexp.c (build_node): Renamed and moved to
expr.c (gfc_get_operator_expr). Reordered arguments to match
other functions. Fixed all callers.
(gfc_get_parentheses): Use specific function to build expr.
* array.c (gfc_match_array_constructor): Likewise.
* arith.c (eval_intrinsic): Likewise.
(gfc_hollerith2int): Likewise.
(gfc_hollerith2real): Likewise.
(gfc_hollerith2complex): Likewise.
(gfc_hollerith2logical): Likewise.
* data.c (create_character_intializer): Likewise.
* decl.c (gfc_match_null): Likewise.
(enum_initializer): Likewise.
* io.c (gfc_match_format): Likewise.
(match_io): Likewise.
* match.c (gfc_match_nullify): Likewise.
* primary.c (match_string_constant): Likewise.
(match_logical_constant): Likewise.
(build_actual_constructor): Likewise.
* resolve.c (build_default_init_expr): Likewise.
* symbol.c (generate_isocbinding_symbol): Likewise.
(gfc_build_class_symbol): Likewise.
(gfc_find_derived_vtab): Likewise.
* simplify.c (simplify_achar_char): Likewise.
(gfc_simplify_adjustl): Likewise.
(gfc_simplify_adjustr): Likewise.
(gfc_simplify_and): Likewise.
(gfc_simplify_bit_size): Likewise.
(gfc_simplify_is_iostat_end): Likewise.
(gfc_simplify_is_iostat_eor): Likewise.
(gfc_simplify_isnan): Likewise.
(simplify_bound): Likewise.
(gfc_simplify_leadz): Likewise.
(gfc_simplify_len_trim): Likewise.
(gfc_simplify_logical): Likewise.
(gfc_simplify_maxexponent): Likewise.
(gfc_simplify_minexponent): Likewise.
(gfc_simplify_new_line): Likewise.
(gfc_simplify_null): Likewise.
(gfc_simplify_or): Likewise.
(gfc_simplify_precision): Likewise.
(gfc_simplify_repeat): Likewise.
(gfc_simplify_scan): Likewise.
(gfc_simplify_size): Likewise.
(gfc_simplify_trailz): Likewise.
(gfc_simplify_trim): Likewise.
(gfc_simplify_verify): Likewise.
(gfc_simplify_xor): Likewise.
* trans-io.c (build_dt): Likewise.
(gfc_new_nml_name_expr): Removed.
2010-04-12 Daniel Franke <franke.daniel@gmail.com>
* arith.h (gfc_constant_result): Removed prototype.
* constructor.h (gfc_build_array_expr): Removed prototype.
(gfc_build_structure_constructor_expr): Removed prototype.
* gfortran.h (gfc_int_expr): Removed prototype.
(gfc_logical_expr): Removed prototype.
(gfc_get_array_expr): New prototype.
(gfc_get_structure_constructor_expr): New prototype.
(gfc_get_constant_expr): New prototype.
(gfc_get_int_expr): New prototype.
(gfc_get_logical_expr): New prototype.
* arith.c (gfc_constant_result): Moved and renamed to
expr.c (gfc_get_constant_expr). Fixed all callers.
* constructor.c (gfc_build_array_expr): Moved and renamed to
expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
and kind. Fixed all callers.
(gfc_build_structure_constructor_expr): Moved and renamed to
expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
to type and kind. Fixed all callers.
* expr.c (gfc_logical_expr): Renamed to ...
(gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
(gfc_int_expr): Renamed to ...
(gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
callers.
(gfc_get_constant_expr): New.
(gfc_get_array_expr): New.
(gfc_get_structure_constructor_expr): New.
* simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
instead.
2010-04-12 Daniel Franke <franke.daniel@gmail.com>
* constructor.h: New.
* constructor.c: New.
* Make-lang.in: Add new files to F95_PARSER_OBJS.
* arith.c (reducy_unary): Use constructor API.
(reduce_binary_ac): Likewise.
(reduce_binary_ca): Likewise.
(reduce_binary_aa): Likewise.
* check.c (gfc_check_pack): Likewise.
(gfc_check_reshape): Likewise.
(gfc_check_unpack): Likewise.
* decl.c (add_init_expr_to_sym): Likewise.
(build_struct): Likewise.
* dependency.c (gfc_check_dependency): Likewise.
(contains_forall_index_p): Likewise.
* dump-parse-tree.c (show_constructor): Likewise.
* expr.c (free_expr0): Likewise.
(gfc_copy_expr): Likewise.
(gfc_is_constant_expr): Likewise.
(simplify_constructor): Likewise.
(find_array_element): Likewise.
(find_component_ref): Likewise.
(find_array_section): Likewise.
(find_substring_ref): Likewise.
(simplify_const_ref): Likewise.
(scalarize_intrinsic_call): Likewise.
(check_alloc_comp_init): Likewise.
(gfc_default_initializer): Likewise.
(gfc_traverse_expr): Likewise.
* iresolve.c (check_charlen_present): Likewise.
(gfc_resolve_reshape): Likewise.
(gfc_resolve_transfer): Likewise.
* module.c (mio_constructor): Likewise.
* primary.c (build_actual_constructor): Likewise.
(gfc_match_structure_constructor): Likewise.
* resolve.c (resolve_structure_cons): Likewise.
* simplify.c (is_constant_array_expr): Likewise.
(init_result_expr): Likewise.
(transformational_result): Likewise.
(simplify_transformation_to_scalar): Likewise.
(simplify_transformation_to_array): Likewise.
(gfc_simplify_dot_product): Likewise.
(simplify_bound): Likewise.
(simplify_matmul): Likewise.
(simplify_minval_maxval): Likewise.
(gfc_simplify_pack): Likewise.
(gfc_simplify_reshape): Likewise.
(gfc_simplify_shape): Likewise.
(gfc_simplify_spread): Likewise.
(gfc_simplify_transpose): Likewise.
(gfc_simplify_unpack): Likewise.q
(gfc_convert_constant): Likewise.
(gfc_convert_char_constant): Likewise.
* target-memory.c (size_array): Likewise.
(encode_array): Likewise.
(encode_derived): Likewise.
(interpret_array): Likewise.
(gfc_interpret_derived): Likewise.
(expr_to_char): Likewise.
(gfc_merge_initializers): Likewise.
* trans-array.c (gfc_get_array_constructor_size): Likewise.
(gfc_trans_array_constructor_value): Likewise.
(get_array_ctor_strlen): Likewise.
(gfc_constant_array_constructor_p): Likewise.
(gfc_build_constant_array_constructor): Likewise.
(gfc_trans_array_constructor): Likewise.
(gfc_conv_array_initializer): Likewise.
* trans-decl.c (check_constant_initializer): Likewise.
* trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
(gfc_apply_interface_mapping_to_cons): Likewise.
(gfc_trans_structure_assign): Likewise.
(gfc_conv_structure): Likewise.
* array.c (check_duplicate_iterator): Likewise.
(match_array_list): Likewise.
(match_array_cons_element): Likewise.
(gfc_match_array_constructor): Likewise.
(check_constructor_type): Likewise.
(check_constructor): Likewise.
(expand): Likewise.
(expand_constructor): Likewise.
(extract_element): Likewise.
(gfc_expanded_ac): Likewise.
(resolve_array_list): Likewise.
(gfc_resolve_character_array_constructor): Likewise.
(copy_iterator): Renamed to ...
(gfc_copy_iterator): ... this.
(gfc_append_constructor): Removed.
(gfc_insert_constructor): Removed unused function.
(gfc_get_constructor): Removed.
(gfc_free_constructor): Removed.
(qgfc_copy_constructor): Removed.
* gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
Removed all references. Replaced constructor list by splay-tree.
(struct gfc_constructor): Removed member 'next', moved 'offset' from
the inner struct, added member 'base'.
(gfc_append_constructor): Removed prototype.
(gfc_insert_constructor): Removed prototype.
(gfc_get_constructor): Removed prototype.
(gfc_free_constructor): Removed prototype.
(qgfc_copy_constructor): Removed prototype.
(gfc_copy_iterator): New prototype.
* trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158253
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 13 Apr 2010 00:17:05 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158252
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Tue, 13 Apr 2010 00:13:13 +0000 (00:13 +0000)]
2010-04-13 Matthias Klose <doko@ubuntu.com>
* elf: Remove empty directory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158248
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Mon, 12 Apr 2010 23:58:18 +0000 (23:58 +0000)]
gcc/
2010-04-13 Matthias Klose <doko@ubuntu.com>
* gcc.c (cc1_options): Handle -iplugindir before processing
the cc1 spec. Only add -iplugindir once.
(cpp_unique_options): Add -iplugindir option if -fplugin* options
found.
* common.opt (iplugindir): Remove `Separate' property, initialize.
* plugin.c (default_plugin_dir_name): Error with missing -iplugindir
option.
* Makefile.in (check-%, check-parallel-%): Create plugin dir.
(distclean): Remove plugin dir.
2010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
* doc/plugins.texi (Loading Plugins): Document short
-fplugin=foo option.
(Plugin API): Mention default_plugin_dir_name function.
* gcc.c (find_file_spec_function): Add new declaration.
(static_spec_func): Use it for "find-file".
(find_file_spec_function): Add new function.
(cc1_options): Add -iplugindir option if -fplugin* options found.
* gcc-plugin.h (default_plugin_dir_name): Added new declaration.
* plugin.c (add_new_plugin): Updated comment, and handle short
plugin name.
(default_plugin_dir_name): Added new function.
* common.opt (iplugindir): New option to set the plugin
directory.
gcc/testsuite/
2010-04-13 Matthias Klose <doko@ubuntu.com>
* gcc.dg/plugindir1.c: New testcase.
* gcc.dg/plugindir2.c: New testcase.
* gcc.dg/plugindir3.c: New testcase.
* gcc.dg/plugindir4.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158247
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 12 Apr 2010 20:20:54 +0000 (20:20 +0000)]
* config/i386/i386.md (any_rotate): New code iterator.
(rotate_insn): New code attribute.
(rotate): Ditto.
(SWIM124): New mode iterator.
(<rotate_insn>ti3): New expander.
(<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
any_rotate code iterator.
(<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
using any_rotate code iterator and SWIM124 mode iterator.
(ix86_rotlti3): New insn_and_split pattern.
(ix86_rotrti3): Ditto.
(ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
ix86_rotl{di,ti}3 patterns.
(ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
(*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
*{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
code iterator and SWI mode iterator.
(*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
code iterator.
(*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
(bswap rotatert splitter): Add splitter.
(bswap splitter): Macroize splitter using any_rotate code iterator.
Add insn predicate to split only for TARGET_USE_XCHGB or when
optimizing function for size.
testsuite/ChangeLog:
* gcc.target/i386/rotate-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158243
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Mon, 12 Apr 2010 20:01:41 +0000 (20:01 +0000)]
2010-04-12 Steve Ellcey <sje@cup.hp.com>
* config/pa/pa.c (emit_move_sequence): Remove use of
deleted variable flag_argument_noalias.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158242
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 12 Apr 2010 19:58:49 +0000 (19:58 +0000)]
PR c++/43641
* semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
return value directly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158241
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 12 Apr 2010 19:58:37 +0000 (19:58 +0000)]
* call.c (type_decays_to): Call cv_unqualified for non-class type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158240
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 12 Apr 2010 19:58:27 +0000 (19:58 +0000)]
PR c++/25811
* cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Declare.
* init.c (build_new_1): Check for uninitialized const members and
uninitialized reference members, when using new without
new-initializer. Call diagnose_uninitialized_cst_or_ref_member.
(diagnose_uninitialized_cst_or_ref_member): Define, call
diagnose_uninitialized_cst_or_ref_member_1.
(diagnose_uninitialized_cst_or_ref_member_1): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158239
138bc75d-0d04-0410-961f-
82ee72b054a4
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Mon, 12 Apr 2010 19:01:36 +0000 (19:01 +0000)]
gcc:
* config.gcc: Removed *-*-solaris2.7* from list of obsolete
configurations.
Add to unsupported targets list.
* configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
sparc*-sun-solaris2.[567]* from target lists.
* configure: Regenerate.
* doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
removal.
Remove Solaris 7 patch references.
(Specific, sparc-sun-solaris2.7): Removed.
(sparc-sun-solaris2*): Update Solaris 7 example.
(sparc64-*-solaris2*): Likewise.
gcc/testsuite:
* g++.dg/warn/miss-format-1.C: Removed *-*-solaris2.7 from
dg-error, dg-warning.
* gcc.dg/c99-stdint-6.c: Removed *-*-solaris2.7 from dg-options.
libstdc++-v3:
* configure.host (os_include_dir): Removed solaris2.7 support.
* crossconfig.m4 (GLIBCXX_CROSSCONFIG): Likewise.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158236
138bc75d-0d04-0410-961f-
82ee72b054a4
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Mon, 12 Apr 2010 18:36:30 +0000 (18:36 +0000)]
gcc:
* config.build (alpha*-dec-osf4*): Remove.
* config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
of obsolete configurations.
(alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
support.
* config/alpha/t-osf4: Renamed to ...
* config/alpha/t-osf5: ... this.
* config/alpha/osf.h: Renamed to ...
* config/alpha/osf5.h: ... this.
Merged old osf5.h contents.
Update comments.
(ASM_SPEC): Use ASM_OLDAS_SPEC directly.
(EXTRA_SPECS): Removed.
* doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
reflect removal of Tru64 UNIX V4.0/V5.0 support.
Document that.
fixincludes:
* inclhack.def (alpha_wchar): Remove.
* fixincl.x: Regenerate.
* tests/base/wchar.h: Remove.
libgcc:
* config.host (alpha*-dec-osf[45]*): Removed alpha*-dec-osf4*,
alpha-dec-osf5.0* support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158235
138bc75d-0d04-0410-961f-
82ee72b054a4
ro@138bc75d-0d04-0410-961f-82ee72b054a4 [Mon, 12 Apr 2010 18:15:45 +0000 (18:15 +0000)]
* doc/contrib.texi (Contributors, Rainer Orth): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158233
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Mon, 12 Apr 2010 18:04:44 +0000 (18:04 +0000)]
2010-04-12 Kai Tietz <kai.tietz@onevision.com>
PR/43702
* config/i386/i386.c (x86_this_parameter): Handle aggregate for
__thiscall convention.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158232
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Mon, 12 Apr 2010 17:27:15 +0000 (17:27 +0000)]
2010-04-12 Steve Ellcey <sje@cup.hp.com>
* config/pa/pa.c (hppa_legitimize_address): Remove unused variable
orig_base.
* config/pa/pa.md (call, call_value): Remove unused variable call_insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158230
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Mon, 12 Apr 2010 16:04:42 +0000 (16:04 +0000)]
2010-04-12 Steve Ellcey <sje@cup.hp.com>
* function.c (assign_parms_initialize_all): Add unused attribute
to fntype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158228
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 12 Apr 2010 15:20:48 +0000 (15:20 +0000)]
2010-04-12 Richard Guenther <rguenther@suse.de>
* gsstruct.def (GSS_CALL): New.
* gimple.def (GIMPLE_CALL): Change to GSS_CALL.
* gimple.h: Include tree-ssa-alias.h.
(struct gimple_statement_call): New.
(union gimple_statement_struct_d): Add gimple_call member.
(gimple_call_reset_alias_info): Declare.
(gimple_call_use_set): New function.
(gimple_call_clobber_set): Likewise.
* Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
* gimple.c (gimple_call_reset_alias_info): New function.
(gimple_build_call_1): Call it.
* lto-streamer-in.c (input_gimple_stmt): Likewise.
* tree-inline.c (remap_gimple_stmt): Likewise.
(expand_call_inline): Remove callused handling.
* cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
* tree-dfa.c (dump_variable): Likewise.
* tree-parloops.c (parallelize_loops): Likewise.
* tree-ssa.c (init_tree_ssa): Likewise.
(delete_tree_ssa): Likewise.
* tree-flow-inline.h (is_call_used): Remove.
* tree-flow.h (struct gimple_df): Remove callused member.
* tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
* tree-ssa-alias.c (dump_alias_info): Remove callused handling.
(ref_maybe_used_by_call_p_1): Simplify.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-structalias.c (compute_points_to_sets): Set
the call stmt used and clobbered sets.
* tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
(find_tail_calls): Verify the tail call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158226
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 12 Apr 2010 13:37:32 +0000 (13:37 +0000)]
2010-04-12 Richard Guenther <rguenther@suse.de>
* ipa.c (cgraph_postorder): Adjust postorder to guarantee
single-iteration always-inline inlining.
* ipa-inline.c (cgraph_mark_inline): Do not return anything.
(cgraph_decide_inlining): Do not handle always-inline
specially.
(try_inline): Remove always-inline cycle detection special case.
Do not recurse on always-inlines.
(cgraph_early_inlining): Do not iterate if not optimizing.
(cgraph_gate_early_inlining): remove.
(pass_early_inline): Run unconditionally.
(gate_cgraph_decide_inlining): New function.
(pass_ipa_inline): Use it. Do not run the IPA inliner if
not inlining or optimizing.
(cgraph_decide_inlining_of_small_functions): Also consider
always-inline functions.
(cgraph_default_inline_p): Return true for nodes which should
disregard inline limits.
(estimate_function_body_sizes): Assume zero size and time for
nodes which are marked as disregarding inline limits.
(cgraph_decide_recursive_inlining): Do not perform recursive
inlining on always-inline nodes.
* gcc.dg/torture/inline-2.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158225
138bc75d-0d04-0410-961f-
82ee72b054a4
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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