Uros Bizjak [Wed, 18 Aug 2010 22:37:03 +0000 (00:37 +0200)]
re PR target/45327 (ICE: SIGSEGV in rtx_equal_p (rtl.c:496) with -O1 -funroll-loops -fnon-call-exceptions)
PR target/45327
* config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
ix86_binary_operator_ok.
From-SVN: r163357
Janus Weil [Wed, 18 Aug 2010 22:32:22 +0000 (00:32 +0200)]
re PR fortran/45290 ([F08] pointer initialization)
2010-08-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/45290
* gfortran.h (gfc_add_save): Modified prototype.
* decl.c (add_init_expr_to_sym): Defer checking of proc pointer init.
(match_pointer_init): New function to match F08 pointer initialization.
(variable_decl,match_procedure_decl,match_ppc_decl): Use
'match_pointer_init'.
(match_attr_spec): Module variables are implicitly SAVE.
(gfc_match_save): Modified call to 'gfc_add_save'.
* expr.c (gfc_check_assign_symbol): Extra checks for pointer
initialization.
* primary.c (gfc_variable_attr): Handle SAVE attribute.
* resolve.c (resolve_structure_cons): Add new argument and do pointer
initialization checks.
(gfc_resolve_expr): Modified call to 'resolve_structure_cons'.
(resolve_values): Call 'resolve_structure_cons' directly with init arg.
(resolve_fl_variable): Handle SAVE_IMPLICIT.
* symbol.c (gfc_add_save,gfc_copy_attr,save_symbol): Handle
SAVE_IMPLICIT.
* trans-decl.c (gfc_create_module_variable): Module variables with
TARGET can already exist.
* trans-expr.c (gfc_conv_variable): Check for 'current_function_decl'.
(gfc_conv_initializer): Implement non-NULL pointer
initialization.
2010-08-19 Janus Weil <janus@gcc.gnu.org>
PR fortran/45290
* gfortran.dg/proc_ptr_comp_3.f90: Modified.
* gfortran.dg/pointer_init_2.f90: New.
* gfortran.dg/pointer_init_3.f90: New.
* gfortran.dg/pointer_init_4.f90: New.
From-SVN: r163356
Eric Botcazou [Wed, 18 Aug 2010 21:07:29 +0000 (21:07 +0000)]
* tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
From-SVN: r163352
Uros Bizjak [Wed, 18 Aug 2010 19:24:41 +0000 (21:24 +0200)]
i386.md (*add<mode>_1): Split insn to lea.
* config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
<default>: Swap operands 1 and 2 for alternative 2 to use existing
code to output insn mnemonic. Fix comment.
(*addsi_1_zext): Add r-r-0 alternative 1.
<TYPE_LEA>: Split insn to lea.
<default>: Handle alternative 1.
(*addhi_1_lea): Add r-r-0 alternative 2. Use cond RTX instead of
multi-level if_then_else RTX to set "type" attribute.
<default>: Handle alternative 2.
(*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4.
Use cond RTX instead of multi-level if_then_else RTX to set
"type" attribute.
<default>: Handle alternatives 2 and 4.
(lea splitters): Update calls to ix86_lea_for_add_ok.
* config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code"
argument.
* config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype.
From-SVN: r163351
Tobias Burnus [Wed, 18 Aug 2010 18:05:58 +0000 (20:05 +0200)]
re PR fortran/45295 (intrinsic.texi: SELECTED_CHAR_KIND should mention wide-char support)
2010-08-18 Tobias Burnus <burnus@net-b.de>
PR fortran/45295
* intrinsic.texi (selected_char_kind): Document ISO_10646
support.
From-SVN: r163347
Nathan Froyd [Wed, 18 Aug 2010 16:05:40 +0000 (16:05 +0000)]
re PR c++/45049 (ICE: tree check: expected tree that contains 'decl minimal' structure, have 'tree_list' in push_overloaded_decl, at cp/name-lookup.c:2160)
gcc/cp/
PR c++/45049
* name-lookup.c (push_overloaded_decl): Change DECL_CHAIN to
TREE_CHAIN.
gcc/testsuite/
PR c++/45049
* g++.dg/pr45049-1.C: New test.
* g++.dg/pr45049-2.C: New test.
From-SVN: r163344
Kostya Serebryany [Wed, 18 Aug 2010 15:21:56 +0000 (15:21 +0000)]
re PR libstdc++/45276 (Need to document _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE)
2010-08-18 Kostya Serebryany <kcc@google.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45276
* doc/xml/manual/debug.xml ([debug.races]): Add.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r163342
Jie Zhang [Wed, 18 Aug 2010 14:45:33 +0000 (14:45 +0000)]
builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to 20 if __ARM_PCS is defined otherwise 64.
* gcc.dg/builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to
20 if __ARM_PCS is defined otherwise 64.
(bar): Use STACK_ARGUMENTS_SIZE for the third argument
instead of hard coded 64.
From-SVN: r163341
Richard Guenther [Wed, 18 Aug 2010 14:18:51 +0000 (14:18 +0000)]
tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts, use operand helpers.
2010-08-18 Richard Guenther <rguenther@suse.de>
* tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts,
use operand helpers.
From-SVN: r163340
Paolo Bonzini [Wed, 18 Aug 2010 13:35:46 +0000 (13:35 +0000)]
Expand pending pops before trying the optab.
2010-08-18 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/45292
* optabs.c (expand_bool_compare_and_swap): Expand pending
pops before trying the optab.
From-SVN: r163339
Yao Qi [Wed, 18 Aug 2010 12:33:43 +0000 (12:33 +0000)]
re PR target/45094 ([arm] wrong instructions for dword move in some cases)
gcc/
PR target/45094
* config/arm/arm.c (output_move_double): Fix typo generating
instructions ('ldr'->'str').
gcc/testsuite/
PR target/45094
* gcc.target/arm/pr45094.c: New test.
From-SVN: r163338
Maxim Kuvyrkov [Wed, 18 Aug 2010 10:36:09 +0000 (10:36 +0000)]
* gcc.target/arm/mla-1.c: Use thumb-friendly architecture.
From-SVN: r163335
Maxim Kuvyrkov [Wed, 18 Aug 2010 10:34:02 +0000 (10:34 +0000)]
re PR rtl-optimization/42575 (arm-eabi-gcc 64-bit multiply weirdness)
gcc/
PR rtl-optimization/42575
* optabs.c (expand_doubleword_mult): Generate new pseudos to shorten
live ranges.
gcc/testsuite/
PR rtl-optimization/42575
* gcc.target/pr42575.c: New test.
From-SVN: r163334
Iain Sandoe [Wed, 18 Aug 2010 09:01:22 +0000 (09:01 +0000)]
test cse for emulated TLS targets.
* lib/target-supports.exp (check_effective_target_tls_emulated): New.
* gcc.dg/tls/thr-cse-1.c: New.
From-SVN: r163330
Jack Howarth [Wed, 18 Aug 2010 08:51:57 +0000 (08:51 +0000)]
configure.ac (THREADLIBS): Don't set on Darwin.
2010-08-18 Jack Howarth <howarth@bromo.med.uc.edu>
* libjava/configure.ac (THREADLIBS): Don't set on Darwin.
(THREADSPEC): Likwise.
* libjava/configure: Regenerate.
* libjava/Makefile.am: Define LIBJAVA_LDFLAGS_LIBMATH as
-lm only if USING_DARWIN_CRT undefined.
(libgcj_tools_la_LIBADD): Replace '-lm' with $(LIBJAVA_LDFLAGS_LIBMATH).
* libjava/Makefile.in: Regenerate.
From-SVN: r163329
Marcus Shawcroft [Wed, 18 Aug 2010 08:25:33 +0000 (08:25 +0000)]
For Marcus - Implement sync primitives inline for ARM.
2010-08-18 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/arm/arm-protos.h (arm_expand_sync): New.
(arm_output_memory_barrier, arm_output_sync_insn): New.
(arm_sync_loop_insns): New.
* config/arm/arm.c (FL_ARCH7): New.
(FL_FOR_ARCH7): Include FL_ARCH7.
(arm_arch7): New.
(arm_print_operand): Support %C markup.
(arm_legitimize_sync_memory): New.
(arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
(arm_process_output_memory_barrier, arm_output_memory_barrier): New.
(arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
(arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
(arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
(arm_process_output_sync_insn, arm_output_sync_insn): New.
(arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
* config/arm/arm.h (struct arm_sync_generator): New.
(TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
(TARGET_HAVE_MEMORY_BARRIER): New.
(TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
* config/arm/arm.md: Include sync.md.
(UNSPEC_MEMORY_BARRIER): New.
(VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
(VUNSPEC_SYNC_OP):New.
(VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
(sync_result, sync_memory, sync_required_value): New attributes.
(sync_new_value, sync_t1, sync_t2): Likewise.
(sync_release_barrier, sync_op): Likewise.
(length): Add logic to length attribute defintion to call
arm_sync_loop_insns when appropriate.
* config/arm/sync.md: New file.
From-SVN: r163327
Iain Sandoe [Wed, 18 Aug 2010 08:21:43 +0000 (08:21 +0000)]
re PR debug/42487 (FAIL: gcc.dg/debug/dwarf2/aranges-fnsec-1.c scan-assembler DW_AT_ranges)
PR debug/42487
* lib/target-supports.exp
(check_effective_target_function_sections): New.
* gcc.dg/debug/dwarf2/aranges-fnsec-1.c: Check that the target supports
function sections before proceding.
From-SVN: r163326
GCC Administrator [Wed, 18 Aug 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163323
Jakub Jelinek [Tue, 17 Aug 2010 18:10:20 +0000 (20:10 +0200)]
tree.h (host_integerp): Add ATTRIBUTE_PURE when not ENABLE_TREE_CHECKING.
* tree.h (host_integerp): Add ATTRIBUTE_PURE when not
ENABLE_TREE_CHECKING.
(tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING
and GCC >= 4.3.
From-SVN: r163313
Jakub Jelinek [Tue, 17 Aug 2010 18:08:05 +0000 (20:08 +0200)]
re PR fortran/45308 ([F2003] DATE_AND_TIME does _not_ blank-pad strings)
PR fortran/45308
* intrinsics/date_and_time.c (date_and_time): Pass __{zone,time,date}_len
instead of {ZONE,TIME,DATE}_LEN as second argument to fstrcpy. Drop
asserts. Adjust comment to the F2003 wording from the F95 wording.
* gfortran.dg/pr45308.f03: New test.
From-SVN: r163312
Jakub Jelinek [Tue, 17 Aug 2010 18:06:18 +0000 (20:06 +0200)]
re PR fortran/45304 (Functions/subroutines without arguments always treated like varargs)
PR fortran/45304
* trans-decl.c (build_library_function_decl_1): Chain on
void_list_node instead of creating a new TREE_LIST.
* trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
* trans-types.c (gfc_get_function_type): Likewise. Set
typelist to void_list_node for the main program.
From-SVN: r163311
H.J. Lu [Tue, 17 Aug 2010 15:49:32 +0000 (15:49 +0000)]
Try to avoid lea if possible.
2010-08-17 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU
or optimizing for size, always avoid lea if possible.
* config/i386/i386.md (*add<mode>_1): Always avoid lea if
possible.
From-SVN: r163310
Iain Sandoe [Tue, 17 Aug 2010 14:54:10 +0000 (14:54 +0000)]
only use _darwin10_Unwind_FindEnclosingFunction on darwin >= 10
gcc:
* unwind-dw2-fde-darwin.c (_darwin10_Unwind_FindEnclosingFunction):
Dunmmy function with NULL return unless the target is
OSX >= 10.6 (Darwin10).
libjava:
* include/posix.h: Make substitution of
_darwin10_Unwind_FindEnclosingFunction conditional on
OSX >= 10.6 (Darwin10).
From-SVN: r163309
Jack Howarth [Tue, 17 Aug 2010 13:22:28 +0000 (13:22 +0000)]
gcc.c (spec_function): Add remove-outfile.
2010-08-17 Jack Howarth <howarth@bromo.med.uc.edu>
* gcc.c (spec_function): Add remove-outfile.
(remove_outfile_spec_function): New function.
* config/darwin.h (LINK_SPEC): Add removal of
-ldl, -lm and -lpthread.
* invoke.texi (replace-outfile): Document.
From-SVN: r163305
Paolo Carlini [Tue, 17 Aug 2010 13:15:41 +0000 (13:15 +0000)]
re PR libstdc++/45300 (in cstdio/cstdlib keyword restrict is used instead of __restrict)
2010-08-17 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45300
* include/c_std/cwchar: Replace 'restrict' -> '__restrict'.
* include/c_global/cwchar: Likewise.
From-SVN: r163304
Uros Bizjak [Tue, 17 Aug 2010 12:25:24 +0000 (14:25 +0200)]
re PR target/45296 (register long double ICE at -O2, -Os, -O3)
PR target/45296
* reginfo.c (globalize_reg): Reject stack registers.
testsuite/ChangeLog:
PR target/45296
* gcc.target/i386/pr45296.c: New test.
From-SVN: r163303
Richard Guenther [Tue, 17 Aug 2010 09:55:04 +0000 (09:55 +0000)]
tree-ssa-dom.c (struct edge_info): Use a VEC for the list of conditional equivalences.
2010-08-17 Richard Guenther <rguenther@suse.de>
* tree-ssa-dom.c (struct edge_info): Use a VEC for the
list of conditional equivalences.
(free_all_edge_infos): Adjust.
(record_equivalences_from_incoming_edge): Likewise.
(record_cond): Likewise.
(build_and_record_new_cond): Likewise.
(record_conditions): Likewise.
(dom_opt_leave_block): Likewise.
From-SVN: r163302
Kai Tietz [Tue, 17 Aug 2010 09:54:12 +0000 (09:54 +0000)]
invoke.texi (ms-extension): Add documentation.
2010-08-17 Kai Tietz <kai.tietz@onevision.com>
* doc/invoke.texi (ms-extension): Add documentation.
From-SVN: r163301
Kai Tietz [Tue, 17 Aug 2010 09:52:30 +0000 (09:52 +0000)]
class.c (note_name_declared_in_class): Make in 'extern "C"' blocks...
2010-08-17 Kai Tietz <kai.tietz@onevision.com>
* class.c (note_name_declared_in_class): Make in 'extern "C"' blocks,
or if -fms-extensions is enabled check, check permissive.
From-SVN: r163300
Kai Tietz [Tue, 17 Aug 2010 09:50:38 +0000 (09:50 +0000)]
uow-1.C: New.
2010-08-17 Kai Tietz <kai.tietz@onevision.com>
* g++.dg/ext/uow-1.C: New.
* g++.dg/ext/uow-2.C: New.
* g++.dg/ext/uow-3.C: New.
* g++.dg/ext/uow-4.C: New.
From-SVN: r163299
Richard Guenther [Tue, 17 Aug 2010 09:50:12 +0000 (09:50 +0000)]
fold-const.c (fold_comparison): Strip nops inside POINTER_PLUS_EXPR.
2010-08-17 Richard Guenther <rguenther@suse.de>
* fold-const.c (fold_comparison): Strip nops inside
POINTER_PLUS_EXPR.
From-SVN: r163298
Richard Guenther [Tue, 17 Aug 2010 09:47:44 +0000 (09:47 +0000)]
re PR testsuite/45266 (FAIL: gfortran.dg/array_memcpy_3.f90)
2010-08-17 Richard Guenther <rguenther@suse.de>
PR testsuite/45266
* gfortran.dg/array_memcpy_3.f90: Adjust pattern.
From-SVN: r163297
Shujing Zhao [Tue, 17 Aug 2010 08:25:20 +0000 (08:25 +0000)]
re PR c/40563 (-Wc++-compat does not warn about uninitialized const field in struct)
/gcc
2010-08-17 Shujing Zhao <pearly.zhao@oracle.com>
PR c/40563
* c-decl.c (diagnose_uninitialized_cst_member): New function.
(finish_decl): Use it to issue a -Wc++-compat warning about
uninitialized const field in struct or union.
(finish_struct): Use strip_array_types.
/gcc/testsuite
2010-08-17 Shujing Zhao <pearly.zhao@oracle.com>
PR c/40563
* gcc.dg/Wcxx-compat-20.c: New test.
From-SVN: r163296
Daniel Kraft [Tue, 17 Aug 2010 08:20:03 +0000 (10:20 +0200)]
re PR fortran/38936 ([F03] ASSOCIATE construct / improved SELECT TYPE (a=>expr))
2010-08-17 Daniel Kraft <d@domob.eu>
PR fortran/38936
* gfortran.h (struct gfc_association_list): New member `where'.
(gfc_is_associate_pointer) New method.
* match.c (gfc_match_associate): Remember locus for each associate
name matched and do not try to set variable flag.
* parse.c (parse_associate): Use remembered locus for symbols.
* primary.c (match_variable): Instead of variable-flag check for
associate names set it for all such names used.
* symbol.c (gfc_is_associate_pointer): New method.
* resolve.c (resolve_block_construct): Don't generate assignments
to give associate-names their values.
(resolve_fl_var_and_proc): Allow associate-names to be deferred-shape.
(resolve_symbol): Set some more attributes for associate variables,
set variable flag here and check it and don't try to build an
explicitely shaped array-spec for array associate variables.
* trans-expr.c (gfc_conv_variable): Dereference in case of association
to scalar variable.
* trans-types.c (gfc_is_nodesc_array): Handle array association symbols.
(gfc_sym_type): Return pointer type for association to scalar vars.
* trans-decl.c (gfc_get_symbol_decl): Defer association symbols.
(trans_associate_var): New method.
(gfc_trans_deferred_vars): Handle association symbols.
2010-08-17 Daniel Kraft <d@domob.eu>
PR fortran/38936
* gfortran.dg/associate_1.f03: Extended to test newly supported
features like association to variables.
* gfortran.dg/associate_3.f03: Removed check for illegal change
of associate-name here...
* gfortran.dg/associate_5.f03: ...and added it here.
* gfortran.dg/associate_6.f03: No longer XFAIL'ed.
* gfortran.dg/associate_7.f03: New test.
From-SVN: r163295
Jakub Jelinek [Tue, 17 Aug 2010 06:49:20 +0000 (08:49 +0200)]
function.c (block_fragments_nreverse, [...]): New functions.
* function.c (block_fragments_nreverse, blocks_nreverse_all): New
functions.
(reorder_blocks): Use blocks_nreverse_all instead of blocks_nreverse.
(reorder_blocks_1): Assert BLOCK_FRAGMENT_ORIGIN is NULL. Don't
call block_nreverse here.
(blocks_nreverse): Rename decl temporary to block.
From-SVN: r163292
GCC Administrator [Tue, 17 Aug 2010 00:17:12 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163291
Paolo Carlini [Mon, 16 Aug 2010 19:01:35 +0000 (19:01 +0000)]
re PR libstdc++/45300 (in cstdio/cstdlib keyword restrict is used instead of __restrict)
2010-08-16 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45300
* include/c_std/cstdlib: Replace 'restrict' -> '__restrict'.
* include/c_std/cstdio: Likewise.
* include/c_global/cstdlib: Likewise.
* include/c_global/cstdio: Likewise.
From-SVN: r163283
Chris Moller [Mon, 16 Aug 2010 18:48:27 +0000 (18:48 +0000)]
printers.py (StdVectorPrinter): Added stuff to handle pretty-printing of std::vector<bool>.
2010-08-16 Chris Moller <cmoller@redhat.com>
http://sourceware.org/bugzilla/show_bug.cgi?id=11874
* python/libstdcxx/v6/printers.py (StdVectorPrinter): Added stuff
to handle pretty-printing of std::vector<bool>.
From-SVN: r163282
Bernd Schmidt [Mon, 16 Aug 2010 10:25:28 +0000 (10:25 +0000)]
thumb2.md (thumb2_notsi_shiftsi, [...]): Delete.
* config/arm/thumb2.md (thumb2_notsi_shiftsi,
thumbsi_notsi_shiftsi_compare0, thumb2_not_shiftsi_compare0_scratch,
thumb2_cmpsi_shiftsi, thumb2_cmpsi_shiftsi_swp, thumb2_arith_shiftsi,
thumb2_arith_shiftsi splitter, thumb2_arith_shiftsi_compare0,
thumb2_arith_shiftsi_compare0_scratch, thumb2_sub_shiftsi,
thumb2_sub_shiftsi_compare0, thumb2_sub_shiftsi_compare0_scratch,
thumb2_iorsi3): Delete.
(orsi_notsi_si): No longer a named pattern.
(orsi_not_shiftsi_si): Renamed from thumb_orsi_not_shiftsi_si.
* config/arm/predicates.md (shift_amount_operand): New.
(mult_operator): New.
* config/arm/arm.md (attr arch, attr arch_enabled, attr insn_enabled,
attr enabled): New.
(iorsi3_insn): Renamed from arm_iorsi3. Handle a new alternative if
arch matches t2.
(not_shiftsi): Renamed from arm_notsi_shiftsi. Handle Thumb2 variant.
(not_shiftsi_compare0): Likewise, renamed from
arm_notsi_shiftsi_compare0.
(not_shiftsi_compare0_scratch): Likweise, renamed from
arm_notsi_shiftsi_compare0_scratch.
(cmpsi_shiftsi): Likewise, renamed from arm_cmpsi_shiftsi.
(cmpsi_shiftsi_swp): Likewise, renamed from arm_cmpsi_shiftsi_swp.
(arith_shiftsi): Handle Thumb2 variant. Set insn_enabled attribute
so that the register alternative is disabled when the shift_operator
is MULT. Use "M" as the constraint for constants.
(arith_shiftsi splitter): Enable for TARGET_32BIT.
(arith_shiftsi_compare0): Handle Thumb2 variant. Use "M" as the
constraint for constants.
(arith_shiftsi_compare0_scratch): Likewise.
(sub_shiftsi, sub_shiftsi_compare0, sub_shiftsi_compare0_scratch):
Handle Thumb2 alternative.
From-SVN: r163281
Joseph Myers [Mon, 16 Aug 2010 10:17:07 +0000 (11:17 +0100)]
options.texi (NoDriverArg): Document.
* doc/options.texi (NoDriverArg): Document.
* gcc.c (cpp_unique_options): Generate -MD and -MMD instead of
-MDX and -MMDX.
* opt-functions.awk (switch_flags): Handle NoDriverArg.
* opts-common.c (decode_cmdline_option): Ignore CL_SEPARATE
marking for CL_NO_DRIVER_ARG options when in the driver.
* opts.h (CL_NO_DRIVER_ARG): Define.
(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
CL_COMMON): Update values.
c-family:
* c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
RejectDriver.
(MMDX): Change back to MMD. Mark NoDriverArg instead of
RejectDriver.
* c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
instead of OPT_MDX and OPT_MMDX.
fortran:
* lang.opt (MDX): Change back to MD. Mark NoDriverArg instead of
RejectDriver.
(MMDX): Change back to MMD. Mark NoDriverArg instead of
RejectDriver.
* cpp.c (gfc_cpp_handle_option): Use OPT_MD and OPT_MMD instead of
OPT_MDX and OPT_MMDX.
From-SVN: r163280
Joseph Myers [Mon, 16 Aug 2010 10:15:15 +0000 (11:15 +0100)]
common.opt: Add driver options.
* common.opt: Add driver options.
(auxbase, auxbase-strip, quiet, version): Mark RejectDriver.
* doc/options.texi (Driver, RejectDriver): Document.
* gcc.c (pass_exit_codes, print_search_dirs, print_file_name,
print_prog_name, print_multi_directory, print_sysroot,
print_multi_os_directory, print_multi_lib,
print_sysroot_headers_suffix, report_times, combine_flag,
use_pipes, wrapper_string): Remove.
(save_switch, driver_unknown_option_callback,
driver_wrong_lang_callback, driver_post_handling_callback,
driver_handle_option): New.
(spec_lang, last_language_n_infiles): Make file-scope static
instead of local to process_command.
(process_command): Use decode_cmdline_options_to_array and
read_cmdline_option for option processing. Compute have_c in
prescan of decoded options.
* opt-functions.awk (switch_flags): Handle Driver and
RejectDriver.
(var_type, var_type_struct): Handle Separate options as generating
const char * variables.
* opts-common.c (decode_cmdline_option): Expect CL_COMMON and
CL_TARGET to be passed by caller if required.
(decode_cmdline_options_to_array): Update comment.
* opts.c (complain_wrong_lang): Handle options only valid for the
driver.
(decode_options): Update call to decode_cmdline_options_to_array.
(print_filtered_help): Ignore driver-only options.
(print_specific_help): Ignore CL_DRIVER.
(common_handle_option): Don't call print_specific_help for
CL_DRIVER.
* opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define.
(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON):
Update values.
c-family:
* c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
fortran:
* lang.opt (MDX, MMDX): Mark RejectDriver.
java:
* lang.opt (MD_, MMD_, version): Mark RejectDriver.
From-SVN: r163279
Richard Guenther [Mon, 16 Aug 2010 09:55:54 +0000 (09:55 +0000)]
tree-cfg.c (verify_types_in_gimple_reference): Verify TARGET_MEM_REF a bit.
2010-08-16 Richard Guenther <rguenther@suse.de>
* tree-cfg.c (verify_types_in_gimple_reference): Verify
TARGET_MEM_REF a bit.
* tree-ssa-address.c (addr_for_mem_ref): Adjust.
(create_mem_ref_raw): Always create TMR_OFFSET, store the
alias pointer type via it.
(copy_mem_ref_info): Adjust.
(maybe_fold_tmr): Likewise.
* tree.c (mem_ref_offset): Also handle TARGET_MEM_REF.
(reference_alias_ptr_type): Likewise.
* tree.def (TARGET_MEM_REF): Remove TMR_ORIGINAL operand,
adjust documentation of TMR_OFFSET operand.
* alias.c (get_alias_set): Do not look at TMR_ORIGINAL but
use the alias pointer type.
* expr.c (expand_expr_real_1): Do not use TMR_ORIGINAL to
initialize mem attrs but the TMR itself.
* tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REF
similar to MEM_REF.
* tree-pretty-print.c (dump_generic_node): Do not dump TMR_ORIGINAL.
* tree-ssa-loop-ivopts.c (idx_remove_ssa_names): Remove.
(unshare_and_remove_ssa_names): Likewise.
(copy_ref_info): Adjust.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Simplify
TARGET_MEM_REF case.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Do not look
at TMR_ORIGINAL.
* tree.h (TMR_ORIGINAL): Remove.
* gimple.c (get_base_address): For TARGET_MEM_REF with a
symbol return that.
* tree-dfa.c (get_ref_base_and_extent): Handle TARGET_MEM_REF
with a symbol.
(get_addr_base_and_unit_offset): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Handle
TARGET_MEM_REFs.
(indirect_ref_may_alias_decl_p): Likewise.
(refs_may_alias_p_1): Do not bail out for TARGET_MEM_REFs.
From-SVN: r163278
Mingjie Xing [Mon, 16 Aug 2010 01:24:55 +0000 (01:24 +0000)]
Added myself to MAINTAINERS (write after approval)
From-SVN: r163276
GCC Administrator [Mon, 16 Aug 2010 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163275
Kaz Kojima [Mon, 16 Aug 2010 00:09:35 +0000 (00:09 +0000)]
pr42585.c: Skip dump scan on sh.
* gcc.dg/tree-ssa/pr42585.c: Skip dump scan on sh.
From-SVN: r163271
Janus Weil [Sun, 15 Aug 2010 21:41:34 +0000 (23:41 +0200)]
trans-expr.c (gfc_trans_assign_vtab_procs): Clean up (we don't have vtabs for generics any more).
2010-08-15 Janus Weil <janus@gcc.gnu.org>
* trans-expr.c (gfc_trans_assign_vtab_procs): Clean up (we don't have
vtabs for generics any more).
From-SVN: r163270
Uros Bizjak [Sun, 15 Aug 2010 21:25:58 +0000 (23:25 +0200)]
invoke.texi (-fomit-frame-pointer): Document that starting with GCC version 4.6...
* doc/invoke.texi (-fomit-frame-pointer): Document that starting
with GCC version 4.6, the default setting (when not optimizing
for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has
been changed to -fomit-frame-pointer.
From-SVN: r163269
Daniel Kraft [Sun, 15 Aug 2010 19:46:21 +0000 (21:46 +0200)]
re PR fortran/38936 ([F03] ASSOCIATE construct / improved SELECT TYPE (a=>expr))
2010-08-15 Daniel Kraft <d@domob.eu>
PR fortran/38936
* gfortran.h (gfc_find_proc_namespace): New method.
* expr.c (gfc_build_intrinsic_call): No need to build symtree messing
around with namespace.
* symbol.c (gfc_find_proc_namespace): New method.
* trans-decl.c (gfc_build_qualified_array): Use it for correct
value of nest.
* primary.c (gfc_match_varspec): Handle associate-names as arrays.
* parse.c (parse_associate): Removed assignment-generation here...
* resolve.c (resolve_block_construct): ...and added it here.
(resolve_variable): Handle names that are arrays but were not parsed
as such because of association.
(resolve_code): Fix BLOCK resolution.
(resolve_symbol): Generate array-spec for associate-names.
2010-08-15 Daniel Kraft <d@domob.eu>
PR fortran/38936
* gfortran.dg/associate_1.f03: Enable test for array expressions.
* gfortran.dg/associate_3.f03: Clarify comment.
* gfortran.dg/associate_5.f03: New test.
* gfortran.dg/associate_6.f03: New test.
From-SVN: r163268
Iain Sandoe [Sun, 15 Aug 2010 19:15:55 +0000 (19:15 +0000)]
rationalize libgcc stub & static lib linkage on Darwin 9 & 10.
* config/darwin.h (REAL_LIBGCC_SPEC): Remove libgcc_s.10.5 stub for
Darwin10. Do not link libgcc.a for Darwin >= 9.
From-SVN: r163267
Gerald Pfeifer [Sun, 15 Aug 2010 18:26:01 +0000 (18:26 +0000)]
invoke.texi (Warning Options): Fix terminology and markup in the description of how unknown warning options...
* doc/invoke.texi (Warning Options): Fix terminology and markup
in the description of how unknown warning options are handled.
From-SVN: r163266
Tobias Burnus [Sun, 15 Aug 2010 16:20:56 +0000 (18:20 +0200)]
re PR fortran/45211 (C interoperable error when compiling BIND(C) function in a module.)
2010-08-15 Tobias Burnus <burnus@net-b.de>
PR fortran/45211
* decl.c (verify_c_interop_param): Remove superfluous space (" ").
(verify_c_interop): Handle unresolved DT with bind(C).
2010-08-15 Tobias Burnus <burnus@net-b.de>
PR fortran/45211
* gfortran.dg/bind_c_usage_21.f90: New.
* gfortran.dg/bind_c_dts_3.f03: Update dg-error.
From-SVN: r163264
Tobias Burnus [Sun, 15 Aug 2010 16:04:49 +0000 (18:04 +0200)]
trans-expr.c (gfc_conv_expr_present): Regard nullified pointer arrays as absent.
2010-08-15 Tobias Burnus <burnus@net-b.de>
* trans-expr.c (gfc_conv_expr_present): Regard nullified
pointer arrays as absent.
(gfc_conv_procedure_call): Handle EXPR_NULL for non-pointer
dummys as absent argument.
* interface.c (compare_actual_formal,compare_parameter):
Ditto.
2010-08-15 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/optional_absent_1.f90: New.
* gfortran.dg/null_actual.f90: New.
From-SVN: r163263
Tobias Burnus [Sun, 15 Aug 2010 15:47:11 +0000 (17:47 +0200)]
interface.c (compare_pointer, ): Allow passing TARGETs to pointers dummies with intent(in).
2010-08-15 Tobias Burnus <burnus@net-b.de>
* interface.c (compare_pointer, ): Allow passing TARGETs to
pointers dummies with intent(in).
2010-08-15 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/pointer_target_1.f90: New.
* gfortran.dg/pointer_target_2.f90: New.
* gfortran.dg/pointer_target_3.f90: New.
From-SVN: r163262
Daniel Kraft [Sun, 15 Aug 2010 15:28:10 +0000 (17:28 +0200)]
re PR fortran/45197 ([F2008] Allow IMPURE elemental procedures)
2010-08-15 Daniel Kraft <d@domob.eu>
PR fortran/45197
* decl.c (gfc_match_prefix): Match IMPURE prefix and mark ELEMENTAL
routines not IMPURE also as PURE.
* intrinsic.c (enum klass): New class `CLASS_PURE' and renamed
`NO_CLASS' in `CLASS_IMPURE'.
(add_sym): Set symbol-attributes `pure' and `elemental' correctly.
(add_sym_0s): Renamed `NO_CLASS' in `CLASS_IMPURE'.
(add_functions): Ditto.
(add_subroutines): Ditto and mark `MOVE_ALLOC' as CLASS_PURE.
* resolve.c (gfc_pure): Do not treat ELEMENTAL as automatically PURE.
(resolve_formal_arglist): Check that arguments to ELEMENTAL procedures
are not ALLOCATABLE and have their INTENT specified.
2010-08-15 Daniel Kraft <d@domob.eu>
PR fortran/45197
* gfortran.dg/elemental_args_check_3.f90: New test.
* gfortran.dg/impure_1.f08: New test.
* gfortran.dg/impure_2.f08: New test.
* gfortran.dg/impure_3.f90: New test.
* gfortran.dg/typebound_proc_6.f03: Changed expected error message.
From-SVN: r163261
Ira Rosen [Sun, 15 Aug 2010 07:00:32 +0000 (07:00 +0000)]
tree-vect-data-refs.c (vect_setup_realignment): Support realignment in basic blocks.
* tree-vect-data-refs.c (vect_setup_realignment): Support realignment
in basic blocks.
(vect_supportable_dr_alignment): Check alignment for basic blocks.
* tree-vect-slp.c (vect_build_slp_tree): Allow different codes for
data references.
(vect_bb_vectorization_profitable_p): New function.
(vect_slp_analyze_bb): Call vect_bb_vectorization_profitable_p() to
check if it's worthwhile to vectorize the basic block.
From-SVN: r163260
GCC Administrator [Sun, 15 Aug 2010 00:17:00 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163258
Gerald Pfeifer [Sat, 14 Aug 2010 23:02:37 +0000 (23:02 +0000)]
Fix up ChangeLog entry for the last commit.
From-SVN: r163254
Gerald Pfeifer [Sat, 14 Aug 2010 22:57:37 +0000 (22:57 +0000)]
* gcc_release (CVSROOT): Remove all occurrences.
From-SVN: r163253
Anatoly Sokolov [Sat, 14 Aug 2010 21:46:11 +0000 (01:46 +0400)]
reload.h (register_move_cost, [...]): Adjust prototype.
* reload.h (register_move_cost, memory_move_secondary_cost,
secondary_reload_class): Adjust prototype.
* rtl.h (reg_class_subset_p): Adjust prototype.
* reload.c (secondary_reload_class): Change arguments type from
enum reg_class to reg_class_t. Change result type to reg_class_t.
* reginfo.c (register_move_cost, reg_class_subset_p): Change
arguments type from enum reg_class to reg_class_t.
(memory_move_secondary_cost): Change arguments type from
enum reg_class to reg_class_t. Change type of saved_flags to
reg_class_t.
* config/mips/mips.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
Remove macros.
(mips_cost): Remove.
(struct mips_rtx_cost_data): Moved to mips.c.
* config/mips/mips-protos.h (mips_register_move_cost): Remove.
* config/mips/mips.c (struct mips_rtx_cost_data): Moved from mips.h.
(mips_cost): Make static.
(mips_canonicalize_move_class): Change argument type to reg_class_t.
Change result type to reg_class_t.
(mips_move_to_gpr_cost, mips_move_from_gpr_cost): Change arguments
type from enum reg_class to reg_class_t.
(mips_register_move_cost): Make static. Change arguments
type from enum reg_class to reg_class_t.
(mips_memory_move_cost): New function.
(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
From-SVN: r163252
Gerald Pfeifer [Sat, 14 Aug 2010 21:42:16 +0000 (21:42 +0000)]
gcc_release (snapshot_print): Include md5 hash for every tarball in the README file and notification mail.
* gcc_release (snapshot_print): Include md5 hash for every tarball
in the README file and notification mail.
From-SVN: r163251
Jonathan Wakely [Sat, 14 Aug 2010 20:00:55 +0000 (20:00 +0000)]
re PR libstdc++/45283 (performance/30_threads/future/polling.cc fails at compile time)
2010-08-14 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/45283
* testsuite/performance/30_threads/future/polling.cc: Replace calls to
shared_future::is_ready.
From-SVN: r163250
Richard Sandiford [Sat, 14 Aug 2010 19:59:13 +0000 (19:59 +0000)]
re PR target/43358 (IRA: internal compiler error: in pool_free, at alloc-pool.c:335)
gcc/
PR rtl-optimization/43358
* ira-lives.c (process_single_reg_class_operands): Adjust the costs
of a single hard register, using simplify_subreg_regno to decide
what that register should be.
From-SVN: r163249
Mingjie Xing [Sat, 14 Aug 2010 19:48:21 +0000 (19:48 +0000)]
2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
gcc/testsuite/
2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
* gcc.dg/vect/fast-math-vect-reduc-8.c: Move
dg-require-effective-target after dg-do.
From-SVN: r163248
Mingjie Xing [Sat, 14 Aug 2010 19:46:25 +0000 (19:46 +0000)]
2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
gcc/testsuite/
2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
* lib/target-supports.exp (check_effective_target_vect_int): Return
true for Loongson targets.
(check_effective_target_vect_shift): Likewise.
(check_effective_target_vect_no_int_max): Likewise.
(check_effective_target_vect_no_align): Likewise.
(check_effective_target_vect_short_mult): Likewise.
From-SVN: r163247
Mingjie Xing [Sat, 14 Aug 2010 19:42:04 +0000 (19:42 +0000)]
2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
gcc/
2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
* config/mips/mips.c (CODE_FOR_loongson_pmullh): Define.
* config/mips/loongson.md (UNSPEC_LOONGSON_PMULL): Delete.
(loongson_pmull<V_suffix>): Rename to...
(mul<mode>3): ...this and use MULT instead of an UNSPEC.
From-SVN: r163246
Jerry DeLisle [Sat, 14 Aug 2010 18:59:18 +0000 (18:59 +0000)]
re PR fortran/44931 (For INPUT_UNIT, INQUIRE NAME= should not return "stdin")
2010-08-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/44931
* io/inquire.c (inquire_via_unit): Add special case for __MINGW32__ to
return special file names CONIN$, CONOUT$, and CONERR$.
From-SVN: r163245
Uros Bizjak [Sat, 14 Aug 2010 12:32:14 +0000 (14:32 +0200)]
cast.C: Change fields of structures to "long" to pass the test on targets with...
* g++.dg/cast.C: Change fields of structures to "long" to pass
the test on targets with STRUCTURE_SIZE_BOUNDARY != BITS_PER_UNIT.
* g++.dg/cpp0x/iop.C: Ditto.
* g++.dg/cpp0x/named_refs.C: Ditto.
* g++.dg/cpp0x/rv1p.C: Ditto.
* g++.dg/cpp0x/rv2p.C: Ditto.
* g++.dg/cpp0x/rv3p.C: Ditto.
* g++.dg/cpp0x/rv4p.C: Ditto.
* g++.dg/cpp0x/rv5p.C: Ditto.
* g++.dg/cpp0x/rv6p.C: Ditto.
* g++.dg/cpp0x/rv7p.C: Ditto.
* g++.dg/cpp0x/rv8p.C: Ditto.
* g++.dg/cpp0x/unnamed_refs.C: Ditto.
From-SVN: r163240
Paolo Carlini [Sat, 14 Aug 2010 01:00:23 +0000 (01:00 +0000)]
hashtable.h (_Hashtable<>::operator=(const _Hashtable&)): Move inline.
2010-08-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>::operator=(const
_Hashtable&)): Move inline.
(operator=(_Hashtable&&)): Define.
* include/bits/unordered_map.h (unordered_map(unordered_map&&),
unordered_map(const unordered_map&), unordered_multimap
(unordered_multimap&&), unordered_multimap(const unordered_multimap&),
__unordered_map(__unordered_map&&), __unordered_map(const
__unordered_map&), __unordered_multimap(__unordered_multimap&&),
__unordered_multimap(const __unordered_multimap&)): Do not define,
leave implicit.
* include/bits/unordered_set.h (unordered_set(unordered_set&&),
unordered_set(const unordered_set&), unordered_multiset
(unordered_multiset&&), unordered_multiset(const unordered_multiset&),
__unordered_set(__unordered_set&&), __unordered_set(const
__unordered_set&), __unordered_multiset(__unordered_multiset&&),
__unordered_multiset(const __unordered_multiset&)): Likewise.
* include/bits/unordered_map.h (__unordered_map(initializer_list<>),
__unordered_map<>::operator=(initializer_list<>),
__unordered_multimap(initializer_list<>), __unordered_multimap<>::
operator=(initializer_list<>)): Add.
* include/bits/unordered_set.h (__unordered_set(initializer_list<>),
__unordered_set<>::operator=(initializer_list<>),
__unordered_multiset(initializer_list<>), __unordered_multiset<>::
operator=(initializer_list<>)): Likewise.
* include/bits/unordered_map.h (__unordered_map(_InputIterator,
_InputIterator, size_type __n), unordered_map(_InputIterator,
_InputIterator, size_type __n), unordered_map(initializer_list<>,
size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
Fix __n default to 0.
* include/bits/unordered_set.h (__unordered_set(_InputIterator,
_InputIterator, size_type __n), unordered_set(_InputIterator,
_InputIterator, size_type __n), unordered_set(initializer_list<>,
size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
Likewise.
* include/debug/unordered_map (unordered_map(_InputIterator,
_InputIterator, size_type __n), unordered_map(initializer_list<>,
size_type __n), unordered_map(_InputIterator, _InputIterator,
size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
Likewise.
* include/debug/unordered_set (unordered_set(_InputIterator,
_InputIterator, size_type __n), unordered_set(initializer_list<>,
size_type __n), unordered_set(_InputIterator, _InputIterator,
size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
Likewise.
* include/profile/unordered_map (unordered_map(_InputIterator,
_InputIterator, size_type __n), unordered_map(initializer_list<>,
size_type __n), unordered_map(_InputIterator, _InputIterator,
size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
Likewise.
* include/profile/unordered_set (unordered_set(_InputIterator,
_InputIterator, size_type __n), unordered_set(initializer_list<>,
size_type __n), unordered_set(_InputIterator, _InputIterator,
size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
Likewise.
From-SVN: r163236
GCC Administrator [Sat, 14 Aug 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163235
Paolo Carlini [Sat, 14 Aug 2010 00:09:21 +0000 (00:09 +0000)]
re PR libstdc++/45281 (performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc fails at compile time)
2010-08-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45281
* include/bits/stl_queue.h (queue(queue&&), operator=(queue&&),
priority_queue(priority_queue&&), operator=(priority_queue&&)):
Remove, per CH 15.
From-SVN: r163231
Jack Howarth [Fri, 13 Aug 2010 17:06:42 +0000 (17:06 +0000)]
Enable -fomit-frame-pointer on darwin which support dwarf2.
2010-08-13 Jack Howarth <howarth@bromo.med.uc.edu>
* gcc/configure.ac: Enable -fomit-frame-pointer on darwin
which support dwarf2.
* config/i386/i386.c (override_options): Same.
From-SVN: r163227
Paolo Carlini [Fri, 13 Aug 2010 13:08:09 +0000 (13:08 +0000)]
dr1189.cc: Move to...
2010-08-13 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/unordered_map/dr1189.cc: Move to...
* testsuite/23_containers/unordered_map/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_set/dr1189.cc: Move to...
* testsuite/23_containers/unordered_set/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_multimap/dr1189.cc: Move to...
* testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_multiset/dr1189.cc: Move to...
* testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc:
... here.
* testsuite/23_containers/unordered_set/hash_policy/26132.cc: New.
From-SVN: r163224
Paolo Carlini [Fri, 13 Aug 2010 11:48:34 +0000 (11:48 +0000)]
ios_init.cc (ios_base::Init::~Init): Add back semicolon at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros...
2010-08-12 Paolo Carlini <paolo.carlini@oracle.com>
* src/ios_init.cc (ios_base::Init::~Init): Add back semicolon
at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros,
removed by mistake.
* include/tr1_impl/boost_sp_counted_base.h: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/bits/locale_classes.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/ios_base.h: Likewise.
* include/bits/c++config: Adjust comment.
From-SVN: r163223
Nick Clifton [Fri, 13 Aug 2010 11:36:38 +0000 (11:36 +0000)]
argv.c (expandargv): Limit the number of times that response files are opened in order to prevent...
* argv.c (expandargv): Limit the number of times that response
files are opened in order to prevent infinite recursion.
From-SVN: r163222
Daniel Kraft [Fri, 13 Aug 2010 07:26:05 +0000 (09:26 +0200)]
gfortran.h (array_type): New type `AS_IMPLIED_SHAPE'.
2010-08-13 Daniel Kraft <d@domob.eu>
* gfortran.h (array_type): New type `AS_IMPLIED_SHAPE'.
* array.c (gfc_match_array_spec): Match implied-shape specification and
handle AS_IMPLIED_SHAPE correctly otherwise.
* decl.c (add_init_expr_to_sym): Set upper bounds for implied-shape.
(variable_decl): Some checks for implied-shape declaration.
* resolve.c (resolve_symbol): Assert that array-spec is no longer
AS_IMPLIED_SHAPE in any case.
2010-08-13 Daniel Kraft <d@domob.eu>
* gfortran.dg/implied_shape_1.f08: New test.
* gfortran.dg/implied_shape_2.f90: New test.
* gfortran.dg/implied_shape_3.f08: New test.
From-SVN: r163221
Jerry DeLisle [Fri, 13 Aug 2010 05:14:18 +0000 (05:14 +0000)]
re PR fortran/42526 (bogus truncation warning for default-initialized character components)
2010-08-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/42526
* gfortran.dg/char_component_initializer_1.f90: New test.
From-SVN: r163220
Jie Zhang [Fri, 13 Aug 2010 01:43:43 +0000 (01:43 +0000)]
arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.
* config/arm/arm.md (cstoredf4): Only valid when
!TARGET_VFP_SINGLE.
From-SVN: r163219
GCC Administrator [Fri, 13 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163218
Kostya Serebryany [Thu, 12 Aug 2010 22:56:59 +0000 (22:56 +0000)]
c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE, [...]): Add.
2010-08-12 Kostya Serebryany <kcc@google.com>
Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE,
_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER): Add.
* src/ios_init.cc (ios_base::Init::~Init): Decorate with the
latter.
* include/tr1_impl/boost_sp_counted_base.h: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/bits/locale_classes.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/ios_base.h: Likewise.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
line number.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* testsuite/ext/profile/mutex_extensions.cc: Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r163210
Joseph Myers [Thu, 12 Aug 2010 22:52:49 +0000 (23:52 +0100)]
gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and -MMD.
* gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
-MMD.
c-family:
* c.opt (MD, MMD): Change to MDX and MMDX.
* c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
fortran:
* lang.opt (MD, MMD): Change to MDX and MMDX.
* cpp.c (gfc_cpp_handle_option): Use OPT_MMD and OPT_MMDX.
From-SVN: r163209
Changpeng Fang [Thu, 12 Aug 2010 22:18:32 +0000 (22:18 +0000)]
pr45241 give up dot_prod pattern searching if stmt is outside the loop.
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
up dot_prod pattern searching if a stmt is outside the loop.
* gcc.dg/vect/no-tree-pre-pr45241.c: New.
From-SVN: r163207
Tom Tromey [Thu, 12 Aug 2010 18:23:32 +0000 (18:23 +0000)]
* gnu/java/security/jce/prng/natVMSecureRandomWin32.cc
(natGenerateSeed): Add missing "::".
From-SVN: r163199
Uros Bizjak [Thu, 12 Aug 2010 18:20:44 +0000 (20:20 +0200)]
pr40906-1.c: Add -fno-asynchronous-unwind-tables to dg-options.
* gcc.target/i386/pr40906-1.c: Add -fno-asynchronous-unwind-tables
to dg-options.
* gcc.target/i386/pr40906-2.c: Ditto.
* gcc.target/i386/pr40906-3.c: Ditto.
From-SVN: r163198
H.J. Lu [Thu, 12 Aug 2010 16:39:37 +0000 (16:39 +0000)]
Turn on -fomit-frame-pointer by default for 32bit Linux/x86.
2010-08-12 H.J. Lu <hongjiu.lu@intel.com>
Uros Bizjak <ubizjak@gmail.com>
* config.gcc: Handle --enable-frame-pointer.
* configure.ac: Add --enable-frame-pointer.
* configure: Regenerated.
* config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0.
(override_options): If not configured with --enable-frame-pointer,
enable -fomit-frame-pointer (but not for TARGET_MACHO or when
optimizing for size), -fasynchronous-unwind-tables and
-maccumulate-outgoing-args by default.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r163196
Jakub Jelinek [Thu, 12 Aug 2010 15:21:34 +0000 (17:21 +0200)]
re PR middle-end/45262 (Optimization results in wrong result on expression x>>31||(-x)>>31)
PR middle-end/45262
* fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
-a overflows. Normalize the range.
* gcc.c-torture/execute/pr45262.c: New test.
From-SVN: r163193
Jakub Jelinek [Thu, 12 Aug 2010 14:32:25 +0000 (16:32 +0200)]
builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.
* builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare
warning.
From-SVN: r163192
Uros Bizjak [Thu, 12 Aug 2010 10:42:59 +0000 (12:42 +0200)]
profile-generate-3.c: Call dg-require-profiling with empty argument.
* gcc.dg/profile-generate-3.c: Call dg-require-profiling with
empty argument.
* g++.dg/other/profile1.C: Ditto.
From-SVN: r163191
Richard Guenther [Thu, 12 Aug 2010 10:38:05 +0000 (10:38 +0000)]
re PR tree-optimization/45232 (tree reassociation introduces undefined overflow)
2010-08-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45232
* tree-ssa-reassoc.c (can_reassociate_p): Disable re-association
for types with undefined overflow.
(reassociate_bb): Allow re-associating of bit and min/max
operations for types with undefined overflow.
* tree-ssa-forwprop.c (associate_plusminus): New function.
(tree_ssa_forward_propagate_single_use_vars): Call it.
* gcc.dg/tree-ssa/pr44133.c: Adjust warning location.
* gcc.dg/tree-ssa/loop-7.c: Adjust.
* gcc.dg/tree-ssa/reassoc-1.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-20.c: Add reassoc-1.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-14.c: Use unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-15.c: Likewise.
* gcc.dg/tree-ssa/reassoc-18.c: Likewise.
* gcc.dg/tree-ssa/reassoc-2.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-21.c: Add reassoc-2.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-6.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-22.c: Add reassoc-6.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-7.c: Use unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-9.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-23.c: Add reassoc-9.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/ssa-pre-2.c: Adjust.
* gcc.dg/tree-ssa/negate.c: Adjust.
* gcc.dg/vect/vect-1.c: Adjust.
* gfortran.dg/reassoc_6.f: XFAIL.
From-SVN: r163190
Richard Guenther [Thu, 12 Aug 2010 10:36:08 +0000 (10:36 +0000)]
tree-flow.h (struct ptr_info_def): Add align and misalign fields.
2010-08-12 Richard Guenther <rguenther@suse.de>
* tree-flow.h (struct ptr_info_def): Add align and misalign fields.
* tree-ssa-alias.c (get_ptr_info): Move ...
* tree-ssanames.c (get_ptr_info): ... here. Initialize
align and misalign fields conservatively.
* tree-ssa-ccp.c (ccp_finalize): From partially constant pointers
derive alignment information.
(evaluate_stmt): Derive alignment information from memory
allocation functions.
* tree.h (get_pointer_alignment): Make unsigned.
* builtins.c (get_object_alignment): Use alignment information we
have computed for pointers.
(get_pointer_alignment): Likewise. Make conservative, return
and unsigned value.
(expand_builtin_strlen): Adjust.
(expand_builtin_memcmp): Likewise.
(expand_builtin_strcmp): Likewise.
(expand_builtin_strncmp): Likewise.
(get_builtin_sync_mem): Use at least mode alignment.
(fold_builtin_memset): Adjust.
(fold_builtin_memory_op): Likewise.
* gimple-pretty-print.c (dump_gimple_phi): Alongside alias
information also dump pointer alignment knowledge.
(dump_gimple_stmt): Likewise.
From-SVN: r163189
Uros Bizjak [Thu, 12 Aug 2010 10:12:32 +0000 (12:12 +0200)]
i386.c (LONG_TYPE_SIZE): Remove.
* config/i386/i386.c (LONG_TYPE_SIZE): Remove.
(EMPTY_FIELD_BOUNDARY): Remove.
* config/i386/i386-interix.h (PCC_BITFIELD_TYPE_MATTERS): Remove.
From-SVN: r163188
Jakub Jelinek [Thu, 12 Aug 2010 09:04:48 +0000 (11:04 +0200)]
re PR debug/45259 (ICE in save_call_clobbered_regs)
PR debug/45259
* caller-save.c (save_call_clobbered_regs): Only swap notes with
DEBUG_INSNs if n_regs_saved.
* gcc.dg/pr45259.c: New test.
From-SVN: r163185
Wei Guozhi [Thu, 12 Aug 2010 02:03:59 +0000 (02:03 +0000)]
arm.md (andsi3): Change to zero extension if possible.
* config/arm/arm.md (andsi3): Change to zero extension if possible.
* config/arm/thumb2.md (thumb2_zero_extendqisi2_v6): Change the name.
* gcc.target/arm/pr44999.c: New testcase.
From-SVN: r163184
GCC Administrator [Thu, 12 Aug 2010 00:18:50 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r163182
Paolo Carlini [Wed, 11 Aug 2010 23:59:35 +0000 (23:59 +0000)]
hashtable.h (_Hashtable<>::erase(const key_type&)): Use std::__addressof.
2010-08-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>::erase(const key_type&)):
Use std::__addressof.
* include/bits/forward_list.tcc (forward_list<>::remove): Deal
correctly with &__tmp->_M_value == &__val.
* testsuite/23_containers/forward_list/operations/remove_freed.cc:
New.
From-SVN: r163178
Jie Zhang [Wed, 11 Aug 2010 23:38:53 +0000 (23:38 +0000)]
interchange-9.c (M): Define to be 111.
* gcc.dg/graphite/interchange-9.c (M): Define to be 111.
(N): Likewise.
(main): Adjust accordingly.
From-SVN: r163177
Vladimir Makarov [Wed, 11 Aug 2010 22:09:53 +0000 (22:09 +0000)]
ira-int.h (ira_remove_allocno_copy_from_list): Remove.
2010-08-11 Vladimir Makarov <vmakarov@redhat.com>
* ira-int.h (ira_remove_allocno_copy_from_list): Remove.
* ira-build.c (ira_remove_allocno_copy_from_list): Remove.
From-SVN: r163175
Sebastian Pop [Wed, 11 Aug 2010 20:31:32 +0000 (20:31 +0000)]
Fix Changelog entries.
From-SVN: r163170
Sebastian Pop [Wed, 11 Aug 2010 20:31:24 +0000 (20:31 +0000)]
Fix miscompile of 416.gamess.
2010-07-29 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
the case removed in the previous patch, when the only phi argument
is defined in the same loop as the phi node itself. Handle it
separately from the invariant case by both propagating it outside
the region and replacing the phi node with an assign.
From-SVN: r163169
Sebastian Pop [Wed, 11 Aug 2010 20:31:14 +0000 (20:31 +0000)]
Fix gamess: the only constant phi nodes with one argument are is_gimple_min_invariant and SSA_NAME_IS_DEFAULT_DEF.
2010-07-28 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
constant phi nodes with one argument are is_gimple_min_invariant
and SSA_NAME_IS_DEFAULT_DEF.
* gfortran.dg/graphite/id-22.f: New.
From-SVN: r163168
Sebastian Pop [Wed, 11 Aug 2010 20:31:04 +0000 (20:31 +0000)]
Fix typos.
From-SVN: r163167