Joseph Myers [Mon, 23 May 2011 19:06:48 +0000 (20:06 +0100)]
optc-save-gen.awk: New.
* optc-save-gen.awk: New. Based on optc-gen.awk. Don't generate
parts of output shared with the driver.
* optc-gen.awk: Don't generate parts of output not shared with the
driver.
* opth-gen.awk: Remove GCC_DRIVER conditionals.
* doc/options.texi (SourcerInclude): Mention options-save.c.
* Makefile.in (GCC_OBJS): Use options.o instead of gcc-options.o.
(OBJS): Add options-save.o.
(options-save.c, options-save.o): New.
(options.o): Update dependencies.
(gcc-options.o): Remove.
(mostlyclean): Remove options-save.c.
Jakub Jelinek [Mon, 23 May 2011 18:07:43 +0000 (20:07 +0200)]
re PR debug/49032 (-gstabs generates reference to deleted static variable)
PR debug/49032
* dbxout.c: Include cgraph.h.
(dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
and without value expr, return NULL if no varpool node exists for
it or if it is not needed.
* Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
re PR rtl-optimization/48826 (ICE in dwarf2out_var_location, at dwarf2out.c:22013)
gcc/
PR rtl-optimization/48826
* emit-rtl.c (try_split): When splitting a call that is followed
by a NOTE_INSN_CALL_ARG_LOCATION, move the note after the new call.
Jakub Jelinek [Mon, 23 May 2011 17:02:07 +0000 (19:02 +0200)]
cfgexpand.c (expand_debug_expr): For unused non-addressable parameters passed in memory prefer using...
* cfgexpand.c (expand_debug_expr): For unused non-addressable
parameters passed in memory prefer using DECL_INCOMING_RTL over
the pseudos it will be copied into.
Nathan Froyd [Mon, 23 May 2011 14:20:49 +0000 (14:20 +0000)]
don't use TYPE_ARG_TYPES when calling c-family:check_function_arguments
don't use TYPE_ARG_TYPES when calling c-family:check_function_arguments
gcc/
* c-typeck.c (build_function_call_vec): Tweak call to
check_function_arguments.
gcc/c-family/
* c-common.h (check_function_arguments): Tweak prototype of
check_function_arguments.
* c-common.c (check_function_arguments): Likewise. Adjust
calls to check_function_nonnull, check_function_format, and
check_function_sentinel.
(check_function_sentinel): Take a FUNCTION_TYPE rather than
separate attributes and typelist arguments. Use
FOREACH_FUNCTION_ARGS to iterate over argument types.
Richard Guenther [Mon, 23 May 2011 12:08:41 +0000 (12:08 +0000)]
re PR tree-optimization/49115 (invalid return value optimization (?) when exception is thrown and caught)
2011-05-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49115
* tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
is not necessarily carried out, do not claim it kills the ref.
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
Jakub Jelinek [Mon, 23 May 2011 09:36:05 +0000 (11:36 +0200)]
re PR middle-end/48973 (Inliner bug with one-bit (1-bit) bitfield)
PR middle-end/48973
* expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
failed and the comparison has a single bit signed type, use
constm1_rtx instead of const1_rtx for true value.
(do_store_flag): If ops->type is single bit signed type, disable
signel bit test optimization and pass -1 instead of 1 as last
parameter to emit_store_flag_force.
* gcc.c-torture/execute/pr48973-1.c: New test.
* gcc.c-torture/execute/pr48973-2.c: New test.
gcc/
* config/mips/mips.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Delete.
(ASM_SPEC): Add a -O* option here. Pass -O0 for -noasmopt,
-O1 for -fno-delayed-branch, -O2 if optimization is enabled,
and -O0 otherwise.
(EXTRA_SPECS): Remove subtarget_asm_optimizing_spec.
Uros Bizjak [Sun, 22 May 2011 18:53:32 +0000 (20:53 +0200)]
re PR bootstrap/49104 (bootstrap failure on AMD K6-2 with illegal instruction (cmove) in stage2)
PR target/49104
* config/i386/cpuid.h (bit_MMXEXT): New define.
libcpp/ChangeLog:
2011-05-22 Uros Bizjak <ubizjak@gmail.com>
PR target/49104
* lex.c (init_vectorized_lexer): Do not set "minimum" when __3dNOW_A__
is defined. Check bit_MMXEXT and bit_CMOV to use search_line_mmx.
Nick Clifton [Sun, 22 May 2011 14:51:34 +0000 (14:51 +0000)]
stormy16.c (xstormy16_init_builtins): prevent initialisation of non-existant args[2] element.
* config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
initialisation of non-existant args[2] element. Use args[] array
not arg[] array to pass arguments to build_function_type_list.
Joseph Myers [Sun, 22 May 2011 14:20:12 +0000 (15:20 +0100)]
gcc_release (adjust_dirs, [...]): Remove.
* gcc_release (adjust_dirs, maybe_build_tarfile): Remove.
(build_tarfiles): Don't build separate files for languages and
core.
(build_diffs): Only build one set of diffs.
(announce_snapshot): Only announce one tar file.
(ADA_DIRS, CPLUSPLUS_DIRS, FORTRAN95_DIRS, GO_DIRS, JAVA_DIRS,
OBJECTIVEC_DIRS, TESTSUITE_DIRS): Remove. Don't adjust names
relative to WORKING_DIRECTORY.
Thomas Koenig [Sun, 22 May 2011 10:38:09 +0000 (10:38 +0000)]
frontend-passes.c (cfe_register_funcs): Also register character functions if their charlens are known and constant.
2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
* frontend-passes.c (cfe_register_funcs): Also register
character functions if their charlens are known and constant.
Also register allocatable functions.
2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.dg/function_optimize_8.f90: New test case.
Eric Botcazou [Sat, 21 May 2011 22:03:37 +0000 (22:03 +0000)]
sparc.c (eligible_for_return_delay): Do not return false if there are call-saved registers here...
* config/sparc/sparc.c (eligible_for_return_delay): Do not return
false if there are call-saved registers here...
(sparc_can_use_return_insn_p): ...but here instead.
(save_or_restore_regs): Fix thinko.
(sparc_expand_prologue): Use current_function_is_leaf.
(sparc_frame_pointer_required): Likewise.
Eric Botcazou [Sat, 21 May 2011 22:02:25 +0000 (22:02 +0000)]
sparc.c (eligible_for_return_delay): Do not return false if there are call-saved registers here...
* config/sparc/sparc.c (eligible_for_return_delay): Do not return
false if there are call-saved registers here...
(sparc_can_use_return_insn_p): ...but here instead.
(save_or_restore_regs): Fix thinko.
(sparc_expand_prologue): Use current_function_is_leaf.
(sparc_frame_pointer_required): Likewise.
Jason Merrill [Sat, 21 May 2011 22:01:45 +0000 (18:01 -0400)]
re PR c++/48945 ([C++0x] static constexpr member function cannot be defined out-of class)
PR c++/48945
* decl.c (grokdeclarator): Don't add set const function-cv-qual
for constexpr fns to memfn_quals, just add it to the type.
(revert_static_member_fn): Don't complain about quals.
(check_static_quals): New.
(grokfndecl): Call it.
(start_preparsed_function): Don't call revert_static_member_fn.
Joseph Myers [Sat, 21 May 2011 11:34:29 +0000 (12:34 +0100)]
opt-read.awk: New.
* opt-read.awk: New. Split out of optc-gen.awk and opth-gen.awk.
* optc-gen.awk: Move common code to opt-read.awk.
* opth-gen.awk: Likewise.
* Makefile.in (options.c, s-options-h): Update to use
opt-read.awk.
Jason Merrill [Fri, 20 May 2011 20:39:59 +0000 (16:39 -0400)]
DR 1073 PR c++/49082
DR 1073
PR c++/49082
* typeck.c (comp_except_specs): noexcept(false) is not compatible
with throw(type-list).
* typeck2.c (merge_exception_specifiers): noexcept(false)
beats any more limited specification.
Nathan Froyd [Fri, 20 May 2011 19:57:52 +0000 (19:57 +0000)]
remove some TYPE_ARG_TYPES usage in objc/
remove some TYPE_ARG_TYPES usage in objc/
* objc-act.c (objc_compare_types): Use function_args_iterator
instead of TYPE_ARG_TYPES to compare function argument types.
Tom de Vries [Fri, 20 May 2011 19:32:30 +0000 (19:32 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)
2011-05-20 Tom de Vries <tom@codesourcery.com>
PR target/45098
* tree-ssa-loop-ivopts.c: Include expmed.h.
(get_shiftadd_cost): New function.
(force_expr_to_var_cost): Declare forward. Use get_shiftadd_cost.
Michael Matz [Fri, 20 May 2011 15:09:35 +0000 (15:09 +0000)]
lto-streamer.c (lto_record_common_node): Don't track seen nodes...
* lto-streamer.c (lto_record_common_node): Don't track seen nodes,
use lto_streamer_cache_append directly instead of returning a VEC.
(preload_common_node): Remove.
(lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
track seen nodes.
(lto_streamer_cache_create): Call lto_preload_common_nodes.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r173956
Richard Guenther [Fri, 20 May 2011 15:02:49 +0000 (15:02 +0000)]
re PR tree-optimization/49079 (Bogus constant folding)
2011-05-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49079
* tree-dfa.c (get_ref_base_and_extent): Handle view-converting
MEM_REFs correctly for the trailing array access detection.
Special case constants the same way as decls for overall size
constraining.
Jakub Jelinek [Fri, 20 May 2011 14:19:05 +0000 (16:19 +0200)]
re PR tree-optimization/49073 (g++ optimizer breaks do-while code)
PR tree-optimization/49073
* gimple-fold.c (and_comparisons_1, or_comparisons_1): Return
NULL if PHI argument is SSA_NAME, whose def_stmt is dominated
by the PHI.
* tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
Richard Guenther [Fri, 20 May 2011 09:35:03 +0000 (09:35 +0000)]
gimple.c (gimple_register_type_1): Do not fiddle with main-variant or pointer-to chains.
2011-05-20 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_register_type_1): Do not fiddle with
main-variant or pointer-to chains. Delay all fixup to
uniquify_nodes.
lto/
* lto.c (lto_ft_common): Remove pointer-to chain teardown.
(lto_ft_type): Move main-variant and pointer-to chain building ...
(uniquify_nodes): ... here. Compute TYPE_CANONICAL also here,
in a separate final loop.
Tobias Burnus [Thu, 19 May 2011 20:53:33 +0000 (22:53 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-06-19 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* trans-types.c (gfc_get_element_type): Handle scalar coarrays.
(gfc_get_nodesc_array_type): Make a variant-type copy for scalar
coarrays.
* trans.c (gfc_build_array_ref): Return original type not
* variant
copy for scalar coarrays.
* trans-array.c (gfc_conv_array_ref): Ditto.